joust/EQU.SRC

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