From 152c52c5f90ec8dbf7ce5eb7858f250a3cfadbdc Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 21 Nov 2020 22:18:31 +0000 Subject: [PATCH] Extract the fonts to separate BMP files rather than combined BIN files --- assets/font/font.s | 216 ++++++++++++++++++++++++++++++++++++++++++- extract_baserom.u.sh | 18 ++++ filelist.u.csv | 193 +++++++++++++++++++++++++++++++++++++- font_bmp_header.bin | Bin 0 -> 1146 bytes 4 files changed, 423 insertions(+), 4 deletions(-) mode change 100644 => 100755 extract_baserom.u.sh create mode 100644 font_bmp_header.bin diff --git a/assets/font/font.s b/assets/font/font.s index fcbdf8e1..ea519b6b 100644 --- a/assets/font/font.s +++ b/assets/font/font.s @@ -7,7 +7,103 @@ _fonttablectlsmall1SegmentRomEnd: .global font_second_font_table_controller_small font_second_font_table_controller_small: -.incbin "assets/font/font_second_font_table_controller_small.bin" +.incbin "assets/font/font_second_font_table_controller_small_header.bin" +.incbin "assets/font/small_unknownfont01_08_x_09.bmp", 1146 +.incbin "assets/font/small_unknownfont02_08_x_06.bmp", 1146 +.incbin "assets/font/small_hashtag_08_x_11.bmp", 1146 +.incbin "assets/font/small_dollar_08_x_11.bmp", 1146 +.incbin "assets/font/small_percentage_16_x_08.bmp", 1146 +.incbin "assets/font/paddingafter16pxwidefonts_08_x_01.bmp", 1146 +.incbin "assets/font/small_ampersand_08_x_09.bmp", 1146 +.incbin "assets/font/small_unknownfont03_08_x_06.bmp", 1146 +.incbin "assets/font/small_leftroundbracket_08_x_09.bmp", 1146 +.incbin "assets/font/small_rightroundbracket_08_x_09.bmp", 1146 +.incbin "assets/font/small_unknownfont04_08_x_06.bmp", 1146 +.incbin "assets/font/small_plus_08_x_10.bmp", 1146 +.incbin "assets/font/small_unknownfont05_08_x_05.bmp", 1146 +.incbin "assets/font/small_unknownfont06_08_x_03.bmp", 1146 +.incbin "assets/font/small_unknownfont07_08_x_04.bmp", 1146 +.incbin "assets/font/small_forwardslash_08_x_09.bmp", 1146 +.incbin "assets/font/small_0_08_x_09.bmp", 1146 +.incbin "assets/font/small_1_08_x_09.bmp", 1146 +.incbin "assets/font/small_2_08_x_09.bmp", 1146 +.incbin "assets/font/small_3_08_x_09.bmp", 1146 +.incbin "assets/font/small_4_08_x_09.bmp", 1146 +.incbin "assets/font/small_5_08_x_09.bmp", 1146 +.incbin "assets/font/small_6_08_x_09.bmp", 1146 +.incbin "assets/font/small_7_08_x_09.bmp", 1146 +.incbin "assets/font/small_8_08_x_09.bmp", 1146 +.incbin "assets/font/small_9_08_x_09.bmp", 1146 +.incbin "assets/font/small_unknownfont08_08_x_08.bmp", 1146 +.incbin "assets/font/small_unknownfont09_08_x_09.bmp", 1146 +.incbin "assets/font/small_leftarrow_08_x_08.bmp", 1146 +.incbin "assets/font/small_unknownfont10_08_x_06.bmp", 1146 +.incbin "assets/font/small_rightarrow_08_x_08.bmp", 1146 +.incbin "assets/font/small_questionmark_08_x_09.bmp", 1146 +.incbin "assets/font/small_downarrow_08_x_06.bmp", 1146 +.incbin "assets/font/small_A01_08_x_09.bmp", 1146 +.incbin "assets/font/small_B01_08_x_09.bmp", 1146 +.incbin "assets/font/small_C01_08_x_09.bmp", 1146 +.incbin "assets/font/small_D01_08_x_09.bmp", 1146 +.incbin "assets/font/small_E01_08_x_09.bmp", 1146 +.incbin "assets/font/small_F01_08_x_09.bmp", 1146 +.incbin "assets/font/small_G01_08_x_09.bmp", 1146 +.incbin "assets/font/small_H01_08_x_09.bmp", 1146 +.incbin "assets/font/small_I01_08_x_09.bmp", 1146 +.incbin "assets/font/small_J01_08_x_09.bmp", 1146 +.incbin "assets/font/small_K01_08_x_09.bmp", 1146 +.incbin "assets/font/small_L01_08_x_09.bmp", 1146 +.incbin "assets/font/small_M01_08_x_09.bmp", 1146 +.incbin "assets/font/small_N01_08_x_09.bmp", 1146 +.incbin "assets/font/small_O01_08_x_09.bmp", 1146 +.incbin "assets/font/small_P01_08_x_09.bmp", 1146 +.incbin "assets/font/small_Q01_08_x_10.bmp", 1146 +.incbin "assets/font/small_R01_08_x_09.bmp", 1146 +.incbin "assets/font/small_S01_08_x_09.bmp", 1146 +.incbin "assets/font/small_T01_08_x_09.bmp", 1146 +.incbin "assets/font/small_U01_08_x_09.bmp", 1146 +.incbin "assets/font/small_V01_08_x_09.bmp", 1146 +.incbin "assets/font/small_W01_16_x_08.bmp", 1146 +.incbin "assets/font/paddingafter16pxwidefonts_08_x_01.bmp", 1146 +.incbin "assets/font/small_X01_08_x_09.bmp", 1146 +.incbin "assets/font/small_Y01_08_x_09.bmp", 1146 +.incbin "assets/font/small_Z01_08_x_09.bmp", 1146 +.incbin "assets/font/small_leftsquarebracket_08_x_09.bmp", 1146 +.incbin "assets/font/small_X03_08_x_09.bmp", 1146 +.incbin "assets/font/small_rightsquarebracket_08_x_09.bmp", 1146 +.incbin "assets/font/small_uparrow_08_x_06.bmp", 1146 +.incbin "assets/font/small_unknownfont11_08_x_04.bmp", 1146 +.incbin "assets/font/small_unknownfont12_08_x_04.bmp", 1146 +.incbin "assets/font/small_A02_08_x_08.bmp", 1146 +.incbin "assets/font/small_B02_08_x_08.bmp", 1146 +.incbin "assets/font/small_C02_08_x_08.bmp", 1146 +.incbin "assets/font/small_D02_08_x_08.bmp", 1146 +.incbin "assets/font/small_E02_08_x_08.bmp", 1146 +.incbin "assets/font/small_F02_08_x_08.bmp", 1146 +.incbin "assets/font/small_G02_08_x_08.bmp", 1146 +.incbin "assets/font/small_H02_08_x_08.bmp", 1146 +.incbin "assets/font/small_I02_08_x_08.bmp", 1146 +.incbin "assets/font/small_J02_08_x_08.bmp", 1146 +.incbin "assets/font/small_K02_08_x_08.bmp", 1146 +.incbin "assets/font/small_L02_08_x_08.bmp", 1146 +.incbin "assets/font/small_M02_08_x_08.bmp", 1146 +.incbin "assets/font/small_N02_08_x_08.bmp", 1146 +.incbin "assets/font/small_O02_08_x_08.bmp", 1146 +.incbin "assets/font/small_P02_08_x_08.bmp", 1146 +.incbin "assets/font/small_Q02_08_x_09.bmp", 1146 +.incbin "assets/font/small_R02_08_x_08.bmp", 1146 +.incbin "assets/font/small_S02_08_x_08.bmp", 1146 +.incbin "assets/font/small_T02_08_x_08.bmp", 1146 +.incbin "assets/font/small_U02_08_x_08.bmp", 1146 +.incbin "assets/font/small_V02_08_x_08.bmp", 1146 +.incbin "assets/font/small_W02_08_x_08.bmp", 1146 +.incbin "assets/font/small_X02_08_x_08.bmp", 1146 +.incbin "assets/font/small_Y02_08_x_08.bmp", 1146 +.incbin "assets/font/small_Z02_08_x_08.bmp", 1146 +.incbin "assets/font/small_leftcurlybracket_08_x_13.bmp", 1146 +.incbin "assets/font/small_unknownfont13_08_x_15.bmp", 1146 +.incbin "assets/font/small_rightcurlybracket_08_x_13.bmp", 1146 +.incbin "assets/font/small_unknownfont14_08_x_04.bmp", 1146 font_second_font_table_controller_small_end: .global _fonttablectllarge1SegmentRomStart @@ -17,5 +113,121 @@ _fonttablectllarge1SegmentRomEnd: .global font_second_font_table_controller_large font_second_font_table_controller_large: -.incbin "assets/font/font_second_font_table_controller_large.bin" +.incbin "assets/font/font_second_font_table_controller_large_header.bin" +.incbin "assets/font/large_unknownfont01_08_x_13.bmp", 1146 +.incbin "assets/font/large_unknownfont02_08_x_07.bmp", 1146 +.incbin "assets/font/large_hashtag_16_x_12.bmp", 1146 +.incbin "assets/font/paddingafter16pxwidefonts_08_x_01.bmp", 1146 +.incbin "assets/font/large_dollar_08_x_14.bmp", 1146 +.incbin "assets/font/large_percentage_16_x_12.bmp", 1146 +.incbin "assets/font/paddingafter16pxwidefonts_08_x_01.bmp", 1146 +.incbin "assets/font/large_ampersand_08_x_13.bmp", 1146 +.incbin "assets/font/large_unknownfont03_08_x_07.bmp", 1146 +.incbin "assets/font/large_leftroundbracket_08_x_15.bmp", 1146 +.incbin "assets/font/large_rightroundbracket_08_x_15.bmp", 1146 +.incbin "assets/font/large_asterisk_08_x_07.bmp", 1146 +.incbin "assets/font/large_plus_16_x_10.bmp", 1146 +.incbin "assets/font/paddingafter16pxwidefonts_08_x_01.bmp", 1146 +.incbin "assets/font/large_unknownfont04_08_x_05.bmp", 1146 +.incbin "assets/font/large_unknownfont05_08_x_04.bmp", 1146 +.incbin "assets/font/large_unknownfont06_08_x_04.bmp", 1146 +.incbin "assets/font/large_forwardslash_08_x_14.bmp", 1146 +.incbin "assets/font/large_0_08_x_13.bmp", 1146 +.incbin "assets/font/large_1_08_x_12.bmp", 1146 +.incbin "assets/font/large_2_08_x_13.bmp", 1146 +.incbin "assets/font/large_3_08_x_13.bmp", 1146 +.incbin "assets/font/large_4_08_x_12.bmp", 1146 +.incbin "assets/font/large_5_08_x_12.bmp", 1146 +.incbin "assets/font/large_6_08_x_13.bmp", 1146 +.incbin "assets/font/large_7_08_x_12.bmp", 1146 +.incbin "assets/font/large_8_08_x_13.bmp", 1146 +.incbin "assets/font/large_9_08_x_13.bmp", 1146 +.incbin "assets/font/large_unknownfont07_08_x_10.bmp", 1146 +.incbin "assets/font/large_unknownfont08_08_x_11.bmp", 1146 +.incbin "assets/font/large_leftarrow_16_x_08.bmp", 1146 +.incbin "assets/font/paddingafter16pxwidefonts_08_x_01.bmp", 1146 +.incbin "assets/font/large_unknownfont09_16_x_05.bmp", 1146 +.incbin "assets/font/paddingafter16pxwidefonts_08_x_01.bmp", 1146 +.incbin "assets/font/large_rightarrow_16_x_08.bmp", 1146 +.incbin "assets/font/paddingafter16pxwidefonts_08_x_01.bmp", 1146 +.incbin "assets/font/large_questionmark_08_x_13.bmp", 1146 +.incbin "assets/font/large_atsign_16_x_14.bmp", 1146 +.incbin "assets/font/paddingafter16pxwidefonts_08_x_01.bmp", 1146 +.incbin "assets/font/large_uppercaseA_16_x_12.bmp", 1146 +.incbin "assets/font/paddingafter16pxwidefonts_08_x_01.bmp", 1146 +.incbin "assets/font/large_uppercaseB_08_x_13.bmp", 1146 +.incbin "assets/font/large_uppercaseC_16_x_12.bmp", 1146 +.incbin "assets/font/paddingafter16pxwidefonts_08_x_01.bmp", 1146 +.incbin "assets/font/large_uppercaseD_16_x_12.bmp", 1146 +.incbin "assets/font/paddingafter16pxwidefonts_08_x_01.bmp", 1146 +.incbin "assets/font/large_uppercaseE_08_x_13.bmp", 1146 +.incbin "assets/font/large_uppercaseF_08_x_13.bmp", 1146 +.incbin "assets/font/large_uppercaseG_16_x_12.bmp", 1146 +.incbin "assets/font/paddingafter16pxwidefonts_08_x_01.bmp", 1146 +.incbin "assets/font/large_uppercaseH_08_x_13.bmp", 1146 +.incbin "assets/font/large_uppercaseI_08_x_13.bmp", 1146 +.incbin "assets/font/large_uppercaseJ_08_x_13.bmp", 1146 +.incbin "assets/font/large_uppercaseK_08_x_13.bmp", 1146 +.incbin "assets/font/large_uppercaseL_08_x_13.bmp", 1146 +.incbin "assets/font/large_uppercaseM_16_x_12.bmp", 1146 +.incbin "assets/font/paddingafter16pxwidefonts_08_x_01.bmp", 1146 +.incbin "assets/font/large_uppercaseN_08_x_13.bmp", 1146 +.incbin "assets/font/large_uppercaseO_16_x_12.bmp", 1146 +.incbin "assets/font/paddingafter16pxwidefonts_08_x_01.bmp", 1146 +.incbin "assets/font/large_uppercaseP_08_x_13.bmp", 1146 +.incbin "assets/font/large_uppercaseQ_16_x_12.bmp", 1146 +.incbin "assets/font/paddingafter16pxwidefonts_08_x_01.bmp", 1146 +.incbin "assets/font/large_uppercaseR_08_x_13.bmp", 1146 +.incbin "assets/font/large_uppercaseS_08_x_13.bmp", 1146 +.incbin "assets/font/large_uppercaseT_08_x_13.bmp", 1146 +.incbin "assets/font/large_uppercaseU_08_x_13.bmp", 1146 +.incbin "assets/font/large_uppercaseV_16_x_12.bmp", 1146 +.incbin "assets/font/paddingafter16pxwidefonts_08_x_01.bmp", 1146 +.incbin "assets/font/large_uppercaseW_16_x_12.bmp", 1146 +.incbin "assets/font/paddingafter16pxwidefonts_08_x_01.bmp", 1146 +.incbin "assets/font/large_uppercaseX_16_x_12.bmp", 1146 +.incbin "assets/font/paddingafter16pxwidefonts_08_x_01.bmp", 1146 +.incbin "assets/font/large_uppercaseY_16_x_12.bmp", 1146 +.incbin "assets/font/paddingafter16pxwidefonts_08_x_01.bmp", 1146 +.incbin "assets/font/large_uppercaseZ_08_x_13.bmp", 1146 +.incbin "assets/font/large_leftsquarebracket_08_x_15.bmp", 1146 +.incbin "assets/font/large_X03_16_x_12.bmp", 1146 +.incbin "assets/font/paddingafter16pxwidefonts_08_x_01.bmp", 1146 +.incbin "assets/font/large_rightsquarebracket_08_x_15.bmp", 1146 +.incbin "assets/font/large_uparrow_16_x_06.bmp", 1146 +.incbin "assets/font/paddingafter16pxwidefonts_08_x_01.bmp", 1146 +.incbin "assets/font/large_unknownfont10_08_x_03.bmp", 1146 +.incbin "assets/font/large_unknownfont11_08_x_05.bmp", 1146 +.incbin "assets/font/large_lowercaseA_08_x_10.bmp", 1146 +.incbin "assets/font/large_lowercaseB_08_x_13.bmp", 1146 +.incbin "assets/font/large_lowercaseC_08_x_10.bmp", 1146 +.incbin "assets/font/large_lowercaseD_08_x_13.bmp", 1146 +.incbin "assets/font/large_lowercaseE_08_x_10.bmp", 1146 +.incbin "assets/font/large_lowercaseF_08_x_13.bmp", 1146 +.incbin "assets/font/large_lowercaseG_08_x_12.bmp", 1146 +.incbin "assets/font/large_lowercaseH_08_x_13.bmp", 1146 +.incbin "assets/font/large_lowercaseI_08_x_13.bmp", 1146 +.incbin "assets/font/large_lowercaseJ_08_x_15.bmp", 1146 +.incbin "assets/font/large_lowercaseK_08_x_13.bmp", 1146 +.incbin "assets/font/large_lowercaseL_08_x_13.bmp", 1146 +.incbin "assets/font/large_lowercaseM_16_x_09.bmp", 1146 +.incbin "assets/font/paddingafter16pxwidefonts_08_x_01.bmp", 1146 +.incbin "assets/font/large_lowercaseN_08_x_10.bmp", 1146 +.incbin "assets/font/large_lowercaseO_08_x_10.bmp", 1146 +.incbin "assets/font/large_lowercaseP_08_x_12.bmp", 1146 +.incbin "assets/font/large_lowercaseQ_08_x_12.bmp", 1146 +.incbin "assets/font/large_lowercaseR_08_x_10.bmp", 1146 +.incbin "assets/font/large_lowercaseS_08_x_10.bmp", 1146 +.incbin "assets/font/large_lowercaseT_08_x_11.bmp", 1146 +.incbin "assets/font/large_lowercaseU_08_x_10.bmp", 1146 +.incbin "assets/font/large_lowercaseV_08_x_10.bmp", 1146 +.incbin "assets/font/large_lowercaseW_16_x_09.bmp", 1146 +.incbin "assets/font/paddingafter16pxwidefonts_08_x_01.bmp", 1146 +.incbin "assets/font/large_lowercaseX_08_x_10.bmp", 1146 +.incbin "assets/font/large_lowercaseY_08_x_12.bmp", 1146 +.incbin "assets/font/large_lowercaseZ_08_x_10.bmp", 1146 +.incbin "assets/font/large_leftcurlybracket_08_x_16.bmp", 1146 +.incbin "assets/font/large_unknownfont12_08_x_16.bmp", 1146 +.incbin "assets/font/large_rightcurlybracket_08_x_15.bmp", 1146 +.incbin "assets/font/large_unknownfont13_08_x_07.bmp", 1146 font_second_font_table_controller_large_end: diff --git a/extract_baserom.u.sh b/extract_baserom.u.sh old mode 100644 new mode 100755 index 6a8e79bc..f866b958 --- a/extract_baserom.u.sh +++ b/extract_baserom.u.sh @@ -54,3 +54,21 @@ if [ "$DOALL" == "1" ] || [ $1 == 'images' ]; then #formatting matters, no comments, no extra lines, unix line endings only #and always end with a newline fi + +for file in assets/font/*.bmp +do + #add the BMP header to the raw font image data + sed -i -e '1 e cat font_bmp_header.bin' $file + #extract the width and height from the filename + width=$((10#$(echo ${file: (( ${#file} - 11)) :2}))) + height=$((10#$(echo ${file: (( ${#file} - 6)) :2}))) + #invert the height, as the fonts are upside-down + height=$((256 - $height)) + #convert the width and height from decimal to hexadecimal + printf -v width "%X" "$width" + printf -v height "%X" "$height" + #write the width and height values to the BMP header + echo -n -e \\x$width | dd conv=notrunc bs=1 seek=18 of=$file + echo -n -e \\x$height | dd conv=notrunc bs=1 seek=22 of=$file + echo -n -e \\xFF\\xFF\\xFF | dd conv=notrunc bs=1 seek=23 of=$file +done diff --git a/filelist.u.csv b/filelist.u.csv index c50219ef..15f15cc7 100644 --- a/filelist.u.csv +++ b/filelist.u.csv @@ -21,9 +21,198 @@ 3010848,13536,assets/ramrom/ramrom_Frigate_2.bin,0,1 3024384,15856,assets/ramrom/ramrom_Train.bin,0,1 3040240,676,assets/font/font_first_font_table_controller_small.bin,0,1 -3040916,8716,assets/font/font_second_font_table_controller_small.bin,0,1 +3040916,2268,assets/font/font_second_font_table_controller_small_header.bin,0,1 +3043184,72,assets/font/small_unknownfont01_08_x_09.bmp,0,1 +3043256,48,assets/font/small_unknownfont02_08_x_06.bmp,0,1 +3043304,88,assets/font/small_hashtag_08_x_11.bmp,0,1 +3043392,88,assets/font/small_dollar_08_x_11.bmp,0,1 +3043480,128,assets/font/small_percentage_16_x_08.bmp,0,1 +3043608,8,assets/font/paddingafter16pxwidefonts_08_x_01.bmp,0,1 +3043616,72,assets/font/small_ampersand_08_x_09.bmp,0,1 +3043688,48,assets/font/small_unknownfont03_08_x_06.bmp,0,1 +3043736,72,assets/font/small_leftroundbracket_08_x_09.bmp,0,1 +3043808,72,assets/font/small_rightroundbracket_08_x_09.bmp,0,1 +3043880,48,assets/font/small_unknownfont04_08_x_06.bmp,0,1 +3043928,80,assets/font/small_plus_08_x_10.bmp,0,1 +3044008,40,assets/font/small_unknownfont05_08_x_05.bmp,0,1 +3044048,24,assets/font/small_unknownfont06_08_x_03.bmp,0,1 +3044072,32,assets/font/small_unknownfont07_08_x_04.bmp,0,1 +3044104,72,assets/font/small_forwardslash_08_x_09.bmp,0,1 +3044176,72,assets/font/small_0_08_x_09.bmp,0,1 +3044248,72,assets/font/small_1_08_x_09.bmp,0,1 +3044320,72,assets/font/small_2_08_x_09.bmp,0,1 +3044392,72,assets/font/small_3_08_x_09.bmp,0,1 +3044464,72,assets/font/small_4_08_x_09.bmp,0,1 +3044536,72,assets/font/small_5_08_x_09.bmp,0,1 +3044608,72,assets/font/small_6_08_x_09.bmp,0,1 +3044680,72,assets/font/small_7_08_x_09.bmp,0,1 +3044752,72,assets/font/small_8_08_x_09.bmp,0,1 +3044824,72,assets/font/small_9_08_x_09.bmp,0,1 +3044896,64,assets/font/small_unknownfont08_08_x_08.bmp,0,1 +3044960,72,assets/font/small_unknownfont09_08_x_09.bmp,0,1 +3045032,64,assets/font/small_leftarrow_08_x_08.bmp,0,1 +3045096,48,assets/font/small_unknownfont10_08_x_06.bmp,0,1 +3045144,64,assets/font/small_rightarrow_08_x_08.bmp,0,1 +3045208,72,assets/font/small_questionmark_08_x_09.bmp,0,1 +3045280,48,assets/font/small_downarrow_08_x_06.bmp,0,1 +3045328,72,assets/font/small_A01_08_x_09.bmp,0,1 +3045400,72,assets/font/small_B01_08_x_09.bmp,0,1 +3045472,72,assets/font/small_C01_08_x_09.bmp,0,1 +3045544,72,assets/font/small_D01_08_x_09.bmp,0,1 +3045616,72,assets/font/small_E01_08_x_09.bmp,0,1 +3045688,72,assets/font/small_F01_08_x_09.bmp,0,1 +3045760,72,assets/font/small_G01_08_x_09.bmp,0,1 +3045832,72,assets/font/small_H01_08_x_09.bmp,0,1 +3045904,72,assets/font/small_I01_08_x_09.bmp,0,1 +3045976,72,assets/font/small_J01_08_x_09.bmp,0,1 +3046048,72,assets/font/small_K01_08_x_09.bmp,0,1 +3046120,72,assets/font/small_L01_08_x_09.bmp,0,1 +3046192,72,assets/font/small_M01_08_x_09.bmp,0,1 +3046264,72,assets/font/small_N01_08_x_09.bmp,0,1 +3046336,72,assets/font/small_O01_08_x_09.bmp,0,1 +3046408,72,assets/font/small_P01_08_x_09.bmp,0,1 +3046480,80,assets/font/small_Q01_08_x_10.bmp,0,1 +3046560,72,assets/font/small_R01_08_x_09.bmp,0,1 +3046632,72,assets/font/small_S01_08_x_09.bmp,0,1 +3046704,72,assets/font/small_T01_08_x_09.bmp,0,1 +3046776,72,assets/font/small_U01_08_x_09.bmp,0,1 +3046848,72,assets/font/small_V01_08_x_09.bmp,0,1 +3046920,128,assets/font/small_W01_16_x_08.bmp,0,1 +3047056,72,assets/font/small_X01_08_x_09.bmp,0,1 +3047128,72,assets/font/small_Y01_08_x_09.bmp,0,1 +3047200,72,assets/font/small_Z01_08_x_09.bmp,0,1 +3047272,72,assets/font/small_leftsquarebracket_08_x_09.bmp,0,1 +3047344,72,assets/font/small_X03_08_x_09.bmp,0,1 +3047416,72,assets/font/small_rightsquarebracket_08_x_09.bmp,0,1 +3047488,48,assets/font/small_uparrow_08_x_06.bmp,0,1 +3047536,32,assets/font/small_unknownfont11_08_x_04.bmp,0,1 +3047568,32,assets/font/small_unknownfont12_08_x_04.bmp,0,1 +3047600,64,assets/font/small_A02_08_x_08.bmp,0,1 +3047664,64,assets/font/small_B02_08_x_08.bmp,0,1 +3047728,64,assets/font/small_C02_08_x_08.bmp,0,1 +3047792,64,assets/font/small_D02_08_x_08.bmp,0,1 +3047856,64,assets/font/small_E02_08_x_08.bmp,0,1 +3047920,64,assets/font/small_F02_08_x_08.bmp,0,1 +3047984,64,assets/font/small_G02_08_x_08.bmp,0,1 +3048048,64,assets/font/small_H02_08_x_08.bmp,0,1 +3048112,64,assets/font/small_I02_08_x_08.bmp,0,1 +3048176,64,assets/font/small_J02_08_x_08.bmp,0,1 +3048240,64,assets/font/small_K02_08_x_08.bmp,0,1 +3048304,64,assets/font/small_L02_08_x_08.bmp,0,1 +3048368,64,assets/font/small_M02_08_x_08.bmp,0,1 +3048432,64,assets/font/small_N02_08_x_08.bmp,0,1 +3048496,64,assets/font/small_O02_08_x_08.bmp,0,1 +3048560,64,assets/font/small_P02_08_x_08.bmp,0,1 +3048624,72,assets/font/small_Q02_08_x_09.bmp,0,1 +3048696,64,assets/font/small_R02_08_x_08.bmp,0,1 +3048760,64,assets/font/small_S02_08_x_08.bmp,0,1 +3048824,64,assets/font/small_T02_08_x_08.bmp,0,1 +3048888,64,assets/font/small_U02_08_x_08.bmp,0,1 +3048952,64,assets/font/small_V02_08_x_08.bmp,0,1 +3049016,64,assets/font/small_W02_08_x_08.bmp,0,1 +3049080,64,assets/font/small_X02_08_x_08.bmp,0,1 +3049144,64,assets/font/small_Y02_08_x_08.bmp,0,1 +3049208,64,assets/font/small_Z02_08_x_08.bmp,0,1 +3049272,104,assets/font/small_leftcurlybracket_08_x_13.bmp,0,1 +3049376,120,assets/font/small_unknownfont13_08_x_15.bmp,0,1 +3049496,104,assets/font/small_rightcurlybracket_08_x_13.bmp,0,1 +3049600,32,assets/font/small_unknownfont14_08_x_04.bmp,0,1 3049632,676,assets/font/font_first_font_table_controller_large.bin,0,1 -3050308,12956,assets/font/font_second_font_table_controller_large.bin,0,1 +3050308,2268,assets/font/font_second_font_table_controller_large_header.bin,0,1 +3052576,104,assets/font/large_unknownfont01_08_x_13.bmp,0,1 +3052680,56,assets/font/large_unknownfont02_08_x_07.bmp,0,1 +3052736,192,assets/font/large_hashtag_16_x_12.bmp,0,1 +3052936,112,assets/font/large_dollar_08_x_14.bmp,0,1 +3053048,192,assets/font/large_percentage_16_x_12.bmp,0,1 +3053248,104,assets/font/large_ampersand_08_x_13.bmp,0,1 +3053352,56,assets/font/large_unknownfont03_08_x_07.bmp,0,1 +3053408,120,assets/font/large_leftroundbracket_08_x_15.bmp,0,1 +3053528,120,assets/font/large_rightroundbracket_08_x_15.bmp,0,1 +3053648,56,assets/font/large_asterisk_08_x_07.bmp,0,1 +3053704,160,assets/font/large_plus_16_x_10.bmp,0,1 +3053872,40,assets/font/large_unknownfont04_08_x_05.bmp,0,1 +3053912,32,assets/font/large_unknownfont05_08_x_04.bmp,0,1 +3053944,32,assets/font/large_unknownfont06_08_x_04.bmp,0,1 +3053976,112,assets/font/large_forwardslash_08_x_14.bmp,0,1 +3054088,104,assets/font/large_0_08_x_13.bmp,0,1 +3054192,96,assets/font/large_1_08_x_12.bmp,0,1 +3054288,104,assets/font/large_2_08_x_13.bmp,0,1 +3054392,104,assets/font/large_3_08_x_13.bmp,0,1 +3054496,96,assets/font/large_4_08_x_12.bmp,0,1 +3054592,96,assets/font/large_5_08_x_12.bmp,0,1 +3054688,104,assets/font/large_6_08_x_13.bmp,0,1 +3054792,96,assets/font/large_7_08_x_12.bmp,0,1 +3054888,104,assets/font/large_8_08_x_13.bmp,0,1 +3054992,104,assets/font/large_9_08_x_13.bmp,0,1 +3055096,80,assets/font/large_unknownfont07_08_x_10.bmp,0,1 +3055176,88,assets/font/large_unknownfont08_08_x_11.bmp,0,1 +3055264,128,assets/font/large_leftarrow_16_x_08.bmp,0,1 +3055400,80,assets/font/large_unknownfont09_16_x_05.bmp,0,1 +3055488,128,assets/font/large_rightarrow_16_x_08.bmp,0,1 +3055624,104,assets/font/large_questionmark_08_x_13.bmp,0,1 +3055728,224,assets/font/large_atsign_16_x_14.bmp,0,1 +3055960,192,assets/font/large_uppercaseA_16_x_12.bmp,0,1 +3056160,104,assets/font/large_uppercaseB_08_x_13.bmp,0,1 +3056264,192,assets/font/large_uppercaseC_16_x_12.bmp,0,1 +3056464,192,assets/font/large_uppercaseD_16_x_12.bmp,0,1 +3056664,104,assets/font/large_uppercaseE_08_x_13.bmp,0,1 +3056768,104,assets/font/large_uppercaseF_08_x_13.bmp,0,1 +3056872,192,assets/font/large_uppercaseG_16_x_12.bmp,0,1 +3057072,104,assets/font/large_uppercaseH_08_x_13.bmp,0,1 +3057176,104,assets/font/large_uppercaseI_08_x_13.bmp,0,1 +3057280,104,assets/font/large_uppercaseJ_08_x_13.bmp,0,1 +3057384,104,assets/font/large_uppercaseK_08_x_13.bmp,0,1 +3057488,104,assets/font/large_uppercaseL_08_x_13.bmp,0,1 +3057592,192,assets/font/large_uppercaseM_16_x_12.bmp,0,1 +3057792,104,assets/font/large_uppercaseN_08_x_13.bmp,0,1 +3057896,192,assets/font/large_uppercaseO_16_x_12.bmp,0,1 +3058096,104,assets/font/large_uppercaseP_08_x_13.bmp,0,1 +3058200,192,assets/font/large_uppercaseQ_16_x_12.bmp,0,1 +3058400,104,assets/font/large_uppercaseR_08_x_13.bmp,0,1 +3058504,104,assets/font/large_uppercaseS_08_x_13.bmp,0,1 +3058608,104,assets/font/large_uppercaseT_08_x_13.bmp,0,1 +3058712,104,assets/font/large_uppercaseU_08_x_13.bmp,0,1 +3058816,192,assets/font/large_uppercaseV_16_x_12.bmp,0,1 +3059016,192,assets/font/large_uppercaseW_16_x_12.bmp,0,1 +3059216,192,assets/font/large_uppercaseX_16_x_12.bmp,0,1 +3059416,192,assets/font/large_uppercaseY_16_x_12.bmp,0,1 +3059616,104,assets/font/large_uppercaseZ_08_x_13.bmp,0,1 +3059720,120,assets/font/large_leftsquarebracket_08_x_15.bmp,0,1 +3059840,192,assets/font/large_X03_16_x_12.bmp,0,1 +3060040,120,assets/font/large_rightsquarebracket_08_x_15.bmp,0,1 +3060160,96,assets/font/large_uparrow_16_x_06.bmp,0,1 +3060264,24,assets/font/large_unknownfont10_08_x_03.bmp,0,1 +3060288,40,assets/font/large_unknownfont11_08_x_05.bmp,0,1 +3060328,80,assets/font/large_lowercaseA_08_x_10.bmp,0,1 +3060408,104,assets/font/large_lowercaseB_08_x_13.bmp,0,1 +3060512,80,assets/font/large_lowercaseC_08_x_10.bmp,0,1 +3060592,104,assets/font/large_lowercaseD_08_x_13.bmp,0,1 +3060696,80,assets/font/large_lowercaseE_08_x_10.bmp,0,1 +3060776,104,assets/font/large_lowercaseF_08_x_13.bmp,0,1 +3060880,96,assets/font/large_lowercaseG_08_x_12.bmp,0,1 +3060976,104,assets/font/large_lowercaseH_08_x_13.bmp,0,1 +3061080,104,assets/font/large_lowercaseI_08_x_13.bmp,0,1 +3061184,120,assets/font/large_lowercaseJ_08_x_15.bmp,0,1 +3061304,104,assets/font/large_lowercaseK_08_x_13.bmp,0,1 +3061408,104,assets/font/large_lowercaseL_08_x_13.bmp,0,1 +3061512,144,assets/font/large_lowercaseM_16_x_09.bmp,0,1 +3061664,80,assets/font/large_lowercaseN_08_x_10.bmp,0,1 +3061744,80,assets/font/large_lowercaseO_08_x_10.bmp,0,1 +3061824,96,assets/font/large_lowercaseP_08_x_12.bmp,0,1 +3061920,96,assets/font/large_lowercaseQ_08_x_12.bmp,0,1 +3062016,80,assets/font/large_lowercaseR_08_x_10.bmp,0,1 +3062096,80,assets/font/large_lowercaseS_08_x_10.bmp,0,1 +3062176,88,assets/font/large_lowercaseT_08_x_11.bmp,0,1 +3062264,80,assets/font/large_lowercaseU_08_x_10.bmp,0,1 +3062344,80,assets/font/large_lowercaseV_08_x_10.bmp,0,1 +3062424,144,assets/font/large_lowercaseW_16_x_09.bmp,0,1 +3062576,80,assets/font/large_lowercaseX_08_x_10.bmp,0,1 +3062656,96,assets/font/large_lowercaseY_08_x_12.bmp,0,1 +3062752,80,assets/font/large_lowercaseZ_08_x_10.bmp,0,1 +3062832,128,assets/font/large_leftcurlybracket_08_x_16.bmp,0,1 +3062960,128,assets/font/large_unknownfont12_08_x_16.bmp,0,1 +3063088,120,assets/font/large_rightcurlybracket_08_x_15.bmp,0,1 +3063208,56,assets/font/large_unknownfont13_08_x_07.bmp,0,1 3063264,23488,assets/music/sfx.ctl,0,1 3086752,797360,assets/music/sfx.tbl,0,1 3884112,17312,assets/music/instruments.ctl,0,1 diff --git a/font_bmp_header.bin b/font_bmp_header.bin new file mode 100644 index 0000000000000000000000000000000000000000..939e6c75efce0fc7ecf9e9dee04f94124f5a71d5 GIT binary patch literal 1146 zcmaKhXEYEB0EItNA!*PeBTABzl95m{T1H5sj8a)iM%lY1O)Z)fMT4|ZS*1Z!DijUU zR8gX=_s%=LbKW`cop=A-``ypbjNb_s0#j69?Xy-Ll`=AD8q&gLrO{tX=!PO41;ED3p|x7(IG4%F4=&88ZeI6&1#g9gC`}D&xkDWBmB> zsHv$jVZsE|)zz6eaUzo@O+rIMgUOR8qp7KhmX;RU+S=&o=rCo<6m)fUnL2eUdU|^3 z>+54+V8FC#)0jSeI);XZ%$P9)BO@b>jg2ueF~QW-l$kSUGHcc>X3w6@oH=utJ9jQ- zW@eb1n`2>Nfu*G-^XARN%E}6BYin$5Y?wcPKDM^DELgArJ3BiTE?kJcy*&;N4lG)< zh{cN+PU+t-{C0ht;cBV)5*xl;N;1ZoH})i)2B~!=FAx~Gc(D`%Hr(Vvt(yybMD+Z&YwTeg$ozBc<~~a zE?pugCx_hJT=MerxP19CSFT*)>eZ{{=jT&UP(Wc}Aw@++6c-nB?br(?%d(--MieocaQt`@AKfn10FtnNO^fVj~+duqN0Mw zk00~o$rGMFeM)6zB~?{bR99E??AbG(KYvb5O%1iRwY+%of|oB}^6J$qUcY`#U0ogZ z_4T}Y^M;0o2Hw7X%e!~)c>n%AA3l8G+yzU-pF literal 0 HcmV?d00001