中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS开发编程 & 发展交流 (开发室) » ****压缩分卷!扇区/镜象/扇区读写] 迷你硬盘读写器完工了B
« [1] [2] [3] [4] [5] [6] [7] »
作者:
标题: ****压缩分卷!扇区/镜象/扇区读写] 迷你硬盘读写器完工了B 上一主题 | 下一主题
GOTOmsdos
铂金会员

C++启程者


积分 5154
发帖 1827
注册 2003-7-18
状态 离线
『楼 主』:  ****压缩分卷!扇区/镜象/扇区读写] 迷你硬盘读写器完工了B

DOS下迷你硬盘读写器终于完工了!
可读写绝对扇区,支持大硬盘,U盘(需加载驱动),软盘。。
由于代码效率高,速度很快。
初步通过测试。
最后在自己的机子上大胆进行了写测试,即用坏数据写入硬盘,硬盘崩溃后,再用本程序把预先备份的数据恢复到硬盘,结果硬盘完好如初。。

有源码大家玩玩。。。

对不起:第一次传错了可执行文件,现在重传了。。
刚加了如果读写出错,给原因的提示
换成了 C 的注释,这样,不用TC3(BC31),TC2就可编译了
刚解决了基本INT13不出现出错提示的BUG..
除了考虑到能读写2048GB,没有加入起始扇区和要处理的扇区参数的对误输入负数的检测外(,否则的话,只能读写1024GB左右了.)对其他几个输入参数都进行了检测..

考虑 DOSFOREVER 的中肯意见
今天 加了 如果 不支持扩展13中断,就先获取硬盘本身的参数来显示出来,调用基本13中断以其参数CHS值来读写,这样就兼容了 非 磁头255,扇区63 的硬盘(也就是很老的硬盘),这样程序的兼容性就很强了。。

也加入了读写 "非1.44mb"软盘的功能,  说明见主帖。。。

另,即使支持扩展,也根据扩展48号功能,获取硬盘参数,显示出来。
显示出硬盘参数,能让用户心中有数。。。

另,把扩展13的读写缓冲增为100扇区的字节数,这样速度就更快了!
(不能再超过了,否则,就超过了文件读写的最大数了)

程序到此 ,基本告一段落了。。。
需要在扩展程序功能的,可在程序上再加上去吧。。

欢迎大家下载玩玩。。。
希望对有兴趣的有点帮助。。

***********************************
%%%%%%%%%%%%%%%%%%%%%%%%%%%

已成功加入了压缩和分卷功能!并采用LINUX帮助风格。。。

初步通过了测试!欢迎试玩!。。

主帖程序更新了!

[ Last edited by GOTOmsdos on 2006-8-8 at 12:14 ]

附件 1: mydisk.rar (2006-8-6 22:18, 170.57 K, 下载附件所需积分 1 点 ,下载次数: 339)
2006-7-8 02:29
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
asbai
高级用户




积分 653
发帖 252
注册 2006-4-16
状态 离线
『第 2 楼』:  

支持一下GOTOmsdos兄!

2006-7-8 03:26
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
crshen
中级用户




积分 447
发帖 126
注册 2004-2-10
状态 离线
『第 3 楼』:  

深更半夜发贴子,看来颇费了一番精力,估计就是 C语言和汇编语言结合的 扩展INT13编程吧,好像暂时用不着,不过还是下载看看,支持



从来不用别人的东西,要用,也先改成自己的再说!
2006-7-8 12:18
查看资料  发送邮件  发短消息 网志  OICQ (67154440)  编辑帖子  回复  引用回复
GOTOmsdos
铂金会员

C++启程者


积分 5154
发帖 1827
注册 2003-7-18
状态 离线
『第 4 楼』:  

感谢关注,
这几天在弄硬盘读写,DOS和2K/XP的都有,刚全部完工,都在熬夜。。
主要是扩展INT13和基本INT13,INT25,INT26结合。。

由于是命令行方式,所以,如果有程序需要以命令行方式读写硬盘扇区的话,就能用它解决问题了。。

