dos33fsprogs/games/peasant/hgr_font.s

846 lines
14 KiB
ArmAsm
Raw Normal View History

2021-08-09 15:49:01 +00:00
; Apple II font based on the one in ROM that sadly we can't access
; For II/II+ was uppercase only 5x7 using 2513 character generator
; For IIe moved to 5x8 though the descenders on lowercase can touch next line
; This is fixed-width can only put the fonts easily in a 40x24 grid
hgr_put_char:
lda #10
sta CURSOR_X
lda #10
sta CURSOR_Y
lda #<(hgr_font+(('A'-$20)*8))
sta INL
lda #>(hgr_font+(('A'-$20)*8))
sta INH
jsr hgr_draw_sprite_1x8
rts
.include "hgr_1x8_sprite.s"
; we skip control chars before $20
hgr_font:
; ' ' $20
.byte $00 ; 00000
.byte $00 ; 00000
.byte $00 ; 00000
.byte $00 ; 00000
.byte $00 ; 00000
.byte $00 ; 00000
.byte $00 ; 00000
.byte $00 ; 00000
; ! $21
.byte $04 ; 00100
.byte $04 ; 00100
.byte $04 ; 00100
.byte $04 ; 00100
.byte $04 ; 00100
.byte $00 ; 00000
.byte $04 ; 00100
.byte $00
; " $22
.byte $0a ; 01010
.byte $0a ; 01010
.byte $0a ; 01010
.byte $00 ; 00000
.byte $00 ; 00000
.byte $00 ; 00000
.byte $00 ; 00000
.byte $00
; #
.byte $0a ; 01010
.byte $0a ; 01010
.byte $1f ; 11111
.byte $0a ; 01010
.byte $1f ; 11111
.byte $0a ; 01010
.byte $0a ; 01010
.byte $00
; $
.byte $04 ; 00100
.byte $0f ; 01111
.byte $14 ; 10100
.byte $0e ; 01110
.byte $05 ; 00101
.byte $1e ; 11110
.byte $04 ; 00100
.byte $00
; %
.byte $18 ; 11000
.byte $19 ; 11001
.byte $02 ; 00010
.byte $04 ; 00100
.byte $08 ; 01000
.byte $13 ; 10011
.byte $03 ; 00011
.byte $00
; &
.byte $08 ; 01000
.byte $14 ; 10100
.byte $14 ; 10100
.byte $08 ; 01000
.byte $15 ; 10101
.byte $12 ; 10010
.byte $0d ; 01101
.byte $00
; '
.byte $04 ; 00100
.byte $04 ; 00100
.byte $04 ; 00100
.byte $00 ; 00000
.byte $00 ; 00000
.byte $00 ; 00000
.byte $00 ; 00000
.byte $00
; (
.byte $04 ; 00100
.byte $08 ; 01000
.byte $10 ; 10000
.byte $10 ; 10000
.byte $10 ; 10000
.byte $08 ; 01000
.byte $04 ; 00100
.byte $00
; )
.byte $04 ; 00100
.byte $02 ; 00010
.byte $01 ; 00001
.byte $01 ; 00001
.byte $01 ; 00001
.byte $02 ; 00010
.byte $04 ; 00100
.byte $00
; *
.byte $04 ; 00100
.byte $15 ; 10101
.byte $0e ; 01110
.byte $04 ; 00100
.byte $0e ; 01110
.byte $15 ; 10101
.byte $04 ; 00100
.byte $00
; +
.byte $00 ; 00000
.byte $04 ; 00100
.byte $04 ; 00100
.byte $1f ; 11111
.byte $04 ; 00100
.byte $04 ; 00100
.byte $00 ; 00000
.byte $00
; ,
.byte $00 ; 00000
.byte $00 ; 00000
.byte $00 ; 00000
.byte $00 ; 00000
.byte $04 ; 00100
.byte $04 ; 00100
.byte $08 ; 01000
.byte $00
; -
.byte $00 ; 00000
.byte $00 ; 00000
.byte $00 ; 00000
.byte $1f ; 11111
.byte $00 ; 00000
.byte $00 ; 00000
.byte $00 ; 01000
.byte $00
; .
.byte $00 ; 00000
.byte $00 ; 00000
.byte $00 ; 00000
.byte $00 ; 00000
.byte $00 ; 00000
.byte $00 ; 00000
.byte $04 ; 00100
.byte $00
; /
.byte $00 ; 00000
.byte $01 ; 00001
.byte $02 ; 00010
.byte $04 ; 00100
.byte $08 ; 01000
.byte $10 ; 10000
.byte $00 ; 00100
.byte $00
; 0
.byte $0e ; 01110
.byte $11 ; 10001
.byte $13 ; 10011
.byte $15 ; 10101
.byte $19 ; 11001
.byte $11 ; 10001
.byte $0e ; 01110
.byte $00
; 1
.byte $04 ; 00100
.byte $0c ; 01100
.byte $04 ; 00100
.byte $04 ; 00100
.byte $04 ; 00100
.byte $04 ; 00100
.byte $0e ; 01110
.byte $00
; 2
.byte $0e ; 01110
.byte $11 ; 10001
.byte $01 ; 00001
.byte $06 ; 00110
.byte $08 ; 01000
.byte $10 ; 10000
.byte $1f ; 11111
.byte $00
; 3
.byte $1f ; 11111
.byte $01 ; 00001
.byte $02 ; 00010
.byte $06 ; 00110
.byte $01 ; 00001
.byte $11 ; 10001
.byte $0e ; 01110
.byte $00
; 4
.byte $02 ; 00010
.byte $06 ; 00110
.byte $0a ; 01010
.byte $12 ; 10010
.byte $1f ; 11111
.byte $02 ; 00010
.byte $02 ; 00010
.byte $00
; 5
.byte $1f ; 11111
.byte $10 ; 10000
.byte $1e ; 11110
.byte $01 ; 00001
.byte $01 ; 00001
.byte $11 ; 10001
.byte $0e ; 01110
.byte $00
; 6
.byte $07 ; 00111
.byte $08 ; 01000
.byte $10 ; 10000
.byte $1e ; 11110
.byte $11 ; 10001
.byte $11 ; 10001
.byte $0e ; 01110
.byte $00
; 7
.byte $1f ; 11111
.byte $01 ; 00001
.byte $02 ; 00010
.byte $04 ; 00100
.byte $08 ; 01000
.byte $08 ; 01000
.byte $08 ; 01000
.byte $00
; 8
.byte $0e ; 01110
.byte $11 ; 10001
.byte $11 ; 10001
.byte $0e ; 01110
.byte $11 ; 10001
.byte $11 ; 10001
.byte $0e ; 01110
.byte $00
; 9
.byte $0e ; 01110
.byte $11 ; 10001
.byte $11 ; 10001
.byte $0f ; 01111
.byte $01 ; 00001
.byte $02 ; 00010
.byte $1c ; 11100
.byte $00
; :
.byte $00 ; 00000
.byte $00 ; 00000
.byte $04 ; 00100
.byte $00 ; 00000
.byte $04 ; 00100
.byte $00 ; 00000
.byte $00 ; 00000
.byte $00
; ;
.byte $00 ; 00000
.byte $00 ; 00000
.byte $04 ; 00100
.byte $00 ; 00000
.byte $04 ; 00100
.byte $04 ; 00100
.byte $08 ; 01000
.byte $00
; <
.byte $02 ; 00010
.byte $04 ; 00100
.byte $08 ; 01000
.byte $10 ; 10000
.byte $08 ; 01000
.byte $04 ; 00100
.byte $02 ; 00010
.byte $00
; =
.byte $00 ; 00000
.byte $00 ; 00000
.byte $1f ; 11111
.byte $00 ; 00000
.byte $1f ; 11111
.byte $00 ; 00000
.byte $00 ; 00000
.byte $00
; >
.byte $08 ; 01000
.byte $04 ; 00100
.byte $02 ; 00010
.byte $01 ; 00001
.byte $02 ; 00010
.byte $04 ; 00100
.byte $08 ; 01000
.byte $00
; ?
.byte $0e ; 01110
.byte $11 ; 10001
.byte $02 ; 00010
.byte $04 ; 00100
.byte $04 ; 00100
.byte $00 ; 00000
.byte $04 ; 00100
.byte $00
; @
.byte $0e ; 01110
.byte $11 ; 10001
.byte $15 ; 10101
.byte $17 ; 10111
.byte $16 ; 10110
.byte $10 ; 10000
.byte $0f ; 01111
.byte $00
; A
.byte $04 ; 00100
.byte $0a ; 01010
.byte $11 ; 10001
.byte $11 ; 10001
.byte $1f ; 11111
.byte $11 ; 10001
.byte $11 ; 10001
.byte $00
.byte $1e ; 11110
.byte $11 ; 10001
.byte $11 ; 10001
.byte $1e ; 11110
.byte $11 ; 10001
.byte $11 ; 10001
.byte $1e ; 11110
; B
.byte $0e ; 01110
.byte $11 ; 10001
.byte $10 ; 10000
.byte $10 ; 10000
.byte $10 ; 10000
.byte $11 ; 10001
.byte $0e ; 01110
; C
.byte $1e ; 11110
.byte $11 ; 10001
.byte $11 ; 10001
.byte $11 ; 10001
.byte $11 ; 10001
.byte $11 ; 10001
.byte $1e ; 11110
; D
.byte $1f ; 11111
.byte $10 ; 10000
.byte $10 ; 10000
.byte $1e ; 11110
.byte $10 ; 10000
.byte $10 ; 10000
.byte $1f ; 11111
; E
.byte $1f ; 11111
.byte $10 ; 10000
.byte $10 ; 10000
.byte $1e ; 11110
.byte $10 ; 10000
.byte $10 ; 10000
.byte $10 ; 10000
; F
.byte $0f ; 01111
.byte $10 ; 10000
.byte $10 ; 10000
.byte $10 ; 10000
.byte $13 ; 10011
.byte $11 ; 10001
.byte $0f ; 01111
; G
.byte $11 ; 10001
.byte $11 ; 10001
.byte $11 ; 10001
.byte $1f ; 11111
.byte $11 ; 10001
.byte $11 ; 10001
.byte $11 ; 10001
; H
.byte $0e ; 01110
.byte $04 ; 00100
.byte $04 ; 00100
.byte $04 ; 00100
.byte $04 ; 00100
.byte $04 ; 00100
.byte $0e ; 01110
; I
.byte $01 ; 00001
.byte $01 ; 00001
.byte $01 ; 00001
.byte $01 ; 00001
.byte $01 ; 00001
.byte $11 ; 10001
.byte $0e ; 01110
; J
.byte $11 ; 10001
.byte $12 ; 10010
.byte $14 ; 10100
.byte $18 ; 11000
.byte $14 ; 10100
.byte $12 ; 10010
.byte $11 ; 10001
; K
.byte $10 ; 10000
.byte $10 ; 10000
.byte $10 ; 10000
.byte $10 ; 10000
.byte $10 ; 10000
.byte $10 ; 10000
.byte $1f ; 11111
; L
.byte $11 ; 10001
.byte $1b ; 11011
.byte $15 ; 10101
.byte $11 ; 10001
.byte $11 ; 10001
.byte $11 ; 10001
.byte $11 ; 10001
; M
.byte $11 ; 10001
.byte $11 ; 10001
.byte $19 ; 11001
.byte $15 ; 10101
.byte $13 ; 10011
.byte $11 ; 10001
.byte $11 ; 10001
; N
.byte $0e ; 01110
.byte $11 ; 10001
.byte $11 ; 10001
.byte $11 ; 10001
.byte $11 ; 10001
.byte $11 ; 10001
.byte $0e ; 01110
; O
.byte $1e ; 11110
.byte $11 ; 10001
.byte $11 ; 10001
.byte $1e ; 11110
.byte $10 ; 10000
.byte $10 ; 10000
.byte $10 ; 10000
; P
.byte $0e ; 01110
.byte $11 ; 10001
.byte $11 ; 10001
.byte $11 ; 10001
.byte $15 ; 10101
.byte $12 ; 10010
.byte $0d ; 01101
; Q
.byte $1e ; 11110
.byte $11 ; 10001
.byte $11 ; 10001
.byte $1e ; 11110
.byte $14 ; 10100
.byte $12 ; 10010
.byte $11 ; 10001
; R
.byte $0e ; 01110
.byte $11 ; 10001
.byte $10 ; 10000
.byte $0e ; 01110
.byte $01 ; 00001
.byte $11 ; 10001
.byte $0e ; 01110
; S
.byte $1f ; 11111
.byte $04 ; 00100
.byte $04 ; 00100
.byte $04 ; 00100
.byte $04 ; 00100
.byte $04 ; 00100
.byte $04 ; 00100
; T
.byte $11 ; 10001
.byte $11 ; 10001
.byte $11 ; 10001
.byte $11 ; 10001
.byte $11 ; 10001
.byte $11 ; 10001
.byte $0e ; 01110
; U
.byte $11 ; 10001
.byte $11 ; 10001
.byte $11 ; 10001
.byte $11 ; 10001
.byte $11 ; 10001
.byte $0a ; 01010
.byte $04 ; 00100
; V
.byte $11 ; 10001
.byte $11 ; 10001
.byte $11 ; 10001
.byte $15 ; 10101
.byte $15 ; 10101
.byte $1b ; 11011
.byte $11 ; 10001
; W
.byte $11 ; 10001
.byte $11 ; 10001
.byte $0a ; 01010
.byte $04 ; 00100
.byte $0a ; 01010
.byte $11 ; 10001
.byte $11 ; 10001
; X
.byte $11 ; 10001
.byte $11 ; 10001
.byte $0a ; 01010
.byte $04 ; 00100
.byte $04 ; 00100
.byte $04 ; 00100
.byte $04 ; 00100
; Y
.byte $1f ; 11111
.byte $01 ; 00001
.byte $02 ; 00010
.byte $04 ; 00100
.byte $08 ; 01000
.byte $10 ; 10000
.byte $1f ; 11111
; Z
.byte $1f ; 11111
.byte $18 ; 11000
.byte $18 ; 11000
.byte $18 ; 11000
.byte $18 ; 11000
.byte $18 ; 11000
.byte $1f ; 11111
; [
.byte $00 ; 00000
.byte $10 ; 10000
.byte $08 ; 01000
.byte $04 ; 00100
.byte $02 ; 00010
.byte $01 ; 00001
.byte $00 ; 00000
; \.
.byte $1f ; 11111
.byte $03 ; 00011
.byte $03 ; 00011
.byte $03 ; 00011
.byte $03 ; 00011
.byte $03 ; 00011
.byte $1f ; 11111
; ]
.byte $00 ; 00000
.byte $00 ; 00000
.byte $04 ; 00100
.byte $0a ; 01010
.byte $11 ; 10001
.byte $00 ; 00000
.byte $00 ; 00000
; ^
.byte $00 ; 00000
.byte $00 ; 00000
.byte $00 ; 00000
.byte $00 ; 00000
.byte $00 ; 00000
.byte $00 ; 00000
.byte $1f ; 11111
; _
;*******************
; Lowercase
;*******************
.byte $0e ; 01110
.byte $11 ; 10001
.byte $15 ; 10101
.byte $17 ; 10111
.byte $16 ; 10110
.byte $10 ; 10000
.byte $0f ; 01111
; @
.byte $04 ; 00100
.byte $0a ; 01010
.byte $11 ; 10001
.byte $11 ; 10001
.byte $1f ; 11111
.byte $11 ; 10001
.byte $11 ; 10001
; A
.byte $1e ; 11110
.byte $11 ; 10001
.byte $11 ; 10001
.byte $1e ; 11110
.byte $11 ; 10001
.byte $11 ; 10001
.byte $1e ; 11110
; B
.byte $0e ; 01110
.byte $11 ; 10001
.byte $10 ; 10000
.byte $10 ; 10000
.byte $10 ; 10000
.byte $11 ; 10001
.byte $0e ; 01110
; C
.byte $1e ; 11110
.byte $11 ; 10001
.byte $11 ; 10001
.byte $11 ; 10001
.byte $11 ; 10001
.byte $11 ; 10001
.byte $1e ; 11110
; D
.byte $1f ; 11111
.byte $10 ; 10000
.byte $10 ; 10000
.byte $1e ; 11110
.byte $10 ; 10000
.byte $10 ; 10000
.byte $1f ; 11111
; E
.byte $1f ; 11111
.byte $10 ; 10000
.byte $10 ; 10000
.byte $1e ; 11110
.byte $10 ; 10000
.byte $10 ; 10000
.byte $10 ; 10000
; F
.byte $0f ; 01111
.byte $10 ; 10000
.byte $10 ; 10000
.byte $10 ; 10000
.byte $13 ; 10011
.byte $11 ; 10001
.byte $0f ; 01111
; G
.byte $11 ; 10001
.byte $11 ; 10001
.byte $11 ; 10001
.byte $1f ; 11111
.byte $11 ; 10001
.byte $11 ; 10001
.byte $11 ; 10001
; H
.byte $0e ; 01110
.byte $04 ; 00100
.byte $04 ; 00100
.byte $04 ; 00100
.byte $04 ; 00100
.byte $04 ; 00100
.byte $0e ; 01110
; I
.byte $01 ; 00001
.byte $01 ; 00001
.byte $01 ; 00001
.byte $01 ; 00001
.byte $01 ; 00001
.byte $11 ; 10001
.byte $0e ; 01110
; J
.byte $11 ; 10001
.byte $12 ; 10010
.byte $14 ; 10100
.byte $18 ; 11000
.byte $14 ; 10100
.byte $12 ; 10010
.byte $11 ; 10001
; K
.byte $10 ; 10000
.byte $10 ; 10000
.byte $10 ; 10000
.byte $10 ; 10000
.byte $10 ; 10000
.byte $10 ; 10000
.byte $1f ; 11111
; L
.byte $11 ; 10001
.byte $1b ; 11011
.byte $15 ; 10101
.byte $11 ; 10001
.byte $11 ; 10001
.byte $11 ; 10001
.byte $11 ; 10001
; M
.byte $11 ; 10001
.byte $11 ; 10001
.byte $19 ; 11001
.byte $15 ; 10101
.byte $13 ; 10011
.byte $11 ; 10001
.byte $11 ; 10001
; N
.byte $0e ; 01110
.byte $11 ; 10001
.byte $11 ; 10001
.byte $11 ; 10001
.byte $11 ; 10001
.byte $11 ; 10001
.byte $0e ; 01110
; O
.byte $1e ; 11110
.byte $11 ; 10001
.byte $11 ; 10001
.byte $1e ; 11110
.byte $10 ; 10000
.byte $10 ; 10000
.byte $10 ; 10000
; P
.byte $0e ; 01110
.byte $11 ; 10001
.byte $11 ; 10001
.byte $11 ; 10001
.byte $15 ; 10101
.byte $12 ; 10010
.byte $0d ; 01101
; Q
.byte $1e ; 11110
.byte $11 ; 10001
.byte $11 ; 10001
.byte $1e ; 11110
.byte $14 ; 10100
.byte $12 ; 10010
.byte $11 ; 10001
; R
.byte $0e ; 01110
.byte $11 ; 10001
.byte $10 ; 10000
.byte $0e ; 01110
.byte $01 ; 00001
.byte $11 ; 10001
.byte $0e ; 01110
; S
.byte $1f ; 11111
.byte $04 ; 00100
.byte $04 ; 00100
.byte $04 ; 00100
.byte $04 ; 00100
.byte $04 ; 00100
.byte $04 ; 00100
; T
.byte $11 ; 10001
.byte $11 ; 10001
.byte $11 ; 10001
.byte $11 ; 10001
.byte $11 ; 10001
.byte $11 ; 10001
.byte $0e ; 01110
; U
.byte $11 ; 10001
.byte $11 ; 10001
.byte $11 ; 10001
.byte $11 ; 10001
.byte $11 ; 10001
.byte $0a ; 01010
.byte $04 ; 00100
; V
.byte $11 ; 10001
.byte $11 ; 10001
.byte $11 ; 10001
.byte $15 ; 10101
.byte $15 ; 10101
.byte $1b ; 11011
.byte $11 ; 10001
; W
.byte $11 ; 10001
.byte $11 ; 10001
.byte $0a ; 01010
.byte $04 ; 00100
.byte $0a ; 01010
.byte $11 ; 10001
.byte $11 ; 10001
; X
.byte $11 ; 10001
.byte $11 ; 10001
.byte $0a ; 01010
.byte $04 ; 00100
.byte $04 ; 00100
.byte $04 ; 00100
.byte $04 ; 00100
; Y
.byte $1f ; 11111
.byte $01 ; 00001
.byte $02 ; 00010
.byte $04 ; 00100
.byte $08 ; 01000
.byte $10 ; 10000
.byte $1f ; 11111
; Z
.byte $1f ; 11111
.byte $18 ; 11000
.byte $18 ; 11000
.byte $18 ; 11000
.byte $18 ; 11000
.byte $18 ; 11000
.byte $1f ; 11111
; [
.byte $00 ; 00000
.byte $10 ; 10000
.byte $08 ; 01000
.byte $04 ; 00100
.byte $02 ; 00010
.byte $01 ; 00001
.byte $00 ; 00000
; \.
.byte $1f ; 11111
.byte $03 ; 00011
.byte $03 ; 00011
.byte $03 ; 00011
.byte $03 ; 00011
.byte $03 ; 00011
.byte $1f ; 11111
; ]
.byte $00 ; 00000
.byte $00 ; 00000
.byte $04 ; 00100
.byte $0a ; 01010
.byte $11 ; 10001
.byte $00 ; 00000
.byte $00 ; 00000
; ^
.byte $00 ; 00000
.byte $00 ; 00000
.byte $00 ; 00000
.byte $00 ; 00000
.byte $00 ; 00000
.byte $00 ; 00000
.byte $1f ; 11111
; _