apple2_hgr_font_tutorial/asm/font7x8.s
2016-01-27 20:41:07 -08:00

271 lines
11 KiB
ArmAsm

; Font Apple 7x8
__MAIN = $6000
.include "dos33.inc"
.include "ca65.inc"
@Font:
.byte $80,$80,$80,$80,$80,$80,$80,$80 ; SPC $20
.byte $10,$08,$36,$7F,$3F,$3F,$7E,$36 ;'@'^
.byte $10,$08,$36,$41,$21,$21,$4A,$36 ;'A'^
.byte $00,$00,$02,$06,$0E,$1E,$36,$42 ;'B'^
.byte $7F,$22,$14,$08,$08,$14,$2A,$7F ;'C'^
.byte $00,$40,$20,$11,$0A,$04,$04,$00 ;'D'^
.byte $7F,$3F,$5F,$6C,$75,$7B,$7B,$7F ;'E'^
.byte $70,$60,$7E,$31,$79,$30,$3F,$02 ;'F'^
.byte $00,$18,$07,$00,$07,$0C,$08,$70 ;'G'^
.byte $08,$04,$02,$7F,$02,$04,$08,$00 ;'H'^
.byte $00,$00,$00,$00,$00,$00,$00,$2A ;'I'^
.byte $08,$08,$08,$08,$49,$2A,$1C,$08 ;'J'^
.byte $08,$1C,$2A,$49,$08,$08,$08,$08 ;'K'^
.byte $7F,$00,$00,$00,$00,$00,$00,$00 ;'L'^
.byte $40,$40,$40,$44,$46,$7F,$06,$04 ;'M'^
.byte $3F,$3F,$3F,$3F,$3F,$3F,$3F,$3F ;'N'^
.byte $13,$18,$1C,$7E,$1C,$18,$10,$6F ;'O'^
.byte $64,$0C,$1C,$3F,$1C,$0C,$04,$7B ;'P'^
.byte $40,$48,$08,$7F,$3E,$1C,$48,$40 ;'Q'^
.byte $40,$48,$1C,$3E,$7E,$08,$48,$40 ;'R'^
.byte $00,$00,$00,$7F,$00,$00,$00,$00 ;'S'^
.byte $01,$01,$01,$01,$01,$01,$01,$7F ;'T'^
.byte $08,$10,$20,$7F,$20,$10,$08,$00 ;'U'^
.byte $2A,$55,$2A,$55,$2A,$55,$2A,$55 ;'V'^
.byte $55,$2A,$55,$2A,$55,$2A,$55,$2A ;'W'^
.byte $00,$3E,$41,$01,$01,$01,$7F,$00 ;'X'^
.byte $00,$00,$3F,$40,$40,$40,$7F,$00 ;'Y'^
.byte $40,$40,$40,$40,$40,$40,$40,$40 ;'Z'^
.byte $08,$1C,$3E,$7F,$3E,$1C,$08,$00 ;'['^
.byte $7F,$00,$00,$00,$00,$00,$00,$7F ;'\'^
.byte $14,$14,$77,$00,$77,$14,$14,$00 ;']'^
.byte $7F,$40,$40,$4C,$4C,$40,$40,$7F ;'^'^
.byte $01,$01,$01,$01,$01,$01,$01,$01 ;'_'^
.byte $00,$00,$00,$00,$00,$00,$00,$00 ;'
.byte $08,$08,$08,$08,$08,$00,$08,$00 ;'!
.byte $14,$14,$14,$00,$00,$00,$00,$00 ;'"
.byte $14,$14,$3E,$14,$3E,$14,$14,$00 ;'#
.byte $08,$3C,$0A,$1C,$28,$1E,$08,$00 ;'$
.byte $06,$26,$10,$08,$04,$32,$30,$00 ;'%
.byte $04,$0A,$0A,$04,$2A,$12,$2C,$00 ;'&
.byte $08,$08,$08,$00,$00,$00,$00,$00 ;''
.byte $08,$04,$02,$02,$02,$04,$08,$00 ;'(
.byte $08,$10,$20,$20,$20,$10,$08,$00 ;')
.byte $08,$2A,$1C,$08,$1C,$2A,$08,$00 ;'*
.byte $00,$08,$08,$3E,$08,$08,$00,$00 ;'+
.byte $00,$00,$00,$00,$08,$08,$04,$00 ;',
.byte $00,$00,$00,$3E,$00,$00,$00,$00 ;'-
.byte $00,$00,$00,$00,$00,$00,$08,$00 ;'.
.byte $00,$20,$10,$08,$04,$02,$00,$00 ;'/
.byte $1C,$22,$32,$2A,$26,$22,$1C,$00 ;'0
.byte $08,$0C,$08,$08,$08,$08,$1C,$00 ;'1
.byte $1C,$22,$20,$18,$04,$02,$3E,$00 ;'2
.byte $3E,$20,$10,$18,$20,$22,$1C,$00 ;'3
.byte $10,$18,$14,$12,$3E,$10,$10,$00 ;'4
.byte $3E,$02,$1E,$20,$20,$22,$1C,$00 ;'5
.byte $38,$04,$02,$1E,$22,$22,$1C,$00 ;'6
.byte $3E,$20,$10,$08,$04,$04,$04,$00 ;'7
.byte $1C,$22,$22,$1C,$22,$22,$1C,$00 ;'8
.byte $1C,$22,$22,$3C,$20,$10,$0E,$00 ;'9
.byte $00,$00,$08,$00,$08,$00,$00,$00 ;':
.byte $00,$00,$08,$00,$08,$08,$04,$00 ;';
.byte $10,$08,$04,$02,$04,$08,$10,$00 ;'<
.byte $00,$00,$3E,$00,$3E,$00,$00,$00 ;'=
.byte $04,$08,$10,$20,$10,$08,$04,$00 ;'>
.byte $1C,$22,$10,$08,$08,$00,$08,$00 ;'?
.byte $1C,$22,$2A,$3A,$1A,$02,$3C,$00 ;'@
.byte $08,$14,$22,$22,$3E,$22,$22,$00 ;'A
.byte $1E,$22,$22,$1E,$22,$22,$1E,$00 ;'B
.byte $1C,$22,$02,$02,$02,$22,$1C,$00 ;'C
.byte $1E,$22,$22,$22,$22,$22,$1E,$00 ;'D
.byte $3E,$02,$02,$1E,$02,$02,$3E,$00 ;'E
.byte $3E,$02,$02,$1E,$02,$02,$02,$00 ;'F
.byte $3C,$02,$02,$02,$32,$22,$3C,$00 ;'G
.byte $22,$22,$22,$3E,$22,$22,$22,$00 ;'H
.byte $1C,$08,$08,$08,$08,$08,$1C,$00 ;'I
.byte $20,$20,$20,$20,$20,$22,$1C,$00 ;'J
.byte $22,$12,$0A,$06,$0A,$12,$22,$00 ;'K
.byte $02,$02,$02,$02,$02,$02,$3E,$00 ;'L
.byte $22,$36,$2A,$2A,$22,$22,$22,$00 ;'M
.byte $22,$22,$26,$2A,$32,$22,$22,$00 ;'N
.byte $1C,$22,$22,$22,$22,$22,$1C,$00 ;'O
.byte $1E,$22,$22,$1E,$02,$02,$02,$00 ;'P
.byte $1C,$22,$22,$22,$2A,$12,$2C,$00 ;'Q
.byte $1E,$22,$22,$1E,$0A,$12,$22,$00 ;'R
.byte $1C,$22,$02,$1C,$20,$22,$1C,$00 ;'S
.byte $3E,$08,$08,$08,$08,$08,$08,$00 ;'T
.byte $22,$22,$22,$22,$22,$22,$1C,$00 ;'U
.byte $22,$22,$22,$22,$22,$14,$08,$00 ;'V
.byte $22,$22,$22,$2A,$2A,$36,$22,$00 ;'W
.byte $22,$22,$14,$08,$14,$22,$22,$00 ;'X
.byte $22,$22,$14,$08,$08,$08,$08,$00 ;'Y
.byte $3E,$20,$10,$08,$04,$02,$3E,$00 ;'Z
.byte $3E,$06,$06,$06,$06,$06,$3E,$00 ;'[
.byte $00,$02,$04,$08,$10,$20,$00,$00 ;'\
.byte $3E,$30,$30,$30,$30,$30,$3E,$00 ;']
.byte $00,$00,$08,$14,$22,$00,$00,$00 ;'^
.byte $00,$00,$00,$00,$00,$00,$00,$7F ;'_
.byte $04,$08,$10,$00,$00,$00,$00,$00 ;'`
.byte $00,$00,$1C,$20,$3C,$22,$3C,$00 ;'a
.byte $02,$02,$1E,$22,$22,$22,$1E,$00 ;'b
.byte $00,$00,$3C,$02,$02,$02,$3C,$00 ;'c
.byte $20,$20,$3C,$22,$22,$22,$3C,$00 ;'d
.byte $00,$00,$1C,$22,$3E,$02,$3C,$00 ;'e
.byte $18,$24,$04,$1E,$04,$04,$04,$00 ;'f
.byte $00,$00,$1C,$22,$22,$3C,$20,$1C ;'g
.byte $02,$02,$1E,$22,$22,$22,$22,$00 ;'h
.byte $08,$00,$0C,$08,$08,$08,$1C,$00 ;'i
.byte $10,$00,$18,$10,$10,$10,$12,$0C ;'j
.byte $02,$02,$22,$12,$0E,$12,$22,$00 ;'k
.byte $0C,$08,$08,$08,$08,$08,$1C,$00 ;'l
.byte $00,$00,$36,$2A,$2A,$2A,$22,$00 ;'m
.byte $00,$00,$1E,$22,$22,$22,$22,$00 ;'n
.byte $00,$00,$1C,$22,$22,$22,$1C,$00 ;'o
.byte $00,$00,$1E,$22,$22,$1E,$02,$02 ;'p
.byte $00,$00,$3C,$22,$22,$3C,$20,$20 ;'q
.byte $00,$00,$3A,$06,$02,$02,$02,$00 ;'r
.byte $00,$00,$3C,$02,$1C,$20,$1E,$00 ;'s
.byte $04,$04,$1E,$04,$04,$24,$18,$00 ;'t
.byte $00,$00,$22,$22,$22,$32,$2C,$00 ;'u
.byte $00,$00,$22,$22,$22,$14,$08,$00 ;'v
.byte $00,$00,$22,$22,$2A,$2A,$36,$00 ;'w
.byte $00,$00,$22,$14,$08,$14,$22,$00 ;'x
.byte $00,$00,$22,$22,$22,$3C,$20,$1C ;'y
.byte $00,$00,$3E,$10,$08,$04,$3E,$00 ;'z
.byte $38,$0C,$0C,$06,$0C,$0C,$38,$00 ;'{
.byte $08,$08,$08,$08,$08,$08,$08,$08 ;'|
.byte $0E,$18,$18,$30,$18,$18,$0E,$00 ;'}
.byte $2C,$1A,$00,$00,$00,$00,$00,$00 ;'~
.byte $00,$2A,$14,$2A,$14,$2A,$00,$00 ;'*
/*
6000:10 08 36 7F 3F 3F 7E 36 '@'^
6008:10 08 36 41 21 21 4A 36 'A'^
6010:00 00 02 06 0E 1E 36 42 'B'^
6018:7F 22 14 08 08 14 2A 7F 'C'^
6020:00 40 20 11 0A 04 04 00 'D'^
6028:7F 3F 5F 6C 75 7B 7B 7F 'E'^
6030:70 60 7E 31 79 30 3F 02 'F'^
6038:00 18 07 00 07 0C 08 70 'G'^
6040:08 04 02 7F 02 04 08 00 'H'^
6048:00 00 00 00 00 00 00 2A 'I'^
6050:08 08 08 08 49 2A 1C 08 'J'^
6058:08 1C 2A 49 08 08 08 08 'K'^
6060:7F 00 00 00 00 00 00 00 'L'^
6068:40 40 40 44 46 7F 06 04 'M'^
6070:3F 3F 3F 3F 3F 3F 3F 3F 'N'^
6078:13 18 1C 7E 1C 18 10 6F 'O'^
6080:64 0C 1C 3F 1C 0C 04 7B 'P'^
6088:40 48 08 7F 3E 1C 48 40 'Q'^
6090:40 48 1C 3E 7E 08 48 40 'R'^
6098:00 00 00 7F 00 00 00 00 'S'^
60A0:01 01 01 01 01 01 01 7F 'T'^
60A8:08 10 20 7F 20 10 08 00 'U'^
60B0:2A 55 2A 55 2A 55 2A 55 'V'^
60B8:55 2A 55 2A 55 2A 55 2A 'W'^
60C0:00 3E 41 01 01 01 7F 00 'X'^
60C8:00 00 3F 40 40 40 7F 00 'Y'^
60D0:40 40 40 40 40 40 40 40 'Z'^
60D8:08 1C 3E 7F 3E 1C 08 00 '['^
60E0:7F 00 00 00 00 00 00 7F '\'^
60E8:14 14 77 00 77 14 14 00 ']'^
60F0:7F 40 40 4C 4C 40 40 7F '^'^
60F8:01 01 01 01 01 01 01 01 '_'^
6100:00 00 00 00 00 00 00 00 '
6108:08 08 08 08 08 00 08 00 '!
6110:14 14 14 00 00 00 00 00 '"
6118:14 14 3E 14 3E 14 14 00 '#
6120:08 3C 0A 1C 28 1E 08 00 '$
6128:06 26 10 08 04 32 30 00 '%
6130:04 0A 0A 04 2A 12 2C 00 '&
6138:08 08 08 00 00 00 00 00 ''
6140:08 04 02 02 02 04 08 00 '(
6148:08 10 20 20 20 10 08 00 ')
6150:08 2A 1C 08 1C 2A 08 00 '*
6158:00 08 08 3E 08 08 00 00 '+
6160:00 00 00 00 08 08 04 00 ',
6168:00 00 00 3E 00 00 00 00 '-
6170:00 00 00 00 00 00 08 00 '.
6178:00 20 10 08 04 02 00 00 '/
6180:1C 22 32 2A 26 22 1C 00 '0
6188:08 0C 08 08 08 08 1C 00 '1
6190:1C 22 20 18 04 02 3E 00 '2
6198:3E 20 10 18 20 22 1C 00 '3
61A0:10 18 14 12 3E 10 10 00 '4
61A8:3E 02 1E 20 20 22 1C 00 '5
61B0:38 04 02 1E 22 22 1C 00 '6
61B8:3E 20 10 08 04 04 04 00 '7
61C0:1C 22 22 1C 22 22 1C 00 '8
61C8:1C 22 22 3C 20 10 0E 00 '9
61D0:00 00 08 00 08 00 00 00 ':
61D8:00 00 08 00 08 08 04 00 ';
61E0:10 08 04 02 04 08 10 00 '<
61E8:00 00 3E 00 3E 00 00 00 '=
61F0:04 08 10 20 10 08 04 00 '>
61F8:1C 22 10 08 08 00 08 00 '?
6200:1C 22 2A 3A 1A 02 3C 00 '@
6208:08 14 22 22 3E 22 22 00 'A
6210:1E 22 22 1E 22 22 1E 00 'B
6218:1C 22 02 02 02 22 1C 00 'C
6220:1E 22 22 22 22 22 1E 00 'D
6228:3E 02 02 1E 02 02 3E 00 'E
6230:3E 02 02 1E 02 02 02 00 'F
6238:3C 02 02 02 32 22 3C 00 'G
6240:22 22 22 3E 22 22 22 00 'H
6248:1C 08 08 08 08 08 1C 00 'I
6250:20 20 20 20 20 22 1C 00 'J
6258:22 12 0A 06 0A 12 22 00 'K
6260:02 02 02 02 02 02 3E 00 'L
6268:22 36 2A 2A 22 22 22 00 'M
6270:22 22 26 2A 32 22 22 00 'N
6278:1C 22 22 22 22 22 1C 00 'O
6280:1E 22 22 1E 02 02 02 00 'P
6288:1C 22 22 22 2A 12 2C 00 'Q
6290:1E 22 22 1E 0A 12 22 00 'R
6298:1C 22 02 1C 20 22 1C 00 'S
62A0:3E 08 08 08 08 08 08 00 'T
62A8:22 22 22 22 22 22 1C 00 'U
62B0:22 22 22 22 22 14 08 00 'V
62B8:22 22 22 2A 2A 36 22 00 'W
62C0:22 22 14 08 14 22 22 00 'X
62C8:22 22 14 08 08 08 08 00 'Y
62D0:3E 20 10 08 04 02 3E 00 'Z
62D8:3E 06 06 06 06 06 3E 00 '[
62E0:00 02 04 08 10 20 00 00 '\
62E8:3E 30 30 30 30 30 3E 00 ']
62F0:00 00 08 14 22 00 00 00 '^
62F8:00 00 00 00 00 00 00 7F '_
6300:04 08 10 00 00 00 00 00 '`
6308:00 00 1C 20 3C 22 3C 00 'a
6310:02 02 1E 22 22 22 1E 00 'b
6318:00 00 3C 02 02 02 3C 00 'c
6320:20 20 3C 22 22 22 3C 00 'd
6328:00 00 1C 22 3E 02 3C 00 'e
6330:18 24 04 1E 04 04 04 00 'f
6338:00 00 1C 22 22 3C 20 1C 'g
6340:02 02 1E 22 22 22 22 00 'h
6348:08 00 0C 08 08 08 1C 00 'i
6350:10 00 18 10 10 10 12 0C 'j
6358:02 02 22 12 0E 12 22 00 'k
6360:0C 08 08 08 08 08 1C 00 'l
6368:00 00 36 2A 2A 2A 22 00 'm
6370:00 00 1E 22 22 22 22 00 'n
6378:00 00 1C 22 22 22 1C 00 'o
6380:00 00 1E 22 22 1E 02 02 'p
6388:00 00 3C 22 22 3C 20 20 'q
6390:00 00 3A 06 02 02 02 00 'r
6398:00 00 3C 02 1C 20 1E 00 's
63A0:04 04 1E 04 04 24 18 00 't
63A8:00 00 22 22 22 32 2C 00 'u
63B0:00 00 22 22 22 14 08 00 'v
63B8:00 00 22 22 2A 2A 36 00 'w
63C0:00 00 22 14 08 14 22 00 'x
63C8:00 00 22 22 22 3C 20 1C 'y
63D0:00 00 3E 10 08 04 3E 00 'z
63D8:38 0C 0C 06 0C 0C 38 00 '{
63E0:08 08 08 08 08 08 08 08 '|
63E8:0E 18 18 30 18 18 0E 00 '}
63F0:2C 1A 00 00 00 00 00 00 '~
63F8:00 2A 14 2A 14 2A 00 00 '#
*/
__END: