58 lines
1.2 KiB
NASM
58 lines
1.2 KiB
NASM
;
|
||
;
|
||
;
|
||
|
||
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
|
||
|
||
|