start of tape loading. hw works and have a generation script

This commit is contained in:
Joppe Blondel
2026-10-03 16:29:41 +02:00
parent 47fffc2e71
commit 5897e55094
16 changed files with 784 additions and 106 deletions
+13 -10
View File
@@ -1,10 +1,13 @@
; Stable assembly ABI exported by the resident BIOS at C000.
BIOS_PUTC = 0xC050 ; A = character; preserves all registers
BIOS_TRY_GETC = 0xC053 ; returns A = character or 0; preserves BC..IY
BIOS_GETC = 0xC056 ; blocking; returns character in A
BIOS_IO_OUT = 0xC059 ; A = port, L = value; preserves all registers
BIOS_IO_IN = 0xC05C ; A = port; returns value in A
BIOS_DELAY_MS = 0xC05F ; HL = milliseconds; preserves all registers
BIOS_MONITOR = 0xC062 ; warm-start the monitor; does not return
BIOS_BANK = 0xC065 ; A=0 split 48K/16K, otherwise upper 64K
BIOS_ROM_DISABLE = 0xC068 ; disable ROM while preserving the bank selection
.include "rom_layout.inc"
; Stable assembly ABI exported by the resident BIOS.
BIOS_PUTC = RESIDENT_RAM_BASE + 0x50 ; A = character; preserves all registers
BIOS_TRY_GETC = RESIDENT_RAM_BASE + 0x53 ; returns A = character or 0; preserves BC..IY
BIOS_GETC = RESIDENT_RAM_BASE + 0x56 ; blocking; returns character in A
BIOS_IO_OUT = RESIDENT_RAM_BASE + 0x59 ; A = port, L = value; preserves all registers
BIOS_IO_IN = RESIDENT_RAM_BASE + 0x5C ; A = port; returns value in A
BIOS_DELAY_MS = RESIDENT_RAM_BASE + 0x5F ; HL = milliseconds; preserves all registers
BIOS_MONITOR = RESIDENT_RAM_BASE + 0x62 ; warm-start the monitor; does not return
BIOS_BANK = RESIDENT_RAM_BASE + 0x65 ; A=0 split 48K/16K, otherwise upper 64K
BIOS_ROM_DISABLE = RESIDENT_RAM_BASE + 0x68 ; disable ROM while preserving the bank selection
BIOS_ROM_ENABLE = RESIDENT_RAM_BASE + 0x6B ; enable ROM while preserving the bank selection