mirror of
https://github.com/deater/dos33fsprogs.git
synced 2025-02-20 16:29:14 +00:00
hgr_font: more work on 4am fonts
This commit is contained in:
parent
f2f17259ba
commit
9ac439ae28
@ -8,10 +8,11 @@ EMPTY_DISK = ../../../empty_disk
|
||||
|
||||
all: hgr_font4.dsk
|
||||
|
||||
hgr_font4.dsk: HELLO BIOS_TEST
|
||||
hgr_font4.dsk: HELLO BIOS_TEST FONT_TEST
|
||||
cp $(EMPTY_DISK)/empty.dsk hgr_font4.dsk
|
||||
$(DOS33) -y hgr_font4.dsk SAVE A HELLO
|
||||
$(DOS33) -y hgr_font4.dsk BSAVE -a 0x6000 BIOS_TEST
|
||||
$(DOS33) -y hgr_font4.dsk BSAVE -a 0x6000 FONT_TEST
|
||||
|
||||
###
|
||||
|
||||
@ -23,12 +24,23 @@ HELLO: hello.bas
|
||||
BIOS_TEST: bios_test.o
|
||||
ld65 -o BIOS_TEST bios_test.o -C $(LINKER_SCRIPTS)/apple2_6000.inc
|
||||
|
||||
bios_test.o: bios_test.s hgr_font.s hgr_1x8_sprite.s
|
||||
bios_test.o: bios_test.s \
|
||||
font_condensed.s font_condensed_data.s \
|
||||
zx02_optim.s graphics/a2_energy.hgr.zx02
|
||||
ca65 -o bios_test.o bios_test.s -l bios_test.lst
|
||||
|
||||
###
|
||||
|
||||
FONT_TEST: font_test.o
|
||||
ld65 -o FONT_TEST font_test.o -C $(LINKER_SCRIPTS)/apple2_6000.inc
|
||||
|
||||
font_test.o: font_test.s \
|
||||
font_condensed.s font_condensed_data.s
|
||||
ca65 -o font_test.o font_test.s -l font_test.lst
|
||||
|
||||
|
||||
###
|
||||
|
||||
clean:
|
||||
rm -f *~ *.o *.lst HELLO BIOS_TEST
|
||||
rm -f *~ *.o *.lst HELLO BIOS_TEST FONT_TEST
|
||||
|
||||
|
@ -16,6 +16,8 @@ bios_test:
|
||||
bit SET_GR
|
||||
bit PAGE1
|
||||
|
||||
jsr build_tables
|
||||
|
||||
;===================
|
||||
; Load graphics
|
||||
;===================
|
||||
@ -29,180 +31,121 @@ bios_test:
|
||||
|
||||
jsr full_decomp
|
||||
|
||||
; test 1
|
||||
|
||||
lda #<test1
|
||||
ldy #>test1
|
||||
|
||||
ldx #1
|
||||
stx VTAB
|
||||
|
||||
ldx #0
|
||||
|
||||
; test 2
|
||||
|
||||
lda #<test2
|
||||
ldy #>test2
|
||||
|
||||
ldx #3
|
||||
stx VTAB
|
||||
|
||||
ldx #0
|
||||
|
||||
; test 3
|
||||
|
||||
lda #<test3
|
||||
ldy #>test3
|
||||
|
||||
ldx #5
|
||||
stx VTAB
|
||||
|
||||
ldx #0
|
||||
|
||||
jsr DrawCondensedString
|
||||
|
||||
; test 4
|
||||
|
||||
lda #<test4
|
||||
ldy #>test4
|
||||
|
||||
ldx #7
|
||||
stx VTAB
|
||||
ldx #0
|
||||
|
||||
jsr DrawCondensedString
|
||||
|
||||
; test 5
|
||||
|
||||
lda #<test5
|
||||
ldy #>test5
|
||||
|
||||
ldx #9
|
||||
stx VTAB
|
||||
ldx #0
|
||||
|
||||
jsr DrawCondensedString
|
||||
|
||||
|
||||
|
||||
end:
|
||||
jmp end
|
||||
|
||||
|
||||
.if 0
|
||||
jsr vgi_make_tables
|
||||
|
||||
jsr HGR
|
||||
|
||||
|
||||
|
||||
|
||||
; draw rectangle
|
||||
|
||||
lda #$33
|
||||
sta VGI_RCOLOR
|
||||
|
||||
lda #53
|
||||
sta VGI_RX1
|
||||
lda #24
|
||||
sta VGI_RY1
|
||||
lda #200
|
||||
sta VGI_RXRUN
|
||||
lda #58
|
||||
sta VGI_RYRUN
|
||||
|
||||
jsr vgi_simple_rectangle
|
||||
|
||||
; draw lines
|
||||
|
||||
ldx #2 ; purple
|
||||
lda COLORTBL,X
|
||||
sta HGR_COLOR
|
||||
|
||||
ldy #0
|
||||
ldx #59
|
||||
lda #29
|
||||
jsr HPLOT0 ; plot at (Y,X), (A)
|
||||
|
||||
ldx #0
|
||||
lda #59
|
||||
ldy #78
|
||||
jsr HGLIN ; line to (X,A),(Y)
|
||||
|
||||
ldy #0
|
||||
ldx #247
|
||||
lda #29
|
||||
jsr HPLOT0 ; plot at (Y,X), (A)
|
||||
|
||||
ldx #0
|
||||
lda #247
|
||||
ldy #78
|
||||
jsr HGLIN ; line to (X,A),(Y)
|
||||
|
||||
|
||||
|
||||
ldy #0
|
||||
ldx #57
|
||||
lda #29
|
||||
jsr HPLOT0 ; plot at (Y,X), (A)
|
||||
|
||||
ldx #0
|
||||
lda #249
|
||||
ldy #29
|
||||
jsr HGLIN ; line to (X,A),(Y)
|
||||
|
||||
ldx #0
|
||||
lda #249
|
||||
ldy #78
|
||||
jsr HGLIN ; line to (X,A),(Y)
|
||||
|
||||
ldx #0
|
||||
lda #57
|
||||
ldy #78
|
||||
jsr HGLIN ; line to (X,A),(Y)
|
||||
|
||||
ldx #0
|
||||
lda #57
|
||||
ldy #29
|
||||
jsr HGLIN ; line to (X,A),(Y)
|
||||
|
||||
|
||||
|
||||
ldy #0
|
||||
ldx #58
|
||||
lda #30
|
||||
jsr HPLOT0 ; plot at (Y,X), (A)
|
||||
|
||||
ldx #0
|
||||
lda #248
|
||||
ldy #30
|
||||
jsr HGLIN ; line to (X,A),(Y)
|
||||
|
||||
ldx #0
|
||||
lda #248
|
||||
ldy #77
|
||||
jsr HGLIN ; line to (X,A),(Y)
|
||||
|
||||
ldx #0
|
||||
lda #58
|
||||
ldy #77
|
||||
jsr HGLIN ; line to (X,A),(Y)
|
||||
|
||||
ldx #0
|
||||
lda #58
|
||||
ldy #30
|
||||
jsr HGLIN ; line to (X,A),(Y)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
; ldx #5
|
||||
; ldy #10
|
||||
; lda #'A'
|
||||
|
||||
; jsr hgr_put_char
|
||||
|
||||
|
||||
lda #<test3
|
||||
sta OUTL
|
||||
lda #>test3
|
||||
sta OUTH
|
||||
|
||||
jsr hgr_put_string
|
||||
|
||||
jsr hgr_put_string
|
||||
|
||||
jsr hgr_put_string
|
||||
|
||||
lda #<test1
|
||||
sta OUTL
|
||||
lda #>test1
|
||||
sta OUTH
|
||||
|
||||
jsr hgr_put_string
|
||||
|
||||
lda #<test2
|
||||
sta OUTL
|
||||
lda #>test2
|
||||
sta OUTH
|
||||
|
||||
jsr hgr_put_string
|
||||
|
||||
|
||||
end:
|
||||
jmp end
|
||||
|
||||
|
||||
test1:
|
||||
; 0123456789012345678901234567890123456789
|
||||
.byte 0,10,"PACK MY BOX WITH FIVE DOZEN LIQUOR JUGS!",0
|
||||
|
||||
; 0123456789012345678901234567890123456789
|
||||
.byte 39,"PACK MY BOX WITH FIVE DOZEN LIQUOR JUGS!"
|
||||
test2:
|
||||
.byte 0,150,"pack my box with five dozen liquor jugs?",0
|
||||
|
||||
.byte 39,"pack my box with five dozen liquor jugs?"
|
||||
test3:
|
||||
.byte 9,36,"This is a HGR font test.",0
|
||||
|
||||
test4: .byte 0,120,"0123456789)(*&^%$#@!`~<>,./';:[]{}\|_+=",127,0
|
||||
test5: .byte 0,130,"@/\/\/\/\______ |",0
|
||||
|
||||
.include "hgr_font.s"
|
||||
|
||||
.include "hgr_rectangle.s"
|
||||
.endif
|
||||
.byte 24,"This is a HGR font test."
|
||||
test4:
|
||||
.byte 38,"0123456789)(*&^%$#@!`~<>,./';:[]{}\|_+="
|
||||
test5:
|
||||
.byte 17,"@/\/\/\/\______ |"
|
||||
|
||||
.include "font_condensed.s"
|
||||
.include "font_condensed_data.s"
|
||||
|
||||
.include "zx02_optim.s"
|
||||
|
||||
graphics_data:
|
||||
.incbin "graphics/a2_energy.hgr.zx02"
|
||||
|
||||
|
||||
|
||||
; .hgrlo, .hgr1hi will each be filled with $C0 bytes
|
||||
; based on routine by John Brooks
|
||||
; posted on comp.sys.apple2 on 2018-07-11
|
||||
; https://groups.google.com/d/msg/comp.sys.apple2/v2HOfHOmeNQ/zD76fJg_BAAJ
|
||||
; clobbers A,X
|
||||
; preserves Y
|
||||
|
||||
|
||||
build_tables:
|
||||
ldx #0
|
||||
btmi:
|
||||
txa
|
||||
and #$F8
|
||||
bpl btpl1
|
||||
ora #5
|
||||
btpl1:
|
||||
asl
|
||||
bpl btpl2
|
||||
ora #5
|
||||
btpl2:
|
||||
asl
|
||||
asl
|
||||
sta HGRLO, X
|
||||
txa
|
||||
and #7
|
||||
rol
|
||||
asl HGRLO, X
|
||||
rol
|
||||
ora #$20
|
||||
sta HGRHI, X
|
||||
inx
|
||||
cpx #$C0
|
||||
bne btmi
|
||||
|
||||
rts
|
||||
|
||||
|
161
graphics/hgr/hgr_font_4am/font_condensed.s
Normal file
161
graphics/hgr/hgr_font_4am/font_condensed.s
Normal file
@ -0,0 +1,161 @@
|
||||
;license:MIT
|
||||
;(c) 2023 by 4am
|
||||
;
|
||||
; drawing routines for Million Perfect Tiles Condensed
|
||||
;
|
||||
; Public functions:
|
||||
; - DrawCondensedString
|
||||
;
|
||||
|
||||
|
||||
string_ptr = $FC ; word (used by DrawLargeString)
|
||||
tmpx = $FE ; byte (used by DrawLargeCharacter, FindValidMove)
|
||||
tmpy = $FF ; byte (used by DrawLargeCharacter, FindValidMove)
|
||||
|
||||
|
||||
HGRLO = $1713 ; 0xC0 bytes (lifetime, used by DrawLargeCharacter)
|
||||
read_buffer = $17D3 ; 0x2D bytes (used by nth, free before and after)
|
||||
HGRHI = $1800 ; 0xC0 bytes (lifetime, used by DrawLargeCharacter)
|
||||
|
||||
|
||||
CondensedHGRTops:
|
||||
.byte 7,18,29,40,51,62,73,84,95,106,117,128,139,150,161,172
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; DrawCondensedString
|
||||
;
|
||||
; in: A/Y points to length-prefixed string (Pascal style)
|
||||
; X contains column number (0x00..0x27)
|
||||
; $25 (VTAB) contains logical line number (0x00..0x0F)
|
||||
; pointer is hidden
|
||||
; out: clobbers all registers & flags
|
||||
;------------------------------------------------------------------------------
|
||||
DrawCondensedString:
|
||||
; +ST16 string_ptr ; macro
|
||||
sta string_ptr
|
||||
sty string_ptr+1
|
||||
|
||||
|
||||
|
||||
stx HTAB
|
||||
ldy #0
|
||||
lda (string_ptr), y
|
||||
tax
|
||||
inc string_ptr
|
||||
bne dcs1
|
||||
inc string_ptr+1
|
||||
dcs1:
|
||||
; +LD16 string_ptr
|
||||
lda string_ptr
|
||||
ldy string_ptr+1
|
||||
|
||||
; /!\ execution falls through here to DrawCondensedBuffer
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; DrawCondensedBuffer
|
||||
;
|
||||
; in: A/Y contains address of character buffer (characters 0x19+ only)
|
||||
; X contains buffer length (0x01..0x28)
|
||||
; $24 (HTAB) contains starting column (0x00..0x27)
|
||||
; $25 (VTAB) contains logical line number (0x00..0x0F)
|
||||
; all characters are drawn on the same line
|
||||
; HTAB is incremented for each character
|
||||
; VTAB is NOT incremented
|
||||
; out: clobbers all registers & flags
|
||||
;------------------------------------------------------------------------------
|
||||
;DrawCondensedBuffer
|
||||
; +ST16 @loop+1
|
||||
|
||||
sta @loop+1
|
||||
sty @loop+2
|
||||
|
||||
dex
|
||||
ldy VTAB
|
||||
lda CondensedHGRTops, y
|
||||
tay
|
||||
lda HGRLO, y
|
||||
clc
|
||||
adc HTAB
|
||||
sta @row0+1
|
||||
lda HGRHI, y
|
||||
sta @row0+2
|
||||
iny
|
||||
lda HGRLO, y
|
||||
adc HTAB
|
||||
sta @row1+1
|
||||
lda HGRHI, y
|
||||
sta @row1+2
|
||||
iny
|
||||
lda HGRLO, y
|
||||
adc HTAB
|
||||
sta @row2+1
|
||||
lda HGRHI, y
|
||||
sta @row2+2
|
||||
iny
|
||||
lda HGRLO, y
|
||||
adc HTAB
|
||||
sta @row3+1
|
||||
lda HGRHI, y
|
||||
sta @row3+2
|
||||
iny
|
||||
lda HGRLO, y
|
||||
adc HTAB
|
||||
sta @row4+1
|
||||
lda HGRHI, y
|
||||
sta @row4+2
|
||||
iny
|
||||
lda HGRLO, y
|
||||
adc HTAB
|
||||
sta @row5+1
|
||||
lda HGRHI, y
|
||||
sta @row5+2
|
||||
iny
|
||||
lda HGRLO, y
|
||||
adc HTAB
|
||||
sta @row6+1
|
||||
lda HGRHI, y
|
||||
sta @row6+2
|
||||
iny
|
||||
lda HGRLO, y
|
||||
adc HTAB
|
||||
sta @row7+1
|
||||
lda HGRHI, y
|
||||
sta @row7+2
|
||||
iny
|
||||
lda HGRLO, y
|
||||
adc HTAB
|
||||
sta @row8+1
|
||||
lda HGRHI, y
|
||||
sta @row8+2
|
||||
iny
|
||||
lda HGRLO, y
|
||||
adc HTAB
|
||||
sta @row9+1
|
||||
lda HGRHI, y
|
||||
sta @row9+2
|
||||
@loop: ldy $FDFD, x
|
||||
lda CondensedRow0-$19, y
|
||||
@row0: sta $FDFD, x
|
||||
lda CondensedRow1-$19, y
|
||||
@row1: sta $FDFD, x
|
||||
lda CondensedRow2-$19, y
|
||||
@row2: sta $FDFD, x
|
||||
lda CondensedRow3-$19, y
|
||||
@row3: sta $FDFD, x
|
||||
lda CondensedRow4-$19, y
|
||||
@row4: sta $FDFD, x
|
||||
lda CondensedRow5-$19, y
|
||||
@row5: sta $FDFD, x
|
||||
lda CondensedRow6-$19, y
|
||||
@row6: sta $FDFD, x
|
||||
lda CondensedRow7-$19, y
|
||||
@row7: sta $FDFD, x
|
||||
lda CondensedRow8-$19, y
|
||||
@row8: sta $FDFD, x
|
||||
lda CondensedRow9-$19, y
|
||||
@row9: sta $FDFD, x
|
||||
inc HTAB
|
||||
dex
|
||||
bpl @loop
|
||||
rts
|
||||
|
994
graphics/hgr/hgr_font_4am/font_condensed_data.s
Normal file
994
graphics/hgr/hgr_font_4am/font_condensed_data.s
Normal file
@ -0,0 +1,994 @@
|
||||
; Million Perfect Tiles Condensed pixel font
|
||||
; (c) 2023 by 4am
|
||||
; license:Open Font License 1.1, see OFL.txt
|
||||
; This file is automatically generated
|
||||
CondensedRow0:
|
||||
.byte $80 ; middot
|
||||
.byte $80 ; blue tile
|
||||
.byte $80 ; white tile
|
||||
.byte $80 ; up arrow
|
||||
.byte $8C ; down arrow
|
||||
.byte $80 ; left arrow
|
||||
.byte $80 ; right arrow
|
||||
.byte $80 ; space
|
||||
.byte $80 ; !
|
||||
.byte $80 ; "
|
||||
.byte $80 ; #
|
||||
.byte $80 ; $
|
||||
.byte $80 ; %
|
||||
.byte $80 ; &
|
||||
.byte $80 ; '
|
||||
.byte $80 ; (
|
||||
.byte $80 ; )
|
||||
.byte $80 ; *
|
||||
.byte $80 ; +
|
||||
.byte $80 ; ,
|
||||
.byte $80 ; -
|
||||
.byte $80 ; .
|
||||
.byte $B0 ; /
|
||||
.byte $9E ; 0
|
||||
.byte $8E ; 1
|
||||
.byte $9E ; 2
|
||||
.byte $9F ; 3
|
||||
.byte $B3 ; 4
|
||||
.byte $BF ; 5
|
||||
.byte $9E ; 6
|
||||
.byte $BF ; 7
|
||||
.byte $9E ; 8
|
||||
.byte $9E ; 9
|
||||
.byte $80 ; :
|
||||
.byte $80 ; ;
|
||||
.byte $80 ; <
|
||||
.byte $80 ; =
|
||||
.byte $80 ; >
|
||||
.byte $9E ; ?
|
||||
.byte $80 ; @
|
||||
.byte $BF ; A
|
||||
.byte $9F ; B
|
||||
.byte $BF ; C
|
||||
.byte $9F ; D
|
||||
.byte $BF ; E
|
||||
.byte $BF ; F
|
||||
.byte $BF ; G
|
||||
.byte $B3 ; H
|
||||
.byte $BF ; I
|
||||
.byte $BE ; J
|
||||
.byte $B3 ; K
|
||||
.byte $83 ; L
|
||||
.byte $B3 ; M
|
||||
.byte $9F ; N
|
||||
.byte $BF ; O
|
||||
.byte $9F ; P
|
||||
.byte $BF ; Q
|
||||
.byte $9F ; R
|
||||
.byte $BE ; S
|
||||
.byte $BF ; T
|
||||
.byte $B3 ; U
|
||||
.byte $B3 ; V
|
||||
.byte $B3 ; W
|
||||
.byte $B3 ; X
|
||||
.byte $B3 ; Y
|
||||
.byte $BF ; Z
|
||||
.byte $80 ; [
|
||||
.byte $80 ; \
|
||||
.byte $80 ; ]
|
||||
.byte $80 ; ^
|
||||
.byte $80 ; _
|
||||
.byte $80 ; '
|
||||
.byte $80 ; a
|
||||
.byte $83 ; b
|
||||
.byte $80 ; c
|
||||
.byte $B0 ; d
|
||||
.byte $80 ; e
|
||||
.byte $9C ; f
|
||||
.byte $80 ; g
|
||||
.byte $83 ; h
|
||||
.byte $8C ; i
|
||||
.byte $98 ; j
|
||||
.byte $83 ; k
|
||||
.byte $8C ; l
|
||||
.byte $80 ; m
|
||||
.byte $80 ; n
|
||||
.byte $80 ; o
|
||||
.byte $80 ; p
|
||||
.byte $80 ; q
|
||||
.byte $80 ; r
|
||||
.byte $80 ; s
|
||||
.byte $8C ; t
|
||||
.byte $80 ; u
|
||||
.byte $80 ; v
|
||||
.byte $80 ; w
|
||||
.byte $80 ; x
|
||||
.byte $80 ; y
|
||||
.byte $80 ; z
|
||||
CondensedRow1:
|
||||
.byte $80 ; middot
|
||||
.byte $80 ; blue tile
|
||||
.byte $80 ; white tile
|
||||
.byte $80 ; up arrow
|
||||
.byte $8C ; down arrow
|
||||
.byte $80 ; left arrow
|
||||
.byte $80 ; right arrow
|
||||
.byte $80 ; space
|
||||
.byte $80 ; !
|
||||
.byte $80 ; "
|
||||
.byte $80 ; #
|
||||
.byte $80 ; $
|
||||
.byte $80 ; %
|
||||
.byte $80 ; &
|
||||
.byte $80 ; '
|
||||
.byte $80 ; (
|
||||
.byte $80 ; )
|
||||
.byte $80 ; *
|
||||
.byte $80 ; +
|
||||
.byte $80 ; ,
|
||||
.byte $80 ; -
|
||||
.byte $80 ; .
|
||||
.byte $B0 ; /
|
||||
.byte $BF ; 0
|
||||
.byte $8E ; 1
|
||||
.byte $BF ; 2
|
||||
.byte $BF ; 3
|
||||
.byte $B3 ; 4
|
||||
.byte $BF ; 5
|
||||
.byte $BF ; 6
|
||||
.byte $BF ; 7
|
||||
.byte $9E ; 8
|
||||
.byte $BF ; 9
|
||||
.byte $80 ; :
|
||||
.byte $80 ; ;
|
||||
.byte $80 ; <
|
||||
.byte $80 ; =
|
||||
.byte $80 ; >
|
||||
.byte $BF ; ?
|
||||
.byte $80 ; @
|
||||
.byte $BF ; A
|
||||
.byte $BF ; B
|
||||
.byte $BF ; C
|
||||
.byte $BF ; D
|
||||
.byte $BF ; E
|
||||
.byte $BF ; F
|
||||
.byte $BF ; G
|
||||
.byte $B3 ; H
|
||||
.byte $BF ; I
|
||||
.byte $BE ; J
|
||||
.byte $B3 ; K
|
||||
.byte $83 ; L
|
||||
.byte $BF ; M
|
||||
.byte $BF ; N
|
||||
.byte $BF ; O
|
||||
.byte $BF ; P
|
||||
.byte $BF ; Q
|
||||
.byte $BF ; R
|
||||
.byte $BF ; S
|
||||
.byte $BF ; T
|
||||
.byte $B3 ; U
|
||||
.byte $B3 ; V
|
||||
.byte $B3 ; W
|
||||
.byte $B3 ; X
|
||||
.byte $B3 ; Y
|
||||
.byte $BF ; Z
|
||||
.byte $80 ; [
|
||||
.byte $80 ; \
|
||||
.byte $80 ; ]
|
||||
.byte $80 ; ^
|
||||
.byte $80 ; _
|
||||
.byte $80 ; '
|
||||
.byte $80 ; a
|
||||
.byte $83 ; b
|
||||
.byte $80 ; c
|
||||
.byte $B0 ; d
|
||||
.byte $80 ; e
|
||||
.byte $BE ; f
|
||||
.byte $80 ; g
|
||||
.byte $83 ; h
|
||||
.byte $8C ; i
|
||||
.byte $98 ; j
|
||||
.byte $83 ; k
|
||||
.byte $8C ; l
|
||||
.byte $80 ; m
|
||||
.byte $80 ; n
|
||||
.byte $80 ; o
|
||||
.byte $80 ; p
|
||||
.byte $80 ; q
|
||||
.byte $80 ; r
|
||||
.byte $80 ; s
|
||||
.byte $8C ; t
|
||||
.byte $80 ; u
|
||||
.byte $80 ; v
|
||||
.byte $80 ; w
|
||||
.byte $80 ; x
|
||||
.byte $80 ; y
|
||||
.byte $80 ; z
|
||||
CondensedRow2:
|
||||
.byte $80 ; middot
|
||||
.byte $AA ; blue tile
|
||||
.byte $BE ; white tile
|
||||
.byte $80 ; up arrow
|
||||
.byte $8C ; down arrow
|
||||
.byte $84 ; left arrow
|
||||
.byte $88 ; right arrow
|
||||
.byte $80 ; space
|
||||
.byte $80 ; !
|
||||
.byte $80 ; "
|
||||
.byte $80 ; #
|
||||
.byte $80 ; $
|
||||
.byte $81 ; %
|
||||
.byte $80 ; &
|
||||
.byte $80 ; '
|
||||
.byte $80 ; (
|
||||
.byte $80 ; )
|
||||
.byte $80 ; *
|
||||
.byte $80 ; +
|
||||
.byte $80 ; ,
|
||||
.byte $80 ; -
|
||||
.byte $80 ; .
|
||||
.byte $98 ; /
|
||||
.byte $B3 ; 0
|
||||
.byte $8C ; 1
|
||||
.byte $B3 ; 2
|
||||
.byte $B0 ; 3
|
||||
.byte $B3 ; 4
|
||||
.byte $83 ; 5
|
||||
.byte $83 ; 6
|
||||
.byte $B3 ; 7
|
||||
.byte $B3 ; 8
|
||||
.byte $B3 ; 9
|
||||
.byte $80 ; :
|
||||
.byte $80 ; ;
|
||||
.byte $80 ; <
|
||||
.byte $80 ; =
|
||||
.byte $81 ; >
|
||||
.byte $B3 ; ?
|
||||
.byte $80 ; @
|
||||
.byte $B0 ; A
|
||||
.byte $B0 ; B
|
||||
.byte $B0 ; C
|
||||
.byte $B0 ; D
|
||||
.byte $80 ; E
|
||||
.byte $80 ; F
|
||||
.byte $B0 ; G
|
||||
.byte $B0 ; H
|
||||
.byte $80 ; I
|
||||
.byte $80 ; J
|
||||
.byte $9B ; K
|
||||
.byte $83 ; L
|
||||
.byte $BF ; M
|
||||
.byte $B0 ; N
|
||||
.byte $B0 ; O
|
||||
.byte $B0 ; P
|
||||
.byte $B0 ; Q
|
||||
.byte $B0 ; R
|
||||
.byte $80 ; S
|
||||
.byte $80 ; T
|
||||
.byte $B3 ; U
|
||||
.byte $B3 ; V
|
||||
.byte $B3 ; W
|
||||
.byte $9E ; X
|
||||
.byte $B3 ; Y
|
||||
.byte $98 ; Z
|
||||
.byte $80 ; [
|
||||
.byte $80 ; \
|
||||
.byte $80 ; ]
|
||||
.byte $80 ; ^
|
||||
.byte $80 ; _
|
||||
.byte $80 ; '
|
||||
.byte $80 ; a
|
||||
.byte $83 ; b
|
||||
.byte $80 ; c
|
||||
.byte $B0 ; d
|
||||
.byte $80 ; e
|
||||
.byte $B6 ; f
|
||||
.byte $80 ; g
|
||||
.byte $83 ; h
|
||||
.byte $80 ; i
|
||||
.byte $80 ; j
|
||||
.byte $83 ; k
|
||||
.byte $8C ; l
|
||||
.byte $80 ; m
|
||||
.byte $80 ; n
|
||||
.byte $80 ; o
|
||||
.byte $80 ; p
|
||||
.byte $80 ; q
|
||||
.byte $80 ; r
|
||||
.byte $80 ; s
|
||||
.byte $8C ; t
|
||||
.byte $80 ; u
|
||||
.byte $80 ; v
|
||||
.byte $80 ; w
|
||||
.byte $80 ; x
|
||||
.byte $80 ; y
|
||||
.byte $80 ; z
|
||||
CondensedRow3:
|
||||
.byte $80 ; middot
|
||||
.byte $AA ; blue tile
|
||||
.byte $BE ; white tile
|
||||
.byte $80 ; up arrow
|
||||
.byte $BF ; down arrow
|
||||
.byte $86 ; left arrow
|
||||
.byte $98 ; right arrow
|
||||
.byte $80 ; space
|
||||
.byte $80 ; !
|
||||
.byte $80 ; "
|
||||
.byte $80 ; #
|
||||
.byte $80 ; $
|
||||
.byte $87 ; %
|
||||
.byte $80 ; &
|
||||
.byte $80 ; '
|
||||
.byte $80 ; (
|
||||
.byte $80 ; )
|
||||
.byte $80 ; *
|
||||
.byte $80 ; +
|
||||
.byte $80 ; ,
|
||||
.byte $80 ; -
|
||||
.byte $80 ; .
|
||||
.byte $98 ; /
|
||||
.byte $B3 ; 0
|
||||
.byte $8C ; 1
|
||||
.byte $B0 ; 2
|
||||
.byte $B0 ; 3
|
||||
.byte $B3 ; 4
|
||||
.byte $83 ; 5
|
||||
.byte $83 ; 6
|
||||
.byte $B0 ; 7
|
||||
.byte $B3 ; 8
|
||||
.byte $B3 ; 9
|
||||
.byte $80 ; :
|
||||
.byte $80 ; ;
|
||||
.byte $80 ; <
|
||||
.byte $80 ; =
|
||||
.byte $85 ; >
|
||||
.byte $B0 ; ?
|
||||
.byte $80 ; @
|
||||
.byte $B3 ; A
|
||||
.byte $B3 ; B
|
||||
.byte $83 ; C
|
||||
.byte $B3 ; D
|
||||
.byte $83 ; E
|
||||
.byte $83 ; F
|
||||
.byte $83 ; G
|
||||
.byte $B3 ; H
|
||||
.byte $8C ; I
|
||||
.byte $98 ; J
|
||||
.byte $9B ; K
|
||||
.byte $83 ; L
|
||||
.byte $BF ; M
|
||||
.byte $B3 ; N
|
||||
.byte $B3 ; O
|
||||
.byte $B3 ; P
|
||||
.byte $B3 ; Q
|
||||
.byte $B3 ; R
|
||||
.byte $83 ; S
|
||||
.byte $8C ; T
|
||||
.byte $B3 ; U
|
||||
.byte $B3 ; V
|
||||
.byte $B3 ; W
|
||||
.byte $9E ; X
|
||||
.byte $B3 ; Y
|
||||
.byte $98 ; Z
|
||||
.byte $80 ; [
|
||||
.byte $80 ; \
|
||||
.byte $80 ; ]
|
||||
.byte $80 ; ^
|
||||
.byte $80 ; _
|
||||
.byte $80 ; '
|
||||
.byte $9E ; a
|
||||
.byte $9F ; b
|
||||
.byte $9E ; c
|
||||
.byte $BE ; d
|
||||
.byte $9E ; e
|
||||
.byte $86 ; f
|
||||
.byte $BE ; g
|
||||
.byte $9F ; h
|
||||
.byte $8C ; i
|
||||
.byte $98 ; j
|
||||
.byte $B3 ; k
|
||||
.byte $8C ; l
|
||||
.byte $B3 ; m
|
||||
.byte $9F ; n
|
||||
.byte $9E ; o
|
||||
.byte $9F ; p
|
||||
.byte $BE ; q
|
||||
.byte $BB ; r
|
||||
.byte $BE ; s
|
||||
.byte $BF ; t
|
||||
.byte $B3 ; u
|
||||
.byte $B3 ; v
|
||||
.byte $B3 ; w
|
||||
.byte $B3 ; x
|
||||
.byte $B3 ; y
|
||||
.byte $BF ; z
|
||||
CondensedRow4:
|
||||
.byte $80 ; middot
|
||||
.byte $AA ; blue tile
|
||||
.byte $BE ; white tile
|
||||
.byte $8C ; up arrow
|
||||
.byte $9E ; down arrow
|
||||
.byte $BF ; left arrow
|
||||
.byte $BF ; right arrow
|
||||
.byte $80 ; space
|
||||
.byte $80 ; !
|
||||
.byte $80 ; "
|
||||
.byte $80 ; #
|
||||
.byte $80 ; $
|
||||
.byte $9F ; %
|
||||
.byte $80 ; &
|
||||
.byte $80 ; '
|
||||
.byte $80 ; (
|
||||
.byte $80 ; )
|
||||
.byte $80 ; *
|
||||
.byte $80 ; +
|
||||
.byte $80 ; ,
|
||||
.byte $9E ; -
|
||||
.byte $80 ; .
|
||||
.byte $8C ; /
|
||||
.byte $BB ; 0
|
||||
.byte $8C ; 1
|
||||
.byte $9C ; 2
|
||||
.byte $9E ; 3
|
||||
.byte $BF ; 4
|
||||
.byte $9F ; 5
|
||||
.byte $9F ; 6
|
||||
.byte $B0 ; 7
|
||||
.byte $9E ; 8
|
||||
.byte $BF ; 9
|
||||
.byte $80 ; :
|
||||
.byte $80 ; ;
|
||||
.byte $80 ; <
|
||||
.byte $80 ; =
|
||||
.byte $95 ; >
|
||||
.byte $98 ; ?
|
||||
.byte $80 ; @
|
||||
.byte $BF ; A
|
||||
.byte $9F ; B
|
||||
.byte $83 ; C
|
||||
.byte $B3 ; D
|
||||
.byte $9F ; E
|
||||
.byte $9F ; F
|
||||
.byte $BB ; G
|
||||
.byte $BF ; H
|
||||
.byte $8C ; I
|
||||
.byte $98 ; J
|
||||
.byte $8B ; K
|
||||
.byte $83 ; L
|
||||
.byte $BF ; M
|
||||
.byte $B3 ; N
|
||||
.byte $B3 ; O
|
||||
.byte $BF ; P
|
||||
.byte $B3 ; Q
|
||||
.byte $BF ; R
|
||||
.byte $9F ; S
|
||||
.byte $8C ; T
|
||||
.byte $B3 ; U
|
||||
.byte $B3 ; V
|
||||
.byte $B3 ; W
|
||||
.byte $8C ; X
|
||||
.byte $B7 ; Y
|
||||
.byte $8C ; Z
|
||||
.byte $80 ; [
|
||||
.byte $80 ; \
|
||||
.byte $80 ; ]
|
||||
.byte $80 ; ^
|
||||
.byte $80 ; _
|
||||
.byte $80 ; '
|
||||
.byte $BE ; a
|
||||
.byte $BF ; b
|
||||
.byte $BF ; c
|
||||
.byte $BF ; d
|
||||
.byte $BF ; e
|
||||
.byte $86 ; f
|
||||
.byte $B3 ; g
|
||||
.byte $BF ; h
|
||||
.byte $8C ; i
|
||||
.byte $98 ; j
|
||||
.byte $B3 ; k
|
||||
.byte $8C ; l
|
||||
.byte $BF ; m
|
||||
.byte $BF ; n
|
||||
.byte $BF ; o
|
||||
.byte $BF ; p
|
||||
.byte $BF ; q
|
||||
.byte $BF ; r
|
||||
.byte $BF ; s
|
||||
.byte $BF ; t
|
||||
.byte $B3 ; u
|
||||
.byte $B3 ; v
|
||||
.byte $B3 ; w
|
||||
.byte $B3 ; x
|
||||
.byte $B3 ; y
|
||||
.byte $BF ; z
|
||||
CondensedRow5:
|
||||
.byte $88 ; middot
|
||||
.byte $AA ; blue tile
|
||||
.byte $BE ; white tile
|
||||
.byte $9E ; up arrow
|
||||
.byte $8C ; down arrow
|
||||
.byte $BF ; left arrow
|
||||
.byte $BF ; right arrow
|
||||
.byte $80 ; space
|
||||
.byte $80 ; !
|
||||
.byte $80 ; "
|
||||
.byte $80 ; #
|
||||
.byte $80 ; $
|
||||
.byte $FF ; %
|
||||
.byte $80 ; &
|
||||
.byte $80 ; '
|
||||
.byte $80 ; (
|
||||
.byte $80 ; )
|
||||
.byte $80 ; *
|
||||
.byte $80 ; +
|
||||
.byte $80 ; ,
|
||||
.byte $9E ; -
|
||||
.byte $80 ; .
|
||||
.byte $8C ; /
|
||||
.byte $B7 ; 0
|
||||
.byte $8C ; 1
|
||||
.byte $86 ; 2
|
||||
.byte $9E ; 3
|
||||
.byte $BF ; 4
|
||||
.byte $BF ; 5
|
||||
.byte $BF ; 6
|
||||
.byte $B0 ; 7
|
||||
.byte $9E ; 8
|
||||
.byte $BE ; 9
|
||||
.byte $80 ; :
|
||||
.byte $80 ; ;
|
||||
.byte $80 ; <
|
||||
.byte $80 ; =
|
||||
.byte $D5 ; >
|
||||
.byte $8C ; ?
|
||||
.byte $80 ; @
|
||||
.byte $BF ; A
|
||||
.byte $9F ; B
|
||||
.byte $83 ; C
|
||||
.byte $B3 ; D
|
||||
.byte $9F ; E
|
||||
.byte $9F ; F
|
||||
.byte $BB ; G
|
||||
.byte $BF ; H
|
||||
.byte $8C ; I
|
||||
.byte $98 ; J
|
||||
.byte $8B ; K
|
||||
.byte $83 ; L
|
||||
.byte $B3 ; M
|
||||
.byte $B3 ; N
|
||||
.byte $B3 ; O
|
||||
.byte $9F ; P
|
||||
.byte $B3 ; Q
|
||||
.byte $9F ; R
|
||||
.byte $BE ; S
|
||||
.byte $8C ; T
|
||||
.byte $B3 ; U
|
||||
.byte $B3 ; V
|
||||
.byte $BF ; W
|
||||
.byte $8C ; X
|
||||
.byte $B7 ; Y
|
||||
.byte $8C ; Z
|
||||
.byte $80 ; [
|
||||
.byte $80 ; \
|
||||
.byte $80 ; ]
|
||||
.byte $80 ; ^
|
||||
.byte $80 ; _
|
||||
.byte $80 ; '
|
||||
.byte $B0 ; a
|
||||
.byte $B3 ; b
|
||||
.byte $B3 ; c
|
||||
.byte $B3 ; d
|
||||
.byte $B3 ; e
|
||||
.byte $9F ; f
|
||||
.byte $B3 ; g
|
||||
.byte $B3 ; h
|
||||
.byte $8C ; i
|
||||
.byte $98 ; j
|
||||
.byte $9B ; k
|
||||
.byte $8C ; l
|
||||
.byte $BF ; m
|
||||
.byte $B0 ; n
|
||||
.byte $B0 ; o
|
||||
.byte $B3 ; p
|
||||
.byte $B3 ; q
|
||||
.byte $83 ; r
|
||||
.byte $83 ; s
|
||||
.byte $8C ; t
|
||||
.byte $B3 ; u
|
||||
.byte $B3 ; v
|
||||
.byte $B3 ; w
|
||||
.byte $9E ; x
|
||||
.byte $B3 ; y
|
||||
.byte $98 ; z
|
||||
CondensedRow6:
|
||||
.byte $80 ; middot
|
||||
.byte $AA ; blue tile
|
||||
.byte $BE ; white tile
|
||||
.byte $BF ; up arrow
|
||||
.byte $80 ; down arrow
|
||||
.byte $86 ; left arrow
|
||||
.byte $98 ; right arrow
|
||||
.byte $80 ; space
|
||||
.byte $80 ; !
|
||||
.byte $80 ; "
|
||||
.byte $80 ; #
|
||||
.byte $80 ; $
|
||||
.byte $9F ; %
|
||||
.byte $80 ; &
|
||||
.byte $80 ; '
|
||||
.byte $80 ; (
|
||||
.byte $80 ; )
|
||||
.byte $80 ; *
|
||||
.byte $80 ; +
|
||||
.byte $80 ; ,
|
||||
.byte $80 ; -
|
||||
.byte $80 ; .
|
||||
.byte $86 ; /
|
||||
.byte $B3 ; 0
|
||||
.byte $8C ; 1
|
||||
.byte $83 ; 2
|
||||
.byte $B0 ; 3
|
||||
.byte $B0 ; 4
|
||||
.byte $B0 ; 5
|
||||
.byte $B3 ; 6
|
||||
.byte $B0 ; 7
|
||||
.byte $B3 ; 8
|
||||
.byte $B0 ; 9
|
||||
.byte $80 ; :
|
||||
.byte $80 ; ;
|
||||
.byte $80 ; <
|
||||
.byte $80 ; =
|
||||
.byte $95 ; >
|
||||
.byte $8C ; ?
|
||||
.byte $80 ; @
|
||||
.byte $B3 ; A
|
||||
.byte $B3 ; B
|
||||
.byte $83 ; C
|
||||
.byte $B3 ; D
|
||||
.byte $83 ; E
|
||||
.byte $83 ; F
|
||||
.byte $B3 ; G
|
||||
.byte $B3 ; H
|
||||
.byte $8C ; I
|
||||
.byte $98 ; J
|
||||
.byte $9B ; K
|
||||
.byte $83 ; L
|
||||
.byte $B3 ; M
|
||||
.byte $B3 ; N
|
||||
.byte $B3 ; O
|
||||
.byte $83 ; P
|
||||
.byte $B3 ; Q
|
||||
.byte $9B ; R
|
||||
.byte $B0 ; S
|
||||
.byte $8C ; T
|
||||
.byte $B3 ; U
|
||||
.byte $B3 ; V
|
||||
.byte $BF ; W
|
||||
.byte $9E ; X
|
||||
.byte $B0 ; Y
|
||||
.byte $86 ; Z
|
||||
.byte $80 ; [
|
||||
.byte $80 ; \
|
||||
.byte $80 ; ]
|
||||
.byte $80 ; ^
|
||||
.byte $80 ; _
|
||||
.byte $80 ; '
|
||||
.byte $BE ; a
|
||||
.byte $B3 ; b
|
||||
.byte $83 ; c
|
||||
.byte $B3 ; d
|
||||
.byte $BF ; e
|
||||
.byte $9F ; f
|
||||
.byte $BE ; g
|
||||
.byte $B3 ; h
|
||||
.byte $8C ; i
|
||||
.byte $98 ; j
|
||||
.byte $8F ; k
|
||||
.byte $8C ; l
|
||||
.byte $BF ; m
|
||||
.byte $B3 ; n
|
||||
.byte $B3 ; o
|
||||
.byte $B3 ; p
|
||||
.byte $B3 ; q
|
||||
.byte $83 ; r
|
||||
.byte $9E ; s
|
||||
.byte $8C ; t
|
||||
.byte $B3 ; u
|
||||
.byte $B3 ; v
|
||||
.byte $BF ; w
|
||||
.byte $9E ; x
|
||||
.byte $BE ; y
|
||||
.byte $8C ; z
|
||||
CondensedRow7:
|
||||
.byte $80 ; middot
|
||||
.byte $AA ; blue tile
|
||||
.byte $BE ; white tile
|
||||
.byte $8C ; up arrow
|
||||
.byte $80 ; down arrow
|
||||
.byte $84 ; left arrow
|
||||
.byte $88 ; right arrow
|
||||
.byte $80 ; space
|
||||
.byte $80 ; !
|
||||
.byte $80 ; "
|
||||
.byte $80 ; #
|
||||
.byte $80 ; $
|
||||
.byte $87 ; %
|
||||
.byte $80 ; &
|
||||
.byte $80 ; '
|
||||
.byte $80 ; (
|
||||
.byte $80 ; )
|
||||
.byte $80 ; *
|
||||
.byte $80 ; +
|
||||
.byte $8C ; ,
|
||||
.byte $80 ; -
|
||||
.byte $8C ; .
|
||||
.byte $86 ; /
|
||||
.byte $B3 ; 0
|
||||
.byte $8C ; 1
|
||||
.byte $83 ; 2
|
||||
.byte $B0 ; 3
|
||||
.byte $B0 ; 4
|
||||
.byte $B0 ; 5
|
||||
.byte $B3 ; 6
|
||||
.byte $B0 ; 7
|
||||
.byte $B3 ; 8
|
||||
.byte $B0 ; 9
|
||||
.byte $80 ; :
|
||||
.byte $80 ; ;
|
||||
.byte $80 ; <
|
||||
.byte $80 ; =
|
||||
.byte $85 ; >
|
||||
.byte $80 ; ?
|
||||
.byte $80 ; @
|
||||
.byte $B3 ; A
|
||||
.byte $B3 ; B
|
||||
.byte $B3 ; C
|
||||
.byte $B3 ; D
|
||||
.byte $83 ; E
|
||||
.byte $83 ; F
|
||||
.byte $B3 ; G
|
||||
.byte $B3 ; H
|
||||
.byte $8C ; I
|
||||
.byte $9B ; J
|
||||
.byte $9B ; K
|
||||
.byte $80 ; L
|
||||
.byte $B3 ; M
|
||||
.byte $B3 ; N
|
||||
.byte $B3 ; O
|
||||
.byte $83 ; P
|
||||
.byte $9B ; Q
|
||||
.byte $9B ; R
|
||||
.byte $B0 ; S
|
||||
.byte $8C ; T
|
||||
.byte $B0 ; U
|
||||
.byte $98 ; V
|
||||
.byte $BF ; W
|
||||
.byte $9E ; X
|
||||
.byte $B0 ; Y
|
||||
.byte $80 ; Z
|
||||
.byte $80 ; [
|
||||
.byte $80 ; \
|
||||
.byte $80 ; ]
|
||||
.byte $80 ; ^
|
||||
.byte $80 ; _
|
||||
.byte $80 ; '
|
||||
.byte $B3 ; a
|
||||
.byte $B3 ; b
|
||||
.byte $B3 ; c
|
||||
.byte $B3 ; d
|
||||
.byte $83 ; e
|
||||
.byte $86 ; f
|
||||
.byte $B0 ; g
|
||||
.byte $B3 ; h
|
||||
.byte $8C ; i
|
||||
.byte $98 ; j
|
||||
.byte $9B ; k
|
||||
.byte $8C ; l
|
||||
.byte $B3 ; m
|
||||
.byte $B3 ; n
|
||||
.byte $B3 ; o
|
||||
.byte $9F ; p
|
||||
.byte $BE ; q
|
||||
.byte $83 ; r
|
||||
.byte $B0 ; s
|
||||
.byte $8C ; t
|
||||
.byte $B3 ; u
|
||||
.byte $9B ; v
|
||||
.byte $BF ; w
|
||||
.byte $9E ; x
|
||||
.byte $B0 ; y
|
||||
.byte $86 ; z
|
||||
CondensedRow8:
|
||||
.byte $80 ; middot
|
||||
.byte $80 ; blue tile
|
||||
.byte $80 ; white tile
|
||||
.byte $8C ; up arrow
|
||||
.byte $80 ; down arrow
|
||||
.byte $80 ; left arrow
|
||||
.byte $80 ; right arrow
|
||||
.byte $80 ; space
|
||||
.byte $80 ; !
|
||||
.byte $80 ; "
|
||||
.byte $80 ; #
|
||||
.byte $80 ; $
|
||||
.byte $81 ; %
|
||||
.byte $80 ; &
|
||||
.byte $80 ; '
|
||||
.byte $80 ; (
|
||||
.byte $80 ; )
|
||||
.byte $80 ; *
|
||||
.byte $80 ; +
|
||||
.byte $8C ; ,
|
||||
.byte $80 ; -
|
||||
.byte $8C ; .
|
||||
.byte $83 ; /
|
||||
.byte $BF ; 0
|
||||
.byte $9E ; 1
|
||||
.byte $BF ; 2
|
||||
.byte $BF ; 3
|
||||
.byte $B0 ; 4
|
||||
.byte $BF ; 5
|
||||
.byte $BF ; 6
|
||||
.byte $B0 ; 7
|
||||
.byte $9E ; 8
|
||||
.byte $BF ; 9
|
||||
.byte $80 ; :
|
||||
.byte $80 ; ;
|
||||
.byte $80 ; <
|
||||
.byte $80 ; =
|
||||
.byte $81 ; >
|
||||
.byte $8C ; ?
|
||||
.byte $80 ; @
|
||||
.byte $B3 ; A
|
||||
.byte $BF ; B
|
||||
.byte $BF ; C
|
||||
.byte $BF ; D
|
||||
.byte $BF ; E
|
||||
.byte $83 ; F
|
||||
.byte $BF ; G
|
||||
.byte $B3 ; H
|
||||
.byte $BF ; I
|
||||
.byte $9F ; J
|
||||
.byte $B3 ; K
|
||||
.byte $BF ; L
|
||||
.byte $B3 ; M
|
||||
.byte $B3 ; N
|
||||
.byte $BF ; O
|
||||
.byte $83 ; P
|
||||
.byte $B7 ; Q
|
||||
.byte $B3 ; R
|
||||
.byte $BF ; S
|
||||
.byte $8C ; T
|
||||
.byte $BF ; U
|
||||
.byte $8F ; V
|
||||
.byte $BF ; W
|
||||
.byte $B3 ; X
|
||||
.byte $BF ; Y
|
||||
.byte $BF ; Z
|
||||
.byte $80 ; [
|
||||
.byte $80 ; \
|
||||
.byte $80 ; ]
|
||||
.byte $80 ; ^
|
||||
.byte $80 ; _
|
||||
.byte $80 ; '
|
||||
.byte $BF ; a
|
||||
.byte $BF ; b
|
||||
.byte $BF ; c
|
||||
.byte $BF ; d
|
||||
.byte $BF ; e
|
||||
.byte $86 ; f
|
||||
.byte $BF ; g
|
||||
.byte $B3 ; h
|
||||
.byte $9C ; i
|
||||
.byte $9E ; j
|
||||
.byte $B3 ; k
|
||||
.byte $BC ; l
|
||||
.byte $B3 ; m
|
||||
.byte $B3 ; n
|
||||
.byte $BF ; o
|
||||
.byte $83 ; p
|
||||
.byte $B0 ; q
|
||||
.byte $83 ; r
|
||||
.byte $BF ; s
|
||||
.byte $BC ; t
|
||||
.byte $BF ; u
|
||||
.byte $8F ; v
|
||||
.byte $BF ; w
|
||||
.byte $B3 ; x
|
||||
.byte $BF ; y
|
||||
.byte $BF ; z
|
||||
CondensedRow9:
|
||||
.byte $80 ; middot
|
||||
.byte $80 ; blue tile
|
||||
.byte $80 ; white tile
|
||||
.byte $8C ; up arrow
|
||||
.byte $80 ; down arrow
|
||||
.byte $80 ; left arrow
|
||||
.byte $80 ; right arrow
|
||||
.byte $80 ; space
|
||||
.byte $80 ; !
|
||||
.byte $80 ; "
|
||||
.byte $80 ; #
|
||||
.byte $80 ; $
|
||||
.byte $80 ; %
|
||||
.byte $80 ; &
|
||||
.byte $80 ; '
|
||||
.byte $80 ; (
|
||||
.byte $80 ; )
|
||||
.byte $80 ; *
|
||||
.byte $80 ; +
|
||||
.byte $86 ; ,
|
||||
.byte $80 ; -
|
||||
.byte $80 ; .
|
||||
.byte $83 ; /
|
||||
.byte $9E ; 0
|
||||
.byte $9E ; 1
|
||||
.byte $BF ; 2
|
||||
.byte $9F ; 3
|
||||
.byte $B0 ; 4
|
||||
.byte $9F ; 5
|
||||
.byte $9E ; 6
|
||||
.byte $B0 ; 7
|
||||
.byte $9E ; 8
|
||||
.byte $9E ; 9
|
||||
.byte $80 ; :
|
||||
.byte $80 ; ;
|
||||
.byte $80 ; <
|
||||
.byte $80 ; =
|
||||
.byte $80 ; >
|
||||
.byte $8C ; ?
|
||||
.byte $80 ; @
|
||||
.byte $B3 ; A
|
||||
.byte $9F ; B
|
||||
.byte $BF ; C
|
||||
.byte $9F ; D
|
||||
.byte $BF ; E
|
||||
.byte $83 ; F
|
||||
.byte $BF ; G
|
||||
.byte $B3 ; H
|
||||
.byte $BF ; I
|
||||
.byte $9F ; J
|
||||
.byte $B3 ; K
|
||||
.byte $BF ; L
|
||||
.byte $B3 ; M
|
||||
.byte $B3 ; N
|
||||
.byte $BF ; O
|
||||
.byte $83 ; P
|
||||
.byte $B7 ; Q
|
||||
.byte $B3 ; R
|
||||
.byte $9F ; S
|
||||
.byte $8C ; T
|
||||
.byte $BF ; U
|
||||
.byte $87 ; V
|
||||
.byte $B3 ; W
|
||||
.byte $B3 ; X
|
||||
.byte $BF ; Y
|
||||
.byte $BF ; Z
|
||||
.byte $80 ; [
|
||||
.byte $80 ; \
|
||||
.byte $80 ; ]
|
||||
.byte $80 ; ^
|
||||
.byte $80 ; _
|
||||
.byte $80 ; '
|
||||
.byte $BE ; a
|
||||
.byte $9F ; b
|
||||
.byte $9E ; c
|
||||
.byte $BE ; d
|
||||
.byte $BE ; e
|
||||
.byte $86 ; f
|
||||
.byte $9F ; g
|
||||
.byte $B3 ; h
|
||||
.byte $98 ; i
|
||||
.byte $8E ; j
|
||||
.byte $B3 ; k
|
||||
.byte $B8 ; l
|
||||
.byte $B3 ; m
|
||||
.byte $B3 ; n
|
||||
.byte $9E ; o
|
||||
.byte $83 ; p
|
||||
.byte $B0 ; q
|
||||
.byte $83 ; r
|
||||
.byte $9F ; s
|
||||
.byte $B8 ; t
|
||||
.byte $BE ; u
|
||||
.byte $87 ; v
|
||||
.byte $B3 ; w
|
||||
.byte $B3 ; x
|
||||
.byte $9F ; y
|
||||
.byte $BF ; z
|
141
graphics/hgr/hgr_font_4am/font_test.s
Normal file
141
graphics/hgr/hgr_font_4am/font_test.s
Normal file
@ -0,0 +1,141 @@
|
||||
; test the 4am fonts
|
||||
|
||||
; for another project
|
||||
|
||||
.include "zp.inc"
|
||||
.include "hardware.inc"
|
||||
|
||||
|
||||
font_test:
|
||||
;===================
|
||||
; set graphics mode
|
||||
;===================
|
||||
jsr HOME
|
||||
|
||||
jsr HGR
|
||||
|
||||
; bit HIRES
|
||||
; bit FULLGR
|
||||
; bit SET_GR
|
||||
; bit PAGE1
|
||||
|
||||
|
||||
|
||||
jsr build_tables
|
||||
|
||||
; test 1
|
||||
|
||||
lda #<test1
|
||||
ldy #>test1
|
||||
|
||||
ldx #1
|
||||
stx VTAB
|
||||
|
||||
ldx #0
|
||||
|
||||
jsr DrawCondensedString
|
||||
|
||||
; test 2
|
||||
|
||||
lda #<test2
|
||||
ldy #>test2
|
||||
|
||||
ldx #3
|
||||
stx VTAB
|
||||
|
||||
ldx #0
|
||||
|
||||
jsr DrawCondensedString
|
||||
|
||||
; test 3
|
||||
|
||||
lda #<test3
|
||||
ldy #>test3
|
||||
|
||||
ldx #5
|
||||
stx VTAB
|
||||
|
||||
ldx #0
|
||||
|
||||
jsr DrawCondensedString
|
||||
|
||||
; test 4
|
||||
|
||||
lda #<test4
|
||||
ldy #>test4
|
||||
|
||||
ldx #7
|
||||
stx VTAB
|
||||
ldx #0
|
||||
|
||||
jsr DrawCondensedString
|
||||
|
||||
; test 5
|
||||
|
||||
lda #<test5
|
||||
ldy #>test5
|
||||
|
||||
ldx #9
|
||||
stx VTAB
|
||||
ldx #0
|
||||
|
||||
jsr DrawCondensedString
|
||||
|
||||
|
||||
|
||||
end:
|
||||
jmp end
|
||||
|
||||
|
||||
test1:
|
||||
; 0123456789012345678901234567890123456789
|
||||
.byte 39,"PACK MY BOX WITH FIVE DOZEN LIQUOR JUGS!"
|
||||
test2:
|
||||
.byte 39,"pack my box with five dozen liquor jugs?"
|
||||
test3:
|
||||
.byte 24,"This is a HGR font test."
|
||||
test4:
|
||||
.byte 38,"0123456789)(*&^%$#@!`~<>,./';:[]{}\|_+="
|
||||
test5:
|
||||
.byte 17,"@/\/\/\/\______ |"
|
||||
|
||||
.include "font_condensed.s"
|
||||
.include "font_condensed_data.s"
|
||||
|
||||
|
||||
; .hgrlo, .hgr1hi will each be filled with $C0 bytes
|
||||
; based on routine by John Brooks
|
||||
; posted on comp.sys.apple2 on 2018-07-11
|
||||
; https://groups.google.com/d/msg/comp.sys.apple2/v2HOfHOmeNQ/zD76fJg_BAAJ
|
||||
; clobbers A,X
|
||||
; preserves Y
|
||||
|
||||
|
||||
build_tables:
|
||||
ldx #0
|
||||
btmi:
|
||||
txa
|
||||
and #$F8
|
||||
bpl btpl1
|
||||
ora #5
|
||||
btpl1:
|
||||
asl
|
||||
bpl btpl2
|
||||
ora #5
|
||||
btpl2:
|
||||
asl
|
||||
asl
|
||||
sta HGRLO, X
|
||||
txa
|
||||
and #7
|
||||
rol
|
||||
asl HGRLO, X
|
||||
rol
|
||||
ora #$20
|
||||
sta HGRHI, X
|
||||
inx
|
||||
cpx #$C0
|
||||
bne btmi
|
||||
|
||||
rts
|
||||
|
@ -53,7 +53,7 @@ TABV = $FB5B ; VTAB to A
|
||||
ROM_MACHINEID = $FBB3 ; iigs
|
||||
BELL = $FBDD ; ring the bell
|
||||
BASCALC = $FBC1 ;
|
||||
VTAB = $FC22 ; VTAB to CV
|
||||
;VTAB = $FC22 ; VTAB to CV
|
||||
HOME = $FC58 ; Clear the text screen
|
||||
WAIT = $FCA8 ; delay 1/2(26+27A+5A^2) us
|
||||
CROUT1 = $FD8B
|
||||
|
@ -1,4 +1,4 @@
|
||||
5 HOME
|
||||
10 PRINT CHR$(4)"BRUN BIOS_TEST"
|
||||
10 PRINT CHR$(4)"CATALOG"
|
||||
|
||||
|
||||
|
@ -19,6 +19,8 @@ pntrh = $18
|
||||
|
||||
HGR_BITS = $1C
|
||||
|
||||
HTAB = $24
|
||||
VTAB = $25
|
||||
GBASL = $26
|
||||
GBASH = $27
|
||||
CURSOR_X = $62
|
||||
|
Loading…
x
Reference in New Issue
Block a user