[stella] 24 chars with a little flicker

Subject: [stella] 24 chars with a little flicker
From: Christopher Tumber <christophertumber@xxxxxxxxxx>
Date: Tue, 09 Dec 2003 10:08:50 -0500
This is the setup screen from Quadraside (it uses paddles for input). It's probably very similar to what Paul just posted, except it doesn't use the missile/ball combo, just a 48 pixel sprite drawn every other frame. If you're careful with colour selection (avoid too much contrast) the flicker's not real noticeable (well, it is on an emu, but it looks good on a real tv). It could easily be converted back to 12 character text if you didn't want to put up with the flicker.

It handles completely arbitrary text and "renders" the bitmap into RAM. Each character has a high nibble and low nibble version which is probably why I've got a little less space between rows than Paul's. It could probably be optimised a bit since while loops are unrolled, it does use subroutines but string data and character bitmaps eat up a lot of ROM space so there's a bit of a balancing act and I thought it just looked like double spaced text...


Chris...

Attachment: TEXT.BIN
Description: Binary data

	processor 6502
	include vcs.h


 SEG.U   variables
 org $80

screen .byte

button .byte

arrowrow .byte
textoffset .byte

frame .byte
temp .word
temp2 .word
bitmaprow .byte
textrow .byte

RAMroutine1vector .word

character0 .word
character1 .word
character2 .word
character3 .word
character4 .word
character5 .word
character6 .word
character7 .word
character8 .word
character9 .word
character10 .word
character11 .word

line0pointer .word
line1pointer .word
line2pointer .word
line3pointer .word
line4pointer .word
line5pointer .word
line6pointer .word
line7pointer .word
line8pointer .word
line9pointer .word
line10pointer .word
line11pointer .word
line12pointer .word
line13pointer .word
line14pointer .word
line15pointer .word

textstring1: .word

selection0: .byte
selection1: .byte
selection2: .byte
selection3: .byte
selection4: .byte
selection5: .byte
selection6: .byte
selection7: .byte
selection8: .byte
selection9: .byte
selection10: .byte
selection11: .byte
selection12: .byte

string: .byte
        .byte
        .byte
        .byte
        .byte
        .byte
        .byte
        .byte
        .byte
        .byte
        .byte
        .byte
        .byte
        .byte
        .byte
        .byte
        .byte
        .byte
        .byte
        .byte
        .byte
        .byte
        .byte
        .byte
        .byte
        .byte
        .byte
        .byte
        .byte
        .byte

;RAMroutine .byte 



    SEG     Bank0

    org $F000


Start:

      SEI  ; Disable interrupts, if there are any.
      CLD  ; Clear BCD math bit.

      LDX  #$FF
      TXS  ; Set stack to beginning.

      LDA #0
B1    STA 0,X
      DEX
      BPL B1

      lda #1+32
      sta CTRLPF
      lda #1
      sta frame
      lda #2
      sta arrowrow
      lda #0
      sta selection0
      sta selection1
      sta selection2
      sta selection3
      sta selection4
      sta selection5
      sta selection6
      sta selection7
      sta selection8
      sta selection9
      sta selection10
      lda #1
      sta screen
      

MainLoop
VerticalBlank  ;*********************** VERTICAL BLANK HANDLER



	LDA  #2
	STA  VSYNC ;Begin vertical sync.
	STA  WSYNC ; First line of VSYNC
	STA  WSYNC ; Second line of VSYNC.

	LDA  #43
	STA  TIM64T
	LDA  #0
	STA  CXCLR
	STA  WSYNC ; Third line of VSYNC.
	STA  VSYNC ; (0)

      dec frame
      bpl notresetframe
      lda #1
      sta frame
notresetframe:

      lda #$46
      sta COLUP0
      sta COLUP1
      lda #3
      sta NUSIZ0
      sta NUSIZ1
      lda #1
      sta VDELP0
      sta VDELP1
      lda #$0
      sta PF0
      lda #32+16+8+4+2+1
      sta PF1
      lda #255
      sta PF2
      lda #0
      sta COLUPF
      sta COLUBK



      lda screen
      cmp #1
      beq domenuscreen
      jmp skipmenuscreen
domenuscreen:
      lda arrowrow
      cmp #27
      bmi noresetarrowrow
      lda #26
      sta arrowrow
noresetarrowrow:
      lda arrowrow
      clc
      adc #4
      sta arrowrow
      lsr arrowrow


;Change selection
      lda SWCHA
      and #128
      bne nochange
      lda button
      beq donechange
      lda #0
      sta button
      lda arrowrow
      sec
      sbc #2
      tax
      inc selection0,x
      lda selection0,x
      sta temp
      lda maxselect,x
      cmp temp
      bne notresetselect
      lda #0
      sta selection0,x
notresetselect:
      jmp donechange
nochange:
      sta button
donechange:


;Move cursor
      lda #0
      sta textoffset
nextshift:
      lda arrowrow
      cmp #10
      bmi notsecondpage
      inc textoffset
      dec arrowrow
      jmp nextshift
notsecondpage:      


;Setup Menu Text

      lda #<testtext1
      sta line0pointer
      lda #>testtext1
      sta line0pointer+1
      lda #0
      sec
      sbc textoffset
      sec
      sbc textoffset
      tay
      lda textoffset
      cmp #1
      beq off1
      cmp #2
      beq off2
      cmp #3
      beq off3
      cmp #4
      beq off4
      cmp #5
      beq off5
      cmp #6
      beq off6
      cmp #7
      beq off7
     
      ldx selection0
      lda selection0table1,x
      sta line1pointer,y
      lda selection0table2,x
      sta line1pointer+1,y
off1:
      ldx selection1
      lda selection1table1,x
      sta line2pointer,y
      lda selection1table2,x
      sta line2pointer+1,y
off2:
      ldx selection2
      lda selection2table1,x
      sta line3pointer,y
      lda selection2table2,x
      sta line3pointer+1,y
off3:
      ldx selection3
      lda selection3table1,x
      sta line4pointer,y
      lda selection3table2,x
      sta line4pointer+1,y
off4:
      ldx selection4
      lda selection4table1,x
      sta line5pointer,y
      lda selection4table2,x
      sta line5pointer+1,y
off5:
      ldx selection5
      lda selection5table1,x
      sta line6pointer,y
      lda selection5table2,x
      sta line6pointer+1,y
off6:
      ldx selection6
      lda selection6table1,x
      sta line7pointer,y
      lda selection6table2,x
      sta line7pointer+1,y
off7:
      ldx selection7
      lda selection7table1,x
      sta line8pointer,y
      lda selection7table2,x
      sta line8pointer+1,y
off8:
      ldx selection8
      lda selection8table1,x
      sta line9pointer,y
      lda selection8table2,x
      sta line9pointer+1,y
off9:
      ldx selection9
      lda selection9table1,x
      sta line10pointer,y
      lda selection9table2,x
      sta line10pointer+1,y
