Skip to content

Instantly share code, notes, and snippets.

@theonesean
Created March 12, 2018 00:04
Show Gist options
  • Save theonesean/21ec7b24997956497f178c137ee55066 to your computer and use it in GitHub Desktop.
Save theonesean/21ec7b24997956497f178c137ee55066 to your computer and use it in GitHub Desktop.
a 4x5 variable width font for MARS MIPS
.data
# --------------------------------------------------------------------------------------------------
# CG font (benefits include: being 4x5 at max, not monospaced, and transparent)
# probably not worth it, speed-wise, for in-game stuff, but it certainly looks prettier than the cg font
# all glyphs are extreme left-aligned within their arrays, so make sure you test your kerning
# based on CG Pixel by vyznev, accessible at this link: https://fontstruct.com/fontstructions/show/1404171/cg-pixel-4x5
# modified and encoded by Sean Bailey
#
# NOTE: MUST USE THE FUNCTION display_blit_5x5_trans, or else all the letters will just show up as 5x5 blobs of white
# --------------------------------------------------------------------------------------------------
cg_A: .byte -1 7 7 -1 -1 7 -1 -1 7 -1 7 7 7 7 -1 7 -1 -1 7 -1 7 -1 -1 7 -1
cg_B: .byte 7 7 7 -1 -1 7 -1 -1 7 -1 7 7 7 -1 -1 7 -1 -1 7 -1 7 7 7 -1 -1
cg_C: .byte -1 7 7 -1 -1 7 -1 -1 7 -1 7 -1 -1 -1 -1 7 -1 -1 7 -1 -1 7 7 -1 -1
cg_D: .byte 7 7 7 -1 -1 7 -1 -1 7 -1 7 -1 -1 7 -1 7 -1 -1 7 -1 7 7 7 -1 -1
cg_E: .byte 7 7 7 7 -1 7 -1 -1 -1 -1 7 7 7 -1 -1 7 -1 -1 -1 -1 7 7 7 7 -1
cg_F: .byte 7 7 7 7 -1 7 -1 -1 -1 -1 7 7 7 -1 -1 7 -1 -1 -1 -1 7 -1 -1 -1 -1
cg_G: .byte -1 7 7 -1 -1 7 -1 -1 -1 -1 7 -1 7 7 -1 7 -1 -1 7 -1 -1 7 7 -1 -1
cg_H: .byte 7 -1 -1 7 -1 7 -1 -1 7 -1 7 7 7 7 -1 7 -1 -1 7 -1 7 -1 -1 7 -1
cg_I: .byte 7 -1 -1 -1 -1 7 -1 -1 -1 -1 7 -1 -1 -1 -1 7 -1 -1 -1 -1 7 -1 -1 -1 -1
cg_J: .byte -1 -1 -1 7 -1 -1 -1 -1 7 -1 -1 -1 -1 7 -1 7 -1 -1 7 -1 -1 7 7 -1 -1
cg_K: .byte 7 -1 -1 7 -1 7 -1 7 -1 -1 7 7 -1 -1 -1 7 -1 7 -1 -1 7 -1 -1 7 -1
cg_L: .byte 7 -1 -1 -1 -1 7 -1 -1 -1 -1 7 -1 -1 -1 -1 7 -1 -1 -1 -1 7 7 7 7 -1
cg_M: .byte 7 -1 -1 7 -1 7 7 7 7 -1 7 -1 -1 7 -1 7 -1 -1 7 -1 7 -1 -1 7 -1
cg_N: .byte 7 -1 -1 7 -1 7 7 -1 7 -1 7 -1 7 7 -1 7 -1 -1 7 -1 7 -1 -1 7 -1
cg_O: .byte -1 7 7 -1 -1 7 -1 -1 7 -1 7 -1 -1 7 -1 7 -1 -1 7 -1 -1 7 7 -1 -1
cg_P: .byte 7 7 7 -1 -1 7 -1 -1 7 -1 7 7 7 -1 -1 7 -1 -1 -1 -1 7 -1 -1 -1 -1
cg_Q: .byte -1 7 7 -1 -1 7 -1 -1 7 -1 7 -1 -1 7 -1 7 -1 7 7 -1 -1 7 7 7 -1
cg_R: .byte 7 7 7 -1 -1 7 -1 -1 7 -1 7 7 7 -1 -1 7 -1 7 -1 -1 7 -1 -1 7 -1
cg_S: .byte -1 7 7 7 -1 7 -1 -1 -1 -1 -1 7 7 -1 -1 -1 -1 -1 7 -1 7 7 7 -1 7
cg_T: .byte 7 7 7 -1 -1 -1 7 -1 -1 -1 -1 7 -1 -1 -1 -1 7 -1 -1 -1 -1 7 -1 -1 -1
cg_U: .byte 7 -1 -1 7 -1 7 -1 -1 7 -1 7 -1 -1 7 -1 7 -1 -1 7 -1 -1 7 7 -1 -1
cg_V: .byte 7 -1 7 -1 -1 7 -1 7 -1 -1 7 -1 7 -1 -1 7 -1 7 -1 -1 -1 7 -1 -1 -1
cg_W: .byte 7 -1 -1 7 -1 7 -1 -1 7 -1 7 -1 -1 7 -1 7 7 7 7 -1 7 -1 -1 7 -1
cg_X: .byte 7 -1 -1 7 -1 7 -1 -1 7 -1 -1 7 7 -1 -1 7 -1 -1 7 -1 7 -1 -1 7 -1
cg_Y: .byte 7 -1 7 -1 -1 7 -1 7 -1 -1 -1 7 -1 -1 -1 -1 7 -1 -1 -1 -1 7 -1 -1 -1
cg_Z: .byte 7 7 7 7 -1 -1 -1 -1 -1 7 -1 7 7 -1 -1 7 -1 -1 -1 -1 7 7 7 7 -1
cg_0: .byte -1 7 7 -1 -1 7 -1 7 7 -1 7 7 -1 7 -1 7 -1 -1 7 -1 -1 7 7 -1 -1
cg_1: .byte -1 7 -1 -1 -1 7 7 -1 -1 -1 -1 7 -1 -1 -1 -1 7 -1 -1 -1 -1 7 -1 -1 -1
cg_2: .byte -1 7 7 -1 -1 -1 7 -1 -1 7 -1 -1 -1 7 -1 -1 -1 7 -1 -1 -1 7 7 7 7 -1
cg_3: .byte 7 7 7 -1 -1 -1 -1 -1 7 -1 -1 7 7 -1 -1 -1 -1 -1 7 -1 7 7 7 -1 -1
cg_4: .byte 7 -1 -1 7 -1 7 -1 -1 7 -1 7 7 7 7 -1 -1 -1 -1 7 -1 -1 -1 -1 7 -1
cg_5: .byte 7 7 7 7 -1 7 -1 -1 -1 -1 7 7 7 -1 -1 -1 -1 -1 7 -1 7 7 7 -1 -1
cg_6: .byte -1 7 7 -1 -1 7 -1 -1 -1 -1 7 7 7 -1 -1 7 -1 -1 7 -1 -1 7 7 -1 7
cg_7: .byte 7 7 7 7 -1 -1 -1 -1 7 -1 -1 -1 7 -1 -1 -1 -1 7 -1 -1 -1 -1 7 -1 -1
cg_8: .byte -1 7 7 -1 -1 7 -1 -1 7 -1 -1 7 7 -1 -1 7 -1 -1 7 -1 -1 7 7 -1 -1
cg_9: .byte -1 7 7 -1 -1 7 -1 -1 7 -1 -1 7 7 7 -1 -1 -1 -1 7 -1 -1 7 7 -1 -1
cg_bang: .byte 7 -1 -1 -1 -1 7 -1 -1 -1 -1 7 -1 -1 -1 -1 -1 -1 -1 -1 -1 7 -1 -1 -1 -1 # !
cg_quote: .byte 7 -1 7 -1 -1 7 -1 7 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 # "
cg_pound: .byte 7 -1 7 -1 -1 7 7 7 7 -1 7 -1 7 -1 -1 7 7 7 7 -1 7 -1 7 -1 -1 # #
cg_dollar: .byte -1 7 7 7 -1 7 -1 7 -1 -1 -1 7 7 -1 -1 -1 7 -1 7 -1 7 7 7 -1 -1 # $
cg_percent:.byte 7 7 -1 -1 -1 -1 -1 -1 7 -1 -1 7 7 -1 -1 7 -1 -1 -1 -1 -1 -1 7 7 -1 # %
cg_and: .byte -1 7 -1 -1 -1 7 -1 7 -1 -1 -1 7 -1 -1 -1 7 -1 7 -1 -1 -1 7 -1 7 -1 # &
cg_apos: .byte 7 -1 -1 -1 -1 7 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 # '
cg_lpar: .byte -1 7 -1 -1 -1 7 -1 -1 -1 -1 7 -1 -1 -1 -1 7 -1 -1 -1 -1 -1 7 -1 -1 -1 # (
cg_rpar: .byte 7 -1 -1 -1 -1 -1 7 -1 -1 -1 -1 7 -1 -1 -1 -1 7 -1 -1 -1 7 -1 -1 -1 -1 # )
cg_star: .byte 7 -1 -1 7 -1 -1 7 7 -1 -1 7 7 7 7 -1 -1 7 7 -1 -1 7 -1 -1 7 -1 # *
cg_plus: .byte -1 -1 -1 -1 -1 -1 7 -1 -1 -1 7 7 7 -1 -1 -1 7 -1 -1 -1 -1 -1 -1 -1 -1 # +
cg_comma: .byte -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 7 -1 -1 -1 7 -1 -1 -1 -1 # ,
cg_dash: .byte -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 7 7 7 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 # -
cg_dot: .byte -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 7 -1 -1 -1 -1 # .
cg_fsl: .byte -1 -1 7 -1 -1 -1 -1 7 -1 -1 -1 7 -1 -1 -1 7 -1 -1 -1 -1 7 -1 -1 -1 -1 # /
cg_colon: .byte -1 -1 -1 -1 -1 7 -1 -1 -1 -1 -1 -1 -1 -1 -1 7 -1 -1 -1 -1 -1 -1 -1 -1 -1 # :
cg_semi: .byte -1 -1 -1 -1 -1 -1 7 -1 -1 -1 -1 -1 -1 -1 -1 -1 7 -1 -1 -1 7 -1 -1 -1 -1 # ;
cg_lt: .byte -1 -1 7 -1 -1 -1 7 -1 -1 -1 7 -1 -1 -1 -1 -1 7 -1 -1 -1 -1 -1 7 -1 -1 # <
cg_eq: .byte -1 -1 -1 -1 -1 7 7 7 -1 -1 -1 -1 -1 -1 -1 7 7 7 -1 -1 -1 -1 -1 -1 -1 # =
cg_gt: .byte 7 -1 -1 -1 -1 -1 7 -1 -1 -1 -1 -1 7 -1 -1 -1 7 -1 -1 -1 7 -1 -1 -1 -1 # >
cg_ques: .byte 7 7 -1 -1 -1 -1 -1 7 -1 -1 -1 7 -1 -1 -1 -1 -1 -1 -1 -1 -1 7 -1 -1 -1 # ?
cg_lsq: .byte 7 7 7 -1 -1 7 -1 -1 -1 -1 7 -1 -1 -1 -1 7 -1 -1 -1 -1 7 7 7 -1 -1 # [
cg_bsl: .byte 7 -1 -1 -1 -1 7 -1 -1 -1 -1 -1 7 -1 -1 -1 -1 -1 7 -1 -1 -1 -1 7 -1 -1 # \
cg_rsq: .byte 7 7 7 -1 -1 -1 -1 7 -1 -1 -1 -1 7 -1 -1 -1 -1 7 -1 -1 7 7 7 -1 -1 # ]
cg_caret: .byte -1 7 -1 -1 -1 7 -1 7 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 # ^
cg_under: .byte -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 7 7 7 7 -1 # _
cg_lbra: .byte -1 7 7 -1 -1 -1 7 -1 -1 -1 7 -1 -1 -1 -1 -1 7 -1 -1 -1 -1 7 7 -1 -1 # {
cg_or: .byte 7 -1 -1 -1 -1 7 -1 -1 -1 -1 7 -1 -1 -1 -1 7 -1 -1 -1 -1 7 -1 -1 -1 -1 # |
cg_rbra: .byte 7 7 -1 -1 -1 -1 7 -1 -1 -1 -1 -1 7 -1 -1 -1 7 -1 -1 -1 7 7 -1 -1 -1 # }
cg_tilde: .byte -1 -1 -1 -1 -1 -1 7 -1 7 -1 7 -1 7 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 # ~
cg_at: .byte -1 7 7 -1 -1 7 -1 -1 7 -1 7 -1 7 7 -1 7 -1 -1 -1 -1 -1 7 7 7 -1 # @
cg_back: .byte 7 -1 -1 -1 -1 -1 7 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 # `
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment