woz64/hardware/mem_map.asm

87 lines
2.4 KiB
NASM
Raw Normal View History

2019-11-06 04:31:17 +00:00
.filenamespace MemMap
#importonce
2020-01-19 06:48:59 +00:00
.const SHELL_BUFFER_ADDR = $1000 // 256 bytes (3000-30FF)
.const XSTACK_ADDRESS = $1100 // 256 bytes (3100-31FF)
.const YSTACK_ADDRESS = $1200 // 256 bytes (3200-32FF)
.const KEYB_RAM_CODE = $1300 // Safe to use > $1400
2020-01-13 07:33:13 +00:00
2019-11-23 02:50:25 +00:00
*=$2 "ZERO PAGE" virtual
2019-11-06 04:31:17 +00:00
2020-01-13 07:33:13 +00:00
.namespace CORE {
2020-01-19 06:48:59 +00:00
// PHx/PLx pseudo commands
2020-02-09 01:31:18 +00:00
tmpA: .byte 0 // TMP A
2020-01-19 06:48:59 +00:00
}
2020-01-13 07:33:13 +00:00
2020-01-19 06:48:59 +00:00
.namespace PRINT {
TempStringPointer: .word 0 // Pointer to string address as it get printend to screen
2020-01-13 07:33:13 +00:00
}
2020-01-20 07:32:37 +00:00
.namespace VIDEO {
2020-01-19 06:48:59 +00:00
TempVideoPointer: .word 0 // Pointer to video mem used to target char pos
CursorCol: .byte 0 // Actual cursor column position
CursorRow: .byte 0 // Actual cursor row position
2020-01-21 02:09:18 +00:00
StatusBitsA: .byte 0 // Status Bits
// Bit0: ScrollUpTriggred if ON
2019-11-06 04:31:17 +00:00
}
2019-11-17 07:41:00 +00:00
.namespace MATH {
2020-01-19 06:48:59 +00:00
factor1: .byte 0 // Factor 1 used in MUL ops
factor2: .byte 0 // Factor 2 used in MUL ops
result: .word 0 // 16 Bit math operation result
2019-11-10 03:10:52 +00:00
}
2020-01-12 08:10:01 +00:00
.namespace KEYBOARD {
2019-11-23 02:50:25 +00:00
KeyR: .byte 0
SYS_Keyd: .fill $10,0
SYS_Ndx: .byte 0
SYS_Xmax: .byte 0
SYS_Shflag: .byte 0
SYS_Sfdx: .byte 0
SYS_Lstx: .byte 0
SYS_Delay: .byte 0
SYS_Kount: .byte 0
SYS_Lstshf: .byte 0
2020-01-19 06:48:59 +00:00
.label keybRamCode = KEYB_RAM_CODE
2019-11-16 22:09:22 +00:00
}
2019-11-17 07:41:00 +00:00
.namespace MEMORY {
2019-11-23 02:50:25 +00:00
from: .word 0
dest: .word 0
size: .word 0
2019-11-17 07:41:00 +00:00
}
2020-03-09 05:57:30 +00:00
.namespace TIMERS {
counter: .byte 0 // Factor 1 used in MUL ops
}
2020-01-12 08:10:01 +00:00
.namespace MODULE {
2020-01-13 07:33:13 +00:00
versionPtr: .word 0
2020-01-12 08:10:01 +00:00
}
2019-11-17 07:41:00 +00:00
.namespace SHELL {
2019-11-23 02:50:25 +00:00
pos: .byte 0
MODE: .byte 0
L: .byte 0
H: .byte 0
YSAV: .byte 0
STL: .byte 0
STH: .byte 0
XAML: .byte 0
XAMH: .byte 0
2020-01-19 06:48:59 +00:00
.label buffer = SHELL_BUFFER_ADDR // 256 bytes
2019-11-23 02:50:25 +00:00
}
2020-01-12 08:10:01 +00:00
2020-03-09 05:57:30 +00:00
.namespace STID_SHELL {
pos: .byte 0
mode: .byte 0
sAddr: .word 0
eAddr: .word 0
.label buffer = SHELL_BUFFER_ADDR // 256 bytes
}
2020-01-13 07:33:13 +00:00