Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ChangeGraphicFiles:
- REP #$20
- LDA #!GFXBuffer : STA $00
- LDX.b #!GFXBuffer>>16 : STX $02
- LDA !ScratchRAM2 : BMI .ChangePalette
- REP #$10
- TAY
- LDA !ScratchRAM3 : ASL : TAX
- LDA GFXOffset,x : LSR : CLC : ADC [!Message],y : TAX : DEY #2
- LDA [!Message],y
- JSL $0FF900
- ; Set up DMA to trigger during NMI.
- TXA : STA !Dest1
- LDA #$1801 : STA $4300
- LDA !ScratchRAM3 : ASL : TAX
- LDA $00 : CLC : ADC GFXOffset,x : STA !Tilemap1
- SEP #$10
- LDX $02 : STX !Tilemap1+2
- LDA #$0800 : STA !Size1
- LDX #$01 : STX !DMAFlag
- LDA !ScratchRAM3 : BNE +
- LDA !ScratchRAM2 : SEC : SBC #$0004 : STA !ScratchRAM2
- LDA #$0002 : STA !ScratchRAM3
- + DEC !ScratchRAM3
- SEP #$20
- RTS
- .ChangePalette
- REP #$10
- LDX #$0000
- LDY #$0020
- LDA [!Message],y
- JSL $0FF900
- ; Set up DMA.
- TXA : STA !Dest2
- SEP #$10
- LDA #$2200 : STA $4300
- LDA $00 : STA !Tilemap2
- LDX $02 : STX !Tilemap2+2
- LDA #$0200 : STA !Size2
- LDX #$01 : STX !PaletteFlag
- .GraphicsChanged
- REP #$20
- LDA !Message : CLC : ADC #$0022 : STA !Message
- SEP #$20
- INC !MessageState
- RTS
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement