wok-next annotate runcom/description.txt @ rev 12703
slitaz-base-files: update deps
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Fri May 04 09:08:34 2012 +0200 (2012-05-04) |
parents | 289a2f495cd6 |
children | f32d3ba00836 |
rev | line source |
---|---|
pascal@11674 | 1 Runcom support DOS .com binary files and boot sector files. |
pascal@11674 | 2 |
pascal@11674 | 3 1- The DOS .com support |
pascal@11674 | 4 |
pascal@11674 | 5 Runcom provides few BIOS and DOS (int 21H) interrupt handlers. Many .com files |
pascal@11674 | 6 may not work. DOS .exe are also supported. |
pascal@11674 | 7 You can test it with the file /usr/bin/debug.com, with the command line : |
pascal@11674 | 8 $ debug.com |
pascal@11674 | 9 |
pascal@11674 | 10 2- The boot sector image support |
pascal@11674 | 11 |
pascal@11674 | 12 A boot sector image is a 512 bytes file ending with the 0xAA and 0x55 bytes |
pascal@11674 | 13 with the .bin extension. |
pascal@11685 | 14 Bios disk (int 13H) are emulated (CHS or LBA) with an image file : |
pascal@11674 | 15 - hard disk are image ./hd0, ./hd1, ... for disk 0x80, 0x81... |
pascal@11674 | 16 - floppy disk are image ./fd0, ./fd1 ... or /dev/fd0, /dev/fd1 if not found. |
pascal@11674 | 17 You can test it with the file /usr/bin/debug.bin, with the command line : |
pascal@11674 | 18 $ debug.bin |
pascal@11674 | 19 |
pascal@11685 | 20 3- The 512 bytes boot sector debugger /usr/bin/debug.bin |
pascal@11674 | 21 |
pascal@11674 | 22 Usage: |
pascal@11674 | 23 |
pascal@11674 | 24 f DX:CX load one CHS sector to 0000:7C00 |
pascal@11674 | 25 t trace one step |
pascal@11674 | 26 g <address> go to adrs |
pascal@11674 | 27 d <address> display 16 bytes, CR for next 16 bytes... |
pascal@11674 | 28 e <address> <words>... enter memory byte/word/dword |
pascal@11674 | 29 m <segment> self move |
pascal@11674 | 30 + <segment> default segment offset |
pascal@11674 | 31 |
pascal@11674 | 32 seqment and offset are hexadecimal values in 0..FFFF range |
pascal@11674 | 33 address is linear hexadecimal value in 0..FFFFF range or seqment:offset |
pascal@11685 | 34 words are bytes in 0..FF range or words in 000..FFFF range or double words |
pascal@11674 | 35 CX and DX are used by INT13H/AL=01 BIOS interrupt. |
pascal@11674 | 36 |
pascal@11674 | 37 Example: |
pascal@11674 | 38 m 0FC0 move debugger to 0FC0:0000 0FC0:01FF |
pascal@11674 | 39 f 1 read floppy boot sector to 0000:7C00 |
pascal@11674 | 40 f 80 1 read hard disk master boot sector to 0000:7C00 |
pascal@11674 | 41 g 7C0E ... |