中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-15 01:13
47,813 主题排行 / 349,902 发帖 / 今日 4 篇 / 48,257 会员排行
DOS软件下载 & 游戏分享 (下载室) » 写了个HD-COPY IMG转普通IMA格式软盘镜像的软件
可打印版本  9,051 / 22
第1楼 rgwan 发表于 2018-03-20 00:22
初级用户 发帖 8 积分 22
写了个HD-COPY IMG转普通IMA格式软盘镜像的软件
废话少说,放源码!

https://github.com/rgwan/hdcopy-tools

编译好的程序下载:

http://upload.cn-dos.net/img/2357.zip

另外求UCDOS3.1版的扩充字库!感激不尽!打算做一些压缩和优化,使得它们继续发挥余热!

[ Last edited by rgwan on 2018-3-20 at 00:23 ]
第2楼 LoggerVick 发表于 2018-03-20 00:31
中级用户 发帖 212 积分 365
不过可能你的附件会很少有人下载,我先顶一下。
第3楼 LoggerVick 发表于 2018-03-20 00:36
中级用户 发帖 212 积分 365
Originally posted by rgwan at 2018-3-20 00:22:
废话少说,放源码!

https://github.com/rgwan/hdcopy-tools

编译好的程序下载:

http://upload.cn-dos.net/img/2357.zip

另外求UCDOS3.1版的扩 ...

我已经向我加的联盟群询问字库了,有的话应该会提示你去那个群下载。

[ Last edited by LoggerVick on 2018-3-20 at 00:46 ]
第4楼 rgwan 发表于 2018-03-20 08:46
初级用户 发帖 8 积分 22
第5楼 crshen 发表于 2018-03-20 12:19
中级用户 发帖 126 积分 447
程序不错,英文语句稍有点不统一,前面是decompress,后面是Decode,两者有点区别的。
另外提个小建议,这种DOS程序最好使用TC或者BC,DOS文本格式,GCC对很多初入门者有点复杂。C99标准比较晚,而程序中只用了stdint.h中的数据类型,如果改成老标准C89更方便大家学习。
第6楼 crshen 发表于 2018-03-20 13:25
中级用户 发帖 126 积分 447
刚转换到TC2.0,编译后DOS下测试发现严重问题,看来对hd-copy的img格式分析还不全面。确认为hd-copy 2.0a的img居然解压不出,只写出个32k的头。再测试gcc编译版本,完全不支持DOS,cmd下可以运行,但是解压img却出错退出。
第7楼 crshen 发表于 2018-03-20 13:38
中级用户 发帖 126 积分 447
既然源码是牛X的WTFPL开源协议,我就乱改了
DOS版源码请看后面第14楼层,下载地址在15楼。





[ Last edited by crshen on 2018-3-21 at 16:24 ]
第8楼 rgwan 发表于 2018-03-20 18:59
初级用户 发帖 8 积分 22
能否将出错的Image发给我?另外的,这个程序其实并不运行在DOS环境下。设计上是配合Windows/Linux,给虚拟机使用的。

此外,我做了一些修复,不知对于您的Image是否奏效。



[ Last edited by rgwan on 2018-3-20 at 19:01 ]
第9楼 LoggerVick 发表于 2018-03-20 22:11
中级用户 发帖 212 积分 365
Originally posted by rgwan at 2018-3-20 18:59:
能否将出错的Image发给我?另外的,这个程序其实并不运行在DOS环境下。设计上是配合Windows/Linux,给虚拟机使用的。

此外,我做了一些修复,不知对 ...

他qq不加好友,你加入群可以搜索一下crshen然后他看到就能给你。
第10楼 LoggerVick 发表于 2018-03-20 22:38
中级用户 发帖 212 积分 365
或者试试新dos时代纪念光盘crshen留的email
第11楼 LoggerVick 发表于 2018-03-20 23:06
中级用户 发帖 212 积分 365
crshen:@[论坛]Willard 知道,我今天单位夜班,没法回他,一晚不睡,明天要睡一天,估计明下午4点后回复他吧。
第12楼 crshen 发表于 2018-03-21 15:36
中级用户 发帖 126 积分 447
回复rgwan:
经测试,程序已基本能解压HD-copy的img,但是源码中存在些瑕疵:
1、i 的 for 循环明显错误,查看img格式文档,byte tracks; // total tracks - 1,这里是以0起计数的,80道显示为79,故要改for (i = 0; i <= maxTrackCount; i++),否则在一些比较满的磁盘会缺一个磁道数据。
2、对 for(k = 0; k < dataLen; k++) 中k==0的判断,几乎每个磁道将进行上万次,影响效率,可改:
escByte = payload[0];
for (k = 1; k < dataLen; k++){}
第13楼 crshen 发表于 2018-03-21 15:44
中级用户 发帖 126 积分 447
软件测试环境:
1、Ubuntu 16.04 ,gcc编译,命令行下运行正常;
2、Win7 x64 + CodeBlocks 17.12 mingw,cmd环境运行正常;
3、XP + cfree5.0默认gcc3.45,cmd环境运行正常;
4、DOS 6.22 + Turbo C 2.0,运行正常,拷贝到win98,command下运行正常。

测试方法:
1、磁盘映像,选用mys的起步DOS网站下10个HD-COPY img,包括1.44M和1.2M;
2、单命令行执行;
3、批处理执行:for %i in (dir *.img) do dehd.exe %i dest\%i (将当前目录下所有HD-COPY格式img 转换到 标准格式img,保存至dest目录下同名文件)。
第14楼 crshen 发表于 2018-03-21 15:51
中级用户 发帖 126 积分 447
首先感谢rgwan分享源码,这里是我修改的DOS版本,可用TC2.0或BC3.1编译。

由于DOS内存限制,不可能像保护模式下那样直接申请一个大内存,故数据解码需频繁进行文件读写,磁盘IO速度自然比不上内存,效率较CMD版要差些。



[ Last edited by crshen on 2018-3-21 at 16:27 ]
第15楼 crshen 发表于 2018-03-21 16:08
中级用户 发帖 126 积分 447
源码文件和已经预编译的程序可到百度网盘下载:
DOS软件共享\解压HD-COPY映像到标准img.rar

pan.baidu.com/s/1toVeHvm1PHUL1d-dstROmA
密码:b5n5


或者加 QQ群:中華DOS聯盟(8393170),到群文件中下载。

[ Last edited by crshen on 2018-3-21 at 16:25 ]
1 2  下一页
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023