4cade/res/notes/font.txt

151 lines
2.5 KiB
Plaintext

CIRCUITOUS font information
2019-07 last updated
- $80 characters only (high bit is always 0)
- $20 and above are standard ASCII
- $00..$1F are various shapes and characters in no standard order
- Capital letters are full-width, which makes all-caps drawing look bad, so
don't do that
Font routines are near the top of LC RAM, accessible to either bank. However,
font data is stored in LC RAM bank 2, because that's where we have space. Note
that most strings are in LC RAM bank 1, which is admittedly inconvenient. You
are responsible for copying characters to a place where the drawing routine can
access them. (See src/ui.font.a) The drawing routines will switch to LC 2 to
access font data, then back to LC 1 before returning.
Font data is stored non-consecutively. Row 0 data starts at $D600, in order, so
row 0 of character $00 is at $D600, row 0 of character $01 is at $D601, &c.
Row 1 starts at $D680; row 2 starts at $D700. The entire font set finishes at
$D9FF.
HEX DESCRIPTION
$00 full horizontal circuit path
$01 horizontal circuit path endpoint with rounded left side
$02 horizontal circuit path endpoint with rounded right side
$03 full vertical circuit path
$04 vertical circuit path endpoint with rounded top
$05 vertical circuit path endpoint with rounded bottom
$06 rounded top-left quadrant circuit path
$07 rounded top-right quadrant circuit path
$08 left arrow
$09 rounded bottom-right quadrant circuit path
$0A (TODO down arrow)
$0B (TODO up arrow)
$0C rounded bottom-left quadrant circuit path
$0D carriage return symbol
$0E
$0F
$10 dot, small
$11 dot, medium
$12 dot, large
$13 dot, extra large
$14 heart
$15 right arrow
$16 bolt
$17 times
$18
$19
$1A
$1B lowercase a with umlaut
$1C lowercase e with accent
$1D lowercase i with accent
$1E lowercase o with backtick accent
$1F uppercase A with accent
$20 space
$21 !
$22 "
$23 #
$24 $
$25 %
$26 &
$27 '
$28 (
$29 )
$2A *
$2B +
$2C ,
$2D -
$2E .
$2F /
$30 0
$31 1
$32 2
$33 3
$34 4
$35 5
$36 6
$37 7
$38 8
$39 9
$3A :
$3B ;
$3C <
$3D =
$3E >
$3F ?
$40 @
$41 A
$42 B
$43 C
$44 D
$45 E
$46 F
$47 G
$48 H
$49 I
$4A J
$4B K
$4C L
$4D M
$4E N
$4F O
$50 P
$51 Q
$52 R
$53 S
$54 T
$55 U
$56 V
$57 W
$58 X
$59 Y
$5A Z
$5B [
$5C \
$5D ]
$5E ^
$5F _
$60 `
$61 a
$62 b
$63 c
$64 d
$65 e
$66 f
$67 g
$68 h
$69 i
$6A j
$6B k
$6C l
$6D m
$6E n
$6F o
$70 p
$71 q
$72 r
$73 s
$74 t
$75 u
$76 v
$77 w
$78 x
$79 y
$7A z
$7B {
$7C |
$7D }
$7E ~
$7F full block (solid cursor)