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  open apple
$0F  closed apple
$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)
