Advertisement
rilo

A charset generated from the C64 default ROM charset

May 11th, 2023 (edited)
2,742
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // Done by Scan/Desire
  2. // Compile using KickAssembler
  3. BasicUpstart2(start)
  4.  
  5. start:          sei
  6.                 lda #$33        // make character rom visible
  7.                 sta 1          
  8.                 lda #$d0        // set source/destination
  9.                 sta $fc
  10.                 lda #$38
  11.                 sta $fe
  12. copy:           ldy #$00        // blank out line 0
  13.                 tya
  14.                 sta ($fd),y
  15.                 lda ($fb),y     // copy line 0 to 1
  16.                 iny
  17.                 sta ($fd),y
  18.                 iny
  19.                 lda ($fb),y     // copy line 2, mask with 00xxxxxx
  20.                 and #%00111111
  21.                 sta ($fd),y
  22.                 iny             // copy line 3, normal
  23.                 lda ($fb),y
  24.                 sta ($fd),y
  25.                 iny
  26.                 lda ($fb),y     // copy line 4, normal
  27.                 sta ($fd),y
  28.                 iny             // get line 6, put into 5
  29.                 iny
  30.                 lda ($fb),y
  31.                 dey
  32.                 sta ($fd),y
  33.                 iny             // blank out line 7
  34.                 lda #$00        
  35.                 sta ($fd),y
  36.                 iny             // copy line 8
  37.                 lda ($fb),y
  38.                 sta ($fd),y
  39.  
  40.                 lda $fb         // next char
  41.                 clc
  42.                 adc #$08
  43.                 sta $fb
  44.                 sta $fd
  45.                 bcc !+
  46.                 inc $fc         // increase page
  47.                 inc $fe
  48. !:              dex             // not done copying all chars? continue
  49.                 bne copy
  50.  
  51.                 // fix up some chars that got ruined
  52.                 stx $3800+[63*8]+5
  53.                 lda #%01100110
  54.                 sta $3800+[42*8]+1
  55.                 sta $3800+[42*8]+5
  56.                 lda #%00011000
  57.                 sta $3800+[44*8]+6
  58.                 sta $3800+[59*8]+6
  59.                 sta $3800+[63*8]+6
  60.                 sta $3800+[58*8]+5
  61.                 lda #$37
  62.                 sta 1
  63.                 lda #$1e
  64.                 sta $d018
  65.                 cli
  66.                 rts
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement