中国DOS联盟论坛

China DOS Union

-- Unite DOS · Advance DOS · Grow DOS --
Union site: www.cn-dos.net Forum site: www.cn-dos.net/forum
Guest | Log in | Register | Members | Search | China DOS Union
中国DOS联盟论坛
The time now is 2026-08-01 20:58
48,037 topics / 350,122 posts / today 2 new / 48,249 members
DOS开发编程 & 发展交流 (开发室) » How to directly read and write to the hard disk using BIOS's IO?
Printable Version  1,550 / 8
Floor1 zhgwbzhd Posted 2006-03-13 21:27
高级用户 Posts 187 Credits 506
Floor2 darkradx Posted 2006-03-13 23:01
高级用户 Posts 420 Credits 972
ATA Command
BIOS INT13
DOS INTXX

Never heard of BIOS IO
Floor3 qb45 Posted 2006-03-14 12:19
高级用户 Posts 194 Credits 677
Reading and writing to I/O ports in QBASIC is very simple. OUT is for writing to a port. INP is for reading from a port. I don't know if the original poster knows how to use QBASIC.
Floor4 zhgwbzhd Posted 2006-03-22 11:56
高级用户 Posts 187 Credits 506
Brothers, int13 and interrupts under DOS are all very simple. I just want to bypass Lenovo's protection system and how to write to a sector. I think if I directly issue instructions to the CPU, can that work? How should I do it? How to handle the ATA Command?
Floor5 qb45 Posted 2006-03-22 13:31
高级用户 Posts 194 Credits 677
It's very simple. If you know a programming language, it's very simple. Do you know qbasic!
If you do, you can take a look at the post I wrote about getting the hard disk serial number. That program directly uses I/O ports.

Because the BIOS doesn't provide the service of the hard disk serial number, so you must send instructions to the hard disk's ports such as (&H170......) by yourself, and then read the serial number. Note that this serial number is not the number of each partition of the hard disk. Some netizens say that the C drive, D drive, etc. all have serial numbers. In fact, that's the volume label!

The advantage of reading and writing the hard disk through I/O instructions is: you can bypass the services provided by the BIOS, so you can break through restoration software, and you can read and write hard disks no larger than 137GB on old 486 computers!
Of course, the more important use is not here. There are many hard disk-specific commands that must be implemented through I/O instructions, such as writing negative tracks, adding bad sectors to the G table, etc.
All powerful hard disk repair software use I/O instructions, such as the PC3000 and MHDD that we are familiar with.

It is recommended that you learn a programming language. C language is the best choice! Although I don't know C language, I only know qbasic!
Floor6 zhgwbzhd Posted 2006-03-22 14:48
高级用户 Posts 187 Credits 506
To be honest, C language is acceptable. Or directly using assembly can also be done roughly.
I'll first look for your post. Thanks qb45.
By the way, is the qb moderator in programfan you? The names are the same.
Floor7 zhgwbzhd Posted 2006-03-22 15:35
高级用户 Posts 187 Credits 506
qb45: I can't find your post. I saw your post about the restore card before, but it's okay without the restore card, but it doesn't work after installing it. What should I do?
Floor8 zjnbwdj Posted 2006-03-23 11:58
中级用户 Posts 137 Credits 300
Why not name it QB71? Isn't there a version 7.1?
Floor9 gmy Posted 2006-03-27 15:59
版主 Posts 392 Credits 1,113
If only writing the hard disk hidden sector, HDSECT is enough (it's in the Super Emergency Disk)
[ Contact the Union admin team - 中国DOS联盟 - Standard version ]
Sponsored by ifanr Inc | © 2001–2023