off10:
      ldx selection10
      lda selection10table1,x
      sta line11pointer,y
      lda selection10table2,x
      sta line11pointer+1,y

      ldx selection11
      lda selection11table1,x
      sta line12pointer,y
      lda selection11table2,x
      sta line12pointer+1,y

      ldx selection12
      lda selection12table1,x
      sta line13pointer,y
      lda selection12table2,x
      sta line13pointer+1,y

      lda #<testtext15
      sta line14pointer,y
      lda #>testtext15
      sta line14pointer+1,y

skipmenuscreen:



      lda #0
      sta textrow

      lda frame
      beq otherframe
      lda #<RAMroutine1
      sta RAMroutine1vector
      lda #>RAMroutine1
      sta RAMroutine1vector+1
      jmp donesetupframe
otherframe:
      lda #<RAMroutine2
      sta RAMroutine1vector
      lda #>RAMroutine2
      sta RAMroutine1vector+1
donesetupframe:


      lda screen
      bne noturlscreen

      ldy #16
nextsetupcapitals:
      lda #<testtext16
      sta line0pointer,y
      lda #>testtext16
      sta line0pointer+1,y
      dey
      dey
      bpl nextsetupcapitals

      lda #<testtext17
      sta line1pointer,y
      lda #>testtext17
      sta line1pointer+1,y
noturlscreen:


      jsr setuprow




DrawScreen ;**************************** SCREEN DRAWING ROUTINES
      LDA INTIM
      BNE DrawScreen 
      STA WSYNC
      STA VBLANK  


      lda frame
      beq otherframe4
      jsr positionsprites1
      jmp donepossprites
otherframe4:
      jsr positionsprites2
donepossprites:
      sta WSYNC



      lda screen
      bne noturlscreen2
      ldx #90+94
nextblank3:
      sta WSYNC
      dex
      bne nextblank3



      lda #0
      sta COLUPF
      lda #$0a
      sta COLUP0
      sta COLUP1

      lda frame
      beq otherframe6
      jsr drawlinecap1
      jsr drawlinecap2
      jsr drawlinecap3
      jsr drawlinecap4
      jsr drawcharacterrow2
      sta WSYNC
      jmp doneframe6
otherframe6:
      jsr drawlinecap1b
      jsr drawlinecap2b
      jsr drawlinecap3b
      jsr drawcharacterrow2
doneframe6:

      ldx #1
nextblank4:
      sta WSYNC
      dex
      bne nextblank4
noturlscreen2:



      lda screen
      cmp #1
      beq domenuscreen2
      jmp skipmenuscreen2
domenuscreen2:

   lda #128
   STA VBLANK ;charge paddles

      ldx #17
nextblank2:
      sta WSYNC
      dex
      bne nextblank2

      jsr drawcharacterrow
      jsr setuprow
      jsr drawcharacterrow
      jsr setuprow
      jsr drawcharacterrow
      jsr setuprow
      jsr drawcharacterrow
      jsr setuprow
      jsr drawcharacterrow
      jsr setuprow
      jsr drawcharacterrow
      jsr setuprow
      jsr drawcharacterrow
      jsr setuprow
      jsr drawcharacterrow
      jsr setuprow
      jsr drawcharacterrow


      sta WSYNC
      sta WSYNC
      sta WSYNC
      sta WSYNC
      lda #$00
      sta COLUPF

      ldx #18+8
nextblank:
      sta WSYNC
      dex
      bne nextblank
skipmenuscreen2:


      lda #2
      STA VBLANK ; Make TIA output invisible,
      lda #30
      sta TIM64T


   lda #27
   sta arrowrow

; jmp skippaddles

   ldy #26
nextpa0:
   lda #128
   bit INPT0
   bne donepa0  ;2/3
   dec arrowrow ;5
   jmp donepa0a ;3
donepa0:
   nop
   nop
   sta $2c
donepa0a:
   lda #128
   bit INPT1
   bne donepa1
   dec temp
   jmp donepa1a ;3
donepa1:
   nop
   nop
   sta $2c
donepa1a:
   lda #128
   bit INPT2
   bne donepa2
   dec temp
   jmp donepa2a ;3
donepa2:
   nop
   nop
   sta $2c
donepa2a:
   lda #128
   bit INPT3
   bne donepa3
   dec temp
   jmp donepa3a ;3
donepa3:
   nop
   nop
   sta $2c
donepa3a:

   dey
   bpl nextpa0

skippaddles:
OverscanWait:
      lda     INTIM
      bne     OverscanWait

      JMP  MainLoop      ;Continue forever.



setuprow:
      lda textrow            ;3
      asl                    ;2
      tax                    ;2
      lda line0pointer+1,x   ;4
      sta textstring1+1      ;3
      lda line0pointer,x     ;4
      ldy frame              ;3
      beq otherframe5        ;2/3
      bne donesetuptxt       ;3
otherframe5:
      adc #12                ;2
donesetuptxt:      
      sta textstring1        ;3
      inc textrow            ;5

;First Row  
      ldy #0
      lax (textstring1),y
      iny
      lda (textstring1),y
      tay
      lda NumeralZero2,x
      ora NumeralZero,y
      sta string

      ldy #2
      lax (textstring1),y
      iny
      lda (textstring1),y
      tay
      lda NumeralZero2,x
      ora NumeralZero,y
      sta string+1

      ldy #4
      lax (textstring1),y
      iny
      lda (textstring1),y
      tay
      lda NumeralZero2,x
      ora NumeralZero,y
      sta string+2

      ldy #6
      lax (textstring1),y
      iny
      lda (textstring1),y
      tay
      lda NumeralZero2,x
      ora NumeralZero,y
      sta string+3

      ldy #8
      lax (textstring1),y
      iny
      lda (textstring1),y
      tay
      lda NumeralZero2,x
      ora NumeralZero,y
      sta string+4

      ldy #10
      lax (textstring1),y
      iny
      lda (textstring1),y
      tay
      lda NumeralZero2,x
      ora NumeralZero,y
      sta string+5

;Second Row  
      ldy #0
      lax (textstring1),y
      iny
      lda (textstring1),y
      tay
      lda NumeralZero2+1,x
      ora NumeralZero+1,y
      sta string+6

      ldy #2
      lax (textstring1),y
      iny
      lda (textstring1),y
      tay
      lda NumeralZero2+1,x
      ora NumeralZero+1,y
      sta string+7

      ldy #4
      lax (textstring1),y
      iny
      lda (textstring1),y
      tay
      lda NumeralZero2+1,x
      ora NumeralZero+1,y
      sta string+8

      ldy #6
      lax (textstring1),y
      iny
      lda (textstring1),y
      tay
      lda NumeralZero2+1,x
      ora NumeralZero+1,y
      sta string+9

      ldy #8
      lax (textstring1),y
      iny
      lda (textstring1),y
      tay
      lda NumeralZero2+1,x
      ora NumeralZero+1,y
      sta string+10

      ldy #10
      lax (textstring1),y
      iny
      lda (textstring1),y
      tay
      lda NumeralZero2+1,x
      ora NumeralZero+1,y
      sta string+11

;Third Row  
      ldy #0
      lax (textstring1),y
      iny
      lda (textstring1),y
      tay
      lda NumeralZero2+2,x
      ora NumeralZero+2,y
      sta string+12

      ldy #2
      lax (textstring1),y
      iny
      lda (textstring1),y
      tay
      lda NumeralZero2+2,x
      ora NumeralZero+2,y
      sta string+13

      ldy #4
      lax (textstring1),y
      iny
      lda (textstring1),y
      tay
      lda NumeralZero2+2,x
      ora NumeralZero+2,y
      sta string+14

      ldy #6
      lax (textstring1),y
      iny
      lda (textstring1),y
      tay
      lda NumeralZero2+2,x
      ora NumeralZero+2,y
      sta string+15

      ldy #8
      lax (textstring1),y
      iny
      lda (textstring1),y
      tay
      lda NumeralZero2+2,x
      ora NumeralZero+2,y
      sta string+16

      ldy #10
      lax (textstring1),y
      iny
      lda (textstring1),y
      tay
      lda NumeralZero2+2,x
      ora NumeralZero+2,y
      sta string+17

;Fourth Row  
      ldy #0
      lax (textstring1),y
      iny
      lda (textstring1),y
      tay
      lda NumeralZero2+3,x
      ora NumeralZero+3,y
      sta string+18

      ldy #2
      lax (textstring1),y
      iny
      lda (textstring1),y
      tay
      lda NumeralZero2+3,x
      ora NumeralZero+3,y
      sta string+19

      ldy #4
      lax (textstring1),y
      iny
      lda (textstring1),y
      tay
      lda NumeralZero2+3,x
      ora NumeralZero+3,y
      sta string+20

      ldy #6
      lax (textstring1),y
      iny
      lda (textstring1),y
      tay
      lda NumeralZero2+3,x
      ora NumeralZero+3,y
      sta string+21

      ldy #8
      lax (textstring1),y
      iny
      lda (textstring1),y
      tay
      lda NumeralZero2+3,x
      ora NumeralZero+3,y
      sta string+22

      ldy #10
      lax (textstring1),y
      iny
      lda (textstring1),y
      tay
      lda NumeralZero2+3,x
      ora NumeralZero+3,y
      sta string+23

;Fifth Row  
      ldy #0
      lax (textstring1),y
      iny
      lda (textstring1),y
      tay
      lda NumeralZero2+4,x
      ora NumeralZero+4,y
      sta string+24

      ldy #2
      lax (textstring1),y
      iny
      lda (textstring1),y
      tay
      lda NumeralZero2+4,x
      ora NumeralZero+4,y
      sta string+25

      ldy #4
      lax (textstring1),y
      iny
      lda (textstring1),y
      tay
      lda NumeralZero2+4,x
      ora NumeralZero+4,y
      sta string+26

      ldy #6
      lax (textstring1),y
      iny
      lda (textstring1),y
      tay
      lda NumeralZero2+4,x
      ora NumeralZero+4,y
      sta string+27

      ldy #8
      lax (textstring1),y
      iny
      lda (textstring1),y
      tay
      lda NumeralZero2+4,x
      ora NumeralZero+4,y
      sta string+28

      ldy #10
      lax (textstring1),y
      iny
      lda (textstring1),y
      tay
      lda NumeralZero2+4,x
      ora NumeralZero+4,y
      sta string+29

      rts

drawcharacterrow:
      ldx #$40
      ldy #$46
      lda textrow
      cmp arrowrow
      bne notshow1
      ldx #$44
      ldy #$4a
notshow1:
      stx COLUPF
      sty COLUP0
      sty COLUP1

      jsr drawline1
      jsr drawline2
      jsr drawline3
      jsr drawline4
      jsr drawline5

      sta WSYNC
      ldx #$40
      ldy #$46
      stx COLUPF
      sty COLUP0
      sty COLUP1
      lda #0
      sta GRP1
      sta GRP0
      sta GRP1
      rts
drawcharacterrow2:

      jsr drawline1
      jsr drawline2
      jsr drawline3
      jsr drawline4
      jsr drawline5

      lda #0
      sta GRP1
      sta GRP0
      sta GRP1
      rts

drawline1:
      sta WSYNC
      lda string
      sta GRP0
      lda string+1
      sta GRP1
      lda string+2
      sta GRP0
      lda string+3
      ldy string+4
      ldx string+5
;      STA $2c
      jmp (RAMroutine1vector)
drawline2:
      sta WSYNC
      lda string+6
      sta GRP0
      lda string+7
      sta GRP1
      lda string+8
      sta GRP0
      lda string+9
      ldy string+10
      ldx string+11
;      STA $2c
      jmp (RAMroutine1vector)
drawline3:
      sta WSYNC
      lda string+12
      sta GRP0
      lda string+13
      sta GRP1
      lda string+14
      sta GRP0
      lda string+15
      ldy string+16
      ldx string+17
;      STA $2c
      jmp (RAMroutine1vector)
drawline4:
      sta WSYNC
      lda string+18
      sta GRP0
      lda string+19
      sta GRP1
      lda string+20
      sta GRP0
      lda string+21
      ldy string+22
      ldx string+23
;      STA $2c
      jmp (RAMroutine1vector)
drawline5:
      sta WSYNC
      lda string+24
      sta GRP0
      lda string+25
      sta GRP1
      lda string+26
      sta GRP0
      lda string+27
      ldy string+28
      ldx string+29
;      STA $2c
      jmp (RAMroutine1vector)

drawlinecap1:
      sta WSYNC
      lda #0
      sta GRP0
      lda #0
      sta GRP1
      lda #0
      sta GRP0
      lda #0
      ldy #0
      ldx #1
      nop
      nop
      nop
      jmp (RAMroutine1vector)
drawlinecap2:
      sta WSYNC
      lda #0
      sta GRP0
      lda #0
      sta GRP1
      lda #0
      sta GRP0
      lda #0
      ldy #0
      ldx #1+2
      nop
      nop
      nop
      jmp (RAMroutine1vector)
drawlinecap3:
      sta WSYNC
      lda #0
      sta GRP0
      lda #0
      sta GRP1
      lda #0
      sta GRP0
      lda #0
      ldy #0
      ldx #2
      nop
      nop
      nop
      jmp (RAMroutine1vector)
drawlinecap4:
      sta WSYNC
      lda #0
      sta GRP0
      lda #0
      sta GRP1
      lda #0
      sta GRP0
      lda #0
      ldy #0
      ldx #2+1
      nop
      nop
      nop
      jmp (RAMroutine1vector)


drawlinecap1b:
      sta WSYNC
      lda #128+64+32
      sta GRP0
      lda #0
      sta GRP1
      lda #0
      sta GRP0
      lda #0
      ldy #0
      ldx #0
      nop
      nop
      nop
      jmp (RAMroutine1vector)
