4cade/src/constants.a

61 lines
1.9 KiB
Plaintext
Raw Normal View History

2018-08-23 20:02:48 +00:00
;license:MIT
;(c) 2018-9 by 4am
2018-08-23 20:02:48 +00:00
;
;------------------------------------------------------------------------------
; YE OLDE GRAND UNIFIED MEMORY MAP
;
; LC RAM BANK 1
; D000.. - data structures (e.g. gGamesListStore)
; ..FFFB - main program code
; FFFC..FFFF - reset and other vectors
;
; LC RAM BANK 2
; D000..D3FF - ProRWTS data
; D400..D5FF - ProRWTS code
; D600..D9FF - HGR font data
; DA00..DEFF - unused
; DF00..DFFF - backup of stack during self-running demos
;------------------------------------------------------------------------------
2018-08-26 19:33:32 +00:00
; soft switches
STOREOFF = $C000 ; write to use following 4 flags:
2018-08-26 19:33:32 +00:00
READMAINMEM = $C002 ; write to R main mem
READAUXMEM = $C003 ; write to R aux mem
WRITEMAINMEM = $C004 ; write to W main mem
WRITEAUXMEM = $C005 ; write to W aux mem
;
2018-08-26 19:33:32 +00:00
SLOT3STATUS = $C017 ; read high bit only
; ROM
MACHINEID = $FBB3
2018-08-23 20:02:48 +00:00
; zero page
2018-08-26 19:33:32 +00:00
PARAM = $00 ; used by PARAMS_ON_STACK macro, so basically everywhere
PTR = $02
SRC = $04
DEST = $06
SAVE = $08
2018-12-23 16:13:47 +00:00
HTAB = $24
VTAB = $25
Timeout = $ED ; 3 bytes (used by SearchMode)
zpMachineStatus= $F0 ; bit 7 = 1 if machine has joystick
2018-08-29 19:27:30 +00:00
; bit 6 = 1 if machine has 128K
2019-01-13 23:55:40 +00:00
; bit 5 = 1 if machine has a VidHD card
; bit 4 = 1 if machine is a IIgs
; only used during init, then copied to MachineStatus in LC RAM
; $FE ; used by ParseGamesList
; $FF ; used by ParseGamesList
; main memory
gPathname = $1F00 ; used by SetPath/AddToPath
gKeyLen = $1F00 ; used by ParseGamesList
gKey = $1F01
gValLen = $1F80
gVal = $1F81
2019-01-15 00:06:58 +00:00
; actual constants
SUPPORTS_SHR = %00110000 ; AND mask for MachineStatus
kAttractMode = %10000000
kSearchMode = %00000000