;$0EF9-$0F19 is used ;the score still uses part of $0F1A-$0F2F !statusloc = $0EF9 ;do not change !player = !statusloc+$1 !lives1 = !statusloc+$4 !lives10 = !statusloc+$3 !itembox = !statusloc+$0F !coins1 = !statusloc+$1E !coins10 = !statusloc+$1D !yoshicoins = !statusloc+$7 header : lorom incsrc dmamacros.txt org $008CFF autoclean JML StatusHijack NOP org $008DAC autoclean JML DrawStatusHijack NOP org $028052 db $78 ;item box X ($78) org $028060 db $09 ;item box Y ($0F) ;Lives hijack org $008F55 STX !lives10 STA !lives1 ;Coins hijack org $008F7E STA !coins1 STX !coins10 org $008F86 autoclean JML MiscCounters NOP freecode MiscCounters: PHB : PHK : PLB ;Item Box Item LDX $0DC2 LDA StatusPowerup,x STA !itembox ;Current Player LDX $0DB3 LDA playertable,x STA !player ;Yoshi Coins LDX #$00 LDA $1422 DEC A STA $00 - LDA #$2E ;full yoshi coin tile LDY $00 BPL + LDA #$FC ;blank yoshi coin tile + STA !yoshicoins,x DEC $00 INX CPX #$05 ;# of yoshi coins needed to stop display BCC - PLB : JML $008FF9 StatusPowerup: db $FC,$95,$97,$96,$98 ;none, mushroom, flower, star, feather playertable: db $7C,$0B ;Mario tile, Luigi tile ;; ;Status Bar upload routine ;; StatusHijack: REP #$20 ;%vramwrite(#$00, #$1800, 5000, StatusTiles, StatusTiles>>16|$80, #$0020) %vramwrite(#$80, #$1900, 5000, StatusPal, StatusPal>>16|$80, #$0020) %wramwrite(!statusloc, $7E, #$8000, StatusTiles, StatusTiles>>16|$80, #$0020) SEP #$20 JML $008D8A DrawStatusHijack: REP #$20 %vramwrite(#$00, #$1800, 5000, !statusloc, $7E, #$0020) SEP #$20 JML $008DE6 StatusTiles: db $FC db $7C,$26,$27,$27 ;lives db $FC,$FC db $FC,$FC,$FC,$FC,$FC ;yoshi coins db $FC,$FC db $5B,$FC,$5C ;item box db $FC,$FC,$FC,$FC,$FC,$FC,$FC,$FC,$FC,$FC db $2E,$26,$27,$27 ;coins db $FC StatusPal: db $38 db $29,$38,$38,$38 ;lives db $38,$38 db $3C,$3C,$3C,$3C,$3C ;yoshi coins db $38,$38 db $39,$2C,$39 ;item box db $38,$38,$38,$38,$38,$38,$38,$38,$38,$38 db $3C,$38,$38,$38 ;coins db $38