drawlinecap2b:
      sta WSYNC
      lda #0
      sta GRP0
      lda #0
      sta GRP1
      lda #0
      sta GRP0
      lda #0
      ldy #0
      ldx #0
      nop
      nop
      nop
      jmp (RAMroutine1vector)
drawlinecap3b:
      sta WSYNC
      lda #0
      sta GRP0
      lda #0
      sta GRP1
      lda #0
      sta GRP0
      lda #0
      ldy #0
      ldx #0
      nop
      nop
      nop
      jmp (RAMroutine1vector)






RAMroutine1:
      sta GRP1
      sty GRP0
      stx GRP1
      sta GRP0
;      lda #0
;      sta GRP1
;      sta GRP0
;      sta GRP1
      rts
endRamroutine1:

RAMroutine2:
      nop
      nop
      nop
      nop
      nop
      nop
      nop
      nop
      sta GRP1
      sty GRP0
      stx GRP1
      sta GRP0
;      lda #0
;      sta GRP1
;      sta GRP0
;      sta GRP1
      rts
endRamroutine2:


positionsprites1:
      STA     WSYNC
      NOP
      NOP
      NOP
      NOP
      NOP
      NOP
      NOP
      nop
      NOP
      NOP
      NOP
      NOP
      NOP
      NOP
      STA     RESP0
      STA     RESP1
      LDA     #$40    ;?????
      STA     HMP1
      LDA     #$30    ;?????
      STA     HMP0
      STA     WSYNC
      STA     HMOVE
      rts
positionsprites2:
      STA     WSYNC
;      sta $2c
      NOP
      NOP
      NOP
      NOP
      NOP
      NOP
      NOP
      NOP
      NOP
      NOP
      NOP
      NOP
      NOP
      NOP
      nop
      NOP
      NOP
      NOP
      NOP
      NOP
      NOP
      NOP
      STA     RESP0
      STA     RESP1
      LDA     #$40    ;?????
      STA     HMP1
      LDA     #$30    ;?????
      STA     HMP0
      STA     WSYNC
      STA     HMOVE
      rts




maxselect: .byte 7,4,4,2,4,3,3,21,3,2,2,3,3

selection0table1: .byte #<testtext2,#<testtext2b,#<testtext2c,#<testtext2d,#<testtext2e,#<testtext2f,#<testtext2g
selection0table2: .byte #>testtext2,#>testtext2b,#>testtext2c,#>testtext2d,#>testtext2e,#>testtext2f,#>testtext2g

selection1table1: .byte #<testtext3,#<testtext3b,#<testtext3c,#<testtext3d
selection1table2: .byte #>testtext3,#>testtext3b,#>testtext3c,#>testtext3d

selection2table1: .byte #<testtext4,#<testtext4b,#<testtext4c,#<testtext4d
selection2table2: .byte #>testtext4,#>testtext4b,#>testtext4c,#>testtext4d

selection3table1: .byte #<testtext5,#<testtext5b
selection3table2: .byte #>testtext5,#>testtext5b

selection4table1: .byte #<testtext6,#<testtext6b,#<testtext6c,#<testtext6d
selection4table2: .byte #>testtext6,#>testtext6b,#>testtext6c,#>testtext6d

selection5table1: .byte #<testtext7,#<testtext7b,#<testtext7c
selection5table2: .byte #>testtext7,#>testtext7b,#>testtext7c

selection6table1: .byte #<testtext8,#<testtext8b,#<testtext8c
selection6table2: .byte #>testtext8,#>testtext8b,#>testtext8c

selection7table1: .byte #<testtext9,#<testtext9b,#<testtext9c,#<testtext9d,#<testtext9e,#<testtext9f,#<testtext9g,#<testtext9h,#<testtext9i
                  .byte #<testtext9j,#<testtext9k,#<testtext9l,#<testtext9m,#<testtext9n,#<testtext9o,#<testtext9p,#<testtext9q,#<testtext9r,#<testtext9s,#<testtext9t,#<testtext9u
selection7table2: .byte #>testtext9,#>testtext9b,#>testtext9c,#>testtext9d,#>testtext9e,#>testtext9f,#>testtext9g,#>testtext9h,#>testtext9i
                  .byte #>testtext9j,#>testtext9k,#>testtext9l,#>testtext9m,#>testtext9n,#>testtext9o,#>testtext9p,#>testtext9q,#>testtext9r,#>testtext9s,#>testtext9t,#>testtext9u

selection8table1: .byte #<testtext10,#<testtext10b,#<testtext10c
selection8table2: .byte #>testtext10,#>testtext10b,#>testtext10c

selection9table1: .byte #<testtext11,#<testtext11b
selection9table2: .byte #>testtext11,#>testtext11b

selection10table1: .byte #<testtext12,#<testtext12b
selection10table2: .byte #>testtext12,#>testtext12b

selection11table1: .byte #<testtext13,#<testtext13b,#<testtext13c
selection11table2: .byte #>testtext13,#>testtext13b,#>testtext13c

selection12table1: .byte #<testtext14,#<testtext14b,#<testtext14c
selection12table2: .byte #>testtext14,#>testtext14b,#>testtext14c



 org $F770

;Game Settings
testtext1: .byte 36*5,36*5,36*5,36*5,36*5,16*5,10*5,22*5,14*5,36*5,28*5,14*5,29*5,29*5,18*5,23*5,16*5,28*5,36*5,36*5,36*5,36*5,36*5,36*5

;Game Type: Solitaire
testtext2: .byte 16*5,10*5,22*5,14*5,36*5,29*5,34*5,25*5,14*5,37*5,36*5,28*5,24*5,21*5,18*5,29*5,10*5,18*5,27*5,14*5,36*5,36*5,36*5,36*5
;Game Type: Head To Head
testtext2b: .byte 16*5,10*5,22*5,14*5,36*5,29*5,34*5,25*5,14*5,37*5,36*5,17*5,14*5,10*5,13*5,36*5,29*5,24*5,36*5,17*5,14*5,10*5,13*5,36*5
;Game Type: Competitive
testtext2c: .byte 16*5,10*5,22*5,14*5,36*5,29*5,34*5,25*5,14*5,37*5,36*5,12*5,24*5,22*5,25*5,14*5,29*5,18*5,29*5,18*5,31*5,14*5,36*5,36*5
;Game Type: Sides
testtext2d: .byte 16*5,10*5,22*5,14*5,36*5,29*5,34*5,25*5,14*5,37*5,36*5,28*5,18*5,13*5,14*5,28*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5

;Game Type: Corners
testtext2e: .byte 16*5,10*5,22*5,14*5,36*5,29*5,34*5,25*5,14*5,37*5,36*5,12*5,24*5,27*5,23*5,14*5,27*5,28*5,36*5,36*5,36*5,36*5,36*5,36*5


 org $F800