[ Last edited by GOTOmsdos on 2006-7-8 at 12:35 ]

2006-7-8 12:32
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
gmy
版主

操作系统爱好者


积分 1113
发帖 392
注册 2002-11-11
状态 离线
『第 5 楼』:  

支持



DOS之家 http://doshome.com 站长 葛明阳
2006-7-8 17:59
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
MySOFT2006
初级用户




积分 55
发帖 22
注册 2006-5-26
状态 离线
『第 6 楼』:  

辛苦了,学习一下。

2006-7-8 18:40
查看资料  发短消息 网志   编辑帖子  回复  引用回复
GOTOmsdos
铂金会员

C++启程者


积分 5154
发帖 1827
注册 2003-7-18
状态 离线
『第 7 楼』:  

源码又更新了

2006-7-8 23:49
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
johnsonlam
银牌会员

阿林


积分 1410
发帖 497
注册 2004-6-28
来自 九龍,香港
状态 离线
『第 8 楼』:  



  Quote:
Originally posted by GOTOmsdos at 2006-7-8 02:29 AM:
DOS下迷你硬盘读写器终于完工了!
可读写绝对扇区,支持大硬盘,U盘(需加载驱动),软盘。。
由于代码效率高,速度很快。


支 持 ! 辛 苦 了 gotoMSDOS 兄 熬 夜 編 程 ...

請 問 甚 麼 是 U 盤 ?

有 些 意 見 :

1) 記 得 從 前 玩 Apple][ 時 也 有 類 似 東 西 叫 RWTS (ReadWriteTrackSector) , 這 程 序 其 實 叫 RWSector 或 RWLBA 也 不 錯

2) 幫 助 顯 示 可 以 這 樣 寫 嗎 ? 好 像 清 楚 一 點 ...
dolba [r|w] [driveNum] [startSector] [sectorToDo] [file]

Example:

Read to file: dolba r 2 0 254 c:\backup
Write from file: dolba w 2 0 c:\backup
謝 謝 分 享 !





我 的 網 站 - http://optimizr.dyndns.org
2006-7-9 02:03
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
Michael
钻石会员





积分 10046
发帖 3039
注册 2002-11-11
状态 离线
『第 9 楼』:  

回楼上,U盘就是flash drive



简单就是美
2006-7-9 02:16
查看资料  发短消息 网志   编辑帖子  回复  引用回复
johnsonlam
银牌会员

阿林


积分 1410
发帖 497
注册 2004-6-28
来自 九龍,香港
状态 离线
『第 10 楼』:  



  Quote:
Originally posted by Michael at 2006-7-9 02:16 AM:
回楼上,U盘就是flash drive

謝 謝 , 我 們 這 裡 叫 "手 指" 。



我 的 網 站 - http://optimizr.dyndns.org
2006-7-9 02:33
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
GOTOmsdos
铂金会员

C++启程者


积分 5154
发帖 1827
注册 2003-7-18
状态 离线
『第 11 楼』:  

感谢关注
dolba [r|w] [driveNum] [startSector] [sectorToDo] [file]
这样好像不妥当
因为只有 当 w 时 才可 省略 sectorToDo

所以写成两行 才清楚:
dolba r|w driveNum startSector sectorToDo file
dolba w driveNum startSector file

[ Last edited by GOTOmsdos on 2006-7-9 at 03:33 ]

2006-7-9 03:32
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
DOSforever
金牌会员





积分 4633
发帖 2236
注册 2005-1-30
状态 离线
『第 12 楼』:  

下载后测试了一下,就以读取第一个硬盘的主引导扇区为例,过程显示如下:

dolba r 2 0 1 sec0
dolba version 1.0 Copyright (c) 2006 by GOTOmsdos Email: tdaim@sina.com
Read :
  Drive 2
  Starting sector 0
  1 Sectors
To :
  File "sec0" ? (Y/N)y

Extended int13 supported.
Press Esc to stop.
100% sectors done.
Done.


