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 ...