diff options
-rw-r--r-- | pcsound/pcsound_sdl.c | 7 | ||||
-rw-r--r-- | src/i_main.c | 23 | ||||
-rw-r--r-- | src/setup/multiplayer.c | 42 | ||||
-rw-r--r-- | textscreen/Makefile.am | 3 | ||||
-rw-r--r-- | textscreen/examples/calculator.c | 25 | ||||
-rw-r--r-- | textscreen/examples/guitest.c | 29 | ||||
-rw-r--r-- | textscreen/txt_desktop.c | 11 | ||||
-rw-r--r-- | textscreen/txt_font.h | 9 | ||||
-rw-r--r-- | textscreen/txt_inputbox.c | 2 | ||||
-rw-r--r-- | textscreen/txt_sdl.c | 80 | ||||
-rw-r--r-- | textscreen/txt_smallfont.h | 2884 |
11 files changed, 3080 insertions, 35 deletions
diff --git a/pcsound/pcsound_sdl.c b/pcsound/pcsound_sdl.c index f862dfa7..546e6a36 100644 --- a/pcsound/pcsound_sdl.c +++ b/pcsound/pcsound_sdl.c @@ -32,6 +32,7 @@ #include "pcsound.h" #include "pcsound_internal.h" +#define SOUND_SLICE_TIME 100 /* ms */ #define SQUARE_WAVE_AMP 0x2000 // If true, we initialised SDL and have the responsibility to shut it @@ -165,6 +166,8 @@ static void PCSound_SDL_Shutdown(void) static int PCSound_SDL_Init(pcsound_callback_func callback_func) { + int slicesize; + // Check if SDL_mixer has been opened already // If not, we must initialise it now @@ -176,7 +179,9 @@ static int PCSound_SDL_Init(pcsound_callback_func callback_func) return 0; } - if (Mix_OpenAudio(pcsound_sample_rate, AUDIO_S16SYS, 2, 1024) < 0) + slicesize = (SOUND_SLICE_TIME * pcsound_sample_rate) / 1000; + + if (Mix_OpenAudio(pcsound_sample_rate, AUDIO_S16SYS, 2, slicesize) < 0) { fprintf(stderr, "Error initialising SDL_mixer: %s\n", Mix_GetError()); diff --git a/src/i_main.c b/src/i_main.c index a0b0bfd5..c1a9cb98 100644 --- a/src/i_main.c +++ b/src/i_main.c @@ -28,18 +28,6 @@ #include "SDL.h" -#include <signal.h> - -#ifdef _WIN32 -#define WIN32_LEAN_AND_MEAN -#include <windows.h> -#endif - -#ifdef HAVE_SCHED_SETAFFINITY -#include <unistd.h> -#include <sched.h> -#endif - #include "doomtype.h" #include "i_system.h" #include "m_argv.h" @@ -54,6 +42,9 @@ void D_DoomMain (void); #if defined(_WIN32) +#define WIN32_LEAN_AND_MEAN +#include <windows.h> + typedef BOOL WINAPI (*SetAffinityFunc)(HANDLE hProcess, DWORD_PTR mask); // This is a bit more complicated than it really needs to be. We really @@ -98,16 +89,24 @@ static void LockCPUAffinity(void) #elif defined(HAVE_SCHED_SETAFFINITY) +#include <unistd.h> +#include <sched.h> + // Unix (Linux) version: static void LockCPUAffinity(void) { +#ifdef CPU_SET cpu_set_t set; CPU_ZERO(&set); CPU_SET(0, &set); sched_setaffinity(getpid(), sizeof(set), &set); +#else + unsigned long mask = 1; + sched_setaffinity(getpid(), sizeof(mask), &mask); +#endif } #else diff --git a/src/setup/multiplayer.c b/src/setup/multiplayer.c index 2157b43c..6756e53c 100644 --- a/src/setup/multiplayer.c +++ b/src/setup/multiplayer.c @@ -43,6 +43,12 @@ typedef enum WARP_MAPxy, } warptype_t; +typedef enum +{ + JOIN_AUTO_LAN, + JOIN_ADDRESS, +} jointype_t; + // Fallback IWAD if none are found to be installed static iwad_t fallback_iwad = { "doom2.wad", doom2, commercial, "Doom II" }; @@ -118,6 +124,8 @@ static char *gamemodes[] = static char *net_player_name; static char *chat_macros[10]; +static int jointype = JOIN_ADDRESS; + static char *wads[NUM_WADS]; static char *extra_params[NUM_EXTRA_PARAMS]; static int skill = 2; @@ -629,7 +637,14 @@ static void DoJoinGame(void *unused1, void *unused2) exec = NewExecuteContext(); - AddCmdLineParameter(exec, "-connect %s", connect_address); + if (jointype == JOIN_ADDRESS) + { + AddCmdLineParameter(exec, "-connect %s", connect_address); + } + else if (jointype == JOIN_AUTO_LAN) + { + AddCmdLineParameter(exec, "-autojoin"); + } // Extra parameters come first, so that they can be used to override // the other parameters. @@ -659,18 +674,28 @@ static txt_window_action_t *JoinGameAction(void) return action; } +// When an address is entered, select "address" mode. + +static void SelectAddressJoin(TXT_UNCAST_ARG(widget), TXT_UNCAST_ARG(unused)) +{ + jointype = JOIN_ADDRESS; +} + void JoinMultiGame(void) { txt_window_t *window; txt_table_t *gameopt_table; + txt_table_t *serveropt_table; + txt_inputbox_t *address_box; window = TXT_NewWindow("Join multiplayer game"); TXT_AddWidgets(window, gameopt_table = TXT_NewTable(2), + TXT_NewSeparator("Server"), + serveropt_table = TXT_NewTable(2), TXT_NewStrut(0, 1), TXT_NewButton2("Add extra parameters...", OpenExtraParamsWindow, NULL), - // TXT_NewButton2("Add WADs...", OpenWadsWindow, NULL), NULL); TXT_SetColumnWidths(gameopt_table, 12, 12); @@ -678,10 +703,19 @@ void JoinMultiGame(void) TXT_AddWidgets(gameopt_table, TXT_NewLabel("Game"), IWADSelector(), - TXT_NewLabel("Server address "), - TXT_NewInputBox(&connect_address, 40), NULL); + TXT_AddWidgets(serveropt_table, + TXT_NewRadioButton("Connect to address:", + &jointype, JOIN_ADDRESS), + address_box = TXT_NewInputBox(&connect_address, 30), + TXT_NewRadioButton("Auto-join LAN game", + &jointype, JOIN_AUTO_LAN), + NULL); + + TXT_SignalConnect(address_box, "changed", SelectAddressJoin, NULL); + TXT_SelectWidget(window, address_box); + TXT_SetWindowAction(window, TXT_HORIZ_CENTER, WadWindowAction()); TXT_SetWindowAction(window, TXT_HORIZ_RIGHT, JoinGameAction()); } diff --git a/textscreen/Makefile.am b/textscreen/Makefile.am index 7730e930..5d177111 100644 --- a/textscreen/Makefile.am +++ b/textscreen/Makefile.am @@ -23,12 +23,13 @@ libtextscreen_a_SOURCES = \ txt_separator.c txt_separator.h \ txt_spinctrl.c txt_spinctrl.h \ txt_sdl.c txt_sdl.h \ + txt_smallfont.h \ txt_strut.c txt_strut.h \ txt_table.c txt_table.h \ txt_widget.c txt_widget.h \ txt_window.c txt_window.h \ txt_window_action.c txt_window_action.h \ - txt_font.h + txt_font.h doc: doxygen diff --git a/textscreen/examples/calculator.c b/textscreen/examples/calculator.c index 79e7e7f6..7c77e838 100644 --- a/textscreen/examples/calculator.c +++ b/textscreen/examples/calculator.c @@ -1,3 +1,28 @@ +// Emacs style mode select -*- C++ -*- +//----------------------------------------------------------------------------- +// +// Copyright(C) 2006-2009 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +// 02111-1307, USA. +// +//----------------------------------------------------------------------------- +// +// Example program: desktop calculator +// +//----------------------------------------------------------------------------- #include <stdio.h> #include <stdlib.h> diff --git a/textscreen/examples/guitest.c b/textscreen/examples/guitest.c index 792e38cc..5a931949 100644 --- a/textscreen/examples/guitest.c +++ b/textscreen/examples/guitest.c @@ -1,3 +1,32 @@ +// Emacs style mode select -*- C++ -*- +//----------------------------------------------------------------------------- +// +// Copyright(C) 2006-2009 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +// 02111-1307, USA. +// +//----------------------------------------------------------------------------- +// +// Example program: GUI test program +// +// Demonstrates all the main textscreen widgets in use and shows how +// a simple textscreen program can be written. +// +//----------------------------------------------------------------------------- + #include <stdio.h> #include <stdlib.h> #include <string.h> diff --git a/textscreen/txt_desktop.c b/textscreen/txt_desktop.c index 4b90ed66..99a5062d 100644 --- a/textscreen/txt_desktop.c +++ b/textscreen/txt_desktop.c @@ -158,10 +158,13 @@ void TXT_ExitMainLoop(void) void TXT_DrawASCIITable(void) { + unsigned char *screendata; char buf[10]; int x, y; int n; + screendata = TXT_GetScreenData(); + TXT_FGColor(TXT_COLOR_BRIGHT_WHITE); TXT_BGColor(TXT_COLOR_BLACK, 0); @@ -172,11 +175,15 @@ void TXT_DrawASCIITable(void) n = y * 16 + x; TXT_GotoXY(x * 5, y); - sprintf(buf, "%02x %c ", n, n); + sprintf(buf, "%02x ", n); TXT_Puts(buf); + + // Write the character directly to the screen memory buffer: + + screendata[(y * TXT_SCREEN_W + x * 5 + 3) * 2] = n; } } - + TXT_UpdateScreen(); } diff --git a/textscreen/txt_font.h b/textscreen/txt_font.h index 43d3b519..fa0fa186 100644 --- a/textscreen/txt_font.h +++ b/textscreen/txt_font.h @@ -28,7 +28,7 @@ #ifndef __FONT_H__ #define __FONT_H__ -static unsigned char int10_font_16[256 * 16] = +static unsigned char main_font_data[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -544,5 +544,12 @@ static unsigned char int10_font_16[256 * 16] = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; +static txt_font_t main_font = +{ + main_font_data, + 8, // width + 16 // height +}; + #endif /* __FONT_H__ */ diff --git a/textscreen/txt_inputbox.c b/textscreen/txt_inputbox.c index 2798cce4..9151d431 100644 --- a/textscreen/txt_inputbox.c +++ b/textscreen/txt_inputbox.c @@ -144,6 +144,8 @@ static int TXT_InputBoxKeyPress(TXT_UNCAST_ARG(inputbox), int key) free(*((char **)inputbox->value)); *((char **) inputbox->value) = strdup(inputbox->buffer); + TXT_EmitSignal(&inputbox->widget, "changed"); + inputbox->editing = 0; } diff --git a/textscreen/txt_sdl.c b/textscreen/txt_sdl.c index d695c898..ea2280d0 100644 --- a/textscreen/txt_sdl.c +++ b/textscreen/txt_sdl.c @@ -35,15 +35,23 @@ #include "txt_main.h" #include "txt_sdl.h" -#include "txt_font.h" - -#define CHAR_W 8 -#define CHAR_H 16 #if defined(_MSC_VER) && !defined(__cplusplus) #define inline __inline #endif +typedef struct +{ + unsigned char *data; + unsigned int w; + unsigned int h; +} txt_font_t; + +// Fonts: + +#include "txt_font.h" +#include "txt_smallfont.h" + // Time between character blinks in ms #define BLINK_PERIOD 250 @@ -55,6 +63,10 @@ static int key_mapping = 1; static TxtSDLEventCallbackFunc event_callback; static void *event_callback_data; +// Font we are using: + +static txt_font_t *font; + //#define TANGO #ifndef TANGO @@ -108,6 +120,45 @@ static SDL_Color ega_colors[] = #endif // +// Select the font to use, based on screen resolution +// +// If the highest screen resolution available is less than +// 640x480, use the small font. +// + +static void ChooseFont(void) +{ + SDL_Rect **modes; + int i; + + font = &main_font; + + // Check all modes + + modes = SDL_ListModes(NULL, SDL_FULLSCREEN); + + // If in doubt and we can't get a list, always prefer to + // fall back to the normal font: + + if (modes == NULL || modes == (SDL_Rect **) -1 || *modes == NULL) + { + return; + } + + for (i=0; modes[i] != NULL; ++i) + { + if (modes[i]->w >= 640 && modes[i]->h >= 480) + { + return; + } + } + + // No large mode found. + + font = &small_font; +} + +// // Initialise text mode screen // // Returns 1 if successful, 0 if an error occurred @@ -121,9 +172,10 @@ int TXT_Init(void) flags = SDL_SWSURFACE | SDL_HWPALETTE | SDL_DOUBLEBUF; - screen = SDL_SetVideoMode(TXT_SCREEN_W * CHAR_W, - TXT_SCREEN_H * CHAR_H, - 8, flags); + ChooseFont(); + + screen = SDL_SetVideoMode(TXT_SCREEN_W * font->w, + TXT_SCREEN_H * font->h, 8, flags); if (screen == NULL) return 0; @@ -183,16 +235,16 @@ static inline void UpdateCharacter(int x, int y) } } - p = &int10_font_16[character * CHAR_H]; + p = &font->data[character * font->h]; s = ((unsigned char *) screen->pixels) - + (y * CHAR_H * screen->pitch) + (x * CHAR_W); + + (y * font->h * screen->pitch) + (x * font->w); - for (y1=0; y1<CHAR_H; ++y1) + for (y1=0; y1<font->h; ++y1) { s1 = s; - for (x1=0; x1<CHAR_W; ++x1) + for (x1=0; x1<font->w; ++x1) { if (*p & (1 << (7-x1))) { @@ -221,7 +273,7 @@ void TXT_UpdateScreenArea(int x, int y, int w, int h) } } - SDL_UpdateRect(screen, x * CHAR_W, y * CHAR_H, w * CHAR_W, h * CHAR_H); + SDL_UpdateRect(screen, x * font->w, y * font->h, w * font->w, h * font->h); } void TXT_UpdateScreen(void) @@ -233,8 +285,8 @@ void TXT_GetMousePosition(int *x, int *y) { SDL_GetMouseState(x, y); - *x /= CHAR_W; - *y /= CHAR_H; + *x /= font->w; + *y /= font->h; } // diff --git a/textscreen/txt_smallfont.h b/textscreen/txt_smallfont.h new file mode 100644 index 00000000..7fd72578 --- /dev/null +++ b/textscreen/txt_smallfont.h @@ -0,0 +1,2884 @@ +// Emacs style mode select -*- C++ -*- +//----------------------------------------------------------------------------- +// +// Copyright (c) 1999, Thomas A. Fine +// +// License to copy, modify, and distribute for both commercial and +// non-commercial use is herby granted, provided this notice +// is preserved. +// +// Email to my last name at head.cfa.harvard.edu +// http://hea-www.harvard.edu/~fine/ +// +// ---- +// +// Copyright (C) 2009 Simon Howard +// Copyright (C) 2002-2004 The DOSBox Team +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// +//----------------------------------------------------------------------------- +// +// Small (4x8) bitmap font for low resolution displays. +// +// Based on the Atari-Small font by Tom Fine. The original font was standard +// ASCII only; this has been extended to the full Extended ASCII range with +// scaled-down versions of the full-size DOS font (txt_font.h) +// +//----------------------------------------------------------------------------- + +static unsigned char small_font_data[] = { + + // ------ Characters 0-31 have been remade to match the ------ + // DOS control code ASCII characters. + + // Character 0: + + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0x00, // | | + + // Character 1: + + 0x00, // | | + 0x00, // | | + 0x50, // | # #| + 0x00, // | | + 0x70, // | ###| + 0x20, // | # | + 0x00, // | | + 0x00, // | | + + // Character 2: + + 0x60, // | ## | + 0xf0, // |####| + 0xa0, // |# # | + 0xf0, // |####| + 0x80, // |# | + 0xd0, // |## #| + 0xf0, // |####| + 0x60, // | ## | + + // Character 3: + + 0x00, // | | + 0x00, // | | + 0x50, // | # #| + 0x70, // | ###| + 0x20, // | # | + 0x00, // | | + 0x00, // | | + 0x00, // | | + + // Character 4: + + 0x00, // | | + 0x00, // | | + 0x20, // | # | + 0x70, // | ###| + 0x20, // | # | + 0x00, // | | + 0x00, // | | + 0x00, // | | + + // Character 5: + + 0x00, // | | + 0x20, // | # | + 0x50, // | # #| + 0x50, // | # #| + 0x20, // | # | + 0x70, // | ###| + 0x00, // | | + 0x00, // | | + + // Character 6: + + 0x00, // | | + 0x20, // | # | + 0x70, // | ###| + 0x70, // | ###| + 0x20, // | # | + 0x70, // | ###| + 0x00, // | | + 0x00, // | | + + // Character 7: + + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0x60, // | ## | + 0x60, // | ## | + 0x00, // | | + 0x00, // | | + 0x00, // | | + + // Character 8: + + 0xf0, // |####| + 0xf0, // |####| + 0xf0, // |####| + 0x90, // |# #| + 0x90, // |# #| + 0xf0, // |####| + 0xf0, // |####| + 0xf0, // |####| + + // Character 9: + + 0x00, // | | + 0x00, // | | + 0x60, // | ## | + 0x90, // |# #| + 0x90, // |# #| + 0x60, // | ## | + 0x00, // | | + 0x00, // | | + + // Character 10: + + 0xf0, // |####| + 0xf0, // |####| + 0x90, // |# #| + 0x60, // | ## | + 0x60, // | ## | + 0x90, // |# #| + 0xf0, // |####| + 0xf0, // |####| + + // Character 11: + + 0x00, // | | + 0x70, // | ###| + 0x20, // | # | + 0xe0, // |### | + 0xa0, // |# # | + 0xe0, // |### | + 0x00, // | | + 0x00, // | | + + // Character 12: + + 0x00, // | | + 0x60, // | ## | + 0x90, // |# #| + 0x60, // | ## | + 0xf0, // |####| + 0x60, // | ## | + 0x60, // | ## | + 0x00, // | | + + // Character 13: + + 0x00, // | | + 0x30, // | ##| + 0x20, // | # | + 0x20, // | # | + 0x20, // | # | + 0xe0, // |### | + 0xc0, // |## | + 0x00, // | | + + // Character 14: + + 0x00, // | | + 0x70, // | ###| + 0x50, // | # #| + 0x50, // | # #| + 0x50, // | # #| + 0xd0, // |## #| + 0xc0, // |## | + 0x00, // | | + + // Character 15: + + 0x40, // | # | + 0x40, // | # | + 0xe0, // |### | + 0x40, // | # | + 0xe0, // |### | + 0x40, // | # | + 0x40, // | # | + 0x40, // | # | + + // Character 16: + + 0x00, // | | + 0x80, // |# | + 0xc0, // |## | + 0xe0, // |### | + 0xc0, // |## | + 0x80, // |# | + 0x00, // | | + 0x00, // | | + + // Character 17: + + 0x00, // | | + 0x10, // | #| + 0x30, // | ##| + 0x70, // | ###| + 0x30, // | ##| + 0x10, // | #| + 0x00, // | | + 0x00, // | | + + // Character 18: + + 0x00, // | | + 0x20, // | # | + 0x70, // | ###| + 0x20, // | # | + 0x20, // | # | + 0x70, // | ###| + 0x20, // | # | + 0x00, // | | + + // Character 19: + + 0x00, // | | + 0x50, // | # #| + 0x50, // | # #| + 0x50, // | # #| + 0x00, // | | + 0x50, // | # #| + 0x00, // | | + 0x00, // | | + + // Character 20: + + 0x00, // | | + 0xf0, // |####| + 0x90, // |# #| + 0xd0, // |## #| + 0x50, // | # #| + 0x50, // | # #| + 0x00, // | | + 0x00, // | | + + // Character 21: + + 0x60, // | ## | + 0x80, // |# | + 0x60, // | ## | + 0x90, // |# #| + 0x60, // | ## | + 0x10, // | #| + 0x60, // | ## | + 0x00, // | | + + // Character 22: + + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0xf0, // |####| + 0xf0, // |####| + 0x00, // | | + 0x00, // | | + + // Character 23: + + 0x00, // | | + 0x20, // | # | + 0x70, // | ###| + 0x20, // | # | + 0x20, // | # | + 0x70, // | ###| + 0x20, // | # | + 0xf0, // |####| + + // Character 24: + + 0x00, // | | + 0x20, // | # | + 0x70, // | ###| + 0x20, // | # | + 0x20, // | # | + 0x20, // | # | + 0x20, // | # | + 0x00, // | | + + // Character 25: + + 0x00, // | | + 0x20, // | # | + 0x20, // | # | + 0x20, // | # | + 0x20, // | # | + 0x70, // | ###| + 0x20, // | # | + 0x00, // | | + + // Character 26: + + 0x00, // | | + 0x40, // | # | + 0x20, // | # | + 0xf0, // |####| + 0x20, // | # | + 0x40, // | # | + 0x00, // | | + 0x00, // | | + + // Character 27: + + 0x00, // | | + 0x20, // | # | + 0x40, // | # | + 0xf0, // |####| + 0x40, // | # | + 0x20, // | # | + 0x00, // | | + 0x00, // | | + + // Character 28: + + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0x80, // |# | + 0xe0, // |### | + 0x00, // | | + 0x00, // | | + 0x00, // | | + + // Character 29: + + 0x00, // | | + 0x00, // | | + 0xa0, // |# # | + 0xf0, // |####| + 0xa0, // |# # | + 0x00, // | | + 0x00, // | | + 0x00, // | | + + // Character 30: + + 0x00, // | | + 0x00, // | | + 0x40, // | # | + 0xe0, // |### | + 0xf0, // |####| + 0x00, // | | + 0x00, // | | + 0x00, // | | + + // Character 31: + + 0x00, // | | + 0x00, // | | + 0xf0, // |####| + 0xe0, // |### | + 0x40, // | # | + 0x00, // | | + 0x00, // | | + 0x00, // | | + + // ------ Characters 32-127 are from Atari-Small ------ + + // Character 32: + + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0x00, // | | + + // Character 33: + + 0x00, // | | + 0x40, // | # | + 0x40, // | # | + 0x40, // | # | + 0x40, // | # | + 0x00, // | | + 0x40, // | # | + 0x00, // | | + + // Character 34: + + 0x00, // | | + 0xa0, // |# # | + 0xa0, // |# # | + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0x00, // | | + + // Character 35: + + 0x00, // | | + 0xa0, // |# # | + 0xe0, // |### | + 0xa0, // |# # | + 0xa0, // |# # | + 0xe0, // |### | + 0xa0, // |# # | + 0x00, // | | + + // Character 36: + + 0x40, // | # | + 0x40, // | # | + 0xa0, // |# # | + 0x40, // | # | + 0x20, // | # | + 0xa0, // |# # | + 0x40, // | # | + 0x40, // | # | + + // Character 37: + + 0x00, // | | + 0xa0, // |# # | + 0x20, // | # | + 0x40, // | # | + 0x40, // | # | + 0x80, // |# | + 0xa0, // |# # | + 0x00, // | | + + // Character 38: + + 0x40, // | # | + 0xa0, // |# # | + 0x40, // | # | + 0xa0, // |# # | + 0xa0, // |# # | + 0xc0, // |## | + 0x60, // | ## | + 0x00, // | | + + // Character 39: + + 0x00, // | | + 0x40, // | # | + 0x40, // | # | + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0x00, // | | + + // Character 40: + + 0x00, // | | + 0x20, // | # | + 0x40, // | # | + 0x40, // | # | + 0x40, // | # | + 0x40, // | # | + 0x20, // | # | + 0x00, // | | + + // Character 41: + + 0x00, // | | + 0x80, // |# | + 0x40, // | # | + 0x40, // | # | + 0x40, // | # | + 0x40, // | # | + 0x80, // |# | + 0x00, // | | + + // Character 42: + + 0x00, // | | + 0xa0, // |# # | + 0x40, // | # | + 0xe0, // |### | + 0x40, // | # | + 0xa0, // |# # | + 0x00, // | | + 0x00, // | | + + // Character 43: + + 0x00, // | | + 0x40, // | # | + 0x40, // | # | + 0xe0, // |### | + 0x40, // | # | + 0x40, // | # | + 0x00, // | | + 0x00, // | | + + // Character 44: + + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0x40, // | # | + 0x40, // | # | + 0x80, // |# | + + // Character 45: + + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0xe0, // |### | + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0x00, // | | + + // Character 46: + + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0x40, // | # | + 0x40, // | # | + 0x00, // | | + + // Character 47: + + 0x00, // | | + 0x20, // | # | + 0x20, // | # | + 0x40, // | # | + 0x40, // | # | + 0x80, // |# | + 0x80, // |# | + 0x00, // | | + + // Character 48: + + 0x00, // | | + 0x40, // | # | + 0xa0, // |# # | + 0xe0, // |### | + 0xa0, // |# # | + 0xa0, // |# # | + 0x40, // | # | + 0x00, // | | + + // Character 49: + + 0x00, // | | + 0x40, // | # | + 0xc0, // |## | + 0x40, // | # | + 0x40, // | # | + 0x40, // | # | + 0xe0, // |### | + 0x00, // | | + + // Character 50: + + 0x00, // | | + 0x40, // | # | + 0xa0, // |# # | + 0x20, // | # | + 0x40, // | # | + 0x80, // |# | + 0xe0, // |### | + 0x00, // | | + + // Character 51: + + 0x00, // | | + 0xe0, // |### | + 0x20, // | # | + 0x40, // | # | + 0x20, // | # | + 0xa0, // |# # | + 0x40, // | # | + 0x00, // | | + + // Character 52: + + 0x00, // | | + 0x20, // | # | + 0x60, // | ## | + 0xa0, // |# # | + 0xe0, // |### | + 0x20, // | # | + 0x20, // | # | + 0x00, // | | + + // Character 53: + + 0x00, // | | + 0xe0, // |### | + 0x80, // |# | + 0xc0, // |## | + 0x20, // | # | + 0xa0, // |# # | + 0x40, // | # | + 0x00, // | | + + // Character 54: + + 0x00, // | | + 0x60, // | ## | + 0x80, // |# | + 0xc0, // |## | + 0xa0, // |# # | + 0xa0, // |# # | + 0x40, // | # | + 0x00, // | | + + // Character 55: + + 0x00, // | | + 0xe0, // |### | + 0x20, // | # | + 0x20, // | # | + 0x40, // | # | + 0x40, // | # | + 0x40, // | # | + 0x00, // | | + + // Character 56: + + 0x00, // | | + 0x40, // | # | + 0xa0, // |# # | + 0x40, // | # | + 0xa0, // |# # | + 0xa0, // |# # | + 0x40, // | # | + 0x00, // | | + + // Character 57: + + 0x00, // | | + 0x40, // | # | + 0xa0, // |# # | + 0xa0, // |# # | + 0x60, // | ## | + 0x20, // | # | + 0xc0, // |## | + 0x00, // | | + + // Character 58: + + 0x00, // | | + 0x00, // | | + 0x40, // | # | + 0x00, // | | + 0x00, // | | + 0x40, // | # | + 0x00, // | | + 0x00, // | | + + // Character 59: + + 0x00, // | | + 0x00, // | | + 0x40, // | # | + 0x00, // | | + 0x00, // | | + 0x40, // | # | + 0x80, // |# | + 0x00, // | | + + // Character 60: + + 0x00, // | | + 0x00, // | | + 0x20, // | # | + 0x40, // | # | + 0x80, // |# | + 0x40, // | # | + 0x20, // | # | + 0x00, // | | + + // Character 61: + + 0x00, // | | + 0x00, // | | + 0xe0, // |### | + 0x00, // | | + 0xe0, // |### | + 0x00, // | | + 0x00, // | | + 0x00, // | | + + // Character 62: + + 0x00, // | | + 0x00, // | | + 0x80, // |# | + 0x40, // | # | + 0x20, // | # | + 0x40, // | # | + 0x80, // |# | + 0x00, // | | + + // Character 63: + + 0x00, // | | + 0x40, // | # | + 0xa0, // |# # | + 0x20, // | # | + 0x40, // | # | + 0x00, // | | + 0x40, // | # | + 0x00, // | | + + // Character 64: + + 0x00, // | | + 0x40, // | # | + 0xa0, // |# # | + 0xa0, // |# # | + 0x80, // |# | + 0x80, // |# | + 0x60, // | ## | + 0x00, // | | + + // Character 65: + + 0x00, // | | + 0x40, // | # | + 0xa0, // |# # | + 0xa0, // |# # | + 0xe0, // |### | + 0xa0, // |# # | + 0xa0, // |# # | + 0x00, // | | + + // Character 66: + + 0x00, // | | + 0xc0, // |## | + 0xa0, // |# # | + 0xc0, // |## | + 0xa0, // |# # | + 0xa0, // |# # | + 0xc0, // |## | + 0x00, // | | + + // Character 67: + + 0x00, // | | + 0x40, // | # | + 0xa0, // |# # | + 0x80, // |# | + 0x80, // |# | + 0xa0, // |# # | + 0x40, // | # | + 0x00, // | | + + // Character 68: + + 0x00, // | | + 0xc0, // |## | + 0xa0, // |# # | + 0xa0, // |# # | + 0xa0, // |# # | + 0xa0, // |# # | + 0xc0, // |## | + 0x00, // | | + + // Character 69: + + 0x00, // | | + 0xe0, // |### | + 0x80, // |# | + 0xe0, // |### | + 0x80, // |# | + 0x80, // |# | + 0xe0, // |### | + 0x00, // | | + + // Character 70: + + 0x00, // | | + 0xe0, // |### | + 0x80, // |# | + 0xe0, // |### | + 0x80, // |# | + 0x80, // |# | + 0x80, // |# | + 0x00, // | | + + // Character 71: + + 0x00, // | | + 0x40, // | # | + 0xa0, // |# # | + 0x80, // |# | + 0xa0, // |# # | + 0xa0, // |# # | + 0x40, // | # | + 0x00, // | | + + // Character 72: + + 0x00, // | | + 0xa0, // |# # | + 0xa0, // |# # | + 0xe0, // |### | + 0xa0, // |# # | + 0xa0, // |# # | + 0xa0, // |# # | + 0x00, // | | + + // Character 73: + + 0x00, // | | + 0xe0, // |### | + 0x40, // | # | + 0x40, // | # | + 0x40, // | # | + 0x40, // | # | + 0xe0, // |### | + 0x00, // | | + + // Character 74: + + 0x00, // | | + 0x20, // | # | + 0x20, // | # | + 0x20, // | # | + 0x20, // | # | + 0xa0, // |# # | + 0x40, // | # | + 0x00, // | | + + // Character 75: + + 0x00, // | | + 0xa0, // |# # | + 0xa0, // |# # | + 0xc0, // |## | + 0xa0, // |# # | + 0xa0, // |# # | + 0xa0, // |# # | + 0x00, // | | + + // Character 76: + + 0x00, // | | + 0x80, // |# | + 0x80, // |# | + 0x80, // |# | + 0x80, // |# | + 0x80, // |# | + 0xe0, // |### | + 0x00, // | | + + // Character 77: + + 0x00, // | | + 0xa0, // |# # | + 0xe0, // |### | + 0xa0, // |# # | + 0xa0, // |# # | + 0xa0, // |# # | + 0xa0, // |# # | + 0x00, // | | + + // Character 78: + + 0x00, // | | + 0x20, // | # | + 0xa0, // |# # | + 0xe0, // |### | + 0xe0, // |### | + 0xa0, // |# # | + 0x80, // |# | + 0x00, // | | + + // Character 79: + + 0x00, // | | + 0x40, // | # | + 0xa0, // |# # | + 0xa0, // |# # | + 0xa0, // |# # | + 0xa0, // |# # | + 0x40, // | # | + 0x00, // | | + + // Character 80: + + 0x00, // | | + 0xc0, // |## | + 0xa0, // |# # | + 0xa0, // |# # | + 0xc0, // |## | + 0x80, // |# | + 0x80, // |# | + 0x00, // | | + + // Character 81: + + 0x00, // | | + 0x40, // | # | + 0xa0, // |# # | + 0xa0, // |# # | + 0xa0, // |# # | + 0xc0, // |## | + 0x60, // | ## | + 0x00, // | | + + // Character 82: + + 0x00, // | | + 0xc0, // |## | + 0xa0, // |# # | + 0xa0, // |# # | + 0xc0, // |## | + 0xa0, // |# # | + 0xa0, // |# # | + 0x00, // | | + + // Character 83: + + 0x00, // | | + 0x40, // | # | + 0xa0, // |# # | + 0x40, // | # | + 0x20, // | # | + 0xa0, // |# # | + 0x40, // | # | + 0x00, // | | + + // Character 84: + + 0x00, // | | + 0xe0, // |### | + 0x40, // | # | + 0x40, // | # | + 0x40, // | # | + 0x40, // | # | + 0x40, // | # | + 0x00, // | | + + // Character 85: + + 0x00, // | | + 0xa0, // |# # | + 0xa0, // |# # | + 0xa0, // |# # | + 0xa0, // |# # | + 0xa0, // |# # | + 0xe0, // |### | + 0x00, // | | + + // Character 86: + + 0x00, // | | + 0xa0, // |# # | + 0xa0, // |# # | + 0xa0, // |# # | + 0xa0, // |# # | + 0xa0, // |# # | + 0x40, // | # | + 0x00, // | | + + // Character 87: + + 0x00, // | | + 0xa0, // |# # | + 0xa0, // |# # | + 0xa0, // |# # | + 0xa0, // |# # | + 0xe0, // |### | + 0xa0, // |# # | + 0x00, // | | + + // Character 88: + + 0x00, // | | + 0xa0, // |# # | + 0xa0, // |# # | + 0x40, // | # | + 0xa0, // |# # | + 0xa0, // |# # | + 0xa0, // |# # | + 0x00, // | | + + // Character 89: + + 0x00, // | | + 0xa0, // |# # | + 0xa0, // |# # | + 0x40, // | # | + 0x40, // | # | + 0x40, // | # | + 0x40, // | # | + 0x00, // | | + + // Character 90: + + 0x00, // | | + 0xe0, // |### | + 0x20, // | # | + 0x40, // | # | + 0x40, // | # | + 0x80, // |# | + 0xe0, // |### | + 0x00, // | | + + // Character 91: + + 0x00, // | | + 0x60, // | ## | + 0x40, // | # | + 0x40, // | # | + 0x40, // | # | + 0x40, // | # | + 0x60, // | ## | + 0x00, // | | + + // Character 92: + + 0x00, // | | + 0x80, // |# | + 0x80, // |# | + 0x40, // | # | + 0x40, // | # | + 0x20, // | # | + 0x20, // | # | + 0x00, // | | + + // Character 93: + + 0x00, // | | + 0xc0, // |## | + 0x40, // | # | + 0x40, // | # | + 0x40, // | # | + 0x40, // | # | + 0xc0, // |## | + 0x00, // | | + + // Character 94: + + 0x00, // | | + 0x40, // | # | + 0xa0, // |# # | + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0x00, // | | + + // Character 95: + + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0xf0, // |####| + + // Character 96: + + 0x00, // | | + 0x80, // |# | + 0x40, // | # | + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0x00, // | | + + // Character 97: + + 0x00, // | | + 0x00, // | | + 0xc0, // |## | + 0x20, // | # | + 0x60, // | ## | + 0xa0, // |# # | + 0x60, // | ## | + 0x00, // | | + + // Character 98: + + 0x00, // | | + 0x80, // |# | + 0x80, // |# | + 0xc0, // |## | + 0xa0, // |# # | + 0xa0, // |# # | + 0xc0, // |## | + 0x00, // | | + + // Character 99: + + 0x00, // | | + 0x00, // | | + 0x60, // | ## | + 0x80, // |# | + 0x80, // |# | + 0x80, // |# | + 0x60, // | ## | + 0x00, // | | + + // Character 100: + + 0x00, // | | + 0x20, // | # | + 0x20, // | # | + 0x60, // | ## | + 0xa0, // |# # | + 0xa0, // |# # | + 0x60, // | ## | + 0x00, // | | + + // Character 101: + + 0x00, // | | + 0x00, // | | + 0x40, // | # | + 0xa0, // |# # | + 0xe0, // |### | + 0x80, // |# | + 0x60, // | ## | + 0x00, // | | + + // Character 102: + + 0x00, // | | + 0x20, // | # | + 0x40, // | # | + 0xe0, // |### | + 0x40, // | # | + 0x40, // | # | + 0x40, // | # | + 0x00, // | | + + // Character 103: + + 0x00, // | | + 0x00, // | | + 0x60, // | ## | + 0xa0, // |# # | + 0xa0, // |# # | + 0x60, // | ## | + 0x20, // | # | + 0xc0, // |## | + + // Character 104: + + 0x00, // | | + 0x80, // |# | + 0x80, // |# | + 0xc0, // |## | + 0xa0, // |# # | + 0xa0, // |# # | + 0xa0, // |# # | + 0x00, // | | + + // Character 105: + + 0x00, // | | + 0x40, // | # | + 0x00, // | | + 0xc0, // |## | + 0x40, // | # | + 0x40, // | # | + 0xe0, // |### | + 0x00, // | | + + // Character 106: + + 0x00, // | | + 0x20, // | # | + 0x00, // | | + 0x60, // | ## | + 0x20, // | # | + 0x20, // | # | + 0x20, // | # | + 0xc0, // |## | + + // Character 107: + + 0x00, // | | + 0x80, // |# | + 0x80, // |# | + 0xa0, // |# # | + 0xc0, // |## | + 0xa0, // |# # | + 0xa0, // |# # | + 0x00, // | | + + // Character 108: + + 0x00, // | | + 0x40, // | # | + 0x40, // | # | + 0x40, // | # | + 0x40, // | # | + 0x40, // | # | + 0x40, // | # | + 0x00, // | | + + // Character 109: + + 0x00, // | | + 0x00, // | | + 0xa0, // |# # | + 0xe0, // |### | + 0xa0, // |# # | + 0xa0, // |# # | + 0xa0, // |# # | + 0x00, // | | + + // Character 110: + + 0x00, // | | + 0x00, // | | + 0xc0, // |## | + 0xa0, // |# # | + 0xa0, // |# # | + 0xa0, // |# # | + 0xa0, // |# # | + 0x00, // | | + + // Character 111: + + 0x00, // | | + 0x00, // | | + 0x40, // | # | + 0xa0, // |# # | + 0xa0, // |# # | + 0xa0, // |# # | + 0x40, // | # | + 0x00, // | | + + // Character 112: + + 0x00, // | | + 0x00, // | | + 0xc0, // |## | + 0xa0, // |# # | + 0xa0, // |# # | + 0xc0, // |## | + 0x80, // |# | + 0x80, // |# | + + // Character 113: + + 0x00, // | | + 0x00, // | | + 0x60, // | ## | + 0xa0, // |# # | + 0xa0, // |# # | + 0x60, // | ## | + 0x20, // | # | + 0x20, // | # | + + // Character 114: + + 0x00, // | | + 0x00, // | | + 0x60, // | ## | + 0x80, // |# | + 0x80, // |# | + 0x80, // |# | + 0x80, // |# | + 0x00, // | | + + // Character 115: + + 0x00, // | | + 0x00, // | | + 0x60, // | ## | + 0x80, // |# | + 0x40, // | # | + 0x20, // | # | + 0xc0, // |## | + 0x00, // | | + + // Character 116: + + 0x00, // | | + 0x40, // | # | + 0x40, // | # | + 0xe0, // |### | + 0x40, // | # | + 0x40, // | # | + 0x40, // | # | + 0x00, // | | + + // Character 117: + + 0x00, // | | + 0x00, // | | + 0xa0, // |# # | + 0xa0, // |# # | + 0xa0, // |# # | + 0xa0, // |# # | + 0xe0, // |### | + 0x00, // | | + + // Character 118: + + 0x00, // | | + 0x00, // | | + 0xa0, // |# # | + 0xa0, // |# # | + 0xa0, // |# # | + 0xa0, // |# # | + 0x40, // | # | + 0x00, // | | + + // Character 119: + + 0x00, // | | + 0x00, // | | + 0xa0, // |# # | + 0xa0, // |# # | + 0xa0, // |# # | + 0xe0, // |### | + 0xa0, // |# # | + 0x00, // | | + + // Character 120: + + 0x00, // | | + 0x00, // | | + 0xa0, // |# # | + 0xa0, // |# # | + 0x40, // | # | + 0xa0, // |# # | + 0xa0, // |# # | + 0x00, // | | + + // Character 121: + + 0x00, // | | + 0x00, // | | + 0xa0, // |# # | + 0xa0, // |# # | + 0xa0, // |# # | + 0x60, // | ## | + 0x20, // | # | + 0xc0, // |## | + + // Character 122: + + 0x00, // | | + 0x00, // | | + 0xe0, // |### | + 0x20, // | # | + 0x40, // | # | + 0x80, // |# | + 0xe0, // |### | + 0x00, // | | + + // Character 123: + + 0x20, // | # | + 0x40, // | # | + 0x40, // | # | + 0x80, // |# | + 0x40, // | # | + 0x40, // | # | + 0x20, // | # | + 0x00, // | | + + // Character 124: + + 0x40, // | # | + 0x40, // | # | + 0x40, // | # | + 0x00, // | | + 0x40, // | # | + 0x40, // | # | + 0x40, // | # | + 0x00, // | | + + // Character 125: + + 0x80, // |# | + 0x40, // | # | + 0x40, // | # | + 0x20, // | # | + 0x40, // | # | + 0x40, // | # | + 0x80, // |# | + 0x00, // | | + + // Character 126: + + 0x00, // | | + 0x50, // | # #| + 0xa0, // |# # | + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0x00, // | | + + // Character 127: + + 0x00, // | | + 0x40, // | # | + 0xa0, // |# # | + 0xa0, // |# # | + 0xa0, // |# # | + 0xe0, // |### | + 0x00, // | | + 0x00, // | | + + // ------ Characters 128-255 are scaled-down from the full size ------ + // DOS font. Some of these have been fixed up, the rest + // need to be fixed up :-) + + // Character 128: + + 0x00, // | | + 0x40, // | # | + 0xa0, // |# # | + 0x80, // |# | + 0x80, // |# | + 0xa0, // |# # | + 0x40, // | # | + 0xc0, // |## | + + + // Character 129: + + 0xa0, // |# # | + 0x00, // | | + 0xa0, // |# # | + 0xa0, // |# # | + 0xa0, // |# # | + 0xa0, // |# # | + 0xe0, // |### | + 0x00, // | | + + // Character 130: + + 0x40, // | # | + 0x80, // |# | + 0x40, // | # | + 0xa0, // |# # | + 0xe0, // |### | + 0x80, // |# | + 0x60, // | ## | + 0x00, // | | + + + // Character 131: + + 0x20, // | # | + 0x50, // | # #| + 0xc0, // |## | + 0x20, // | # | + 0x60, // | ## | + 0xa0, // |# # | + 0x60, // | ## | + 0x00, // | | + + // Character 132: + + 0xa0, // |# # | + 0x00, // | | + 0xc0, // |## | + 0x20, // | # | + 0x60, // | ## | + 0xa0, // |# # | + 0x60, // | ## | + 0x00, // | | + + // Character 133: + + 0x40, // | # | + 0x20, // | # | + 0xc0, // |## | + 0x20, // | # | + 0x60, // | ## | + 0xa0, // |# # | + 0x60, // | ## | + 0x00, // | | + + // Character 134: + + 0x40, // | # | + 0xa0, // |# # | + 0x40, // | # | + 0x20, // | # | + 0x60, // | ## | + 0xa0, // |# # | + 0x60, // | ## | + 0x00, // | | + + // Character 135: + + 0x00, // | | + 0x00, // | | + 0x60, // | ## | + 0x80, // |# | + 0x80, // |# | + 0x80, // |# | + 0x60, // | ## | + 0xc0, // |## | + + // Character 136: + + 0x40, // | # | + 0xa0, // |# # | + 0x40, // | # | + 0xa0, // |# # | + 0xe0, // |### | + 0x80, // |# | + 0x60, // | ## | + 0x00, // | | + + // Character 137: + + 0xa0, // |# # | + 0x00, // | | + 0x40, // | # | + 0xa0, // |# # | + 0xe0, // |### | + 0x80, // |# | + 0x60, // | ## | + 0x00, // | | + + // Character 138: + + 0x40, // | # | + 0x20, // | # | + 0x40, // | # | + 0xa0, // |# # | + 0xe0, // |### | + 0x80, // |# | + 0x60, // | ## | + 0x00, // | | + + + // Character 139: + + 0x00, // | | + 0xa0, // |# # | + 0x00, // | | + 0xc0, // |## | + 0x40, // | # | + 0x40, // | # | + 0xe0, // |### | + 0x00, // | | + + // Character 140: + + 0x40, // | # | + 0xa0, // |# # | + 0x00, // | | + 0xc0, // |## | + 0x40, // | # | + 0x40, // | # | + 0xe0, // |### | + 0x00, // | | + + // Character 141: + + 0x40, // | # | + 0x20, // | # | + 0x00, // | | + 0xc0, // |## | + 0x40, // | # | + 0x40, // | # | + 0xe0, // |### | + 0x00, // | | + + // Character 142: + + 0xa0, // |# # | + 0x00, // | | + 0x40, // | # | + 0xa0, // |# # | + 0xe0, // |### | + 0xa0, // |# # | + 0xa0, // |# # | + 0x00, // | | + + // Character 143: + + 0x40, // | # | + 0xa0, // |# # | + 0x40, // | # | + 0xa0, // |# # | + 0xe0, // |### | + 0xa0, // |# # | + 0xa0, // |# # | + 0x00, // | | + + // Character 144: + + 0x20, // | # | + 0x40, // | # | + 0xe0, // |### | + 0x80, // |# | + 0xc0, // |## | + 0x80, // |# | + 0xe0, // |### | + 0x00, // | | + + // Character 145: + + 0x00, // | | + 0x00, // | | + 0xb0, // |# ##| + 0x50, // | # #| + 0x70, // | ###| + 0xa0, // |# # | + 0x70, // | ###| + 0x00, // | | + + // Character 146: + + 0x00, // | | + 0x70, // | ###| + 0xa0, // |# # | + 0xf0, // |####| + 0xa0, // |# # | + 0xa0, // |# # | + 0xb0, // |# ##| + 0x00, // | | + + // Character 147: + + 0x40, // | # | + 0xa0, // |# # | + 0x00, // | | + 0x40, // | # | + 0xa0, // |# # | + 0xa0, // |# # | + 0x40, // | # | + 0x00, // | | + + // Character 148: + + 0xa0, // |# # | + 0x00, // | | + 0x40, // | # | + 0xa0, // |# # | + 0xa0, // |# # | + 0xa0, // |# # | + 0x40, // | # | + 0x00, // | | + + // Character 149: + + 0x40, // | # | + 0x20, // | # | + 0x40, // | # | + 0xa0, // |# # | + 0xa0, // |# # | + 0xa0, // |# # | + 0x40, // | # | + 0x00, // | | + + // Character 150: + + 0x40, // | # | + 0xa0, // |# # | + 0x00, // | | + 0xa0, // |# # | + 0xa0, // |# # | + 0xa0, // |# # | + 0xe0, // |### | + 0x00, // | | + + // Character 151: + + 0x40, // | # | + 0x20, // | # | + 0x00, // | | + 0xa0, // |# # | + 0xa0, // |# # | + 0xa0, // |# # | + 0xe0, // |### | + 0x00, // | | + + // Character 152: + + 0xa0, // |# # | + 0x00, // | | + 0xa0, // |# # | + 0xa0, // |# # | + 0xa0, // |# # | + 0x60, // | ## | + 0x20, // | # | + 0xc0, // |## | + + // Character 153: + + 0xa0, // |# # | + 0x00, // | | + 0x40, // | # | + 0xa0, // |# # | + 0xa0, // |# # | + 0xa0, // |# # | + 0x40, // | # | + 0x00, // | | + + // Character 154: + + 0xa0, // |# # | + 0x00, // | | + 0xa0, // |# # | + 0xa0, // |# # | + 0xa0, // |# # | + 0xa0, // |# # | + 0xe0, // |### | + 0x00, // | | + + + // Character 155: + + 0x00, // | | + 0x40, // | # | + 0x60, // | ## | + 0x80, // |# | + 0x80, // |# | + 0x60, // | ## | + 0x40, // | # | + 0x00, // | | + + // Character 156: + + 0x30, // | ##| + 0x40, // | # | + 0x40, // | # | + 0xe0, // |### | + 0x40, // | # | + 0x40, // | # | + 0xf0, // |####| + 0x00, // | | + + // Character 157: + + 0x00, // | | + 0xa0, // |# # | + 0xa0, // |# # | + 0x40, // | # | + 0xe0, // |### | + 0x40, // | # | + 0x40, // | # | + 0x00, // | | + + // Character 158: + + 0x00, // | | + 0xc0, // |## | + 0xa0, // |# # | + 0xc0, // |## | + 0xa0, // |# # | + 0xb0, // |# ##| + 0xa0, // |# # | + 0x00, // | | + + // Character 159: + + 0x10, // | #| + 0x20, // | # | + 0x20, // | # | + 0x70, // | ###| + 0x20, // | # | + 0xa0, // |# # | + 0x40, // | # | + 0x00, // | | + + // Character 160: + + 0x20, // | # | + 0x40, // | # | + 0xc0, // |## | + 0x20, // | # | + 0x60, // | ## | + 0xa0, // |# # | + 0x60, // | ## | + 0x00, // | | + + // Character 161: + + 0x20, // | # | + 0x40, // | # | + 0x00, // | | + 0xc0, // |## | + 0x40, // | # | + 0x40, // | # | + 0xe0, // |### | + 0x00, // | | + + // Character 162: + + 0x40, // | # | + 0x80, // |# | + 0x40, // | # | + 0xa0, // |# # | + 0xa0, // |# # | + 0xa0, // |# # | + 0x40, // | # | + 0x00, // | | + + // Character 163: + + 0x20, // | # | + 0x40, // | # | + 0x00, // | | + 0xa0, // |# # | + 0xa0, // |# # | + 0xa0, // |# # | + 0xe0, // |### | + 0x00, // | | + + + // Character 164: + + 0x50, // | # #| + 0xa0, // |# # | + 0x00, // | | + 0xc0, // |## | + 0xa0, // |# # | + 0xa0, // |# # | + 0xa0, // |# # | + 0x00, // | | + + // Character 165: + + 0x50, // | # #| + 0xa0, // |# # | + 0x00, // | | + 0x90, // |# #| + 0xd0, // |## #| + 0xb0, // |# ##| + 0x90, // |# #| + 0x00, // | | + + + // Character 166: + + 0x60, // | ## | + 0xa0, // |# # | + 0x70, // | ###| + 0x00, // | | + 0xf0, // |####| + 0x00, // | | + 0x00, // | | + 0x00, // | | + + // Character 167: + + 0x40, // | # | + 0xa0, // |# # | + 0x40, // | # | + 0x00, // | | + 0xe0, // |### | + 0x00, // | | + 0x00, // | | + 0x00, // | | + + // Character 168: + + 0x00, // | | + 0x40, // | # | + 0x00, // | | + 0x40, // | # | + 0x80, // |# | + 0xa0, // |# # | + 0x40, // | # | + 0x00, // | | + + // Character 169: + + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0xe0, // |### | + 0x80, // |# | + 0x80, // |# | + 0x00, // | | + 0x00, // | | + + // Character 170: + + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0x70, // | ###| + 0x10, // | #| + 0x10, // | #| + 0x00, // | | + 0x00, // | | + + // Character 171: + + 0x80, // |# | + 0x80, // |# | + 0xa0, // |# # | + 0x40, // | # | + 0xb0, // |# ##| + 0x10, // | #| + 0x20, // | # | + 0x30, // | ##| + + // Character 172: + + 0x80, // |# | + 0x80, // |# | + 0xa0, // |# # | + 0x40, // | # | + 0x80, // |# | + 0x50, // | # #| + 0x70, // | ###| + 0x10, // | #| + + // Character 173: + + 0x00, // | | + 0x40, // | # | + 0x00, // | | + 0x40, // | # | + 0x40, // | # | + 0x40, // | # | + 0x40, // | # | + 0x00, // | | + + // Character 174: + + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0x50, // | # #| + 0xa0, // |# # | + 0x50, // | # #| + 0x00, // | | + 0x00, // | | + + // Character 175: + + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0xa0, // |# # | + 0x50, // | # #| + 0xa0, // |# # | + 0x00, // | | + 0x00, // | | + + // Character 176: + + 0x10, // | #| + 0x40, // | # | + 0x10, // | #| + 0x40, // | # | + 0x10, // | #| + 0x40, // | # | + 0x10, // | #| + 0x40, // | # | + + // Character 177: + + 0x50, // | # #| + 0xa0, // |# # | + 0x50, // | # #| + 0xa0, // |# # | + 0x50, // | # #| + 0xa0, // |# # | + 0x50, // | # #| + 0xa0, // |# # | + + // Character 178: + + 0xd0, // |## #| + 0x70, // | ###| + 0xd0, // |## #| + 0x70, // | ###| + 0xd0, // |## #| + 0x70, // | ###| + 0xd0, // |## #| + 0x70, // | ###| + + // Character 179: + + 0x20, // | # | + 0x20, // | # | + 0x20, // | # | + 0x20, // | # | + 0x20, // | # | + 0x20, // | # | + 0x20, // | # | + 0x20, // | # | + + // Character 180: + + 0x20, // | # | + 0x20, // | # | + 0x20, // | # | + 0xe0, // |### | + 0x20, // | # | + 0x20, // | # | + 0x20, // | # | + 0x20, // | # | + + // Character 181: + + 0x20, // | # | + 0x20, // | # | + 0xe0, // |### | + 0x20, // | # | + 0xe0, // |### | + 0x20, // | # | + 0x20, // | # | + 0x20, // | # | + + // Character 182: + + 0x50, // | # #| + 0x50, // | # #| + 0x50, // | # #| + 0xd0, // |## #| + 0x50, // | # #| + 0x50, // | # #| + 0x50, // | # #| + 0x50, // | # #| + + // Character 183: + + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0xf0, // |####| + 0x50, // | # #| + 0x50, // | # #| + 0x50, // | # #| + 0x50, // | # #| + + // Character 184: + + 0x00, // | | + 0x00, // | | + 0xe0, // |### | + 0x20, // | # | + 0xe0, // |### | + 0x20, // | # | + 0x20, // | # | + 0x20, // | # | + + // Character 185: + + 0x50, // | # #| + 0x50, // | # #| + 0xd0, // |## #| + 0x10, // | #| + 0xd0, // |## #| + 0x50, // | # #| + 0x50, // | # #| + 0x50, // | # #| + + // Character 186: + + 0x50, // | # #| + 0x50, // | # #| + 0x50, // | # #| + 0x50, // | # #| + 0x50, // | # #| + 0x50, // | # #| + 0x50, // | # #| + 0x50, // | # #| + + // Character 187: + + 0x00, // | | + 0x00, // | | + 0xf0, // |####| + 0x10, // | #| + 0xd0, // |## #| + 0x50, // | # #| + 0x50, // | # #| + 0x50, // | # #| + + // Character 188: + + 0x50, // | # #| + 0x50, // | # #| + 0xd0, // |## #| + 0x10, // | #| + 0xf0, // |####| + 0x00, // | | + 0x00, // | | + 0x00, // | | + + // Character 189: + + 0x50, // | # #| + 0x50, // | # #| + 0x50, // | # #| + 0xf0, // |####| + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0x00, // | | + + // Character 190: + + 0x20, // | # | + 0x20, // | # | + 0xe0, // |### | + 0x20, // | # | + 0xe0, // |### | + 0x00, // | | + 0x00, // | | + 0x00, // | | + + // Character 191: + + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0xe0, // |### | + 0x20, // | # | + 0x20, // | # | + 0x20, // | # | + 0x20, // | # | + + // Character 192: + + 0x20, // | # | + 0x20, // | # | + 0x20, // | # | + 0x30, // | ##| + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0x00, // | | + + // Character 193: + + 0x20, // | # | + 0x20, // | # | + 0x20, // | # | + 0xf0, // |####| + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0x00, // | | + + // Character 194: + + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0xf0, // |####| + 0x20, // | # | + 0x20, // | # | + 0x20, // | # | + 0x20, // | # | + + // Character 195: + + 0x20, // | # | + 0x20, // | # | + 0x20, // | # | + 0x30, // | ##| + 0x20, // | # | + 0x20, // | # | + 0x20, // | # | + 0x20, // | # | + + // Character 196: + + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0xf0, // |####| + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0x00, // | | + + // Character 197: + + 0x20, // | # | + 0x20, // | # | + 0x20, // | # | + 0xf0, // |####| + 0x20, // | # | + 0x20, // | # | + 0x20, // | # | + 0x20, // | # | + + // Character 198: + + 0x20, // | # | + 0x20, // | # | + 0x30, // | ##| + 0x20, // | # | + 0x30, // | ##| + 0x20, // | # | + 0x20, // | # | + 0x20, // | # | + + // Character 199: + + 0x50, // | # #| + 0x50, // | # #| + 0x50, // | # #| + 0x50, // | # #| + 0x50, // | # #| + 0x50, // | # #| + 0x50, // | # #| + 0x50, // | # #| + + // Character 200: + + 0x50, // | # #| + 0x50, // | # #| + 0x50, // | # #| + 0x40, // | # | + 0x70, // | ###| + 0x00, // | | + 0x00, // | | + 0x00, // | | + + // Character 201: + + 0x00, // | | + 0x00, // | | + 0x70, // | ###| + 0x40, // | # | + 0x50, // | # #| + 0x50, // | # #| + 0x50, // | # #| + 0x50, // | # #| + + // Character 202: + + 0x50, // | # #| + 0x50, // | # #| + 0xd0, // |## #| + 0x00, // | | + 0xf0, // |####| + 0x00, // | | + 0x00, // | | + 0x00, // | | + + // Character 203: + + 0x00, // | | + 0x00, // | | + 0xf0, // |####| + 0x00, // | | + 0xd0, // |## #| + 0x50, // | # #| + 0x50, // | # #| + 0x50, // | # #| + + // Character 204: + + 0x50, // | # #| + 0x50, // | # #| + 0x50, // | # #| + 0x50, // | # #| + 0x50, // | # #| + 0x50, // | # #| + 0x50, // | # #| + 0x50, // | # #| + + // Character 205: + + 0x00, // | | + 0x00, // | | + 0xf0, // |####| + 0x00, // | | + 0xf0, // |####| + 0x00, // | | + 0x00, // | | + 0x00, // | | + + // Character 206: + + 0x50, // | # #| + 0x50, // | # #| + 0xd0, // |## #| + 0x00, // | | + 0xd0, // |## #| + 0x50, // | # #| + 0x50, // | # #| + 0x50, // | # #| + + // Character 207: + + 0x20, // | # | + 0x20, // | # | + 0xf0, // |####| + 0x00, // | | + 0xf0, // |####| + 0x00, // | | + 0x00, // | | + 0x00, // | | + + // Character 208: + + 0x50, // | # #| + 0x50, // | # #| + 0x50, // | # #| + 0xf0, // |####| + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0x00, // | | + + // Character 209: + + 0x00, // | | + 0x00, // | | + 0xf0, // |####| + 0x00, // | | + 0xf0, // |####| + 0x20, // | # | + 0x20, // | # | + 0x20, // | # | + + // Character 210: + + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0xf0, // |####| + 0x50, // | # #| + 0x50, // | # #| + 0x50, // | # #| + 0x50, // | # #| + + // Character 211: + + 0x50, // | # #| + 0x50, // | # #| + 0x50, // | # #| + 0x70, // | ###| + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0x00, // | | + + // Character 212: + + 0x20, // | # | + 0x20, // | # | + 0x30, // | ##| + 0x20, // | # | + 0x30, // | ##| + 0x00, // | | + 0x00, // | | + 0x00, // | | + + // Character 213: + + 0x00, // | | + 0x00, // | | + 0x30, // | ##| + 0x20, // | # | + 0x30, // | ##| + 0x20, // | # | + 0x20, // | # | + 0x20, // | # | + + // Character 214: + + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0x70, // | ###| + 0x50, // | # #| + 0x50, // | # #| + 0x50, // | # #| + 0x50, // | # #| + + // Character 215: + + 0x50, // | # #| + 0x50, // | # #| + 0x50, // | # #| + 0xf0, // |####| + 0x50, // | # #| + 0x50, // | # #| + 0x50, // | # #| + 0x50, // | # #| + + // Character 216: + + 0x20, // | # | + 0x20, // | # | + 0xf0, // |####| + 0x20, // | # | + 0xf0, // |####| + 0x20, // | # | + 0x20, // | # | + 0x20, // | # | + + // Character 217: + + 0x20, // | # | + 0x20, // | # | + 0x20, // | # | + 0xe0, // |### | + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0x00, // | | + + // Character 218: + + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0x30, // | ##| + 0x20, // | # | + 0x20, // | # | + 0x20, // | # | + 0x20, // | # | + + // Character 219: + + 0xf0, // |####| + 0xf0, // |####| + 0xf0, // |####| + 0xf0, // |####| + 0xf0, // |####| + 0xf0, // |####| + 0xf0, // |####| + 0xf0, // |####| + + // Character 220: + + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0xf0, // |####| + 0xf0, // |####| + 0xf0, // |####| + 0xf0, // |####| + + // Character 221: + + 0xc0, // |## | + 0xc0, // |## | + 0xc0, // |## | + 0xc0, // |## | + 0xc0, // |## | + 0xc0, // |## | + 0xc0, // |## | + 0xc0, // |## | + + // Character 222: + + 0x30, // | ##| + 0x30, // | ##| + 0x30, // | ##| + 0x30, // | ##| + 0x30, // | ##| + 0x30, // | ##| + 0x30, // | ##| + 0x30, // | ##| + + // Character 223: + + 0xf0, // |####| + 0xf0, // |####| + 0xf0, // |####| + 0xf0, // |####| + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0x00, // | | + + // Character 224: + + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0x50, // | # #| + 0xa0, // |# # | + 0xa0, // |# # | + 0x50, // | # #| + 0x00, // | | + + // Character 225: + + 0x00, // | | + 0xc0, // |## | + 0xa0, // |# # | + 0xc0, // |## | + 0xa0, // |# # | + 0x90, // |# #| + 0xa0, // |# # | + 0x00, // | | + + // Character 226: + + 0x00, // | | + 0xf0, // |####| + 0x90, // |# #| + 0x80, // |# | + 0x80, // |# | + 0x80, // |# | + 0x80, // |# | + 0x00, // | | + + // Character 227: + + 0x00, // | | + 0x00, // | | + 0xf0, // |####| + 0xa0, // |# # | + 0xa0, // |# # | + 0xa0, // |# # | + 0xa0, // |# # | + 0x00, // | | + + // Character 228: + + 0x00, // | | + 0x00, // | | + 0xe0, // |### | + 0x80, // |# | + 0x40, // | # | + 0x80, // |# | + 0xe0, // |### | + 0x00, // | | + + // Character 229: + + 0x00, // | | + 0x00, // | | + 0x70, // | ###| + 0xa0, // |# # | + 0xa0, // |# # | + 0xa0, // |# # | + 0x40, // | # | + 0x00, // | | + + // Character 230: + + 0x00, // | | + 0x00, // | | + 0x50, // | # #| + 0x50, // | # #| + 0x70, // | ###| + 0x40, // | # | + 0x80, // |# | + 0x00, // | | + + // Character 231: + + 0x00, // | | + 0x00, // | | + 0x50, // | # #| + 0xa0, // |# # | + 0x20, // | # | + 0x20, // | # | + 0x20, // | # | + 0x00, // | | + + // Character 232: + + 0x00, // | | + 0xe0, // |### | + 0x40, // | # | + 0xa0, // |# # | + 0xa0, // |# # | + 0x40, // | # | + 0xe0, // |### | + 0x00, // | | + + // Character 233: + + 0x00, // | | + 0x40, // | # | + 0xa0, // |# # | + 0xe0, // |### | + 0xa0, // |# # | + 0xa0, // |# # | + 0x40, // | # | + 0x00, // | | + + // Character 234: + + 0x00, // | | + 0x60, // | ## | + 0x90, // |# #| + 0x90, // |# #| + 0x60, // | ## | + 0x60, // | ## | + 0xf0, // |####| + 0x00, // | | + + // Character 235: + + + 0x00, // | | + 0x60, // | ## | + 0x80, // |# | + 0x40, // | # | + 0xa0, // |# # | + 0xa0, // |# # | + 0x40, // | # | + 0x00, // | | + + // Character 236: + + 0x00, // | | + 0x00, // | | + 0x60, // | ## | + 0xb0, // |# ##| + 0xd0, // |## #| + 0x60, // | ## | + 0x00, // | | + 0x00, // | | + + // Character 237: + + 0x00, // | | + 0x10, // | #| + 0xf0, // |####| + 0x90, // |# #| + 0x90, // |# #| + 0xf0, // |####| + 0x80, // |# | + 0x00, // | | + + // Character 238: + + 0x00, // | | + 0x60, // | ## | + 0x80, // |# | + 0xe0, // |### | + 0x80, // |# | + 0x80, // |# | + 0x60, // | ## | + 0x00, // | | + + // Character 239: + + 0x00, // | | + 0x40, // | # | + 0xa0, // |# # | + 0xa0, // |# # | + 0xa0, // |# # | + 0xa0, // |# # | + 0xa0, // |# # | + 0x00, // | | + + // Character 240: + + 0x00, // | | + 0xe0, // |### | + 0x00, // | | + 0xe0, // |### | + 0x00, // | | + 0xe0, // |### | + 0x00, // | | + 0x00, // | | + + // Character 241: + + 0x00, // | | + 0x40, // | # | + 0xe0, // |### | + 0x40, // | # | + 0x00, // | | + 0xe0, // |### | + 0x00, // | | + 0x00, // | | + + // Character 242: + + 0x00, // | | + 0x80, // |# | + 0x40, // | # | + 0x20, // | # | + 0x40, // | # | + 0x80, // |# | + 0xe0, // |### | + 0x00, // | | + + // Character 243: + + 0x00, // | | + 0x20, // | # | + 0x40, // | # | + 0x80, // |# | + 0x40, // | # | + 0x20, // | # | + 0xe0, // |### | + 0x00, // | | + + // Character 244: + + 0x00, // | | + 0x10, // | #| + 0x20, // | # | + 0x20, // | # | + 0x20, // | # | + 0x20, // | # | + 0x20, // | # | + 0x20, // | # | + + // Character 245: + + 0x20, // | # | + 0x20, // | # | + 0x20, // | # | + 0x20, // | # | + 0xa0, // |# # | + 0x40, // | # | + 0x00, // | | + 0x00, // | | + + // Character 246: + + 0x00, // | | + 0x00, // | | + 0x40, // | # | + 0x00, // | | + 0xe0, // |### | + 0x00, // | | + 0x40, // | # | + 0x00, // | | + + // Character 247: + + 0x00, // | | + 0x50, // | # #| + 0xa0, // |# # | + 0x00, // | | + 0x50, // | # #| + 0xa0, // |# # | + 0x00, // | | + 0x00, // | | + + // Character 248: + + 0x40, // | # | + 0xa0, // |# # | + 0x40, // | # | + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0x00, // | | + + // Character 249: + + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0x60, // | ## | + 0x60, // | ## | + 0x00, // | | + 0x00, // | | + 0x00, // | | + + // Character 250: + + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0x40, // | # | + 0x00, // | | + 0x00, // | | + 0x00, // | | + + // Character 251: + + 0x30, // | ##| + 0x20, // | # | + 0x20, // | # | + 0xa0, // |# # | + 0x60, // | ## | + 0x20, // | # | + 0x00, // | | + 0x00, // | | + + // Character 252: + + 0xe0, // |### | + 0xa0, // |# # | + 0xa0, // |# # | + 0xa0, // |# # | + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0x00, // | | + + // Character 253: + + 0xc0, // |## | + 0x20, // | # | + 0x40, // | # | + 0xe0, // |### | + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0x00, // | | + + // Character 254: + + 0x00, // | | + 0x00, // | | + 0xf0, // |####| + 0xf0, // |####| + 0xf0, // |####| + 0xf0, // |####| + 0x00, // | | + 0x00, // | | + + // Character 255: + + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0x00, // | | + 0x00, // | | +}; + +static txt_font_t small_font = +{ + small_font_data, + 4, // width + 8 // height +}; + + |