; ScorePtrP0 = temp1 ; ScorePtrP1 = temp3 ; ScorePtrP0 = temp5 ; ScorePtrP1 = stack1 ScorePtrP2 = temp5 ScorePtrP3 = stack1 ; p0scorecolor = lifecolor ; p1scorecolor = statusbarlength p2scorecolor = lifepointer p3scorecolor = lives ; p0score = score ; p1score = score+1 p2score = score+2 p3score = scorecolor MAC pointtoscore ; 8 cycles asl ; 2 asl ; 2 asl ; 2 adc <#scoretable ; 2 ENDM minikernel lda #$00 sta COLUBK sta WSYNC ; 3 (0) lda #>scoretable ; 3 (3) ; sta ScorePtrP0+1 ; 3 (6) ; sta ScorePtrP1+1 ; 3 (9) sta ScorePtrP2+1 ; 3 (13) sta ScorePtrP3+1 ; 3 (16) ; lda p0score ; 3 (19) ; pointtoscore ; 8 (27*) ; sta ScorePtrP0 ; 3 (30) ; lda p1score ; 3 (33) ; pointtoscore ; 8 (41) ; sta ScorePtrP1 ; 3 (44) lda p2score ; 3 (47) pointtoscore ; 8 (55) sta ScorePtrP2 ; 3 (58) sta WSYNC ; 3 (0) lda #$05 ; 2 (2) two copies wide sta NUSIZ0 ; 3 (5) sta NUSIZ1 ; 3 (8) lda #$0 ; 2 (10) sta VDELP0 ; 3 (13) sta VDELP1 ; 3 (16) sta REFP0 ; 3 (19) sta REFP1 ; 3 (22*) sleep 5 ; 2 (24) lda #$D0 ; 2 (26) sta HMP0 ; 3 (29) sta RESP0 ; 3 (32) lda #$E0 ; 2 (34) sta HMP1 ; 3 (37) sleep 10 ; 3 (40) sta RESP1 ; 3 (43) ldy #7 ; 2 (45) lda p3score ; 3 (48) pointtoscore ; 8 (56) sta ScorePtrP3 ; 3 (59) sleep 11 ; 11 (70) sta HMOVE ; 3 (73) NumbersLoop sta WSYNC ; 3 (0) sta WSYNC ; 3 (0) EnterNumbersLoop ; lda (ScorePtrP0),y ; 5 (8) ; sta GRP0 ; 3 (11) ; lda p0scorecolor ; 3 (14) ; sta COLUP0 ; 3 (17) ; lda (ScorePtrP1),y ; 5 (22*) ; sta GRP1 ; 3 (25) ; lda p1scorecolor ; 3 (33) ; sta COLUP1 ; 3 (36) lda (ScorePtrP2),y ; 5 (41) ldx p2scorecolor ; 3 (44) sta GRP0 ; 3 (47) stx COLUP0 ; 3 (33) lda (ScorePtrP3),y ; 5 (38) ldx p3scorecolor ; 3 (41) stx COLUP1 ; 3 (44) sta GRP1 ; 3 (47) dey ; 2 (49) bpl NumbersLoop ; 3 (3) ; End NumbersLoop lda #0 sta GRP0 sta GRP1 sta NUSIZ0 sta NUSIZ1 rts