module
19

MOS 1.2, 0000h-1FFFh, region by region. A map is only as useful as you can trust it, so every line says how it is known:
| Range | What | Known |
|---|---|---|
| 0000h-0007h | Reset: first instructions after power-on | run |
| 0008h-000Ah | RST 8: JP FXMON | run |
| 0010h-0012h | RST 10h: JP OUTC | run |
| 0018h-001Fh | RST 18h, PRMZ: print the text that follows | run |
| 0020h-0033h | RST 20h, RST 28h, RST 30h: short video-chip routines | read |
| 0034h-0037h | four bytes 01 02 04 08 | open |
| 0038h-003Ch | RST 38h: JP BREAK | read |
| 0040h-007Ch | Start-up: fill memory, copy SCINIT, ZDFVCT, ZBANKZ to RAM, zero the clock | run |
| 007Dh-00ECh | INITM: stack, I, interrupt mode 2, the first calls | run |
| 00EDh-0170h | Start-up messages and Ready | run |
| 0171h-01F1h | MONITR: the prompt loop, reading a line, finding a command, reading its numbers | run |
| 01F2h-0203h | MONDUN, ERROR | run |
| 0204h-0281h | BREAK: saving a program's registers | run |
| 0282h-032Bh | FMTBL: 85 routine addresses (Appendix II) | run |
| 032Ch-05ADh | Monitor command routines (Appendix III) | run (A C D F H M T Z); read (others) |
| 0498h-04E4h | Disc messages: Disc:, No Drive, Not Ready, Bad Data, Protected, No Sector | read |
| 05AEh-05F9h | The register display's headings | run |
| 05FAh-08CEh | Call routines: GETLN 157, KEYIN 156, KSCAN 181, and others | run (these three); open (others) |
| 08CFh-0A67h | Control-code routines: CRET 0Dh and others; NODSP | run (0Dh); read (others) |
| 0A68h-0AA7h | VDUTBL: 32 control-code routine addresses | run |
| 0AA8h-0F18h | Screen and video routines; the character set is sent to the video chip from 0DE6h | run (that it sends the set); open (the rest) |
| 0F1Ah-0F46h | OUTC (call 158) and PRMCHR | run |
| 0F48h-0F96h | Serial and printer routines (calls 159-161), and others | read |
| 0F97h-0FADh | PSGOUT, PSGOI, PSGIN: keyboard rows and columns through the sound chip | run |
| 0FAEh-0FC1h | Call 188 | open |
| 0FC2h-0FE7h | FXMON, FMC1, FMUSR: the call dispatcher | run |
| 0FE8h-0FEFh | Eight bytes not used by the code this course describes | open |
| 0FF0h-1035h | SCINIT: copied to FB00h - interrupt table, small RAM routines (calls 177-179), starting values | run (the copy, the table address, the prompt) |
| 1036h-1040h | ZDFVCT: copied to 0000h - JP FC22h at 0008h | run |
| 1041h-10C4h | ZBANKZ: copied to FC09h - RST 8 with RAM in (FC22h), the clock (FC47h) | run |
| 10C5h-116Ch | KTAB: characters for each key | run (Q) |
| 116Dh-186Ch | PGTAB: the character set, codes 20h-FFh | run |
| 186Dh-1CEAh | Graphics routines (calls 196-205; call 200 draws a line) and a table at 1C00h | read |
| 1CEBh-1FD1h | Further call routines (162, 163, 174-189) | open |
| 1FD2h-1FFFh | 46 unused bytes (FFh) | run |
This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.