diff --git a/README.md b/README.md new file mode 100644 index 0000000..02e6f88 --- /dev/null +++ b/README.md @@ -0,0 +1,25 @@ +## Memory Layout + +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. +This implies that the first 4k of memory are not used. + +The BDOS may be recompiled for starting at a lower address, in this case, +the minimum memory requirement may be less than 64k. + +|Start|Size|Function| ++-+-+-+ +|F000|4k|BDOS and hw drivers| +||var|BDOS data| +|SP|var|Stack, growing down| +|||Free memory| +|0100|up to stack|Transient Program Area| +|0080|128 bytes|Command line and disk buffer| +|0000|128 bytes|System data area| + +## Application program interface + +It is using the `call 5` convention with CP/M compatible syscall numbers. + +File I/O is done via FCB blocks.