;;; ============================================================ ;;; Font .proc font_definition count := 128 height := 9 .assert * = font_flag, error, "Entry point mismatch" .byte $00 ; type: 0=regular, $80=double-width .assert * = font_last_char, error, "Entry point mismatch" .byte count - 1 ; lastchar .assert * = font_height, error, "Entry point mismatch" .byte height ; height .assert * = font_width_table, error, "Entry point mismatch" .byte $01,$07,$07,$07,$07,$07,$01,$07 .byte $07,$07,$07,$07,$07,$07,$07,$07 .byte $07,$03,$07,$06,$07,$07,$07,$07 .byte $07,$07,$07,$07,$07,$07,$07,$07 .byte $05,$03,$04,$07,$06,$06,$06,$02 .byte $03,$03,$06,$06,$03,$06,$03,$07 .byte $06,$06,$06,$06,$06,$06,$06,$06 .byte $06,$06,$03,$03,$05,$06,$05,$06 .byte $07,$07,$07,$07,$07,$07,$07,$07 .byte $07,$07,$07,$07,$07,$07,$07,$07 .byte $07,$07,$07,$07,$07,$07,$06,$07 .byte $07,$07,$07,$05,$06,$06,$04,$06 .byte $05,$07,$07,$06,$07,$06,$06,$06 .byte $06,$03,$05,$06,$03,$07,$06,$06 .byte $06,$06,$06,$06,$06,$06,$06,$07 .byte $06,$06,$06,$04,$02,$04,$05,$07 .assert * = font_glyphs, error, "Entry point mismatch" ;; For single-width fonts: ;; glyph0-row0, glyph1-row0, ... ;; glyph0-row1, glyph1-row1, ... ;; ... ;; For double-width fonts (col A, B) ;; glyph0-row0a, glyph1-row0a, ... ;; glyph0-row0b, glyph1-row0b, ... ;; glyph0-row1a, glyph1-row1a, ... ;; glyph0-row1b, glyph1-row1b, ... ;; ... ;; row 0 .byte $00,$00,$00,$3F,$77,$01,$01,$00 .byte $00,$7F,$00,$00,$7F,$20,$3E,$3E .byte $00,$00,$3C,$00,$00,$00,$00,$00 .byte $14,$55,$2A,$00,$7F,$00,$10,$10 .byte $00,$03,$05,$12,$04,$03,$02,$01 .byte $02,$01,$00,$00,$00,$00,$00,$00 .byte $0E,$0C,$0E,$0E,$1B,$1F,$0E,$1F .byte $0E,$0E,$00,$00,$00,$00,$00,$0E .byte $00,$1E,$1F,$1E,$1F,$3F,$3F,$1E .byte $33,$3F,$3E,$33,$03,$33,$33,$1E .byte $1F,$1E,$1F,$1E,$3F,$33,$1B,$33 .byte $33,$33,$3F,$0F,$00,$0F,$02,$00 .byte $03,$00,$03,$00,$30,$00,$1C,$00 .byte $03,$03,$0C,$03,$03,$00,$00,$00 .byte $00,$00,$00,$00,$06,$00,$00,$00 .byte $00,$00,$00,$04,$01,$01,$05,$00 ;; row 1 .byte $00,$7F,$00,$21,$1C,$03,$01,$00 .byte $00,$01,$08,$08,$40,$20,$41,$41 .byte $00,$00,$42,$00,$00,$00,$08,$00 .byte $14,$2A,$55,$00,$3F,$40,$08,$08 .byte $00,$03,$05,$12,$1E,$13,$05,$01 .byte $01,$02,$04,$04,$00,$00,$00,$30 .byte $1B,$0F,$1B,$1B,$1B,$03,$1B,$18 .byte $1B,$1B,$00,$00,$0C,$00,$03,$1B .byte $1E,$33,$33,$33,$33,$03,$03,$33 .byte $33,$0C,$18,$1B,$03,$3F,$33,$33 .byte $33,$33,$33,$33,$0C,$33,$1B,$33 .byte $33,$33,$30,$03,$00,$0C,$05,$00 .byte $06,$00,$03,$00,$30,$00,$06,$00 .byte $03,$00,$00,$03,$03,$00,$00,$00 .byte $00,$00,$00,$00,$06,$00,$00,$00 .byte $00,$00,$00,$02,$01,$02,$0A,$00 ;; row 2 .byte $00,$41,$00,$12,$08,$07,$01,$00 .byte $0C,$01,$08,$1C,$40,$20,$5D,$5D .byte $77,$03,$04,$1F,$0C,$18,$1C,$0C .byte $14,$55,$2A,$0C,$1F,$60,$36,$36 .byte $00,$03,$00,$3F,$05,$08,$05,$00 .byte $01,$02,$15,$04,$00,$00,$00,$18 .byte $1B,$0C,$18,$18,$1B,$0F,$03,$0C .byte $1B,$1B,$03,$03,$06,$0F,$06,$18 .byte $21,$33,$33,$03,$33,$03,$03,$03 .byte $33,$0C,$18,$0F,$03,$3F,$37,$33 .byte $33,$33,$33,$03,$0C,$33,$1B,$33 .byte $1E,$33,$18,$03,$01,$0C,$00,$00 .byte $0C,$1E,$1F,$1E,$3E,$0E,$06,$0E .byte $0F,$03,$0C,$1B,$03,$1F,$0F,$0E .byte $0F,$1E,$0F,$1E,$1F,$1B,$1B,$23 .byte $1B,$1B,$1F,$02,$01,$02,$00,$00 ;; row 3 .byte $00,$41,$3F,$0C,$08,$0F,$01,$00 .byte $06,$01,$08,$3E,$40,$24,$45,$55 .byte $52,$02,$08,$0A,$00,$30,$36,$12 .byte $77,$2A,$55,$1E,$4E,$31,$7F,$49 .byte $00,$03,$00,$12,$0E,$04,$02,$00 .byte $01,$02,$0E,$1F,$00,$1F,$00,$0C .byte $1B,$0C,$0C,$0C,$1F,$18,$0F,$06 .byte $0E,$1E,$00,$00,$03,$00,$0C,$0C .byte $2D,$3F,$1F,$03,$33,$0F,$0F,$3B .byte $3F,$0C,$18,$0F,$03,$33,$3B,$33 .byte $1F,$33,$1F,$1E,$0C,$33,$1B,$33 .byte $0C,$1E,$0C,$03,$02,$0C,$00,$00 .byte $00,$30,$33,$03,$33,$1B,$0F,$1B .byte $1B,$03,$0C,$0F,$03,$2B,$1B,$1B .byte $1B,$1B,$1B,$03,$06,$1B,$1B,$2B .byte $0E,$1B,$18,$01,$01,$04,$00,$2A ;; row 4 .byte $00,$01,$20,$0C,$08,$1F,$01,$7F .byte $7F,$01,$6B,$6B,$40,$26,$45,$4D .byte $12,$02,$3E,$0A,$3F,$7F,$63,$21 .byte $00,$55,$2A,$3F,$64,$1B,$3F,$21 .byte $00,$03,$00,$12,$14,$02,$15,$00 .byte $01,$02,$15,$04,$00,$00,$00,$06 .byte $1B,$0C,$06,$18,$18,$18,$1B,$03 .byte $1B,$10,$00,$00,$06,$0F,$06,$06 .byte $3D,$33,$33,$03,$33,$03,$03,$33 .byte $33,$0C,$18,$0F,$03,$33,$33,$33 .byte $03,$33,$33,$30,$0C,$33,$1B,$3F .byte $1E,$0C,$06,$03,$04,$0C,$00,$00 .byte $00,$3E,$33,$03,$33,$1F,$06,$1B .byte $1B,$03,$0C,$07,$03,$2B,$1B,$1B .byte $1B,$1B,$03,$0E,$06,$1B,$1B,$2B .byte $04,$1B,$0C,$02,$01,$02,$00,$14 ;; row 5 .byte $00,$01,$20,$12,$08,$3F,$01,$00 .byte $06,$01,$3E,$08,$40,$3F,$5D,$55 .byte $12,$02,$10,$0A,$00,$30,$7F,$12 .byte $77,$2A,$55,$1E,$71,$0E,$3F,$21 .byte $00,$00,$00,$3F,$0F,$19,$09,$00 .byte $01,$02,$04,$04,$00,$00,$00,$03 .byte $1B,$0C,$03,$1B,$18,$1B,$1B,$03 .byte $1B,$1B,$03,$03,$0C,$00,$03,$00 .byte $1D,$33,$33,$33,$33,$03,$03,$33 .byte $33,$0C,$1B,$1B,$03,$33,$33,$33 .byte $03,$33,$33,$33,$0C,$33,$0E,$3F .byte $33,$0C,$03,$03,$08,$0C,$00,$00 .byte $00,$33,$33,$03,$33,$03,$06,$1B .byte $1B,$03,$0C,$0F,$03,$2B,$1B,$1B .byte $1B,$1B,$03,$18,$06,$1B,$0E,$2B .byte $0E,$1B,$06,$02,$01,$02,$00,$2A ;; row 6 .byte $00,$01,$20,$2D,$08,$0D,$01,$00 .byte $0C,$01,$1C,$08,$40,$06,$41,$41 .byte $00,$00,$1A,$0A,$0C,$18,$00,$0C .byte $14,$55,$2A,$0C,$7B,$04,$7E,$6A .byte $00,$03,$00,$12,$04,$18,$16,$00 .byte $02,$01,$00,$00,$02,$00,$03,$00 .byte $0E,$1F,$1F,$0E,$18,$0E,$0E,$03 .byte $0E,$0E,$00,$03,$00,$00,$00,$06 .byte $01,$33,$1F,$1E,$1F,$3F,$03,$1E .byte $33,$3F,$0E,$33,$3F,$33,$33,$1E .byte $03,$1E,$33,$1E,$0C,$1E,$04,$33 .byte $33,$0C,$3F,$0F,$10,$0F,$00,$00 .byte $00,$3F,$1F,$1E,$3E,$1E,$06,$1E .byte $1B,$03,$0C,$1B,$03,$2B,$1B,$0E .byte $0F,$1E,$03,$0F,$06,$1E,$04,$1F .byte $1B,$1E,$1F,$04,$01,$01,$00,$14 ;; row 7 .byte $00,$7F,$3F,$3F,$1C,$18,$01,$00 .byte $00,$01,$08,$08,$40,$04,$3E,$3E .byte $00,$00,$4F,$00,$00,$00,$00,$00 .byte $14,$2A,$55,$00,$7F,$00,$36,$36 .byte $00,$00,$00,$12,$00,$00,$00,$00 .byte $00,$00,$00,$00,$02,$00,$00,$00 .byte $00,$00,$00,$00,$00,$00,$00,$00 .byte $00,$00,$00,$01,$00,$00,$00,$00 .byte $3E,$00,$00,$00,$00,$00,$00,$00 .byte $00,$00,$00,$00,$00,$00,$00,$00 .byte $00,$30,$00,$00,$00,$00,$00,$00 .byte $00,$00,$00,$00,$00,$00,$00,$1F .byte $00,$00,$00,$00,$00,$00,$00,$18 .byte $00,$00,$0C,$00,$00,$00,$00,$00 .byte $03,$18,$00,$00,$00,$00,$00,$00 .byte $00,$18,$00,$00,$00,$00,$00,$2A ;; row 8 .byte $00,$00,$00,$00,$77,$30,$01,$00 .byte $00,$7F,$00,$00,$7F,$00,$00,$00 .byte $00,$00,$7A,$00,$00,$00,$00,$00 .byte $14,$55,$2A,$00,$7F,$00,$00,$00 .byte $00,$00,$00,$00,$00,$00,$00,$00 .byte $00,$00,$00,$00,$01,$00,$00,$00 .byte $00,$00,$00,$00,$00,$00,$00,$00 .byte $00,$00,$00,$00,$00,$00,$00,$00 .byte $00,$00,$00,$00,$00,$00,$00,$00 .byte $00,$00,$00,$00,$00,$00,$00,$00 .byte $00,$00,$00,$00,$00,$00,$00,$00 .byte $00,$00,$00,$00,$00,$00,$00,$00 .byte $00,$00,$00,$00,$00,$00,$00,$0E .byte $00,$00,$07,$00,$00,$00,$00,$00 .byte $03,$18,$00,$00,$00,$00,$00,$00 .byte $00,$0E,$00,$00,$00,$00,$00,$00 ;; end of font glyphs .assert * = font_definition + 3 + count + count * height, error, "Font length mismatch" .endproc