没想到读出的不是主引导扇区的内容,也不知道是哪个扇区的。但如果使用 DOS 的缺省环境,即不使用 config.sys 和 autoexec.bat 的内存配置环境下读出的内容却正常。另外,按理做一个扇区的操作应该是很快的事,即便是几个扇区,在现在的机器上也应该在瞬间完成,但我这次读取MBR到文件的测试过程却可以察觉到人可以感觉得到的延迟(在有 config.sys 和 autoexec.bat 的内存配置环境下)。



DOS倒下了,但永远不死
DOS NEVER DIES !

投票调查:
http://www.cn-dos.net/forum/viewthread.php?tid=46187

本人尚未解决的疑难问题:
http://www.cn-dos.net/forum/viewthread.php?tid=15135
http://www.cn-dos.net/forum/viewthread.php?tid=47663
http://www.cn-dos.net/forum/viewthread.php?tid=48747
2006-7-9 04:43
查看资料  发短消息 网志   编辑帖子  回复  引用回复
johnsonlam
银牌会员

阿林


积分 1410
发帖 497
注册 2004-6-28
来自 九龍,香港
状态 离线
『第 13 楼』:  



  Quote:
Originally posted by GOTOmsdos at 2006-7-9 03:32 AM:
感谢关注
dolba [r|w] [driveNum] [startSector] [sectorToDo] [file]
这样好像不妥当
因为只有 当 w 时 才可 省略 sectorToDo


我 原 意 是 把 參 數 括 起 來 , 沒 括 起 看 得 不 清 楚 , 有 範 例 參 考 比 較 不 易 出 錯 。




我 的 網 站 - http://optimizr.dyndns.org
2006-7-9 13:45
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
GOTOmsdos
铂金会员

C++启程者


积分 5154
发帖 1827
注册 2003-7-18
状态 离线
『第 14 楼』:  

TO DOSforever

看了你说的情况,不知道是什么原因,如果你的输入没问题的话,找你说的,跟CONFIG.SYS,AUTOEXEC.BAT有关。
如果这是真的,就有点匪夷所思了,照理说,CONFIG.SYS,AUTOEXEC.BAT配置不可能对硬盘结构造成什么影响(我也一直用着其配置)

不妨把你的造成“影响”的CONFIG.SYS,AUTOEXEC.BAT配置贴出来,看一下。
另,最好重试一下,确认操作输入无误。。

建议烦请您,作个小试验吧:
在同样的CONFIG.SYS,AUTOEXEC.BAT配置下,试一下用其他读写硬盘扇区的工具也作同样的事,看看结果如何?如果此工具成功,而我的程序不成功,那就说明我的程序前考虑了。。


至于速度,
我的机子是733,应该说较老了, 速度非成快,(感觉比SPFDISK,DISKEDIT 还要快一点,可能没有引入 写校验,因为我觉得没必要,况且影响速度)
比如,写一万个扇区,大约只需要2,3秒。10万个扇区大约在半分钟左右。

这几天一直在测试,先用SPFDISK存一遍,然后用我的程序存,然后 FC /B 他们,
都一样。 并进行了好几次写操作,目前没有问题(有几个BUG,已改正了)

其他坛友,如有兴趣,可测试一下读操作。。看结果怎样?
最后,测8.4g外, 就是超过16434494扇区。

刚刚又改进更新了代码。。

[ Last edited by GOTOmsdos on 2006-7-9 at 20:02 ]

2006-7-9 17:03
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
GOTOmsdos
铂金会员

C++启程者


积分 5154
发帖 1827
注册 2003-7-18
状态 离线
『第 15 楼』:  



  Quote:
Originally posted by johnsonlam at 2006-7-9 01:45 PM:



我 原 意 是 把 參 數 括 起 來 , 沒 括 起 看 得 不 清 楚 , 有 範 例 參 考 比 較 不 易 出 錯 。

可是方括号是表示可选的意思啊!不是表美观的啊。。

2006-7-9 17:08
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] [3] [4] [5] [6] [7] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: