larsbrinkhoff / lbForth

Self-hosting metacompiled Forth, bootstrapping from a few lines of C; targets Linux, Windows, ARM, RISC-V, 68000, PDP-11, asm.js.
GNU General Public License v3.0
418 stars 112 forks source link

Z80 CP/M target #23

Open larsbrinkhoff opened 7 years ago

larsbrinkhoff commented 7 years ago

Add a target for Z80 running CP/M.

Use @jhallen's cpm emulator.

larsbrinkhoff commented 7 years ago

I believe this documents the executable COM file format used in CP/M 2.2: https://en.wikipedia.org/wiki/COM_file

Just a raw memory image loaded at hex 100, and started from the beginning.

A CP/M 3 COM is more elaborate: http://www.seasip.info/Cpm/rsxrec.html

larsbrinkhoff commented 7 years ago

BDOS functions: http://www.seasip.info/Cpm/bdos.html
http://www.seasip.info/Cpm/bdosfunc.html

larsbrinkhoff commented 7 years ago

http://www.classiccmp.org/cpmarchives/

larsbrinkhoff commented 7 years ago

@cstrotm has expressed interest in trying this when it's ready.

larsbrinkhoff commented 7 years ago

CamelForth80:
http://www.bradrodriguez.com/papers/camel80.txt

larsbrinkhoff commented 7 years ago

8080 and/or Z80 instruction set:
http://nemesis.lonestar.org/computers/tandy/software/apps/m4/qd/opcodes.html
http://pastraiser.com/cpu/i8080/i8080_opcodes.html