Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ; Adapted from a posted Lemon64 Example
- ; Works best if program is placed at $1000
- ; *********************************
- ; *** Character Change Routines ***
- ; *********************************
- changechar
- ; Turn off Keyscan Interrupt
- lda $dc0e
- and #$fe
- sta $dc0e
- ;Make ROM Visible
- lda $01
- and #$fb
- sta $01
- charchangeloop
- charfrom
- lda $d800 ;$d800/55295 low/gr
- ;$d000/53248 upp/gr
- charto
- sta $3800 ;14336
- lda charfrom+2
- sta $040a
- lda charfrom+1
- sta $040b
- lda charto+2
- sta $0432
- lda charto+1
- sta $0433
- ldx charto+1
- cpx #$f8
- bne scharcheckend
- charcheckend
- lda charto+2
- cmp #$3f
- beq charchangeend
- scharcheckend
- cpx #$ff
- beq charroll
- inx
- stx charto+1
- inc charfrom+1
- jmp charchangeloop
- charroll
- ldx #$00
- stx charfrom+1
- stx charto+1
- ldx charfrom+2
- inx
- stx charfrom+2
- ldx charto+2
- inx
- stx charto+2
- jmp charchangeloop
- charchangeend
- ; Important! for Keyset Set ROM hidden again.
- lda $01
- ora #$04
- sta $01
- ;Keyscan interrupt back on
- lda $dc0e
- ora #$01
- sta $dc0e
- ;Switch charset pointer to here
- ;$3000 is set by last 3 buts to %110
- ;12288 - 14335
- lda #%00011110
- sta $d018
- ;Put Custom Chars in Memory
- ldx #$00
- charb
- lda roadchar,x
- sta $3810,x ; 3808=a, 3810=b
- inx
- cpx #$08
- bne charb
- roadchar
- !byte %00000000
- !byte %11111111
- !byte %10000001
- !byte %10000001
- !byte %10000001
- !byte %10000001
- !byte %10000001
- !byte %11111111
- !byte $00
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement