4cade/src/constants.a

59 lines
1.7 KiB
Plaintext

;license:MIT
;(c) 2018-9 by 4am
;
;------------------------------------------------------------------------------
; 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
;------------------------------------------------------------------------------
; soft switches
STOREOFF = $C000 ; write to use following 4 flags:
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
;
SLOT3STATUS = $C017 ; read high bit only
; ROM
MACHINEID = $FBB3
; zero page
PARAM = $00 ; used by PARAMS_ON_STACK macro, so basically everywhere
PTR = $02
SRC = $04
DEST = $06
SAVE = $08
HTAB = $24
VTAB = $25
MachineStatus =$F0 ; bit 7 = 1 if machine has joystick
; bit 6 = 1 if machine has 128K
; bit 5 = 1 if machine has a VidHD card
; bit 4 = 1 if machine is a IIgs
; $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
; actual constants
SUPPORTS_SHR = %00110000 ; AND mask for MachineStatus
kAttractMode = %10000000
kSearchMode = %00000000