reorganize font before adding non-ASCII

This commit is contained in:
Kartik K. Agaram 2021-08-27 08:41:15 -07:00
parent c45371b319
commit 2c87cd2f34
4 changed files with 240 additions and 240 deletions

238
boot.subx
View File

@ -669,244 +669,6 @@ Video-memory-addr:
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
# }}}
Font:
# Bitmaps for some ASCII characters (soon Unicode) {{{
# Part of GNU Unifont
# 8px wide, 16px tall
# Based on http://unifoundry.com/pub/unifont/unifont-13.0.05/font-builds/unifont-13.0.05.hex.gz
# See https://en.wikipedia.org/wiki/GNU_Unifont#The_.hex_font_format
# Website: http://unifoundry.com/unifont/index.html
# License: http://unifoundry.com/LICENSE.txt (GPL v2)
# Each line below is a bitmap for a single character.
# Each byte is a bitmap for a single row of 8 pixels.
# some unprintable ASCII chars
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
# 0x20 = space
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
# !
00 00 00 00 08 08 08 08 08 08 08 00 08 08 00 00
# "
00 00 22 22 22 22 00 00 00 00 00 00 00 00 00 00
# 0x23 = '#'
00 00 00 00 12 12 12 7e 24 24 7e 48 48 48 00 00
# $
00 00 00 00 08 3e 49 48 38 0e 09 49 3e 08 00 00
# %
00 00 00 00 31 4a 4a 34 08 08 16 29 29 46 00 00
# &
00 00 00 00 1c 22 22 14 18 29 45 42 46 39 00 00
# '
00 00 08 08 08 08 00 00 00 00 00 00 00 00 00 00
# (
00 00 00 04 08 08 10 10 10 10 10 10 08 08 04 00
# )
00 00 00 20 10 10 08 08 08 08 08 08 10 10 20 00
# *
00 00 00 00 00 00 08 49 2a 1c 2a 49 08 00 00 00
# +
00 00 00 00 00 00 08 08 08 7f 08 08 08 00 00 00
# ,
00 00 00 00 00 00 00 00 00 00 00 00 18 08 08 10
# -
00 00 00 00 00 00 00 00 00 3c 00 00 00 00 00 00
# .
00 00 00 00 00 00 00 00 00 00 00 00 18 18 00 00
# /
00 00 00 00 02 02 04 08 08 10 10 20 40 40 00 00
# 0x30 = '0'
00 00 00 00 18 24 42 46 4a 52 62 42 24 18 00 00
# 1
00 00 00 00 08 18 28 08 08 08 08 08 08 3e 00 00
# 2
00 00 00 00 3c 42 42 02 0c 10 20 40 40 7e 00 00
# 3
00 00 00 00 3c 42 42 02 1c 02 02 42 42 3c 00 00
# 4
00 00 00 00 04 0c 14 24 44 44 7e 04 04 04 00 00
# 5
00 00 00 00 7e 40 40 40 7c 02 02 02 42 3c 00 00
# 6
00 00 00 00 1c 20 40 40 7c 42 42 42 42 3c 00 00
# 7
00 00 00 00 7e 02 02 04 04 04 08 08 08 08 00 00
# 8
00 00 00 00 3c 42 42 42 3c 42 42 42 42 3c 00 00
# 9
00 00 00 00 3c 42 42 42 3e 02 02 02 04 38 00 00
# :
00 00 00 00 00 00 18 18 00 00 00 18 18 00 00 00
# ;
00 00 00 00 00 00 18 18 00 00 00 18 08 08 10 00
# <
00 00 00 00 00 02 04 08 10 20 10 08 04 02 00 00
# =
00 00 00 00 00 00 00 7e 00 00 00 7e 00 00 00 00
# >
00 00 00 00 00 40 20 10 08 04 08 10 20 40 00 00
# ?
00 00 00 00 3c 42 42 02 04 08 08 00 08 08 00 00
# 0x40 = @
00 00 00 00 1c 22 4a 56 52 52 52 4e 20 1e 00 00
# A
00 00 00 00 18 24 24 42 42 7e 42 42 42 42 00 00
# B
00 00 00 00 7c 42 42 42 7c 42 42 42 42 7c 00 00
# C
00 00 00 00 3c 42 42 40 40 40 40 42 42 3c 00 00
# D
00 00 00 00 78 44 42 42 42 42 42 42 44 78 00 00
# E
00 00 00 00 7e 40 40 40 7c 40 40 40 40 7e 00 00
# F
00 00 00 00 7e 40 40 40 7c 40 40 40 40 40 00 00
# G
00 00 00 00 3c 42 42 40 40 4e 42 42 46 3a 00 00
# H
00 00 00 00 42 42 42 42 7e 42 42 42 42 42 00 00
# I
00 00 00 00 3e 08 08 08 08 08 08 08 08 3e 00 00
# J
00 00 00 00 1f 04 04 04 04 04 04 44 44 38 00 00
# K
00 00 00 00 42 44 48 50 60 60 50 48 44 42 00 00
# L
00 00 00 00 40 40 40 40 40 40 40 40 40 7e 00 00
# M
00 00 00 00 42 42 66 66 5a 5a 42 42 42 42 00 00
# N
00 00 00 00 42 62 62 52 52 4a 4a 46 46 42 00 00
# O
00 00 00 00 3c 42 42 42 42 42 42 42 42 3c 00 00
# 0x50 = P
00 00 00 00 7c 42 42 42 7c 40 40 40 40 40 00 00
# Q
00 00 00 00 3c 42 42 42 42 42 42 5a 66 3c 03 00
# R
00 00 00 00 7c 42 42 42 7c 48 44 44 42 42 00 00
# S
00 00 00 00 3c 42 42 40 30 0c 02 42 42 3c 00 00
# T
00 00 00 00 7f 08 08 08 08 08 08 08 08 08 00 00
# U
00 00 00 00 42 42 42 42 42 42 42 42 42 3c 00 00
# V
00 00 00 00 41 41 41 22 22 22 14 14 08 08 00 00
# W
00 00 00 00 42 42 42 42 5a 5a 66 66 42 42 00 00
# X
00 00 00 00 42 42 24 24 18 18 24 24 42 42 00 00
# Y
00 00 00 00 41 41 22 22 14 08 08 08 08 08 00 00
# Z
00 00 00 00 7e 02 02 04 08 10 20 40 40 7e 00 00
# [
00 00 00 0e 08 08 08 08 08 08 08 08 08 08 0e 00
# \
00 00 00 00 40 40 20 10 10 08 08 04 02 02 00 00
# ]
00 00 00 70 10 10 10 10 10 10 10 10 10 10 70 00
# ^
00 00 18 24 42 00 00 00 00 00 00 00 00 00 00 00
# _
00 00 00 00 00 00 00 00 00 00 00 00 00 00 7f 00
# 0x60 = backtick
00 20 10 08 00 00 00 00 00 00 00 00 00 00 00 00
# a
00 00 00 00 00 00 3c 42 02 3e 42 42 46 3a 00 00
# b
00 00 00 40 40 40 5c 62 42 42 42 42 62 5c 00 00
# c
00 00 00 00 00 00 3c 42 40 40 40 40 42 3c 00 00
# d
00 00 00 02 02 02 3a 46 42 42 42 42 46 3a 00 00
# e
00 00 00 00 00 00 3c 42 42 7e 40 40 42 3c 00 00
# f
00 00 00 0c 10 10 10 7c 10 10 10 10 10 10 00 00
# g
00 00 00 00 00 02 3a 44 44 44 38 20 3c 42 42 3c
# h
00 00 00 40 40 40 5c 62 42 42 42 42 42 42 00 00
# i
00 00 00 08 08 00 18 08 08 08 08 08 08 3e 00 00
# j
00 00 00 04 04 00 0c 04 04 04 04 04 04 04 48 30
# k
00 00 00 40 40 40 44 48 50 60 50 48 44 42 00 00
# l
00 00 00 18 08 08 08 08 08 08 08 08 08 3e 00 00
# m
00 00 00 00 00 00 76 49 49 49 49 49 49 49 00 00
# n
00 00 00 00 00 00 5c 62 42 42 42 42 42 42 00 00
# o
00 00 00 00 00 00 3c 42 42 42 42 42 42 3c 00 00
# 0x70 = p
00 00 00 00 00 00 5c 62 42 42 42 42 62 5c 40 40
# q
00 00 00 00 00 00 3a 46 42 42 42 42 46 3a 02 02
# r
00 00 00 00 00 00 5c 62 42 40 40 40 40 40 00 00
# s
00 00 00 00 00 00 3c 42 40 30 0c 02 42 3c 00 00
# t
00 00 00 00 10 10 10 7c 10 10 10 10 10 0c 00 00
# u
00 00 00 00 00 00 42 42 42 42 42 42 46 3a 00 00
# v
00 00 00 00 00 00 42 42 42 24 24 24 18 18 00 00
# w
00 00 00 00 00 00 41 49 49 49 49 49 49 36 00 00
# x
00 00 00 00 00 00 42 42 24 18 18 24 42 42 00 00
# y
00 00 00 00 00 00 42 42 42 42 42 26 1a 02 02 3c
# z
00 00 00 00 00 00 7e 02 04 08 10 20 40 7e 00 00
# {
00 00 00 0c 10 10 08 08 10 20 10 08 08 10 10 0c
# |
00 00 08 08 08 08 08 08 08 08 08 08 08 08 08 08
# }
00 00 00 30 08 08 10 10 08 04 08 10 10 08 08 30
# ~
00 00 00 31 49 46 00 00 00 00 00 00 00 00 00 00
# 0x7f = del (unused)
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
# }}}
## Controlling IDE (ATA) hard disks
# Uses 28-bit PIO mode.
# Inspired by https://colorforth.github.io/ide.html