;Game Type: Team Opposites
testtext2f: .byte 16*5,10*5,22*5,14*5,36*5,29*5,34*5,25*5,14*5,37*5,36*5,29*5,14*5,10*5,22*5,36*5,24*5,25*5,25*5,24*5,28*5,18*5,29*5,14*5

;Game Type: Team Adjacent
testtext2g: .byte 16*5,10*5,22*5,14*5,36*5,29*5,34*5,25*5,14*5,37*5,36*5,29*5,14*5,10*5,22*5,36*5,10*5,13*5,19*5,10*5,12*5,14*5,23*5,29*5

;Players: 1
testtext3: .byte 25*5,21*5,10*5,34*5,14*5,27*5,28*5,37*5,36*5, 1*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5
;Players: 2
testtext3b: .byte 25*5,21*5,10*5,34*5,14*5,27*5,28*5,37*5,36*5, 2*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5
;Players: 3
testtext3c: .byte 25*5,21*5,10*5,34*5,14*5,27*5,28*5,37*5,36*5, 3*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5
;Players: 4
testtext3d: .byte 25*5,21*5,10*5,34*5,14*5,27*5,28*5,37*5,36*5, 4*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5

;Balls: 1
testtext4: .byte 11*5,10*5,21*5,21*5,28*5,37*5,36*5, 1*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5
;Balls: 2
testtext4b: .byte 11*5,10*5,21*5,21*5,28*5,37*5,36*5, 2*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5
;Balls: 3
testtext4c: .byte 11*5,10*5,21*5,21*5,28*5,37*5,36*5, 3*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5

;Balls: 4
testtext4d: .byte 11*5,10*5,21*5,21*5,28*5,37*5,36*5, 4*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5

 org $F900


;Controls: Single
testtext5: .byte 12*5,24*5,23*5,29*5,27*5,24*5,21*5,28*5,37*5,36*5,28*5,18*5,23*5,16*5,21*5,14*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5
;Controls: Dual
testtext5b: .byte 12*5,24*5,23*5,29*5,27*5,24*5,21*5,28*5,37*5,36*5,13*5,30*5,10*5,21*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5


;Ball Sizes: Random
testtext6: .byte 11*5,10*5,21*5,21*5,36*5,28*5,18*5,35*5,14*5,28*5,37*5,36*5,27*5,10*5,23*5,13*5,24*5,22*5,36*5,36*5,36*5,36*5,36*5,36*5
;Ball Sizes: Small
testtext6b: .byte 11*5,10*5,21*5,21*5,36*5,28*5,18*5,35*5,14*5,28*5,37*5,36*5,28*5,22*5,10*5,21*5,21*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5
;Ball Sizes: Medium
testtext6c: .byte 11*5,10*5,21*5,21*5,36*5,28*5,18*5,35*5,14*5,28*5,37*5,36*5,22*5,14*5,13*5,18*5,30*5,22*5,36*5,36*5,36*5,36*5,36*5,36*5
;Ball Sizes: Large
testtext6d: .byte 11*5,10*5,21*5,21*5,36*5,28*5,18*5,35*5,14*5,28*5,37*5,36*5,21*5,10*5,27*5,16*5,14*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5

;Difficulty: Easy
testtext7: .byte 13*5,18*5,15*5,15*5,18*5,12*5,30*5,21*5,29*5,34*5,37*5,36*5,14*5,10*5,28*5,34*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5
;Difficulty: Medium
testtext7b: .byte 13*5,18*5,15*5,15*5,18*5,12*5,30*5,21*5,29*5,34*5,37*5,36*5,22*5,14*5,13*5,18*5,30*5,22*5,36*5,36*5,36*5,36*5,36*5,36*5
;Difficulty: Hard
testtext7c: .byte 13*5,18*5,15*5,15*5,18*5,12*5,30*5,21*5,29*5,34*5,37*5,36*5,17*5,10*5,27*5,13*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5

;AI: Easy
testtext8: .byte 10*5,18*5,37*5,36*5,14*5,10*5,28*5,34*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5

 org $FA00


;AI: Medium
testtext8b: .byte 10*5,18*5,37*5,36*5,22*5,14*5,13*5,18*5,30*5,22*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5
;AI: Hard
testtext8c: .byte 10*5,18*5,37*5,36*5,17*5,10*5,27*5,13*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5

;Starting Level: Random
testtext9: .byte 28*5,29*5,10*5,27*5,29*5,36*5,21*5,14*5,31*5,14*5,21*5,37*5,36*5,27*5,10*5,23*5,13*5,24*5,22*5,36*5,36*5,36*5,36*5,36*5
;Starting Level: 1
testtext9b: .byte 28*5,29*5,10*5,27*5,29*5,36*5,21*5,14*5,31*5,14*5,21*5,37*5,36*5, 1*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5
;Starting Level: 2
testtext9c: .byte 28*5,29*5,10*5,27*5,29*5,36*5,21*5,14*5,31*5,14*5,21*5,37*5,36*5, 2*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5
;Starting Level: 3
testtext9d: .byte 28*5,29*5,10*5,27*5,29*5,36*5,21*5,14*5,31*5,14*5,21*5,37*5,36*5, 3*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5
;Starting Level: 4
testtext9e: .byte 28*5,29*5,10*5,27*5,29*5,36*5,21*5,14*5,31*5,14*5,21*5,37*5,36*5, 4*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5
;Starting Level: 5
testtext9f: .byte 28*5,29*5,10*5,27*5,29*5,36*5,21*5,14*5,31*5,14*5,21*5,37*5,36*5, 5*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5
;Starting Level: 6
testtext9g: .byte 28*5,29*5,10*5,27*5,29*5,36*5,21*5,14*5,31*5,14*5,21*5,37*5,36*5, 6*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5
;Starting Level: 7
testtext9h: .byte 28*5,29*5,10*5,27*5,29*5,36*5,21*5,14*5,31*5,14*5,21*5,37*5,36*5, 7*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5

 org $FB00

;Starting Level: 8
testtext9i: .byte 28*5,29*5,10*5,27*5,29*5,36*5,21*5,14*5,31*5,14*5,21*5,37*5,36*5, 8*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5
;Starting Level: 9
testtext9j: .byte 28*5,29*5,10*5,27*5,29*5,36*5,21*5,14*5,31*5,14*5,21*5,37*5,36*5, 9*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5
;Starting Level: 10
testtext9k: .byte 28*5,29*5,10*5,27*5,29*5,36*5,21*5,14*5,31*5,14*5,21*5,37*5,36*5, 1*5,0*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5
;Starting Level: 11
testtext9l: .byte 28*5,29*5,10*5,27*5,29*5,36*5,21*5,14*5,31*5,14*5,21*5,37*5,36*5, 1*5,1*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5
;Starting Level: 12
testtext9m: .byte 28*5,29*5,10*5,27*5,29*5,36*5,21*5,14*5,31*5,14*5,21*5,37*5,36*5, 1*5,2*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5
;Starting Level: 13
testtext9n: .byte 28*5,29*5,10*5,27*5,29*5,36*5,21*5,14*5,31*5,14*5,21*5,37*5,36*5, 1*5,3*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5
;Starting Level: 14
testtext9o: .byte 28*5,29*5,10*5,27*5,29*5,36*5,21*5,14*5,31*5,14*5,21*5,37*5,36*5, 1*5,4*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5
;Starting Level: 15
testtext9p: .byte 28*5,29*5,10*5,27*5,29*5,36*5,21*5,14*5,31*5,14*5,21*5,37*5,36*5, 1*5,5*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5
;Starting Level: 17

