1511 lines
24 KiB
NASM
1511 lines
24 KiB
NASM
***
|
||
*** FILE: DRS.ASM
|
||
***
|
||
*** SCORE ROUTINES
|
||
***
|
||
*** SSO 06 AUG 92; STARTED
|
||
*** JFL 30 SEP 92; REDONE
|
||
*** JFL 06 OCT 92; NEW SCORE
|
||
*** JFL 07 OCT 92
|
||
*** JFL 27 OCT 92; HANDLE NPC
|
||
*** JFL 30 OCT 92
|
||
*** JFL 26 JAN 93; COLOR CODED SCORE BOX
|
||
*** JFL 10 FEB 93
|
||
*** JFL 12 APR 93; YET ANOTHER SCORE BOX
|
||
*** JFL 13 APR 93; ADDED LMINE COUNT
|
||
***
|
||
|
||
.MLIB "APMACS.LIB"
|
||
.FILE "SCORE.ASM"
|
||
.TITLE " <<< DERBY RACE -- SCORING AND DISPLAY ROUTINES >>>"
|
||
.WIDTH 132
|
||
.OPTION B,D,L,T
|
||
.MNOLIST
|
||
|
||
***************************************************************************
|
||
*
|
||
* COPYRIGHT (C) 1992 MIDWAY MANUFACTURING COMPANY.
|
||
* ALL RIGHTS RESERVED.
|
||
*
|
||
***************************************************************************
|
||
|
||
* GET THE SYSTEM STUFF
|
||
.INCLUDE "AP.H"
|
||
.INCLUDE "DR.I"
|
||
.INCLUDE "DRS.I"
|
||
.INCLUDE "DRP.I"
|
||
.INCLUDE "DRPAL.I"
|
||
.INCLUDE "IMGTBLB1.GLO"
|
||
|
||
** DEFINE ROUTINES FOR OTHERS TO USE
|
||
.DEF SCOREINIT ;DRS.ASM
|
||
.DEF SCOREVALADD ;DRS.ASM
|
||
.DEF SCOREVALADDOID ;DRS.ASM
|
||
.DEF SCORESETDAMAGE ;DRS.ASM
|
||
.DEF SCORESETDAMAGEOID ;DRS.ASM
|
||
.DEF SCORESETMISL ;DRS.ASM
|
||
.DEF SCORESETLMINE ;DRS.ASM
|
||
.DEF SCORESETTURBO ;DRS.ASM
|
||
.DEF SCORESETTURBOOID ;DRS.ASM
|
||
.DEF SCORESETTIME ;DRS.ASM
|
||
.DEF SCORETIMEDOWN ;DRS.ASM
|
||
.DEF SCORESETPLBACK ;DRS.ASM
|
||
.DEF SCORESETPLBACKOID ;DRS.ASM
|
||
.DEF SCOREBOXCENTERTBL ;DRS.ASM
|
||
.DEF PLPALCONSTTBL ;DRS.ASM
|
||
.DEF TURBOBARCLIPTBL ;DRS.ASM
|
||
|
||
** ROUTINES USED
|
||
.REF GETFPAL ;APPALL.ASM
|
||
.REF FREEPAL ;APPALL.ASM
|
||
.REF SCOREDATA ;DR.ASM
|
||
.REF SCORELIST ;APD.ASM
|
||
.REF CREATE_COPY ;APD.ASM
|
||
.REF SCRATCH2K ;DR.ASM
|
||
.REF SCDM ;DR.ASM
|
||
|
||
** WE USE -- RAM
|
||
|
||
.TEXT
|
||
.EVEN
|
||
|
||
**
|
||
** DEFINES
|
||
**
|
||
DIGITSINSCORE EQU 9 ;HOW MANY
|
||
|
||
**
|
||
** PARTIDS
|
||
**
|
||
SCIDTURBO EQU 1 ;SPEC ID -- TURBO
|
||
SCIDMISL EQU 2 ;SPEC ID -- MISSILE
|
||
SCIDLMINE EQU 3 ;SPEC ID -- MISSILE
|
||
SCIDDAMAGEBAR EQU 4 ;SPEC ID -- DAMAGE BAR
|
||
SCIDPLBACK EQU 5 ;SPEC ID -- PLAYER BACK
|
||
M_SCOFF EQU 80000000H ;SPEC ID -- START WITH OBJ OFF
|
||
|
||
**
|
||
** SCOREINIT
|
||
**
|
||
** TRASHES: A0,A1,A2,A3,A4,A5,A6,A7,A9
|
||
**
|
||
** JFL 30 SEP 92
|
||
** JFL 06 OCT 92
|
||
**
|
||
SCOREINIT
|
||
MMTM SP,A8
|
||
|
||
;
|
||
;INIT OUR STRUCTURES
|
||
;
|
||
|
||
;CLEAR SCORE DATA PLAYERS
|
||
MOVI SCOREDATA,A0
|
||
MOVI DRPLAYERS*SCDSIZE/16,A1
|
||
CLR A14
|
||
SILOOP
|
||
MOVW A14,*A0+
|
||
DSJS A1,SILOOP
|
||
|
||
;CLEAR SCORE DATA MISC
|
||
MOVI SCDM,A0
|
||
MOVI SCDMSIZE/16,A1
|
||
CLR A14
|
||
SILOOP2
|
||
MOVW A14,*A0+
|
||
DSJS A1,SILOOP2
|
||
|
||
;
|
||
;SET UP OUR OBJ LIST
|
||
;
|
||
|
||
;SET UP A BLANK OBJ
|
||
MOVI OBJSCOREBLANK,A0
|
||
MOVI SCRATCH2K,A1
|
||
MOVK COSIZE/32,A2
|
||
SIOILOOP
|
||
MOVL *A0+,*A1+
|
||
DSJS A2,SIOILOOP
|
||
|
||
;SET UP FOR THE LOOP
|
||
MOVI SCOREDATA,A6 ;SCORE DATA
|
||
CLR A7 ;PLAYER NUMBER
|
||
|
||
;
|
||
;SET UP THE PLAYER SCORE AREAS
|
||
;
|
||
|
||
SIOPLAYERS
|
||
CLR A3 ;Z
|
||
MOVI OBJSCOREINIT,A4 ;SCORE INIT DATA
|
||
MOVE A7,A8
|
||
SLL 5,A8 ;SIZEOF PLAYERXYTBL
|
||
ADDI PLAYERXYTBL,A8
|
||
MOVL *A8,A8 ;GET Y:X OFFSET OF PLAYER
|
||
|
||
CALLR SIOLOOP ;A3,A4,A8
|
||
CALLR SPECOBJPOSTINIT ;IN:A0-A5,A6,A7,A8 SC,SCD,PL#,YXOFFSET
|
||
|
||
;NEXT PLAYER
|
||
ADDI SCDSIZE,A6
|
||
INC A7
|
||
CMPI DRPLAYERS,A7
|
||
JRLT SIOPLAYERS
|
||
|
||
;
|
||
;SET UP THE TIMER
|
||
;
|
||
|
||
.IF 0 ;NOTIMER
|
||
CLR A3 ;Z
|
||
MOVI OBJMISCINIT,A4 ;SCORE INIT DATA
|
||
MOVL @PLAYERXYTBL+32*DRPLAYERS,A8 ;Y:X OFFSET
|
||
CALLR SIOLOOP ;A3,A4,A8
|
||
.ENDIF ;NOTIMER
|
||
|
||
SIOX
|
||
MMFM SP,A8
|
||
RETS
|
||
|
||
**
|
||
** SIOLOOP
|
||
**
|
||
** IN
|
||
** A7 PLAYER
|
||
** (OTHER STUFF I DONT WANT TO COMMENT NOW)
|
||
**
|
||
** JFL 06 OCT 92
|
||
**
|
||
SIOLOOP
|
||
;REG USE
|
||
; A0 OBJ
|
||
; A1
|
||
; A2 SCRATCH
|
||
; A3 Z
|
||
; A4 SCORE INIT DATA
|
||
; A5 CREATE_OBJ SCRATCH
|
||
; A6 SPECIAL INIT REG1 -- PLAYER SCORE DATA
|
||
; A7 SPECIAL INIT REG2 -- PLAYER NUMBER
|
||
; A8 Y:X OFFSET
|
||
; A9 SPECIAL INIT REG3 -- OBJ LINKS
|
||
; A10 SPECIAL INIT REG4 -- CHAR POINTER
|
||
|
||
;GET NEXT IMAGE
|
||
MOVI SCRATCH2K,A5
|
||
MOVL *A4+,A1 ;GET IMAGE
|
||
JRZ SIONEXTLOOP
|
||
MOVL A1,*A5 ;SAVE IMAGE
|
||
|
||
;SET CREATE OBJ STUFF
|
||
MOVW *A1(ICTRL),A14
|
||
ORI DMAWNZ,A14
|
||
MOVW A14,*A5(COCTRL)
|
||
|
||
CALLA CREATE_OBJ
|
||
LOCKON Z
|
||
|
||
;SET SCORE ID
|
||
MOVL *A4+,A14
|
||
JRZ SIOXX
|
||
JRP SIOXX
|
||
|
||
;M_SCOFF TURN OFF OBJ
|
||
SETF 1,0,0
|
||
MOVE SP,*A0(OCTRL+B_INUSE),0
|
||
SETF 16,1,0
|
||
SIOXX
|
||
MOVW A14,*A0(OPARTID)
|
||
|
||
;SET UP THE OBJECT
|
||
MOVE A8,A1
|
||
MOVL *A4+,A14 ;GET EXTRA OFFSET Y:X
|
||
ADDXY A14,A1
|
||
CALLR SIOSETUPOBJ ;IN: A0,A1 OBJ,OFFSET
|
||
DEC A3 ;MAKE Z CLOSER
|
||
|
||
;HANDLE SPECIAL INIT FUNCTION
|
||
MOVL *A4+,A2
|
||
JRZ SIOLOOP
|
||
CALL A2
|
||
JRUC SIOLOOP
|
||
|
||
SIONEXTLOOP
|
||
RETS
|
||
|
||
**
|
||
** SCRBOXPAL
|
||
**
|
||
** A0 OBJ
|
||
** A6 SCD
|
||
**
|
||
** JFL 26 JAN 93
|
||
** JFL 12 APR 93; NO FREE PAL
|
||
**
|
||
SCRBOXPAL
|
||
;FREE PAL & USE PLAYER PAL
|
||
MOVE A0,A2 ;SAVE
|
||
|
||
;SET PAL BASED ON PLAYER
|
||
MOVE A7,A14
|
||
SLL 5,A14 ;SIZEOF PLAYERPALTBL
|
||
ADDI PLAYERPALTBL,A14
|
||
.IF DEBUG
|
||
CMPI PLAYERPALTBLX,A14
|
||
TLOCKON HS
|
||
.ENDIF ;DEBUG
|
||
MOVL *A14,A0
|
||
CALLA GETFPAL ;IN:A0 PALPTR
|
||
MOVE A0,A14
|
||
MOVE A2,A0 ;UNSAVE
|
||
MOVW A14,*A0(OPAL)
|
||
|
||
RETS
|
||
|
||
**
|
||
** SCOREFIRSTDIGIT
|
||
**
|
||
** IN
|
||
** A0 OBJ
|
||
** A6 SCD
|
||
**
|
||
** JFL 06 OCT 92
|
||
**
|
||
SCOREFIRSTDIGIT
|
||
MOVL A0,*A6(SCDSCOREOBJ)
|
||
MOVE A0,A9
|
||
RETS
|
||
|
||
|
||
**
|
||
** TIMEFIRSTDIGIT
|
||
**
|
||
** IN
|
||
** A0 OBJ
|
||
** A6 SCD
|
||
**
|
||
** JFL 06 OCT 92
|
||
**
|
||
TIMEFIRSTDIGIT
|
||
MOVI SCDM,A9
|
||
MOVL A0,*A9(SCDMTIMEOBJ)
|
||
MOVE A0,A9
|
||
RETS
|
||
|
||
**
|
||
** SCORENEXTDIGIT
|
||
**
|
||
** IN
|
||
** A0 OBJ
|
||
** A6 SCD
|
||
** A9 PREV SCORE
|
||
**
|
||
** JFL 06 OCT 92
|
||
**
|
||
SCORENEXTDIGIT
|
||
MOVL A0,*A9(OSLINK)
|
||
MOVE A0,A9
|
||
|
||
RETS
|
||
|
||
**
|
||
** SPECFIRSTDIGIT
|
||
**
|
||
** IN
|
||
** A0 OBJ
|
||
** A6 SCD
|
||
**
|
||
** JFL 06 OCT 92
|
||
**
|
||
SPECFIRSTDIGIT
|
||
MOVL *A6(SCDSPECOBJ),A14
|
||
JRZ SFDFIRST
|
||
|
||
SFDLOOP
|
||
MOVE A14,A9
|
||
MOVL *A9(OSLINK),A14
|
||
JRNZ SFDLOOP
|
||
|
||
;ADD TO END
|
||
MOVL A0,*A9(OSLINK)
|
||
JRUC SFDX
|
||
|
||
SFDFIRST
|
||
MOVL A0,*A6(SCDSPECOBJ)
|
||
SFDX
|
||
MOVE A0,A9
|
||
RETS
|
||
|
||
**
|
||
** SPECNEXTDIGIT
|
||
**
|
||
** IN
|
||
** A0 OBJ
|
||
** A6 SCD
|
||
** A9 PREV SCORE
|
||
**
|
||
** JFL 06 OCT 92
|
||
**
|
||
SPECNEXTDIGIT
|
||
MOVL A0,*A9(OSLINK)
|
||
MOVE A0,A9
|
||
RETS
|
||
|
||
|
||
**
|
||
** SPECOBJPOSTINIT
|
||
** RUN THROUGH SPECIAL OBJECTS AFTER INIT TO DO MORE STUFF
|
||
**
|
||
** IN
|
||
** A0-A5 SCRATCH
|
||
** A6 SCD
|
||
** A7 PL#
|
||
** A8 YXOFFSET
|
||
**
|
||
** JFL 13 APR 93
|
||
**
|
||
SPECOBJPOSTINIT
|
||
MOVL *A6(SCDSPECOBJ),A0
|
||
TLOCKON Z ;HOW CAN WE INIT THE TURBO?
|
||
JRZ SOPIX
|
||
|
||
SCOPITLOOP
|
||
;LOOK FOR THE TURBO & RECORD THE DAG
|
||
MOVW *A0(OPARTID),A14
|
||
CMPI SCIDTURBO,A14
|
||
JREQ SOPITURBO
|
||
MOVL *A0(OSLINK),A0
|
||
JRNZ SCOPITLOOP
|
||
TLOCKON Z ;HOW CAN WE INIT THE TURBO?
|
||
JRUC SOPIX
|
||
|
||
SOPITURBO
|
||
;FOUND THE TURBO SPEC OBJ, SAVE ITS ORGINAL DAG
|
||
MOVL *A0(ODAG),*A0(OSCDAG) ;SAVE THE DAG
|
||
|
||
SOPIX
|
||
RETS
|
||
|
||
**
|
||
**
|
||
** TIMENEXTDIGIT
|
||
**
|
||
** IN
|
||
** A0 OBJ
|
||
** A6 SCD
|
||
** A9 PREV SCORE
|
||
**
|
||
** JFL 06 OCT 92
|
||
**
|
||
TIMENEXTDIGIT
|
||
MOVL A0,*A9(OSLINK)
|
||
MOVE A0,A9
|
||
RETS
|
||
|
||
**
|
||
** PLNUMBACK
|
||
**
|
||
** SCRATCH A2,A9,A10
|
||
**
|
||
** JFL 10 DEC 92
|
||
**
|
||
PLNUMBACK
|
||
;FREE PAL & USE SYSTEM PAL
|
||
MOVE A0,A2 ;SAVE
|
||
CLR A0 ;SYSTEM PAL
|
||
CALLA INC_PALCNT ;IN:A0 PALID
|
||
MOVE A2,A0 ;UNSAVE
|
||
|
||
MOVE A7,A14
|
||
SLL 5,A14
|
||
ADDI PLNUMBACKPALCONSTTBL,A14
|
||
MOVL *A14,A14
|
||
MOVL A14,*A0(OPAL)
|
||
MOVI PLNUMBACKSIZE,A14
|
||
MOVL A14,*A0(OUSIZE)
|
||
MOVL A14,*A0(OSIZE)
|
||
MOVI [100H,100H],A14
|
||
MOVL A14,*A0(OSCALEDMA)
|
||
MOVI DMACAL-M_INUSE,A14
|
||
MOVW A14,*A0(OCTRL)
|
||
|
||
MOVI SCIDPLBACK,A14
|
||
MOVW A14,*A0(OPARTID)
|
||
|
||
;LINK IN AT END
|
||
MOVL *A6(SCDSPECOBJ),A14
|
||
JRNZ PLNBLOOP
|
||
MOVL A0,*A6(SCDSPECOBJ)
|
||
JRUC PLNBX
|
||
|
||
PLNBLOOP
|
||
MOVE A14,A2
|
||
MOVL *A2(OSLINK),A14
|
||
JRNZ PLNBLOOP
|
||
MOVL A0,*A2(OSLINK)
|
||
|
||
PLNBX
|
||
RETS
|
||
|
||
**
|
||
** CHANGEOBJ
|
||
**
|
||
** IN
|
||
** A0 OBJ
|
||
** A2 NEW IHDR INFO
|
||
**
|
||
** JFL 10 DEC 92
|
||
** JFL 12 APR 93; NO FREE PAL
|
||
**
|
||
CHANGEOBJ
|
||
MMTM SP,A1
|
||
|
||
MOVL A2,*A0(OIMG)
|
||
|
||
;CHANGE PAL
|
||
MOVE A0,A1 ;SAVE
|
||
MOVL *A2(ICMAP),A0
|
||
CALLA GETFPAL ;IN A0 PALADR OUT A0 PALID
|
||
TLOCKON Z
|
||
MOVW A0,*A1(OPAL)
|
||
MOVE A1,A0 ;RESTORE
|
||
|
||
;GET REST OF INFO
|
||
MOVL *A2(ISAG),*A0(OSAG)
|
||
MOVW *A2(ICTRL),A14
|
||
ORI DMAWNZ,A14
|
||
MOVW A14,*A0(OCTRL)
|
||
MOVL *A2(ISIZE),A14
|
||
MOVL A14,*A0(OUSIZE)
|
||
MOVL A14,*A0(OSIZE)
|
||
|
||
MMFM SP,A1
|
||
RETS
|
||
|
||
**
|
||
** SIOSETUPOBJ -- SUBROUTINE
|
||
**
|
||
** IN
|
||
** A0 OBJ
|
||
** A1 OFFSET Y:X
|
||
** A3 Z
|
||
**
|
||
** SCRATCHES: A1,A2,A5
|
||
**
|
||
**
|
||
** JFL 06 OCT 92
|
||
**
|
||
SIOSETUPOBJ
|
||
;SET UP OBJECT
|
||
MOVE A1,A5 ;COPY Y:X OFFSET
|
||
MOVL *A0(OUANIOFF),A1
|
||
MOVL *A0(OUSIZE),A2
|
||
MOVW *A0(OCTRL),A14
|
||
SUBXY A1,A2 ;FIND SIZ - ANI FOR FLIPPING
|
||
BTST B_FLIPH,A14
|
||
JREQ SIOTRYV
|
||
MOVX A2,A1
|
||
SIOTRYV BTST B_FLIPV,A14
|
||
JREQ SIOANI
|
||
MOVY A2,A1
|
||
SIOANI SUBXY A1,A5 ;ADJUST FOR ANI
|
||
;MOVE B4,A1 ;SUBTRACT OUT PLANE OFFSET
|
||
;SUBXY A1,A5
|
||
MOVL A5,*A0(ODAG) ;SAVE DAG FOR CLIPPING COMPUTATION
|
||
|
||
MOVW A5,*A0(OXPOS)
|
||
SRL 16,A5
|
||
MOVW A5,*A0(OYPOS)
|
||
MOVW A3,*A0(OZPOS)
|
||
|
||
;SET UP MISC
|
||
MOVI SCALE1TO1,A14
|
||
MOVL A14,*A0(OSCALEDMA)
|
||
|
||
;LINK IT IN
|
||
MOVE B0,A2 ;SAVE B0
|
||
MOVI SCORELIST,B0
|
||
CALLA INSPLANE ;B0 plane ptr
|
||
MOVE A2,B0 ;RESTORE B0
|
||
RETS
|
||
|
||
***
|
||
*** ----------------------------------------------------------------------
|
||
***
|
||
|
||
**
|
||
** SCOREVALADD
|
||
** SCOREVALADDOID
|
||
**
|
||
** IN
|
||
** A2 OBJ / OID
|
||
** A3 VALUE (IN SCORE-VALUE FORMAT)
|
||
**
|
||
** JFL 30 SEP 92
|
||
** JFL 27 OCT 92; HANDLE NPC
|
||
** JFL 10 FEB 93; SCOREVALADDOID
|
||
**
|
||
SCOREVALADDOID
|
||
MMTM SP,A4,A5,A6,A7,A8,A9
|
||
JRUC SVAOID
|
||
SCOREVALADD
|
||
MMTM SP,A4,A5,A6,A7,A8,A9
|
||
|
||
;TURN OID INTO SCORE DATA INDEX
|
||
MOVW *A2(OID),A2
|
||
SVAOID
|
||
SLL SL_POID,A2
|
||
SRL SR_POID,A2
|
||
DEC A2
|
||
JRN SVAX
|
||
|
||
MOVE A3,A3
|
||
JRZ SVAX
|
||
|
||
.IF DEBUG
|
||
CMPI DRPLAYERS,A2
|
||
LOCKON GE
|
||
.ENDIF ;DEBUG
|
||
|
||
SLL SCDSIZEOF,A2 ;SIZEOF SCDATA
|
||
ADDI SCOREDATA,A2
|
||
|
||
;GET RIGHTMOST DIGIT
|
||
MOVL *A2(SCDSCOREOBJ),A8
|
||
JRZ SVAX
|
||
|
||
;SKIP TO DIGIT
|
||
MOVL *A8(OSLINK),A8
|
||
JRZ SVAX
|
||
|
||
;ADD IN SCORE
|
||
MOVK 0FH,A5 ;NIBBLE MASK
|
||
CLR A7 ;CLEAR NEWVALUE
|
||
MOVK 8,A9 ;HOW MANY ROLLS WE'VE GOT LEFT
|
||
MOVL *A2(SCDVAL),A4 ;GET CUR VAL
|
||
JRUC SVAFIRST
|
||
SVALOOP
|
||
MOVL *A8(OSLINK),A8
|
||
JRZ SVADONE
|
||
|
||
DEC A9 ;LOOP COUNT
|
||
LOCKON Z
|
||
RL 28,A7 ;ROLL NEWVALUE
|
||
SRL 4,A4 ;SHIFT CURVALUE
|
||
SRL 4,A3 ;SHIFT ADDVALUE
|
||
JRNZ SVAFIRST
|
||
MOVE A4,A4
|
||
JRZ SVADONEOFF ;NO MORE SCORE
|
||
|
||
SVAFIRST
|
||
;REG USE
|
||
; A2 SCOREDATA
|
||
; A3 ADDVALUE 8:7:6:5:4:3:2:1:0
|
||
; A4 CURVALUE 8:7:6:5:4:3:2:1:0
|
||
; A5 NIBBLE MASK
|
||
; A6 DIGIT
|
||
; A7 NEWVALUE 8:7:6:5:4:3:2:1:0
|
||
; A8 DIGIT OBJ
|
||
; A9 COUNT
|
||
|
||
;ADD TWO SCORE NIBBLES
|
||
MOVE A3,A14
|
||
AND A5,A14
|
||
MOVE A4,A6
|
||
AND A5,A6
|
||
ADD A14,A6 ;A6 NEW DIGIT
|
||
CMPI 10,A6
|
||
JRLT SVACARRYDONE
|
||
SUBK 10,A6 ;SUBTRACT OUT CARRY
|
||
ADDK 10H,A4 ;ADD CARRY TO NEXT DIGIT
|
||
SVACARRYDONE
|
||
OR A6,A7 ;FORM NEWVALUE
|
||
|
||
;SELECT IMAGE FOR THIS DIGIT
|
||
SLL 5,A6 ;SIZEOF SCOREDIGITTBL
|
||
ADDI SCOREDIGITTBL,A6
|
||
MOVL *A6,A6
|
||
MOVL *A6(ISAG),*A8(OSAG) ;UPDATE SAG
|
||
MOVL *A6(ISIZE),A14
|
||
MOVL A14,*A8(OUSIZE)
|
||
|
||
;MAKE SURE OBJ IS ON
|
||
MOVW *A8(OCTRL),A14
|
||
ORI M_INUSE,A14
|
||
MOVW A14,*A8(OCTRL)
|
||
|
||
JRUC SVALOOP
|
||
|
||
SVADONEOFF
|
||
;MAKE SURE ZERO OBJS ARE OFF
|
||
MOVW *A8(OCTRL),A14
|
||
ANDNI M_INUSE,A14
|
||
MOVW A14,*A8(OCTRL)
|
||
MOVL *A8(OSLINK),A8
|
||
JRNZ SVADONEOFF
|
||
|
||
SVADONE
|
||
;GET NEWVALUE LINED UP & SAVE NEW VALUE
|
||
RL 28,A7 ;ROLL NEWVALUE
|
||
DSJS A9,SVADONE
|
||
MOVL A7,*A2(SCDVAL)
|
||
|
||
SVAX
|
||
MMFM SP,A4,A5,A6,A7,A8,A9
|
||
RETS
|
||
|
||
**
|
||
** SCORESETMISL
|
||
**
|
||
** IN
|
||
** A2 OBJ
|
||
** A3 MISSILES
|
||
**
|
||
** JFL 06 OCT 92
|
||
** JFL 27 OCT 92; HANDLE NPC
|
||
** JFL 26 JAN 93
|
||
**
|
||
SCORESETMISL
|
||
MMTM SP,A8
|
||
|
||
;TURN OID INTO SCORE DATA INDEX
|
||
MOVW *A2(OID),A2
|
||
SLL SL_POID,A2
|
||
SRL SR_POID,A2
|
||
DEC A2
|
||
JRN SSMX
|
||
|
||
.IF DEBUG
|
||
CMPI DRPLAYERS,A2
|
||
LOCKON GE
|
||
MOVE A3,A3
|
||
LOCKON N
|
||
.ENDIF ;DEBUG
|
||
|
||
SLL SCDSIZEOF,A2 ;SIZEOF SCDATA
|
||
ADDI SCOREDATA,A2
|
||
|
||
;GET DIGIT
|
||
MOVL *A2(SCDSPECOBJ),A8
|
||
JRNZ SSMFIRST
|
||
JRZ SSMX
|
||
|
||
SSMFIND
|
||
MOVL *A8(OSLINK),A8
|
||
JRZ SSMX
|
||
|
||
SSMFIRST
|
||
MOVW *A8(OPARTID),A14
|
||
CMPI SCIDMISL,A14
|
||
JRNE SSMFIND
|
||
|
||
CMPI 9,A3
|
||
JRLE SSMOK
|
||
MOVK 9,A3
|
||
SSMOK
|
||
SLL 5,A3 ;SIZEOF DIGITTBL
|
||
ADDI MISLDIGITTBL,A3
|
||
MOVL *A3,A3
|
||
MOVL *A3(ISAG),*A8(OSAG)
|
||
MOVL *A3(ISIZE),A14
|
||
MOVL A14,*A8(OUSIZE)
|
||
|
||
SSMX
|
||
MMFM SP,A8
|
||
RETS
|
||
|
||
**
|
||
** SCORESETLMINE
|
||
**
|
||
** IN
|
||
** A2 OBJ
|
||
** A3 MISSILES
|
||
**
|
||
** JFL 06 OCT 92
|
||
** JFL 27 OCT 92; HANDLE NPC
|
||
** JFL 26 JAN 93
|
||
**
|
||
SCORESETLMINE
|
||
MMTM SP,A8
|
||
|
||
;TURN OID INTO SCORE DATA INDEX
|
||
MOVW *A2(OID),A2
|
||
SLL SL_POID,A2
|
||
SRL SR_POID,A2
|
||
DEC A2
|
||
JRN SSLX
|
||
|
||
.IF DEBUG
|
||
CMPI DRPLAYERS,A2
|
||
LOCKON GE
|
||
MOVE A3,A3
|
||
LOCKON N
|
||
.ENDIF ;DEBUG
|
||
|
||
SLL SCDSIZEOF,A2 ;SIZEOF SCDATA
|
||
ADDI SCOREDATA,A2
|
||
|
||
;GET DIGIT
|
||
MOVL *A2(SCDSPECOBJ),A8
|
||
JRNZ SSLFIRST
|
||
JRZ SSLX
|
||
|
||
SSLFIND
|
||
MOVL *A8(OSLINK),A8
|
||
JRZ SSLX
|
||
|
||
SSLFIRST
|
||
MOVW *A8(OPARTID),A14
|
||
CMPI SCIDLMINE,A14
|
||
JRNE SSLFIND
|
||
|
||
CMPI 9,A3
|
||
JRLE SSLOK
|
||
MOVK 9,A3
|
||
SSLOK
|
||
SLL 5,A3 ;SIZEOF DIGITTBL
|
||
ADDI LMINEDIGITTBL,A3
|
||
MOVL *A3,A3
|
||
MOVL *A3(ISAG),*A8(OSAG)
|
||
MOVL *A3(ISIZE),A14
|
||
MOVL A14,*A8(OUSIZE)
|
||
|
||
SSLX
|
||
MMFM SP,A8
|
||
RETS
|
||
|
||
|
||
**
|
||
** SCORESETTIME
|
||
** SCOREDISPLAYTIME
|
||
**
|
||
** IN
|
||
** A3 TIME 0..99
|
||
**
|
||
** JFL 06 OCT 92
|
||
**
|
||
SCORESETTIME
|
||
;SAVE CURRENT TIME
|
||
MOVI SCDM,A2
|
||
MOVW A3,*A2(SCDMTIME)
|
||
|
||
SCOREDISPLAYTIME
|
||
;TRANSLATE INTO BCD
|
||
SLL 3,A3 ;SIZEOF TIMEBCDTBL
|
||
ADDI TIMEBCDTBL,A3
|
||
.IF DEBUG
|
||
CMPI TIMEBCDTBLX,A3
|
||
LOCKON HS
|
||
.ENDIF ;DEBUG
|
||
MOVB *A3,A3
|
||
SLL 24,A3
|
||
SRL 24,A3
|
||
|
||
;GET DIGIT
|
||
MOVL *A2(SCDMTIMEOBJ),A2
|
||
JRZ SSTMX
|
||
|
||
;DISPLAY CURRENT TIME -- RIGHTMOST DIGIT
|
||
MOVE A3,A14
|
||
SLL 28,A14
|
||
SRL 28,A14
|
||
SLL 5,A14 ;SIZEOF DIGITTBL
|
||
ADDI TIMEDIGITTBL,A14
|
||
MOVL *A14,A14
|
||
MOVL *A14(ISAG),*A2(OSAG)
|
||
MOVL *A14(ISIZE),A14
|
||
MOVL A14,*A2(OUSIZE)
|
||
|
||
;NEXT DIGIT
|
||
MOVL *A2(OSLINK),A2
|
||
JRZ SSTMX
|
||
|
||
;DISPLAY CURRENT TIME -- RIGHTMOST DIGIT
|
||
SRL 4,A3
|
||
JRNZ SSTMON
|
||
|
||
;TURN DIGIT OFF
|
||
MOVW *A2(OCTRL),A14
|
||
ANDNI M_INUSE,A14
|
||
MOVW A14,*A2(OCTRL)
|
||
JRUC SSTMX
|
||
|
||
SSTMON
|
||
;SET DIGIT
|
||
SLL 5,A3 ;SIZEOF DIGITTBL
|
||
ADDI TIMEDIGITTBL,A3
|
||
MOVL *A3,A3
|
||
MOVL *A3(ISAG),*A2(OSAG)
|
||
MOVL *A3(ISIZE),A14
|
||
MOVL A14,*A2(OUSIZE)
|
||
|
||
;TURN DIGIT ON
|
||
MOVW *A2(OCTRL),A14
|
||
ORI M_INUSE,A14
|
||
MOVW A14,*A2(OCTRL)
|
||
|
||
SSTMX
|
||
RETS
|
||
|
||
**
|
||
** SCORETIMEDOWN
|
||
**
|
||
** OUT
|
||
** Z IF TIMED OUT
|
||
**
|
||
** JFL 06 OCT 92
|
||
**
|
||
SCORETIMEDOWN
|
||
MMTM SP,A4
|
||
|
||
;GET CURRENT TIME
|
||
MOVI SCDM,A2
|
||
MOVW *A2(SCDMTIME),A3
|
||
DEC A3
|
||
MOVW A3,*A2(SCDMTIME)
|
||
MOVE A3,A4
|
||
|
||
CALLR SCOREDISPLAYTIME
|
||
|
||
INC A4
|
||
|
||
MMFM SP,A4
|
||
RETS
|
||
|
||
**
|
||
** SCORESETTURBO
|
||
** SCORESETTURBOOID
|
||
**
|
||
** IN
|
||
** A2 OBJ / OID
|
||
** A3 TURBO 0..TURBOMAX (ANYTHING BIGGER IS TRUNCATED)
|
||
**
|
||
** JFL 06 OCT 92
|
||
** JFL 27 OCT 92; HANDLE NPC
|
||
** JFL 13 APR 93
|
||
**
|
||
SCORESETTURBOOID
|
||
MMTM SP,A8
|
||
JRUC SSTOID
|
||
SCORESETTURBO
|
||
MMTM SP,A8
|
||
|
||
;TURN OID INTO SCORE DATA INDEX
|
||
MOVW *A2(OID),A2
|
||
SSTOID
|
||
SLL SL_POID,A2
|
||
SRL SR_POID,A2
|
||
DEC A2
|
||
JRN SSTX
|
||
|
||
.IF DEBUG
|
||
CMPI DRPLAYERS,A2
|
||
LOCKON GE
|
||
MOVE A3,A3
|
||
LOCKON N
|
||
.ENDIF ;DEBUG
|
||
|
||
SLL SCDSIZEOF,A2 ;SIZEOF SCDATA
|
||
ADDI SCOREDATA,A2
|
||
|
||
;GET DIGIT
|
||
MOVL *A2(SCDSPECOBJ),A8
|
||
JRNZ SSTFIRST
|
||
JRZ SSTX
|
||
|
||
SSTFIND
|
||
MOVL *A8(OSLINK),A8
|
||
JRZ SSTX
|
||
|
||
SSTFIRST
|
||
MOVW *A8(OPARTID),A14
|
||
CMPI SCIDTURBO,A14
|
||
JRNE SSTFIND
|
||
|
||
;TRUNC IF NEC
|
||
CMPI TURBOSINGLEMAX,A3
|
||
JRLO SSTOK
|
||
MOVK TURBOSINGLEMAX,A3
|
||
SSTOK
|
||
SLL 4,A3 ;SIZEOF CLIPTBL
|
||
JRZ SSTOFF
|
||
ADDI TURBOBARCLIPTBL,A3
|
||
MOVW *A3,A3 ;CLIP SIZE
|
||
|
||
;BASE HEIGHT ON ORG IMG
|
||
MOVL *A8(OIMG),A2
|
||
MOVW *A2(ISIZEY),A14
|
||
SUB A3,A14 ;SUBTRACT OUT TO FIND THE NEW SIZE
|
||
JRP SSTP
|
||
|
||
SSTOFF
|
||
;TURN OFF
|
||
SETF 1,0,0
|
||
MOVE SP,*A8(OCTRL+B_INUSE),0
|
||
SETF 16,1,0
|
||
JRUC SSTX
|
||
|
||
SSTP
|
||
;SET HEIGHT BY THROWING AWAY FROM THE BOTTOM
|
||
MOVW A14,*A8(OUSIZEY)
|
||
|
||
;ADJUST DAG DOWN
|
||
MOVL *A8(OSCDAG),A14 ;ORG DAG
|
||
SLL 16,A3 ;CLIPSIZE:0
|
||
ADDXY A3,A14 ;NEW DAG
|
||
MOVL A14,*A8(ODAG)
|
||
|
||
;TURN ON
|
||
SETF 1,0,0
|
||
MOVK 1,A3
|
||
MOVE A3,*A8(OCTRL+B_INUSE),0
|
||
SETF 16,1,0
|
||
|
||
SSTX
|
||
MMFM SP,A8
|
||
RETS
|
||
|
||
**
|
||
** SCORESETDAMAGE
|
||
** SCORESETDAMAGEOID
|
||
**
|
||
** IN
|
||
** A2 OBJ
|
||
** A3 AMOUNT 0..FF (TOP 24 BITS DROPPED HERE)
|
||
**
|
||
** JFL 30 SEP 92
|
||
** JFL 27 OCT 92; HANDLE NPC
|
||
** JFL 10 FEB 93
|
||
**
|
||
SCORESETDAMAGEOID
|
||
MMTM SP,A8
|
||
JRUC SSDOID
|
||
SCORESETDAMAGE
|
||
MMTM SP,A8
|
||
|
||
;TURN OID INTO SCORE DATA INDEX
|
||
MOVW *A2(OID),A2
|
||
SSDOID
|
||
SLL SL_POID,A2
|
||
SRL SR_POID,A2
|
||
DEC A2
|
||
JRN SSDX
|
||
|
||
.IF DEBUG
|
||
CMPI DRPLAYERS,A2
|
||
LOCKON GE
|
||
.ENDIF ;DEBUG
|
||
|
||
SLL SCDSIZEOF,A2 ;SIZEOF SCDATA
|
||
ADDI SCOREDATA,A2
|
||
|
||
;GET DAMAGE BAR
|
||
MOVL *A2(SCDSPECOBJ),A8
|
||
JRNZ SSDFIRST
|
||
JRZ SSDX
|
||
|
||
SSDFIND
|
||
MOVL *A8(OSLINK),A8
|
||
JRZ SSDX
|
||
|
||
SSDFIRST
|
||
MOVW *A8(OPARTID),A14
|
||
CMPI SCIDDAMAGEBAR,A14
|
||
JRNE SSDFIND
|
||
|
||
;LOOKUP CLIP VALUE
|
||
;DROP SIGN OF BYTE
|
||
SLL 24,A3
|
||
SRL 24-4,A3 ;SIZEOF CLIPTBL
|
||
ADDI DAMAGEBARCLIPTBL,A3
|
||
MOVW *A3,A3
|
||
JRN SSDOFF
|
||
JRNZ SSDCLIP
|
||
|
||
;TURN ON, NO CLIPPING
|
||
MOVW *A8(OCTRL),A14
|
||
ORI M_INUSE,A14
|
||
SLL 16,A14
|
||
MOVL A14,*A8(OFSET) ;STUFF OFSET & CTRL FIELDS
|
||
JRUC SSDX
|
||
|
||
SSDOFF
|
||
;TURN OFF, NO CLIPPING
|
||
MOVW *A8(OCTRL),A14
|
||
ANDNI M_INUSE,A14
|
||
SLL 16,A14
|
||
MOVL A14,*A8(OFSET) ;STUFF OFSET & CTRL FIELDS
|
||
|
||
JRUC SSDX
|
||
|
||
SSDCLIP
|
||
;TURN ON, CLIP
|
||
MOVW *A8(OCTRL),A14
|
||
ORI M_INUSE|M_LRCLIP,A14
|
||
SLL 16,A14
|
||
MOVX A3,A14
|
||
MOVL A14,*A8(OFSET) ;STUFF OFSET & CTRL FIELDS
|
||
|
||
SSDX
|
||
MMFM SP,A8
|
||
RETS
|
||
|
||
RETS
|
||
|
||
|
||
**
|
||
** SCORESETPLBACK
|
||
** SCORESETPLBACKOID
|
||
**
|
||
** IN
|
||
** A2 OBJ
|
||
** A3 COLOR FROM SPAL
|
||
**
|
||
** JFL 30 SEP 92
|
||
** JFL 27 OCT 92; HANDLE NPC
|
||
** JFL 11 DEC 92
|
||
** JFL 19 FEB 93; OID VERSION
|
||
**
|
||
SCORESETPLBACKOID
|
||
MMTM SP,A8
|
||
JRUC SSPBOID
|
||
SCORESETPLBACK
|
||
MMTM SP,A8
|
||
|
||
;TURN OID INTO SCORE DATA INDEX
|
||
MOVW *A2(OID),A2
|
||
SSPBOID
|
||
SLL SL_POID,A2
|
||
SRL SR_POID,A2
|
||
DEC A2
|
||
JRN SSPBX
|
||
|
||
.IF DEBUG
|
||
CMPI DRPLAYERS,A2
|
||
LOCKON GE
|
||
.ENDIF ;DEBUG
|
||
|
||
SLL SCDSIZEOF,A2 ;SIZEOF SCDATA
|
||
ADDI SCOREDATA,A2
|
||
|
||
;GET BACK
|
||
MOVL *A2(SCDSPECOBJ),A8
|
||
JRNZ SSPBFIRST
|
||
JRZ SSPBX
|
||
|
||
SSPBFIND
|
||
MOVL *A8(OSLINK),A8
|
||
JRZ SSPBX
|
||
|
||
SSPBFIRST
|
||
MOVW *A8(OPARTID),A14
|
||
CMPI SCIDPLBACK,A14
|
||
JRNE SSPBFIND
|
||
|
||
MOVE A3,A3
|
||
JRNZ SSPBSET
|
||
|
||
;TURN OFF
|
||
SETF 1,0,0
|
||
CLR A14
|
||
MOVE A14,*A8(OCTRL+B_INUSE),0
|
||
SETF 16,1,0
|
||
JRUC SSPBX
|
||
|
||
SSPBSET
|
||
;SET COLOR -- USE SYSTEM PALETTE, CHANGE CONSTANT COLOR VALUE
|
||
MOVE A3,A14
|
||
SLL 8,A14
|
||
OR A3,A14
|
||
MOVW A14,*A8(OCONST)
|
||
|
||
;TURN ON
|
||
SETF 1,0,0
|
||
MOVK 1,A14
|
||
MOVE A14,*A8(OCTRL+B_INUSE),0
|
||
SETF 16,1,0
|
||
|
||
SSPBX
|
||
MMFM SP,A8
|
||
RETS
|
||
|
||
RETS
|
||
|
||
***
|
||
*** -----------------------------------------------------------------------
|
||
***
|
||
|
||
**
|
||
** OBJSCOREBLANK
|
||
**
|
||
** JFL 06 OCT 92
|
||
**
|
||
OBJSCOREBLANK
|
||
.LONG 0 ;IMAGE
|
||
.LONG 0 ;COLLISION VECTOR
|
||
.WORD OID_JUNK ;OID
|
||
.WORD DMAWNZ ;OCTRL
|
||
.WORD M_NOAUTOZ ;OFLAGS
|
||
.WORD STYPNONE ;OSCALETYPE
|
||
.LONG 0 ;CFUNC
|
||
|
||
**
|
||
** PLAYERNAMETBL
|
||
**
|
||
** JFL 06 OCT 92
|
||
**
|
||
PLAYERNAMETBL
|
||
.BYTE 'J','F','L',0
|
||
.BYTE 'J','F','L',0
|
||
.BYTE 'J','F','L',0
|
||
|
||
|
||
|
||
|
||
**
|
||
** OBJSCOREINIT
|
||
**
|
||
** .LONG IMG,OPARTID,OFFSET Y:X,INIT()
|
||
**
|
||
** ENTRIES ARE IN REVERSE ORDER OF DRAWING
|
||
**
|
||
** JFL 06 OCT 92
|
||
** JFL 12 APR 93; NEW BOX
|
||
**
|
||
OBJSCOREINIT
|
||
;COLOR BLOCK BEHIND THE SCORE BOX -- ANY IMAGE WILL DO
|
||
.LONG SCRBOXR_1,SCIDPLBACK,[PLNUMBGYOFF,PLNUMBGXOFF],PLNUMBACK
|
||
|
||
;SCORE -- THESE OBJECTS ARE ALL LINKED TOGETHER
|
||
.LONG SCOR_0,0,[SCYOFF,SCXOFF-0*SCXSPACE],SCOREFIRSTDIGIT
|
||
.LONG SCOR_0,M_SCOFF,[SCYOFF,SCXOFF-1*SCXSPACE],SCORENEXTDIGIT
|
||
.LONG SCOR_0,M_SCOFF,[SCYOFF,SCXOFF-2*SCXSPACE],SCORENEXTDIGIT
|
||
.LONG SCOR_0,M_SCOFF,[SCYOFF,SCXOFF-3*SCXSPACE],SCORENEXTDIGIT
|
||
.LONG SCOR_0,M_SCOFF,[SCYOFF,SCXOFF-4*SCXSPACE],SCORENEXTDIGIT
|
||
.LONG SCOR_0,M_SCOFF,[SCYOFF,SCXOFF-5*SCXSPACE],SCORENEXTDIGIT
|
||
.LONG SCOR_0,M_SCOFF,[SCYOFF,SCXOFF-6*SCXSPACE],SCORENEXTDIGIT
|
||
.LONG SCOR_0,M_SCOFF,[SCYOFF,SCXOFF-7*SCXSPACE],SCORENEXTDIGIT
|
||
.LONG SCOR_0,M_SCOFF,[SCYOFF,SCXOFF-8*SCXSPACE],SCORENEXTDIGIT
|
||
|
||
;SPECIAL -- THESE OBJECTS ARE ALL LINKED TOGETHER
|
||
;BEST TO KEEP IN ORDER OF FREQUENCY OF USE
|
||
.LONG SCR_BAR,SCIDTURBO,[TURBOYOFF,TURBOXOFF],SPECFIRSTDIGIT
|
||
.LONG SCOR_0,SCIDMISL,[MISLYOFF,MISLXOFF],SPECNEXTDIGIT
|
||
.LONG SCOR_0,SCIDLMINE,[LMINEYOFF,LMINEXOFF],SPECNEXTDIGIT
|
||
.LONG SCRBOX_8,SCIDDAMAGEBAR,0,SPECNEXTDIGIT
|
||
|
||
;THE SCORE BOX
|
||
.LONG SCRBOXR_1,0,0,SCRBOXPAL
|
||
.LONG SCRBOXG_2,0,0,SCRBOXPAL
|
||
.LONG SCRBOXB_3,0,0,SCRBOXPAL
|
||
.LONG SCRBOX_4,0,0,SCRBOXPAL
|
||
.LONG SCRBOX_5,0,0,SCRBOXPAL
|
||
.LONG SCRBOX_6,0,0,SCRBOXPAL
|
||
.LONG SCRBOX_7,0,0,SCRBOXPAL
|
||
.LONG SCR_TUR,0,0,0
|
||
.LONG SCR_DOL,0,0,0
|
||
.LONG SCR_DOL,0,0,0
|
||
.LONG SCR_MISS,0,0,0
|
||
.LONG SCR_SPEC,0,0,0
|
||
.LONG SCR_MINE,0,0,0
|
||
|
||
.LONG 0
|
||
|
||
**
|
||
** OBJMISCINIT
|
||
**
|
||
** SAME FORMAT AS OBJSCOREINIT
|
||
**
|
||
** JFL 06 OCT 92
|
||
**
|
||
OBJMISCINIT
|
||
.LONG RRD0,0,[0,-0*TIMEXSPACE],TIMEFIRSTDIGIT
|
||
.LONG RRD0,0,[0,-1*TIMEXSPACE],TIMENEXTDIGIT
|
||
.LONG 0
|
||
|
||
|
||
**
|
||
** TIMEBCDTBL
|
||
**
|
||
** JFL 06 OCT 92
|
||
** JFL 26 JAN 93; REDONE AS BYTE TBL
|
||
**
|
||
TIMEBCDTBL
|
||
.BYTE 0000H
|
||
.BYTE 0001H
|
||
.BYTE 0002H
|
||
.BYTE 0003H
|
||
.BYTE 0004H
|
||
.BYTE 0005H
|
||
.BYTE 0006H
|
||
.BYTE 0007H
|
||
.BYTE 0008H
|
||
.BYTE 0009H
|
||
|
||
.BYTE 0010H
|
||
.BYTE 0011H
|
||
.BYTE 0012H
|
||
.BYTE 0013H
|
||
.BYTE 0014H
|
||
.BYTE 0015H
|
||
.BYTE 0016H
|
||
.BYTE 0017H
|
||
.BYTE 0018H
|
||
.BYTE 0019H
|
||
|
||
.BYTE 0020H
|
||
.BYTE 0021H
|
||
.BYTE 0022H
|
||
.BYTE 0023H
|
||
.BYTE 0024H
|
||
.BYTE 0025H
|
||
.BYTE 0026H
|
||
.BYTE 0027H
|
||
.BYTE 0028H
|
||
.BYTE 0029H
|
||
|
||
.BYTE 0030H
|
||
.BYTE 0031H
|
||
.BYTE 0032H
|
||
.BYTE 0033H
|
||
.BYTE 0034H
|
||
.BYTE 0035H
|
||
.BYTE 0036H
|
||
.BYTE 0037H
|
||
.BYTE 0038H
|
||
.BYTE 0039H
|
||
|
||
.BYTE 0040H
|
||
.BYTE 0041H
|
||
.BYTE 0042H
|
||
.BYTE 0043H
|
||
.BYTE 0044H
|
||
.BYTE 0045H
|
||
.BYTE 0046H
|
||
.BYTE 0047H
|
||
.BYTE 0048H
|
||
.BYTE 0049H
|
||
|
||
.BYTE 0050H
|
||
.BYTE 0051H
|
||
.BYTE 0052H
|
||
.BYTE 0053H
|
||
.BYTE 0054H
|
||
.BYTE 0055H
|
||
.BYTE 0056H
|
||
.BYTE 0057H
|
||
.BYTE 0058H
|
||
.BYTE 0059H
|
||
|
||
.BYTE 0060H
|
||
.BYTE 0061H
|
||
.BYTE 0062H
|
||
.BYTE 0063H
|
||
.BYTE 0064H
|
||
.BYTE 0065H
|
||
.BYTE 0066H
|
||
.BYTE 0067H
|
||
.BYTE 0068H
|
||
.BYTE 0069H
|
||
|
||
.BYTE 0070H
|
||
.BYTE 0071H
|
||
.BYTE 0072H
|
||
.BYTE 0073H
|
||
.BYTE 0074H
|
||
.BYTE 0075H
|
||
.BYTE 0076H
|
||
.BYTE 0077H
|
||
.BYTE 0078H
|
||
.BYTE 0079H
|
||
|
||
.BYTE 0080H
|
||
.BYTE 0081H
|
||
.BYTE 0082H
|
||
.BYTE 0083H
|
||
.BYTE 0084H
|
||
.BYTE 0085H
|
||
.BYTE 0086H
|
||
.BYTE 0087H
|
||
.BYTE 0088H
|
||
.BYTE 0089H
|
||
|
||
.BYTE 0090H
|
||
.BYTE 0091H
|
||
.BYTE 0092H
|
||
.BYTE 0093H
|
||
.BYTE 0094H
|
||
.BYTE 0095H
|
||
.BYTE 0096H
|
||
.BYTE 0097H
|
||
.BYTE 0098H
|
||
.BYTE 0099H
|
||
TIMEBCDTBLX
|
||
.EVEN
|
||
|
||
LMINEDIGITTBL
|
||
MISLDIGITTBL
|
||
TURBODIGITTBL
|
||
SCOREDIGITTBL
|
||
.LONG SCOR_0
|
||
.LONG SCOR_1
|
||
.LONG SCOR_2
|
||
.LONG SCOR_3
|
||
.LONG SCOR_4
|
||
.LONG SCOR_5
|
||
.LONG SCOR_6
|
||
.LONG SCOR_7
|
||
.LONG SCOR_8
|
||
.LONG SCOR_9
|
||
|
||
TIMEDIGITTBL
|
||
.LONG RRD0
|
||
.LONG RRD1
|
||
.LONG RRD2
|
||
.LONG RRD3
|
||
.LONG RRD4
|
||
.LONG RRD5
|
||
.LONG RRD6
|
||
.LONG RRD7
|
||
.LONG RRD8
|
||
.LONG RRD9
|
||
|
||
|
||
**
|
||
** PLPALCONSTTBL
|
||
**
|
||
** .LONG NON-PLAYER
|
||
** .LONG PLAYER1
|
||
** .LONG PLAYER2
|
||
** .LONG PLAYER3
|
||
**
|
||
** JFL 11 FEB 93
|
||
**
|
||
PLPALCONSTTBL
|
||
.LONG [SPALYELLOW+SPALYELLOW*256,SPAL+SPAL*256]
|
||
.LONG [SPALGREEN+SPALGREEN*256,SPAL+SPAL*256]
|
||
.LONG [SPALBLUE+SPALBLUE*256,SPAL+SPAL*256]
|
||
.LONG [SPALRED+SPALRED*256,SPAL+SPAL*256]
|
||
|
||
PLNUMBACKPALCONSTTBL
|
||
.LONG [SPALRED+SPALRED*256,SPAL+SPAL*256]
|
||
.LONG [SPALRED+SPALRED*256,SPAL+SPAL*256]
|
||
.LONG [SPALRED+SPALRED*256,SPAL+SPAL*256]
|
||
|
||
PLAYERPALTBL
|
||
.LONG SCORG_P
|
||
.LONG SCORB_P
|
||
.LONG SCORR_P
|
||
PLAYERPALTBLX
|
||
|
||
SCTM .MACRO LOOPC,WIDTH
|
||
.ASG :WIDTH:*1000/:LOOPC:,LOOPINC
|
||
.ASG :WIDTH:*1000,LOOPVAL
|
||
.LOOP :LOOPC:
|
||
.IF LOOPVAL/1000<:WIDTH:
|
||
.BYTE 0,LOOPVAL/1000
|
||
.ELSE
|
||
.WORD -1
|
||
.ENDIF
|
||
.EVAL LOOPVAL-LOOPINC,LOOPVAL
|
||
.ENDLOOP
|
||
.ENDM
|
||
|
||
**
|
||
** DAMAGEBARCLIPTBL
|
||
** THIS IS THE DAMAGE BAR WIDTH TABLE
|
||
**
|
||
** SCTM DIVISIONS,FULLSIZEDWIDTH <- GET FROM SCRBOX_8 WIDTH
|
||
**
|
||
** JFL 07 OCT 92
|
||
**
|
||
DAMAGEBARCLIPTBL
|
||
SCTM 256,109
|
||
|
||
TBCM .MACRO DIVI,MULT
|
||
.ASG :DIVI:,LOOPVAL
|
||
.LOOP :DIVI:+1
|
||
.WORD LOOPVAL*:MULT:
|
||
.EVAL LOOPVAL-1,LOOPVAL
|
||
.ENDLOOP
|
||
.ENDM
|
||
|
||
**
|
||
** TURBOBARCLIPTBL
|
||
** THIS IS THE TURBO BAR HEIGHT TBL
|
||
**
|
||
** TBCM DIVISIONS,SIZEOF EACH GRAPHIC INCREMENT
|
||
**
|
||
** JFL 13 APR 93
|
||
**
|
||
TURBOBARCLIPTBL
|
||
TBCM TURBOSINGLEMAX,3
|
||
|
||
**
|
||
**
|
||
** SCORE BOX IMAGE INFO
|
||
**
|
||
PLWIDTH EQU 113 ;WIDTH FROM SCRBOX_1
|
||
PLMIDX EQU PLWIDTH/2
|
||
PLMIDY EQU 31 ;-Y ANIM FROM SCRBOX_2
|
||
PLANIX EQU 0 ;X ANIM FROM SCRBOX_1
|
||
PLANIY EQU 0 ;Y ANIM FROM SCRBOX_1
|
||
|
||
**
|
||
** POSITIONING OF PLAYER SCORE BOXES
|
||
**
|
||
PLGAPX EQU 6
|
||
PLOFFX EQU 24
|
||
PLOFFY EQU 2
|
||
PL1X EQU PLOFFX+0*PLGAPX+0*PLWIDTH
|
||
PL1Y EQU PLOFFY
|
||
PL2X EQU PLOFFX+1*PLGAPX+1*PLWIDTH
|
||
PL2Y EQU PLOFFY
|
||
PL3X EQU PLOFFX+2*PLGAPX+2*PLWIDTH
|
||
PL3Y EQU PLOFFY
|
||
|
||
|
||
**
|
||
** PLAYERXYTBL
|
||
**
|
||
** JFL 06 OCT 92
|
||
**
|
||
PLAYERXYTBL
|
||
.LONG [PL1Y,PL1X]
|
||
.LONG [PL2Y,PL2X]
|
||
.LONG [PL3Y,PL3X]
|
||
.LONG [230,354] ;TIMER
|
||
|
||
**
|
||
** SCOREBOXCENTERTBL
|
||
** USED FOR SENDING SCORES AND THINGS TO PLAYER
|
||
**
|
||
** JFL 10 FEB 93
|
||
**
|
||
SCOREBOXCENTERTBL
|
||
.LONG [PL1Y+PLMIDY-PLANIY,PL1X+PLMIDX-PLANIX]
|
||
.LONG [PL2Y+PLMIDY-PLANIY,PL2X+PLMIDX-PLANIX]
|
||
.LONG [PL3Y+PLMIDY-PLANIY,PL3X+PLMIDX-PLANIX]
|
||
|
||
**
|
||
** OFFSETS
|
||
**
|
||
** JFL 06 OCT 92
|
||
**
|
||
SCXOFF EQU 104
|
||
SCYOFF EQU 9
|
||
SCXSPACE EQU 8
|
||
MISLXOFF EQU 48
|
||
MISLYOFF EQU 28
|
||
LMINEXOFF EQU 104
|
||
LMINEYOFF EQU 28
|
||
TURBOXOFF EQU 0
|
||
TURBOYOFF EQU 0
|
||
PLNUMBGXOFF EQU 2
|
||
PLNUMBGYOFF EQU 2
|
||
TIMEXSPACE EQU 9
|
||
PLNUMBACKSIZE EQU [35,107]
|
||
|
||
.END
|
||
|
||
* EOF
|
||
|