Merge table for zero page into main memory table
This commit is contained in:
parent
2b6865dc04
commit
d789131eb6
21
README.md
21
README.md
@ -17,11 +17,11 @@ On a 8080, there are no segments, the addresses are as displayed.
|
|||||||
On on the 8086, a single segment with a value of 0x0100 is assumed.
|
On on the 8086, a single segment with a value of 0x0100 is assumed.
|
||||||
This implies that the first 4k of memory are not used.
|
This implies that the first 4k of memory are not used.
|
||||||
|
|
||||||
The BIOS and FDOS may be recompiled for starting at a lower address, in this case,
|
The BIOS and BDOS may be recompiled for starting at a lower address, in this case,
|
||||||
the minimum memory requirement may be less than 64k.
|
the minimum memory requirement may be less than 64k.
|
||||||
|
|
||||||
|Start |Size |Function|
|
|Start |Size |Function|
|
||||||
|--|--|--|
|
|------|---------|--------|
|
||||||
|0xF800|2k |BIOS / hw drivers|
|
|0xF800|2k |BIOS / hw drivers|
|
||||||
|0xF000|2k |BDOS|
|
|0xF000|2k |BDOS|
|
||||||
|... |... |BDOS data area, disk deblocking buffers|
|
|... |... |BDOS data area, disk deblocking buffers|
|
||||||
@ -31,22 +31,13 @@ the minimum memory requirement may be less than 64k.
|
|||||||
|0x0100|var |Transient Program Area|
|
|0x0100|var |Transient Program Area|
|
||||||
|0x0080|128 bytes|Command line and disk buffer|
|
|0x0080|128 bytes|Command line and disk buffer|
|
||||||
|0x0008|120 bytes|BIOS data area|
|
|0x0008|120 bytes|BIOS data area|
|
||||||
|0x0000|8 bytes|BDOS data area|
|
|0x0005|3 bytes |Jump code for BDOS|
|
||||||
|
|0x0004|1 bytes |default drive for BDOS|
|
||||||
|
|0x0003|1 bytes |may be used as iobyte by BIOS|
|
||||||
|
|0x0000|3 bytes |Jump to BIOS warm boot entry point / program exit|
|
||||||
|
|
||||||
## Application program interface
|
## Application program interface
|
||||||
|
|
||||||
It is using the `call 5` convention with CP/M compatible syscall numbers.
|
It is using the `call 5` convention with CP/M compatible syscall numbers.
|
||||||
|
|
||||||
File I/O is done via FCB blocks.
|
File I/O is done via FCB blocks.
|
||||||
|
|
||||||
## Zero page
|
|
||||||
|
|
||||||
|Offset|Size|Usage|
|
|
||||||
|--|--|--|
|
|
||||||
|0x00|3 bytes|warm reboot/program exit jump instruction|
|
|
||||||
|0x03|byte|unused (would be iobyte)|
|
|
||||||
|0x04|byte|default drive|
|
|
||||||
|0x05|3 bytes|syscall jump instruction|
|
|
||||||
|0x08|120 bytes|interrupts and work area for BIOS|
|
|
||||||
|0x80|byte|length of command line|
|
|
||||||
|0x81|127 bytes|command line with $length bytes plus a trailing 0x0D|
|
|
||||||
|
Loading…
Reference in New Issue
Block a user