testtext9q: .byte 28*5,29*5,10*5,27*5,29*5,36*5,21*5,14*5,31*5,14*5,21*5,37*5,36*5, 1*5,6*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5
;Starting Level: 18

 org $FC00

testtext9r: .byte 28*5,29*5,10*5,27*5,29*5,36*5,21*5,14*5,31*5,14*5,21*5,37*5,36*5, 1*5,7*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5
;Starting Level: 19
testtext9s: .byte 28*5,29*5,10*5,27*5,29*5,36*5,21*5,14*5,31*5,14*5,21*5,37*5,36*5, 1*5,8*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5
;Starting Level: 20
testtext9t: .byte 28*5,29*5,10*5,27*5,29*5,36*5,21*5,14*5,31*5,14*5,21*5,37*5,36*5, 1*5,9*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5
;Starting Level: 21
testtext9u: .byte 28*5,29*5,10*5,27*5,29*5,36*5,21*5,14*5,31*5,14*5,21*5,37*5,36*5, 2*5,0*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5


;Level Sequence: None
testtext10: .byte 21*5,14*5,31*5,14*5,21*5,36*5,28*5,14*5,26*5,30*5,14*5,23*5,12*5,14*5,37*5,36*5,23*5,24*5,23*5,14*5,36*5,36*5,36*5,36*5

;Level Sequence: Random
testtext10b: .byte 21*5,14*5,31*5,14*5,21*5,36*5,28*5,14*5,26*5,30*5,14*5,23*5,12*5,14*5,37*5,36*5,27*5,10*5,23*5,13*5,24*5,22*5,36*5,36*5
;Level Sequence: Series
testtext10c: .byte 21*5,14*5,31*5,14*5,21*5,36*5,28*5,14*5,26*5,30*5,14*5,23*5,12*5,14*5,37*5,36*5,28*5,14*5,27*5,18*5,14*5,28*5,36*5,36*5

;Power-Ups: On
testtext11: .byte 25*5,24*5,32*5,14*5,27*5,36*5,30*5,25*5,28*5,37*5,36*5,24*5,23*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5
;Power-Ups: Off
testtext11b: .byte 25*5,24*5,32*5,14*5,27*5,36*5,30*5,25*5,28*5,37*5,36*5,24*5,15*5,15*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5

;Ball Restarts: Score
testtext12: .byte 11*5,10*5,21*5,21*5,36*5,27*5,14*5,28*5,29*5,10*5,27*5,29*5,28*5,37*5,36*5,28*5,12*5,24*5,27*5,14*5,36*5,36*5,36*5,36*5

 org $FD00

;Ball Restarts: Colour
testtext12b: .byte 11*5,10*5,21*5,21*5,36*5,27*5,14*5,28*5,29*5,10*5,27*5,29*5,28*5,37*5,36*5,12*5,24*5,21*5,24*5,30*5,27*5,36*5,36*5,36*5

;Points per Game: 10
testtext13: .byte 25*5,24*5,18*5,23*5,29*5,28*5,36*5,25*5,14*5,27*5,36*5,16*5,10*5,22*5,14*5,37*5,36*5, 1*5, 0*5,36*5,36*5,36*5,36*5,36*5
;Points per Game: 10
testtext13b: .byte 25*5,24*5,18*5,23*5,29*5,28*5,36*5,25*5,14*5,27*5,36*5,16*5,10*5,22*5,14*5,37*5,36*5, 1*5, 5*5,36*5,36*5,36*5,36*5,36*5
;Points per Game: 10
testtext13c: .byte 25*5,24*5,18*5,23*5,29*5,28*5,36*5,25*5,14*5,27*5,36*5,16*5,10*5,22*5,14*5,37*5,36*5, 2*5, 0*5,36*5,36*5,36*5,36*5,36*5

;Wins per Match: 3
testtext14: .byte 32*5,18*5,23*5,28*5,36*5,25*5,14*5,27*5,36*5,22*5,10*5,29*5,12*5,17*5,37*5,36*5, 3*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5

;Wins per Match: 5
testtext14b: .byte 32*5,18*5,23*5,28*5,36*5,25*5,14*5,27*5,36*5,22*5,10*5,29*5,12*5,17*5,37*5,36*5, 5*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5
;Wins per Match: 7
testtext14c: .byte 32*5,18*5,23*5,28*5,36*5,25*5,14*5,27*5,36*5,22*5,10*5,29*5,12*5,17*5,37*5,36*5, 7*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5

;Start Game
testtext15: .byte 36*5,36*5,36*5,36*5,36*5,36*5,36*5,28*5,29*5,10*5,27*5,29*5,36*5,16*5,10*5,22*5,14*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5
;Blank Line
testtext16: .byte 36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5,36*5

;capitalssoftware
testtext17: .byte 36*5,32*5,32*5,32*5,38*5,10*5,25*5,18*5,29*5,10*5,21*5,39*5,40*5,28*5,24*5,15*5,29*5,32*5,10*5,27*5,14*5,38*5,24*5,22*5

;A 10
;B 11
;C 12
;D 13
;E 14
;F 15
;G 16
;H 17
;I 18
;J 19
;K 20
;L 21
;M 22
;N 23
;O 24
;P 25
;Q 26
;R 27
;S 28
;T 29
;U 30
;V 31
;W 32
;X 33
;Y 34
;Z 35


