total-carnage/RACKSCOR.ASM

58 lines
1.2 KiB
NASM
Raw Permalink Blame History

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

;
;
;
CREATE DG1PID,BCDASC ;DRAW NEW TOTAL SCORE
LR_SIDE:
.LONG [01F8H,0FE8EH],[01F8H,0FF54H] ;FOR TOTAL SCORE STRING
BCDASC
;A10=0 OR 1
;TAKE PLAYER SCORES, CONVERT TO ASC STRING FOR OUTPUT TO SCREEN
MOVI P2DATA,A9
CMPI 1,A10
JRZ AP1
MOVI P1DATA,A9
AP1
CLR A2 ;RUNNING SCORE IN HEX
CLR A3 ;INDEX INTO DEC VALUE FOR ADD
MOVK 8,A5
MOVE *A9(PSCORE),A0,L
CALLA BCDBIN
MOVE A0,A8
PUSH A10
ADDI 40H,A10 ;A10 NOW = 40 OR 41
MOVE A10,A0
CLR A1
NOT A1
CALLA KILOBJ ;KILL SCORE DIGITS FOR THIS PLAYER
PULL A10 ;A10= 0 OR 1 NOW
CALLA HEXTOASC ;CREATE STRING FOR BONUS SCORE
MOVE @WORLDTL,A9,L ;[Y,X] PACKED WORLD COOR
MOVE A10,A0
SLL 5,A0
ADDI LR_SIDE,A0 ;GET LEFT/RIGHT POSITION FOR PLYR 1/2
MOVE *A0,A1,L
ADD A1,A9
MOVI 02525H,A6 ;COLOR CYCLE DIGITS
;A8 GOTTEN FROM HEXTOASC
MOVI RD15FONT,A11 ;FONT TABLE
MOVK 1,A0 ;ADJUST FOR WORLD
MOVE A0,@WRLD
ADDI 40H,A10 ;TELL DIGITS TO USE 40 OR 41 OID
MOVB A10,@MYID ;FOR PLYR 1 OR 2
CLR A0
MOVI [0,2],A10 ;Y,X SPACING BETWEEN CHARCTERS
JSRP STRCNRMO ;PRINT STRING, NO OBJECTS
CLR A0
MOVB A0,@MYID ;RESET TEXT OID VALUE
DIE