238
font.subx Normal file
View File

@ -0,0 +1,238 @@
# Bitmaps for selected graphemes
# Part of GNU Unifont
# 8px wide, 16px tall
# Based on http://unifoundry.com/pub/unifont/unifont-13.0.05/font-builds/unifont-13.0.05.hex.gz
# See https://en.wikipedia.org/wiki/GNU_Unifont#The_.hex_font_format
# Website: http://unifoundry.com/unifont/index.html
# License: http://unifoundry.com/LICENSE.txt (GPL v2)
# Each line below is a bitmap for a single character.
# Each byte within a line is a bitmap for a single row of 8 pixels.
== data
Font:
# some unprintable ASCII chars
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
# 0x20 = space
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
# !
00 00 00 00 08 08 08 08 08 08 08 00 08 08 00 00
# "
00 00 22 22 22 22 00 00 00 00 00 00 00 00 00 00
# 0x23 = '#'
00 00 00 00 12 12 12 7e 24 24 7e 48 48 48 00 00
# $
00 00 00 00 08 3e 49 48 38 0e 09 49 3e 08 00 00
# %
00 00 00 00 31 4a 4a 34 08 08 16 29 29 46 00 00
# &
00 00 00 00 1c 22 22 14 18 29 45 42 46 39 00 00
# '
00 00 08 08 08 08 00 00 00 00 00 00 00 00 00 00
# (
00 00 00 04 08 08 10 10 10 10 10 10 08 08 04 00
# )
00 00 00 20 10 10 08 08 08 08 08 08 10 10 20 00
# *
00 00 00 00 00 00 08 49 2a 1c 2a 49 08 00 00 00
# +
00 00 00 00 00 00 08 08 08 7f 08 08 08 00 00 00
# ,
00 00 00 00 00 00 00 00 00 00 00 00 18 08 08 10
# -
00 00 00 00 00 00 00 00 00 3c 00 00 00 00 00 00
# .
00 00 00 00 00 00 00 00 00 00 00 00 18 18 00 00
# /
00 00 00 00 02 02 04 08 08 10 10 20 40 40 00 00
# 0x30 = '0'
00 00 00 00 18 24 42 46 4a 52 62 42 24 18 00 00
# 1
00 00 00 00 08 18 28 08 08 08 08 08 08 3e 00 00
# 2
00 00 00 00 3c 42 42 02 0c 10 20 40 40 7e 00 00
# 3
00 00 00 00 3c 42 42 02 1c 02 02 42 42 3c 00 00
# 4
00 00 00 00 04 0c 14 24 44 44 7e 04 04 04 00 00
# 5
00 00 00 00 7e 40 40 40 7c 02 02 02 42 3c 00 00
# 6
00 00 00 00 1c 20 40 40 7c 42 42 42 42 3c 00 00
# 7
00 00 00 00 7e 02 02 04 04 04 08 08 08 08 00 00
# 8
00 00 00 00 3c 42 42 42 3c 42 42 42 42 3c 00 00
# 9
00 00 00 00 3c 42 42 42 3e 02 02 02 04 38 00 00
# :
00 00 00 00 00 00 18 18 00 00 00 18 18 00 00 00
# ;
00 00 00 00 00 00 18 18 00 00 00 18 08 08 10 00
# <
00 00 00 00 00 02 04 08 10 20 10 08 04 02 00 00
# =
00 00 00 00 00 00 00 7e 00 00 00 7e 00 00 00 00
# >
00 00 00 00 00 40 20 10 08 04 08 10 20 40 00 00
# ?
00 00 00 00 3c 42 42 02 04 08 08 00 08 08 00 00
# 0x40 = @
00 00 00 00 1c 22 4a 56 52 52 52 4e 20 1e 00 00
# A
00 00 00 00 18 24 24 42 42 7e 42 42 42 42 00 00
# B
00 00 00 00 7c 42 42 42 7c 42 42 42 42 7c 00 00
# C
00 00 00 00 3c 42 42 40 40 40 40 42 42 3c 00 00
# D
00 00 00 00 78 44 42 42 42 42 42 42 44 78 00 00
# E
00 00 00 00 7e 40 40 40 7c 40 40 40 40 7e 00 00
# F
00 00 00 00 7e 40 40 40 7c 40 40 40 40 40 00 00
# G
00 00 00 00 3c 42 42 40 40 4e 42 42 46 3a 00 00
# H
00 00 00 00 42 42 42 42 7e 42 42 42 42 42 00 00
# I
00 00 00 00 3e 08 08 08 08 08 08 08 08 3e 00 00
# J
00 00 00 00 1f 04 04 04 04 04 04 44 44 38 00 00
# K
00 00 00 00 42 44 48 50 60 60 50 48 44 42 00 00
# L
00 00 00 00 40 40 40 40 40 40 40 40 40 7e 00 00
# M
00 00 00 00 42 42 66 66 5a 5a 42 42 42 42 00 00
# N
00 00 00 00 42 62 62 52 52 4a 4a 46 46 42 00 00
# O
00 00 00 00 3c 42 42 42 42 42 42 42 42 3c 00 00
# 0x50 = P
00 00 00 00 7c 42 42 42 7c 40 40 40 40 40 00 00
# Q
00 00 00 00 3c 42 42 42 42 42 42 5a 66 3c 03 00
# R
00 00 00 00 7c 42 42 42 7c 48 44 44 42 42 00 00
# S
00 00 00 00 3c 42 42 40 30 0c 02 42 42 3c 00 00
# T
00 00 00 00 7f 08 08 08 08 08 08 08 08 08 00 00
# U
00 00 00 00 42 42 42 42 42 42 42 42 42 3c 00 00
# V
00 00 00 00 41 41 41 22 22 22 14 14 08 08 00 00
# W
00 00 00 00 42 42 42 42 5a 5a 66 66 42 42 00 00
# X
00 00 00 00 42 42 24 24 18 18 24 24 42 42 00 00
# Y
00 00 00 00 41 41 22 22 14 08 08 08 08 08 00 00
# Z
00 00 00 00 7e 02 02 04 08 10 20 40 40 7e 00 00
# [
00 00 00 0e 08 08 08 08 08 08 08 08 08 08 0e 00
# \
00 00 00 00 40 40 20 10 10 08 08 04 02 02 00 00
# ]
00 00 00 70 10 10 10 10 10 10 10 10 10 10 70 00
# ^
00 00 18 24 42 00 00 00 00 00 00 00 00 00 00 00
# _
00 00 00 00 00 00 00 00 00 00 00 00 00 00 7f 00
# 0x60 = backtick
00 20 10 08 00 00 00 00 00 00 00 00 00 00 00 00
# a
00 00 00 00 00 00 3c 42 02 3e 42 42 46 3a 00 00
# b
00 00 00 40 40 40 5c 62 42 42 42 42 62 5c 00 00
# c
00 00 00 00 00 00 3c 42 40 40 40 40 42 3c 00 00
# d
00 00 00 02 02 02 3a 46 42 42 42 42 46 3a 00 00
# e
00 00 00 00 00 00 3c 42 42 7e 40 40 42 3c 00 00
# f
00 00 00 0c 10 10 10 7c 10 10 10 10 10 10 00 00
# g
00 00 00 00 00 02 3a 44 44 44 38 20 3c 42 42 3c
# h
00 00 00 40 40 40 5c 62 42 42 42 42 42 42 00 00
# i
00 00 00 08 08 00 18 08 08 08 08 08 08 3e 00 00
# j
00 00 00 04 04 00 0c 04 04 04 04 04 04 04 48 30
# k
00 00 00 40 40 40 44 48 50 60 50 48 44 42 00 00
# l
00 00 00 18 08 08 08 08 08 08 08 08 08 3e 00 00
# m
00 00 00 00 00 00 76 49 49 49 49 49 49 49 00 00
# n
00 00 00 00 00 00 5c 62 42 42 42 42 42 42 00 00
# o
00 00 00 00 00 00 3c 42 42 42 42 42 42 3c 00 00
# 0x70 = p
00 00 00 00 00 00 5c 62 42 42 42 42 62 5c 40 40
# q
00 00 00 00 00 00 3a 46 42 42 42 42 46 3a 02 02
# r
00 00 00 00 00 00 5c 62 42 40 40 40 40 40 00 00
# s
00 00 00 00 00 00 3c 42 40 30 0c 02 42 3c 00 00
# t
00 00 00 00 10 10 10 7c 10 10 10 10 10 0c 00 00
# u
00 00 00 00 00 00 42 42 42 42 42 42 46 3a 00 00
# v
00 00 00 00 00 00 42 42 42 24 24 24 18 18 00 00
# w
00 00 00 00 00 00 41 49 49 49 49 49 49 36 00 00
# x
00 00 00 00 00 00 42 42 24 18 18 24 42 42 00 00
# y
00 00 00 00 00 00 42 42 42 42 42 26 1a 02 02 3c
# z
00 00 00 00 00 00 7e 02 04 08 10 20 40 7e 00 00
# {
00 00 00 0c 10 10 08 08 10 20 10 08 08 10 10 0c
# |
00 00 08 08 08 08 08 08 08 08 08 08 08 08 08 08
# }
00 00 00 30 08 08 10 10 08 04 08 10 10 08 08 30
# ~
00 00 00 31 49 46 00 00 00 00 00 00 00 00 00 00
# 0x7f = del (unused)
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

View File

@ -5,4 +5,4 @@ set -e
cat $* [0-9]*.mu |linux/mu > a.subx
./translate_subx boot.subx mu-init.subx [0-9]*.subx a.subx
./translate_subx boot.subx font.subx mu-init.subx [0-9]*.subx a.subx

View File

@ -9,4 +9,4 @@ set -v
cat $* [0-9]*.mu |linux/bootstrap/bootstrap run linux/mu > a.subx
./translate_subx_emulated boot.subx mu-init.subx [0-9]*.subx a.subx
./translate_subx_emulated boot.subx font.subx mu-init.subx [0-9]*.subx a.subx