;characterdata1: .byte #>NumeralZero,#>NumeralOne,#>NumeralTwo,#>NumeralThree,#>NumeralFour,#>NumeralFive,#>NumeralSix,#>NumeralSeven,#>NumeralEight,#>NumeralNine
;                .byte #>LetterA,#>LetterB,#>LetterC,#>LetterD,#>LetterE,#>LetterF,#>LetterG,#>LetterH,#>LetterI,#>LetterJ,#>LetterK,#>LetterL,#>LetterM,#>LetterN
;                .byte #>LetterO,#>LetterP,#>LetterQ,#>LetterR,#>LetterS,#>LetterT,#>LetterU,#>LetterV,#>LetterW,#>LetterX,#>LetterY,#>LetterZ,#>Space,#>Colon,#>LetterCdot,#>BigS1,#>BigS2
; org $FE00
;
;characterdata2: .byte #<NumeralZero,#<NumeralOne,#<NumeralTwo,#<NumeralThree,#<NumeralFour,#<NumeralFive,#<NumeralSix,#<NumeralSeven,#<NumeralEight,#<NumeralNine
;                .byte #<LetterA,#<LetterB,#<LetterC,#<LetterD,#<LetterE,#<LetterF,#<LetterG,#<LetterH,#<LetterI,#<LetterJ,#<LetterK,#<LetterL,#<LetterM,#<LetterN
;                .byte #<LetterO,#<LetterP,#<LetterQ,#<LetterR,#<LetterS,#<LetterT,#<LetterU,#<LetterV,#<LetterW,#<LetterX,#<LetterY,#<LetterZ,#<Space,#<Colon,#<LetterCdot,#<BigS1,#<BigS2
;characterdata1b: .byte #>NumeralZero2,#>NumeralOne2,#>NumeralTwo2,#>NumeralThree2,#>NumeralFour2,#>NumeralFive2,#>NumeralSix2,#>NumeralSeven2,#>NumeralEight2,#>NumeralNine2
;                 .byte #>LetterA2,#>LetterB2,#>LetterC2,#>LetterD2,#>LetterE2,#>LetterF2,#>LetterG2,#>LetterH2,#>LetterI2,#>LetterJ2,#>LetterK2,#>LetterL2,#>LetterM2,#>LetterN2
;                 .byte #>LetterO2,#>LetterP2,#>LetterQ2,#>LetterR2,#>LetterS2,#>LetterT2,#>LetterU2,#>LetterV2,#>LetterW2,#>LetterX2,#>LetterY2,#>LetterZ2,#>Space,#>Colon2,#>LetterCdot2,#>BigS1b,#>BigS2b
;characterdata2b: .byte #<NumeralZero2,#<NumeralOne2,#<NumeralTwo2,#<NumeralThree2,#<NumeralFour2,#<NumeralFive2,#<NumeralSix2,#<NumeralSeven2,#<NumeralEight2,#<NumeralNine2
;                 .byte #<LetterA2,#<LetterB2,#<LetterC2,#<LetterD2,#<LetterE2,#<LetterF2,#<LetterG2,#<LetterH2,#<LetterI2,#<LetterJ2,#<LetterK2,#<LetterL2,#<LetterM2,#<LetterN2
;                 .byte #<LetterO2,#<LetterP2,#<LetterQ2,#<LetterR2,#<LetterS2,#<LetterT2,#<LetterU2,#<LetterV2,#<LetterW2,#<LetterX2,#<LetterY2,#<LetterZ2,#<Space,#<Colon2,#<LetterCdot2,#<BigS1b,#<BigS2b

 org $FE00


NumeralZero:
    .byte 2+4+8,2+8,2+8,2+8,2+4+8
NumeralOne:
    .byte 4,4+8,4,4,2+4+8 ;    2+4+8,4,4,4+8,4
NumeralTwo:
    .byte 2+4+8,2,4,8,2+4+8   ;2+4+8,8,4,2,2+4+8
NumeralThree:
    .byte 2+4+8,2,2+4,2,2+4+8
NumeralFour:
    .byte  8,2+8,2+4+8,2,2  ;2,2,2+4+8,2+8,8
NumeralFive:
    .byte 2+4+8,8,2+4+8,2,2+4+8 ;2+4+8,2,2+4+8,8,2+4+8
NumeralSix:
    .byte 8,8,2+4+8,2+8,2+4+8 ;2+4+8,2+8,2+4+8,8,8
NumeralSeven:
    .byte 2+4+8,2,2,4,4 ;4,4,2,2,2+4+8
NumeralEight:
    .byte 2+4+8,2+8,2+4+8,2+8,2+4+8
NumeralNine:
    .byte 2+4+8,2+8,2+4+8,2,2 ;2,2,2+4+8,2+8,2+4+8

LetterA:
    .byte #%00000111
    .byte #%00000101
    .byte #%00000111
    .byte #%00000101
    .byte #%00000101
LetterB:
    .byte #%00000111
    .byte #%00000101
    .byte #%00000111
    .byte #%00000101
    .byte #%00000111
LetterC:
    .byte #%00000111
    .byte #%00000100
    .byte #%00000100
    .byte #%00000100
    .byte #%00000111
LetterD:
    .byte #%00000110
    .byte #%00000101
    .byte #%00000101
    .byte #%00000101
    .byte #%00000110
LetterE:
    .byte #%00000111
    .byte #%00000100
    .byte #%00000110
    .byte #%00000100
    .byte #%00000111
LetterF:
    .byte #%00000111
    .byte #%00000100
    .byte #%00000110
    .byte #%00000100
    .byte #%00000100
LetterG:
    .byte #%00000111
    .byte #%00000100
    .byte #%00000111
    .byte #%00000101
    .byte #%00000111
LetterH:
    .byte #%00000101
    .byte #%00000101
    .byte #%00000111
    .byte #%00000101
    .byte #%00000101
LetterI:
    .byte #%00000111
    .byte #%00000010
    .byte #%00000010
    .byte #%00000010
    .byte #%00000111
LetterJ:
    .byte #%00000111
    .byte #%00000010
    .byte #%00000010
    .byte #%00000010
    .byte #%00000110
LetterK:
    .byte #%00000101
    .byte #%00000110
    .byte #%00000110
    .byte #%00000110
    .byte #%00000101
LetterL:
    .byte #%00000100
    .byte #%00000100
    .byte #%00000100
    .byte #%00000100
    .byte #%00000111
LetterM:
    .byte #%00000101
    .byte #%00000111
    .byte #%00000111
    .byte #%00000101
    .byte #%00000101
LetterN:
    .byte #%00000101
    .byte #%00000111
    .byte #%00000111
    .byte #%00000111
    .byte #%00000101
LetterO:
    .byte #%00000111
    .byte #%00000101
    .byte #%00000101
    .byte #%00000101
    .byte #%00000111
LetterP:
    .byte #%00000111
    .byte #%00000101
    .byte #%00000111
    .byte #%00000100
    .byte #%00000100
LetterQ:
    .byte #%00000111
    .byte #%00000101
    .byte #%00000101
    .byte #%00000111
    .byte #%00000111
LetterR:
    .byte #%00000111
    .byte #%00000101
    .byte #%00000111
    .byte #%00000110
    .byte #%00000101
LetterS:
    .byte #%00000111
    .byte #%00000100
    .byte #%00000111
    .byte #%00000001
    .byte #%00000111
LetterT:
    .byte #%00000111
    .byte #%00000010
    .byte #%00000010
    .byte #%00000010
    .byte #%00000010
LetterU:
    .byte #%00000101
    .byte #%00000101
    .byte #%00000101
    .byte #%00000101
    .byte #%00000111
LetterV:
    .byte #%00000101
    .byte #%00000101
    .byte #%00000101
    .byte #%00000010
    .byte #%00000010
LetterW:
    .byte #%00000101
    .byte #%00000101
    .byte #%00000111
    .byte #%00000111
    .byte #%00000101
