SPACE2 ;Operating System Equates ------------------------ SPACE1 DOSVECEQU$000A;this program's start vector DOSINIEQU$000C;this program's init vector POKMSKEQU$0010;mask for POKEY IRQ enable BRKKEYEQU$0011;BREAK flag RTCLOKEQU$0012;60 Hz clock VIMIRQEQU$0216;immediate IRQ vector SRTIMREQU$022B;software-driven keydown timer SDMCTLEQU$022F;DMA control shadow SDLSTLEQU$0230;display list pointer (low byte) SDLSTHEQU$0231;display List pointer (high byte) SSKCTLEQU$0232;serial port control LPENHEQU$0234;light pen horizontal position LPENVEQU$0235;light pen vertical postion GPRIOREQU$026F;player priority select PADDL0EQU$0270;pot 0 STICK0EQU$0278;joystick 0 shadow STRIG0EQU$0284;red button 0 shadow SHFLKEQU$02BE;shift-lock flag PCOLR0EQU$02C0;player color shadow COLOR0EQU$02C4;playfield color shadow MEMLOEQU$02E7;start of user memory CHARTEQU$2F3;character control CHBASEQU$2F4;character base address CHEQU$02FC;character buffer DDEVICEQU$0300;peripheral bus ID number DUNITEQU$0301;unit number DCOMNDEQU$0302;bus command ordinal DSTATSEQU$0303;command type/status return DBUFLOEQU$0304;data buffer pointer DBUFHIEQU$0305 DTIMLOEQU$0306;device timeout in seconds DBYTLOEQU$0308;number of bytes transferred DBYTHIEQU$0309 DAUX1EQU$030A;command auxiliary bytes DAUX2EQU$030B ICCOMEQU$0342;CIO command block ICBALEQU$0344 ICBAHEQU$0345 ICBLLEQU$0348 ICBLHEQU$0349 ICAX1EQU$034A ICAX2EQU$034B CIOVEQU$E456;CIO request vector SIOVEQU$E459;SIO request vector SETVBVEQU$E45C;system interrupt init vector XITVBVEQU$E462;system VBLANK return handler OSRETNEQU$E474;system WARM START entry CLICKEQU$FCD8;keyclick routine EJECT ;Hardware Registers -------------------------------- SPACE1 HPOSP0EQU$D000;player position registers M0PFEQU$D000;missile 0 to playfield collision HPOSM0EQU$D004;horizontal position of missile 0 P0PFEQU$D004;player 0 to playfield collision M0PLEQU$D008;missile 0 to player collision SIZEP0EQU$D008;player size registers P0PLEQU$D00C;player 0 to player collision SIZEMEQU$D00C;sizes for all missiles GRAFP0EQU$D00D;graphics for player0 TRIG0EQU$D010;joystick controller trigger 0 GRAFMEQU$D011;grahics for all missiles COLPM0EQU$D012;player color registers COLPF0EQU$D016;playfield color registers COLBKEQU$D01A;color-luminance of background PRIOREQU$D01B;priority select VDELAYEQU$D01C;vertical delay GRACTLEQU$D01D;graphics control register HITCLREQU$D014;collision clear CONSOLEQU$D01F;console key register POT0EQU$D200;pot 0 AUDF1EQU$D200;audio channel 1 frequency AUDC1EQU$D201;audio channel 1 control AUDCTLEQU$D208;audio control ALLPOTEQU$D208;read 8 line pot port status KBCODEEQU$D209;keyboard code STIMEREQU$D209;start timer RANDOMEQU$D20A;random number generator SERINEQU$D20A;serial port input SKRESTEQU$D20A;reset serial port status POTGOEQU$D20B;start POT scan sequence SEROUTEQU$D20C;serial port output IRQENEQU$D20E;IRQ enable mask IRQSTEQU$D20E;IRQ status SKCTLEQU$D20F;serial port control SKSTATEQU$D20F;keyboard status register PORTAEQU$D300;port A DMACTLEQU$D400;DMA control register CHACTLEQU$D401;character control DLISTLEQU$D402;display list pointer (low byte) DLISTHEQU$D403;display list pointer (high byte) HSCROLEQU$D404;horizontal scroll register VSCROLEQU$D405;vertical scroll register PMBASEEQU$D407;player base address CHBASEEQU$D409;character base address WSYNCEQU$D40A;wait for horizontal sync VCOUNTEQU$D40B;scan line counter PENHEQU$D40C;light pen horizontal position PENVEQU$D40D;light pen vertical position NMIENEQU$D40E;interrupt enable register NMIRESEQU$D40F;NMI reset NMISTEQU$D40F;NMI status