239 lines
7.2 KiB
Plaintext
Executable File
239 lines
7.2 KiB
Plaintext
Executable File
|
|
************************** THESE EQUATES BELOW ARE GAME SPECIFIC *************
|
|
***********************************BUT ONLY THESE!!!!!************************
|
|
*
|
|
* CHECK TO SEE IF DEBUGGING DEBUG<>0 IS ROM VERSION
|
|
IFN DEBUG
|
|
TSTORG EQU $D000 YOUR TEMPORARY AREA FOR THE $F000 TEST ROM (4K BLOCK)
|
|
ELSE
|
|
TSTORG EQU $F000 THE ROM AREA FOR THE $F000 TEST ROM (4K BLOCK)
|
|
ENDIF
|
|
TSBORG EQU $3B10 EQUATE FOR THE AUDITING AND CMOS HANDLING (~4K BLOCK)
|
|
MESS EQU $4A50 EQUATE FOR MESS ROUTINES AND CHARACTERS (4K+ BLOCK)
|
|
RAMALS EQU $A0D0 RAM AREA FOR ALL ROUTINES MUST BE SACRED (49 BYTES)
|
|
*
|
|
*
|
|
************************** END OF CHANGABLE EQUATES **************************
|
|
|
|
* All equates and lables from this point forth CAN NOT BE CHANGED!!!
|
|
|
|
LOWRAM EQU $9C00
|
|
DMAFIX EQU $0404 INVERTED DMA'S
|
|
RAM EQU RAMALS
|
|
HSTK EQU $BF00 STACK FOR DECON
|
|
PCRAM EQU $C000 COLOR RAM ADDR
|
|
CRAM EQU $C000 COLOR RAM ADDR
|
|
WDOG EQU $CBFF WHERE THE DOG LIVES
|
|
WDATA EQU $39 AND WHAT TO FEED HIM
|
|
AEND EQU $1620
|
|
ATOP EQU $16CA
|
|
CMOS EQU $CC00 CMOS MEMORY
|
|
SOUND EQU $C80E SOUND SIDE OF PIA
|
|
RED EQU $55
|
|
GREEN EQU $77
|
|
VERTCT EQU $CB00 6-BIT VERTICAL BEAM ADDR
|
|
RWCNTL EQU $C900 (BIT 0: 1-ROM READ; 0-RAM READ)
|
|
* (BIT 1: 1-INVERT; 0-NORMAL SCREEN)
|
|
*
|
|
*PIA DEFINITIONS
|
|
*
|
|
PIA0 EQU $C80C A. SIDE OF THE COIN DOOR PIA
|
|
*B0 AUTO UP
|
|
*B1 ADVANCE
|
|
*B2 RCOIN
|
|
*B3 HSRESET
|
|
*B4 LCOIN
|
|
*B5 CCOIN
|
|
*B6 SLAM
|
|
*B7 SOUND HANDSHAKE
|
|
*CA2 LED3
|
|
*CA1 IRQ 240 (16 MS) (LINE 240)
|
|
PIA1 EQU $C80E B. SIDE OF THE COIN DOOR PIA
|
|
*B0-B5 SOUND
|
|
*B6-B7 LED 0,1
|
|
*CB1 IRQ 4 MS (0,$40,$80,$C0)
|
|
*CB2 LED2
|
|
PIA2 EQU $C804 A. SIDE OF THE WIDGET (STARGATE STYLE WIDGET)
|
|
*B0 PLAYER 1 MOVE LEFT
|
|
*B1 PLAYER 1 MOVE RIGHT
|
|
*B2
|
|
*B3
|
|
*B4 START 2
|
|
*B5 START 1
|
|
*B6
|
|
*B7
|
|
*
|
|
PIA3 EQU $C806 B. SIDE OF THE WIDGET
|
|
*B0 PLAYER 2 MOVE LEFT
|
|
*B1 PLAYER 2 MOVE RIGHT
|
|
*B7 INPUT 1=COCKTAIL
|
|
*CB2 OUTPUT SWITCH MUX CONTROL 1=PLAYER1,0=PLAYER2
|
|
*
|
|
* 'ENTER' - ENTER CHARACTERS....ALL OFFSETS ARE FROM REG Y.
|
|
* INDEXING OFFSET EQUATES
|
|
.NUMLET EQU 0 NUMBER OF LETTERS TO GET
|
|
.CURLET EQU 1 CURRENT LETTER POINTER INTO BUFFER
|
|
.STCHR EQU 2 THE FIRST CHARACTER OF THE CHARACTER SET
|
|
.NDCHR EQU 3 THE LAST CHARACTER OF THE CHARACTER SET
|
|
.SIDE EQU 4 THE CONTROL BYTE FOR THE WIDGET (UP=$3C , CT=$34)
|
|
.COLOR EQU 5 THE COLOR TO WRITE THE SCREEN ECHO IN
|
|
.WAKUP EQU 6 THE WAKE UP ADDRESS OF THE SLEEP (BECAUSE OF DUAL USE)
|
|
.XSAVE EQU 8 THE STARTING POSITION OF THE LINE TO BE INPUTED
|
|
.CURPOS EQU 10 THE CURRENT CALCULATED CURSOR POSITION
|
|
.RETURN EQU 12 RETURN ADDRESS
|
|
.DEBONC EQU 14 THE CURRENT DEBOUNCE TIME ON THE ENTER SWITCH
|
|
.CARAC EQU 15 THE START OF THE CHARACTER BUFFER
|
|
|
|
*
|
|
* CMOS RAM ALLOCATION
|
|
*
|
|
ORG CMOS+$100 WRITABLE CMOS
|
|
CREDST RMB 2 CREDITS BACKUP
|
|
SLOT1 RMB 6 LEFT COIN TOTAL
|
|
RMB 6 CENTER COIN TOTAL
|
|
RMB 6 RIGHT COIN TOTAL
|
|
RMB 6 TOTAL PAID CREDITS
|
|
RMB 6 TOTAL REPLAYS
|
|
RMB 6 FLIGHT TIME IN MINS
|
|
RMB 6 TOTAL SHIPS PLAYED
|
|
RMB 6 TOTAL GAMES PLAYED
|
|
RMB 6 TOTAL SINGLE PLAYER GAMES
|
|
ENDBOK RMB 6 TOTAL DUAL PLAYER GAMES
|
|
SCRSIZ EQU 14 NUMBER OF NIBBLES IN A SCORE ENTRY
|
|
GODNAM RMB 40 GODS NAME
|
|
GODINT RMB 6 GODS INITIALS
|
|
GODSCR RMB 8 GODS SCORE
|
|
CMSCOR RMB 40*SCRSIZ 40 BACKED UP SCORES, 39 OF WHICH ARE VISIBLE
|
|
TODAYS RMB 6*SCRSIZ TODAYS GREATEST
|
|
TODEND EQU *
|
|
ORG CMOS ADEQUATE BIRTH CONTROL PROTECTION
|
|
REPLAY RMB 2 REPLAY LEVEL
|
|
NSHIP RMB 2 # OF SHIPS/1 CREDIT GAME
|
|
N2SHIP RMB 2 # OF SHIPS/2 CREDIT GAME 0=NO TWO CREDIT GAME
|
|
COINSL RMB 2 FOR COINAGE SELECT MODE
|
|
SLOT1M RMB 2 LEFT COIN MULT
|
|
SLOT2M RMB 2 CENTER COIN MULT
|
|
SLOT3M RMB 2 RIGHT COIN MULT
|
|
CUNITC RMB 2 COIN UNITS PER CREDIT
|
|
CUNITB RMB 2 COIN UNITS FOR BONUS
|
|
MINUNT RMB 2 MINIMUM REQD
|
|
GA1 RMB 2 GAME DIFFICULTY CONTROL
|
|
RMB 2 NUMBER OF LETTERS ALLOWED TO GOD
|
|
SPECFN RMB 2 RESTORE FACTORY SETTINGS
|
|
RMB 2 CLEAR AUDIT TOTALS
|
|
RMB 2 INITIALIZE HIGH SCORE TABLE
|
|
RMB 2 INTIATE AUTO CYCLE
|
|
RMB 2 ENTER ATTRACT MODE MESSAGE
|
|
RMB 2 ENTER HIGHEST SCORE NAME
|
|
ENDADJ EQU *
|
|
OPMESS RMB 100 2 LINES OF 25 CHARS EACH.
|
|
OPL1 RMB 2
|
|
OPL2 RMB 2
|
|
ADJSUM RMB 2
|
|
OMESUM RMB 2
|
|
|
|
* RAM NECESSARY FOR ALL PACKAGE ROUTINES
|
|
|
|
ORG RAMALS
|
|
ASAVE RMB 1 A SAVE LOCATION
|
|
XSAVE RMB 2 (2 BYTES) TO SAVE X (DURING ROUTINE EXECUTION)
|
|
FONT RMB 2 (2 BYTES) TO SAVE THE SELECTED FONT TABLE 3X5 OR 5X7
|
|
|
|
XTEMP RMB 2
|
|
FDTEST RMB 1
|
|
INDIAG RMB 1 NON ZERO INDICATES IN DIAGNOSTICS
|
|
SEED RMB 1 -------|
|
|
HSEED RMB 1 -------|-- RAM FOR RANDOM NUMBER GENERATOR
|
|
LSEED RMB 1 -------|
|
|
|
|
BCDR RMB 3 BCD DIVIDES REMAINDER (BCDN FOLLOWS)
|
|
BCDN RMB 3 BCD DIVIDES NUMERATOR
|
|
* BCD DIVIDES RESULT
|
|
BCDD RMB 3 BCD DIVIDES DENOMINATOR
|
|
BCDCNT RMB 1 BCD DIVIDES NUMBER OF DIGITS LEFT
|
|
BCDTMP RMB 3 BCD DIVIDES TEMPORARY AREA FOR SUBTRACTION
|
|
|
|
COLR RMB 1 COLOR STORE AREA FOR OUTCMOS
|
|
|
|
* HIGH SCORE TO DATE JOUST CHAMPIONS LOCATIONS
|
|
HSPP1 RMB 2 PLAYER 1 CMOS ADDRESS FOR FLASHING DURING H.S. PAGE
|
|
HSPP2 RMB 2 PLAYER 2 CMOS ADDRESS FOR FLASHING DURING H.S. PAGE
|
|
|
|
* HIGH SCORE TO DATE DAILY BUZZARDS LOCATIONS
|
|
HSPP12 RMB 2 PLAYER 1 CMOS ADDRESS FOR FLASHING DURING H.S. PAGE
|
|
HSPP22 RMB 2 PLAYER 2 CMOS ADDRESS FOR FLASHING DURING H.S. PAGE
|
|
|
|
* COIN SWITCH CREDIT RAM
|
|
CREDIT RMB 1 CURRENT NUMBER OF CREDITS TO AWARD
|
|
CUNITS RMB 1 CURRENT NUMBER OF CREDIT UNITS
|
|
BUNITS RMB 1 CURRENT NUMBER OF BONUS UNITS
|
|
|
|
ANYONE RMB 1 RAM FOR INDICATING IF ANYONE HAS MADE THE SCORE TABLES
|
|
FLAG RMB 1 FLAG FOR ERASING TEXT (NON-ZERO IS TO ERASE)
|
|
|
|
* RAM USED IN SWITCH TEST AND REUSED IN THE TESTS MULTIPLE TIMES
|
|
* THIS IS DISPENSIBABLE BECAUSE IT IS USED ONLY WHEN SELF TEST
|
|
* AND BY THAT TIME YOUR SYSTEM HAS RELAESED TOTAL CONTROL
|
|
* SUCH THAT IF YOU DID USE IT, IT WON'T MATTER ANYMORE
|
|
SW0ST RMB 1
|
|
SW0SCN RMB 1
|
|
SW2ST RMB 1
|
|
SW2SCN RMB 1
|
|
SW3ST RMB 1
|
|
SW3SCN RMB 1
|
|
SW2STI RMB 1
|
|
SW2SCI RMB 1
|
|
SW3STI RMB 1
|
|
SW3SCI RMB 1
|
|
|
|
|
|
* VECTOR EQUATES INTO THE DIFFERENT PARTS
|
|
|
|
ORG TSTORG THE $F000 BLOCK
|
|
|
|
POWRUP RMB 3 POWER UP TESTING (ROM AND RAM)
|
|
ADVANC RMB 3 ENTRY POINT FOR WHEN THE ADVANCE SWITCH IS PRESSED
|
|
* WHEN YOU JUMP HERE YOU HAVE RELEASED TOTAL CONTROL
|
|
* AND ON COMPLETION YOUR SYSTEM WILL BE RESTARTED
|
|
* MY INTERNAL VECTORS
|
|
AUTOCY RMB 3 AUTO CYCLE TESTING (ROM, RAM, AND COLOR RAM)
|
|
NAPV RMB 3 NAP TIMER (~16ms) A. CONTAINS THE NAP TIME
|
|
RANDV RMB 3 DEFENDER STYLE RANDOM NUMBER GENERATOR (CAN BE USED)
|
|
VTEST RMB 3 ROUTINE THAT PUTS THE BLOCKS AROUND THE H.S.T.D TABLE
|
|
VCYCLE RMB 3 ROUTINE THAT CYCLES THE COLORS FOR THE H.S.T.D TABLE
|
|
|
|
|
|
ORG TSBORG THE AUDITING AND CMOS BLOCK
|
|
|
|
* MOST OF THESE ARE INTERNAL VECTORS
|
|
|
|
CKCMSV RMB 3 THE POWER UP TESTING OF CMOS CHECKSUMS
|
|
OPTSTV RMB 3 CHECK THE OPERATOR MESSAGE
|
|
CMSMOV RMB 3 CMOS MOVE ROUTINE
|
|
ADVSCV RMB 3 OTHER HALF OF ADJUSTMENTS
|
|
CKHSV RMB 3 CHECK HIGH SCORES (POWER UP)
|
|
RSHSV RMB 3 RESET HIGH SCORES
|
|
CHKHSV RMB 3 CHECK HIGH SCORES AFTER FAC SET RESTORE
|
|
RESHSB RMB 3 HIGH SCORE RESET BUTTON
|
|
AUDIT RMB 3 ADD THE VALUE IN B TO THE AUDIT COUNTER IN A
|
|
AUDIT1 RMB 3 INCREMENT THE AUDIT COUNTER IN B BY 1
|
|
SCCLR RMB 3 DMA SCREEN CLEAR
|
|
RCMSA RMB 3 READ CMOS INTO A
|
|
RCMSB RMB 3 READ COMS INTO B
|
|
RCMSD RMB 3 READ CMOS INTO D
|
|
WCMSA RMB 3 WRITE TO CMOS FROM A
|
|
WCMSB RMB 3 WRITE TO CMOS FROM B
|
|
WCMSD RMB 3 WRITE TO CMOS FROM D
|
|
HIGH RMB 3 HIGH SCORE OUTPUT PAGE ROUTINE
|
|
ACREDV RMB 3 ADD A CREDIT TO THE CURRENT NUMBER OF CREDITS
|
|
COINLV RMB 3 LEFT COIN SWITCH
|
|
COINCV RMB 3 CENTER COIN SWITCH
|
|
COINRV RMB 3 RIGHT COIN SWITCH
|
|
DIVABV RMB 3 DIVIDE A BY B
|
|
BCDHX RMB 3 CONVERT BCD TO HEX
|
|
HXBCD RMB 3 CONVERT HEX TO BCD
|
|
ENTRY RMB 3 GENERAL CHARACTER ENTERING ROUTINE
|
|
OPWRT RMB 3 OPERATOR MESSAGE OUTPUT ROUTINE
|
|
GAMEND RMB 3 GAME OVER H.S.T.D. CHECK AND ENTER ROUTINE
|
|
|