Files
Pacman-Source-Code/SYSTEXT.ASM
Dillon Depeel 5a1cdadc64 added files
2023-05-15 12:46:46 -07:00

154 lines
4.7 KiB
NASM

; @com.wudsn.ide.asm.mainsourcefile=PACMAN.ASM
; SPACE 2
; Operating System Equates ------------------------
; SPACE 1
DOSVEC EQU $000A ;this program's start vector
DOSINI EQU $000C ;this program's init vector
POKMSK EQU $0010 ;mask for POKEY IRQ enable
BRKKEY EQU $0011 ;BREAK flag
RTCLOK EQU $0012 ;60 Hz clock
ATRACT EQU $4D
DRKMSK EQU $4E
COLRSH EQU $4F
VDSLST EQU $0200
VIMIRQ EQU $0216 ;immediate IRQ vector
SRTIMR EQU $022B ;software-driven keydown timer
SDMCTL EQU $022F ;DMA control shadow
SDLSTL EQU $0230 ;display list pointer (low byte)
SDLSTH EQU $0231 ;display List pointer (high byte)
SSKCTL EQU $0232 ;serial port control
LPENH EQU $0234 ;light pen horizontal position
LPENV EQU $0235 ;light pen vertical postion
GPRIOR EQU $026F ;player priority select
PADDL0 EQU $0270 ;pot 0
STICK0 EQU $0278 ;joystick 0 shadow
STRIG0 EQU $0284 ;red button 0 shadow
STRIG1 EQU $0285 ;red button 1 shadow
SHFLK EQU $02BE ;shift-lock flag
PCOLR0 EQU $02C0 ;player color shadow
PCOLR1 EQU $02C1
PCOLR2 EQU $02C2
PCOLR3 EQU $02C3
COLOR0 EQU $02C4 ;playfield color shadow
COLOR1 EQU $02C5
COLOR2 EQU $02C6
COLOR3 EQU $02C7
MEMLO EQU $02E7 ;start of user memory
KEYDEL EQU $02F1 ;KEY DELAY
CHART EQU $2F3 ;character control
CHBAS EQU $2F4 ;character base address
CH EQU $02FC ;character buffer
DDEVIC EQU $0300 ;peripheral bus ID number
DUNIT EQU $0301 ;unit number
DCOMND EQU $0302 ;bus command ordinal
DSTATS EQU $0303 ;command type/status return
DBUFLO EQU $0304 ;data buffer pointer
DBUFHI EQU $0305
DTIMLO EQU $0306 ;device timeout in seconds
DBYTLO EQU $0308 ;number of bytes transferred
DBYTHI EQU $0309
DAUX1 EQU $030A ;command auxiliary bytes
DAUX2 EQU $030B
ICCOM EQU $0342 ;CIO command block
ICBAL EQU $0344
ICBAH EQU $0345
ICBLL EQU $0348
ICBLH EQU $0349
ICAX1 EQU $034A
ICAX2 EQU $034B
CHRORG EQU $E000 ;OS charset
CIOV EQU $E456 ;CIO request vector
SIOV EQU $E459 ;SIO request vector
SETVBV EQU $E45C ;system interrupt init vector
XITVBV EQU $E462 ;system VBLANK return handler
OSRETN EQU $E474 ;system WARM START entry
CLICK EQU $FCD8 ;keyclick routine
; EJECT
; Hardware Registers --------------------------------
; SPACE 1
HPOSP0 EQU $D000 ;player position registers
HPOSP1 EQU $D001
HPOSP2 EQU $D002
HPOSP3 EQU $D003
M0PF EQU $D000 ;missile 0 to playfield collision
M1PF EQU $D001
M2PF EQU $D002
M3PF EQU $D003
HPOSM0 EQU $D004 ;horizontal position of missile 0
HPOSM1 EQU $D005
HPOSM2 EQU $D006
HPOSM3 EQU $D007
P0PF EQU $D004 ;player 0 to playfield collision
M0PL EQU $D008 ;missile 0 to player collision
M1PL EQU $D009
M2PL EQU $D00A
M3PL EQU $D00B
SIZEP0 EQU $D008 ;player size registers
P0PL EQU $D00C ;player 0 to player collision
SIZEM EQU $D00C ;sizes for all missiles
GRAFP0 EQU $D00D ;graphics for player0
TRIG0 EQU $D010 ;joystick controller trigger 0
GRAFM EQU $D011 ;grahics for all missiles
COLPM0 EQU $D012 ;player color registers
COLPM1 EQU $D013
COLPM2 EQU $D014
COLPM3 EQU $D015
COLPF0 EQU $D016 ;playfield color registers
COLPF1 EQU $D017
COLPF2 EQU $D018
COLPF3 EQU $D019
COLBK EQU $D01A ;color-luminance of background
PRIOR EQU $D01B ;priority select
VDELAY EQU $D01C ;vertical delay
GRACTL EQU $D01D ;graphics control register
HITCLR EQU $D01E ;collision clear
CONSOL EQU $D01F ;console key register
POT0 EQU $D200 ;pot 0
AUDF1 EQU $D200 ;audio channel 1 frequency
AUDC1 EQU $D201 ;audio channel 1 control
AUDF2 EQU $D202 ;audio channel 1 frequency
AUDC2 EQU $D203 ;audio channel 1 control
AUDF3 EQU $D204 ;audio channel 1 frequency
AUDC3 EQU $D205 ;audio channel 1 control
AUDF4 EQU $D206 ;audio channel 1 frequency
AUDC4 EQU $D207 ;audio channel 1 control
AUDCTL EQU $D208 ;audio control
ALLPOT EQU $D208 ;read 8 line pot port status
KBCODE EQU $D209 ;keyboard code
STIMER EQU $D209 ;start timer
RANDOM EQU $D20A ;random number generator
SERIN EQU $D20A ;serial port input
SKREST EQU $D20A ;reset serial port status
POTGO EQU $D20B ;start POT scan sequence
SEROUT EQU $D20C ;serial port output
IRQEN EQU $D20E ;IRQ enable mask
IRQST EQU $D20E ;IRQ status
SKCTL EQU $D20F ;serial port control
SKSTAT EQU $D20F ;keyboard status register
PORTA EQU $D300 ;port A
DMACTL EQU $D400 ;DMA control register
CHACTL EQU $D401 ;character control
DLISTL EQU $D402 ;display list pointer (low byte)
DLISTH EQU $D403 ;display list pointer (high byte)
HSCROL EQU $D404 ;horizontal scroll register
VSCROL EQU $D405 ;vertical scroll register
PMBASE EQU $D407 ;player base address
CHBASE EQU $D409 ;character base address
WSYNC EQU $D40A ;wait for horizontal sync
VCOUNT EQU $D40B ;scan line counter
PENH EQU $D40C ;light pen horizontal position
PENV EQU $D40D ;light pen vertical position
NMIEN EQU $D40E ;interrupt enable register
NMIRES EQU $D40F ;NMI reset
NMIST EQU $D40F ;NMI status