LetterX:
    .byte #%00000101
    .byte #%00000101
    .byte #%00000010
    .byte #%00000101
    .byte #%00000101
LetterY:
    .byte #%00000101
    .byte #%00000101
    .byte #%00000010
    .byte #%00000010
    .byte #%00000010
LetterZ:
    .byte #%00000111
    .byte #%00000001
    .byte #%00000010
    .byte #%00000100
    .byte #%00000111
Space:
    .byte #%00000000
    .byte #%00000000
    .byte #%00000000
    .byte #%00000000
    .byte #%00000000
Colon:
    .byte #%00000000
    .byte #%00000010
    .byte #%00000000
    .byte #%00000010
    .byte #%00000000
LetterCdot:
    .byte #%00000111
    .byte #%00000100
    .byte #%00000100
    .byte #%00000100
    .byte #%00001111
BigS1:
    .byte #%00000001
    .byte #%00000000
    .byte #%00000000
    .byte #%00000000
    .byte #%00000011
BigS2:
    .byte #%00001100
    .byte #%00000110
    .byte #%00000010
    .byte #%00000110
    .byte #%00001100


 org $FF00

NumeralZero2:
    .byte (2+4+8)*16,(2+8)*16,(2+8)*16,(2+8)*16,(2+4+8)*16
NumeralOne2:
    .byte (4)*16,(4+8)*16,(4)*16,(4)*16,(2+4+8)*16
NumeralTwo2:
    .byte (2+4+8)*16,(2)*16,(4)*16,(8)*16,(2+4+8)*16
NumeralThree2:
    .byte (2+4+8)*16,(2)*16,(2+4)*16,(2)*16,(2+4+8)*16
NumeralFour2:
    .byte  (8)*16,(2+8)*16,(2+4+8)*16,(2)*16,(2)*16
NumeralFive2:
    .byte (2+4+8)*16,(8)*16,(2+4+8)*16,(2)*16,(2+4+8)*16
NumeralSix2:
    .byte (8)*16,(8)*16,(2+4+8)*16,(2+8)*16,(2+4+8)*16
NumeralSeven2:
    .byte (2+4+8)*16,(2)*16,(2)*16,(4)*16,(4)*16
NumeralEight2:
    .byte (2+4+8)*16,(2+8)*16,(2+4+8)*16,(2+8)*16,(2+4+8)*16
NumeralNine2:
    .byte (2+4+8)*16,(2+8)*16,(2+4+8)*16,(2)*16,(2)*16

LetterA2:
    .byte #%01110000
    .byte #%01010000
    .byte #%01110000
    .byte #%01010000
    .byte #%01010000
LetterB2:
    .byte #%01110000
    .byte #%01010000
    .byte #%01110000
    .byte #%01010000
    .byte #%01110000
LetterC2:
    .byte #%01110000
    .byte #%01000000
    .byte #%01000000
    .byte #%01000000
    .byte #%01110000
LetterD2:
    .byte #%01100000
    .byte #%01010000
    .byte #%01010000
    .byte #%01010000
    .byte #%01100000
LetterE2:
    .byte #%01110000
    .byte #%01000000
    .byte #%01100000
    .byte #%01000000
    .byte #%01110000
LetterF2:
    .byte #%01110000
    .byte #%01000000
    .byte #%01100000
    .byte #%01000000
    .byte #%01000000
LetterG2:
    .byte #%01110000
    .byte #%01000000
    .byte #%01110000
    .byte #%01010000
    .byte #%01110000
LetterH2:
    .byte #%01010000
    .byte #%01010000
    .byte #%01110000
    .byte #%01010000
    .byte #%01010000
LetterI2:
    .byte #%01110000
    .byte #%00100000
    .byte #%00100000
    .byte #%00100000
    .byte #%01110000
LetterJ2:
    .byte #%01110000
    .byte #%00100000
    .byte #%00100000
    .byte #%00100000
    .byte #%01100000
LetterK2:
    .byte #%01010000
    .byte #%01100000
    .byte #%01100000
    .byte #%01100000
    .byte #%01010000
LetterL2:
    .byte #%01000000
    .byte #%01000000
    .byte #%01000000
    .byte #%01000000
    .byte #%01110000
LetterM2:
    .byte #%01010000
    .byte #%01110000
    .byte #%01110000
    .byte #%01010000
    .byte #%01010000
LetterN2:
    .byte #%01010000
    .byte #%01110000
    .byte #%01110000
    .byte #%01110000
    .byte #%01010000
LetterO2:
    .byte #%01110000
    .byte #%01010000
    .byte #%01010000
    .byte #%01010000
    .byte #%01110000
LetterP2:
    .byte #%01110000
    .byte #%01010000
    .byte #%01110000
    .byte #%01000000
    .byte #%01000000
LetterQ2:
    .byte #%01110000
    .byte #%01010000
    .byte #%01010000
    .byte #%01110000
    .byte #%01110000
LetterR2:
    .byte #%01110000
    .byte #%01010000
    .byte #%01110000
    .byte #%01100000
    .byte #%01010000
LetterS2:
    .byte #%01110000
    .byte #%01000000
    .byte #%01110000
    .byte #%00010000
    .byte #%01110000
LetterT2:
    .byte #%01110000
    .byte #%00100000
    .byte #%00100000
    .byte #%00100000
    .byte #%00100000
LetterU2:
    .byte #%01010000
    .byte #%01010000
    .byte #%01010000
    .byte #%01010000
    .byte #%01110000
LetterV2:
    .byte #%01010000
    .byte #%01010000
    .byte #%01010000
    .byte #%01010000
    .byte #%00100000
LetterW2:
    .byte #%01010000
    .byte #%01010000
    .byte #%01110000
    .byte #%01110000
    .byte #%01010000
LetterX2:
    .byte #%01010000
    .byte #%01010000
    .byte #%00100000
    .byte #%01010000
    .byte #%01010000
LetterY2:
    .byte #%01010000
    .byte #%01010000
    .byte #%00100000
    .byte #%00100000
    .byte #%00100000
LetterZ2:
    .byte #%01110000
    .byte #%00010000
    .byte #%00100000
    .byte #%01000000
    .byte #%01110000
Space2:
    .byte #%00000000
    .byte #%00000000
    .byte #%00000000
    .byte #%00000000
    .byte #%00000000
Colon2:
    .byte #%00000000
    .byte #%01000000
    .byte #%00000000
    .byte #%01000000
    .byte #%00000000
LetterCdot2:
    .byte #%01110000
    .byte #%01000000
    .byte #%01000000
    .byte #%01000000
    .byte #%11110000
BigS1b:
    .byte #%00010000
    .byte #%00000000
    .byte #%00000000
    .byte #%00000000
    .byte #%00110000
BigS2b:
    .byte #%11000000
    .byte #%01100000
    .byte #%00100000
    .byte #%01100000
    .byte #%11000000




	org $FFFC
	.word Start
	.word Start



Current Thread