From 57a084f9897afc52060b5a269441916a83b6f69f Mon Sep 17 00:00:00 2001 From: Slyvtt Date: Mon, 18 Apr 2022 22:36:07 +0200 Subject: [PATCH] writing PRIZM video driver --- Makefile.prizm | 81 +- TODO.txt | 13 + cSDL1_2_15.cbp | 24 + cSDL1_2_15.layout | 68 +- include/SDL_config.h | 7 +- include/SDL_config_prizm.h | 37 + include/SDL_video.h | 118 ++- libSDL_prizm.a | Bin 266156 -> 0 bytes src/audio/SDL_audiodev.o | Bin 0 -> 560 bytes src/audio/SDL_mixer.o | Bin 0 -> 1928 bytes src/audio/SDL_mixer_MMX.o | Bin 0 -> 560 bytes src/audio/SDL_mixer_MMX_VC.o | Bin 0 -> 564 bytes src/audio/SDL_mixer_m68k.o | Bin 0 -> 560 bytes src/audio/SDL_wave.o | Bin 0 -> 4884 bytes src/audio/dummy/SDL_dummyaudio.o | Bin 0 -> 2288 bytes src/cdrom/SDL_cdrom.o | Bin 0 -> 4256 bytes src/cdrom/dummy/SDL_syscdrom.o | Bin 0 -> 632 bytes src/joystick/dummy/SDL_sysjoystick.o | Bin 0 -> 1156 bytes src/loadso/dummy/SDL_sysloadso.o | Bin 0 -> 1048 bytes src/timer/dummy/SDL_systimer.o | Bin 0 -> 1724 bytes src/timer/prizm/SDL_systimer.c | 107 +++ src/video/SDL_sysvideo.h | 9 +- src/video/dummy/SDL_nullevents.o | Bin 0 -> 640 bytes src/video/dummy/SDL_nullmouse.o | Bin 0 -> 560 bytes src/video/dummy/SDL_nullvideo.o | Bin 0 -> 2760 bytes src/video/prizm/SDL_prizmevents.c | 100 ++ src/video/prizm/SDL_prizmevents_c.h | 102 ++ src/video/prizm/SDL_prizmfonts.c | 133 +++ src/video/prizm/SDL_prizmfonts.h | 1309 ++++++++++++++++++++++++++ src/video/prizm/SDL_prizmnti.c | 38 + src/video/prizm/SDL_prizmnti.h | 15 + src/video/prizm/SDL_prizmutils.c | 17 + src/video/prizm/SDL_prizmvideo.c | 257 +++++ src/video/prizm/SDL_prizmvideo.h | 52 + 34 files changed, 2422 insertions(+), 65 deletions(-) create mode 100644 TODO.txt delete mode 100644 libSDL_prizm.a create mode 100644 src/audio/SDL_audiodev.o create mode 100644 src/audio/SDL_mixer.o create mode 100644 src/audio/SDL_mixer_MMX.o create mode 100644 src/audio/SDL_mixer_MMX_VC.o create mode 100644 src/audio/SDL_mixer_m68k.o create mode 100644 src/audio/SDL_wave.o create mode 100644 src/audio/dummy/SDL_dummyaudio.o create mode 100644 src/cdrom/SDL_cdrom.o create mode 100644 src/cdrom/dummy/SDL_syscdrom.o create mode 100644 src/joystick/dummy/SDL_sysjoystick.o create mode 100644 src/loadso/dummy/SDL_sysloadso.o create mode 100644 src/timer/dummy/SDL_systimer.o create mode 100644 src/timer/prizm/SDL_systimer.c create mode 100644 src/video/dummy/SDL_nullevents.o create mode 100644 src/video/dummy/SDL_nullmouse.o create mode 100644 src/video/dummy/SDL_nullvideo.o create mode 100644 src/video/prizm/SDL_prizmevents.c create mode 100644 src/video/prizm/SDL_prizmevents_c.h create mode 100644 src/video/prizm/SDL_prizmfonts.c create mode 100644 src/video/prizm/SDL_prizmfonts.h create mode 100644 src/video/prizm/SDL_prizmnti.c create mode 100644 src/video/prizm/SDL_prizmnti.h create mode 100644 src/video/prizm/SDL_prizmutils.c create mode 100644 src/video/prizm/SDL_prizmvideo.c create mode 100644 src/video/prizm/SDL_prizmvideo.h diff --git a/Makefile.prizm b/Makefile.prizm index fefadf8..fced1c9 100644 --- a/Makefile.prizm +++ b/Makefile.prizm @@ -9,35 +9,68 @@ CC = sh-elf-gcc CONFIG_H = include/SDL_config.h TARGET = libSDL_prizm.a SOURCES = \ - src/*.c \ - src/audio/*.c \ - src/cdrom/*.c \ - src/cpuinfo/*.c \ - src/events/*.c \ - src/file/*.c \ - src/joystick/*.c \ - src/stdlib/*.c \ - src/thread/*.c \ - src/timer/*.c \ - src/video/*.c \ - src/audio/dummy/*.c \ - src/video/dummy/*.c \ - src/joystick/dummy/*.c \ - src/cdrom/dummy/*.c \ - src/thread/generic/*.c \ - src/timer/dummy/*.c \ - src/loadso/dummy/*.c \ + src/SDL.c \ + src/SDL_error.c \ + src/SDL_fatal.c \ + src/audio/SDL_audio.c \ + src/audio/SDL_audiocvt.c \ + src/cpuinfo/SDL_cpuinfo.c \ + src/events/SDL_active.c \ + src/events/SDL_events.c \ + src/events/SDL_expose.c \ + src/events/SDL_keyboard.c \ + src/events/SDL_mouse.c \ + src/events/SDL_quit.c \ + src/events/SDL_resize.c \ + src/file/SDL_rwops.c \ + src/joystick/SDL_joystick.c \ + src/stdlib/SDL_getenv.c \ + src/stdlib/SDL_iconv.c \ + src/stdlib/SDL_malloc.c \ + src/stdlib/SDL_qsort.c \ + src/stdlib/SDL_stdlib.c \ + src/stdlib/SDL_string.c \ + src/thread/SDL_thread.c \ + src/thread/generic/SDL_syscond.c \ + src/thread/generic/SDL_sysmutex.c \ + src/thread/generic/SDL_syssem.c \ + src/thread/generic/SDL_systhread.c \ + src/timer/SDL_timer.c \ + src/timer/prizm/SDL_systimer.c \ + src/video/SDL_blit.c \ + src/video/SDL_blit_0.c \ + src/video/SDL_blit_1.c \ + src/video/SDL_blit_A.c \ + src/video/SDL_blit_N.c \ + src/video/SDL_bmp.c \ + src/video/SDL_cursor.c \ + src/video/SDL_gamma.c \ + src/video/SDL_pixels.c \ + src/video/SDL_RLEaccel.c \ + src/video/SDL_stretch.c \ + src/video/SDL_surface.c \ + src/video/SDL_video.c \ + src/video/SDL_yuv.c \ + src/video/SDL_yuv_mmx.c \ + src/video/SDL_yuv_sw.c \ + src/video/prizm/SDL_prizmevents.c \ + src/video/prizm/SDL_prizmfonts.c \ + src/video/prizm/SDL_prizmnti.c \ + src/video/prizm/SDL_prizmutils.c \ + src/video/prizm/SDL_prizmvideo.c -OBJECTS = $(shell echo $(SOURCES) | sed -e 's,\.c,\.o,g') +OBJECTS = $(SOURCES:.c=.o) all: $(TARGET) -$(TARGET): $(CONFIG_H) $(OBJECTS) - $(AR) crv $@ $^ +$(TARGET): $(OBJECTS) + #cp $(CONFIG_H).default $(CONFIG_H) + $(AR) cr $@ $^ $(RANLIB) $@ + #$(STRIP) --strip-unneeded $@ -$(CONFIG_H): - cp $(CONFIG_H).default $(CONFIG_H) +.c.o: + $(CC) $(INCLUDE) $(CFLAGS) -c $< -o $@ clean: - rm -f $(TARGET) $(OBJECTS) + rm -f $(OBJECTS) $(TARGET) diff --git a/TODO.txt b/TODO.txt new file mode 100644 index 0000000..4680a52 --- /dev/null +++ b/TODO.txt @@ -0,0 +1,13 @@ +timers : src/timer/prizm/SDL_systimer.c + + implement : + void SDL_StartTicks(void); + Uint32 SDL_GetTicks (void); + void SDL_Delay (Uint32 ms) + + check if : + #include "SDL_thread.h" is working or not + + +video : + diff --git a/cSDL1_2_15.cbp b/cSDL1_2_15.cbp index 7b8d5d9..9c19679 100644 --- a/cSDL1_2_15.cbp +++ b/cSDL1_2_15.cbp @@ -15,6 +15,8 @@ + + @@ -193,6 +195,9 @@ + + @@ -270,6 +275,25 @@ + + + + + + + + + + + + + + diff --git a/cSDL1_2_15.layout b/cSDL1_2_15.layout index d107655..3d6d100 100644 --- a/cSDL1_2_15.layout +++ b/cSDL1_2_15.layout @@ -2,19 +2,77 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + + + + + + + + + - + - + + + + + + + + + + + diff --git a/include/SDL_config.h b/include/SDL_config.h index 119491e..0d9a007 100644 --- a/include/SDL_config.h +++ b/include/SDL_config.h @@ -23,8 +23,12 @@ #ifndef _SDL_config_h #define _SDL_config_h +#define FXCG50 1 + #include "SDL_platform.h" + + /* Add any platform that doesn't build using the configure system */ #if defined(__DREAMCAST__) #include "SDL_config_dreamcast.h" @@ -44,8 +48,7 @@ #include "SDL_config_prizm.h" #else -//#include "SDL_config_minimal.h" -#include "SDL_config_prizm.h" +#include "SDL_config_minimal.h" #endif /* platform config */ #endif /* _SDL_config_h */ diff --git a/include/SDL_config_prizm.h b/include/SDL_config_prizm.h index 28ef82a..b0ec1cf 100644 --- a/include/SDL_config_prizm.h +++ b/include/SDL_config_prizm.h @@ -29,6 +29,23 @@ #include + +#define PRZ_DEBUG_BUILD 1 +//#define DEBUG_BUILD 1 +//#define DEBUG_VIDEO 1 +//#define DEBUG_ERROR 1 + + +#define PRZ_WARNING(s) fprintf(stderr, "[nSDL] Warning: %s\n", s) + +#if PRZ_DEBUG_BUILD +#define PRZ_DEBUG(fmt, args...) \ + fprintf(stderr, "[nSDL] %s(): " fmt "\n", __FUNCTION__, ## args) +#else +#define PRZ_DEBUG(fmt, args...) (void)0 +#endif + + #define SDL_HAS_64BIT_TYPE 1 /* Endianness */ @@ -80,4 +97,24 @@ #define SDL_TIMER_DUMMY 1 +/* Enable various timer systems */ +#define SDL_TIMER_PRIZM 1 + +/* Enable various video drivers */ +#define SDL_VIDEO_DRIVER_PRIZM 1 + +/* Enable assembly routines */ +#define SDL_ASSEMBLY_ROUTINES 1 + +/* Fonts; needs to match nsp_font_charmaps in SDL_tinspirefonts.c */ +enum { + NSDL_FONT_THIN = 0, + NSDL_FONT_SPACE, + NSDL_FONT_VGA, + NSDL_FONT_FANTASY, + NSDL_FONT_TINYTYPE, + NSP_NUMFONTS +}; + + #endif /* _SDL_config_prizm_h */ diff --git a/include/SDL_video.h b/include/SDL_video.h index f9c4e07..e94aeec 100644 --- a/include/SDL_video.h +++ b/include/SDL_video.h @@ -253,6 +253,62 @@ typedef enum { #define SDL_PHYSPAL 0x02 /*@}*/ +/* Public Casio PRIZM-specific stuff */ +#ifdef __CASIOPRIZM__ + +#define PRZ_FONT_NUMCHARS 256 +#define PRZ_FONT_WIDTH 8 +#define PRZ_FONT_HEIGHT 8 + +typedef struct nSDL_Font { + SDL_Surface *chars[PRZ_FONT_NUMCHARS]; + Uint8 char_width[PRZ_FONT_NUMCHARS]; + int hspacing, vspacing; + SDL_bool monospaced; +} nSDL_Font; + +nSDL_Font *nSDL_LoadFont(int font_index, Uint8 r, Uint8 g, Uint8 b); +void nSDL_SetFontSpacing(nSDL_Font *font, int hspacing, int vspacing); +void nSDL_EnableFontMonospaced(nSDL_Font *font, SDL_bool toggle); +void nSDL_FreeFont(nSDL_Font *font); +int nSDL_DrawString(SDL_Surface *surface, nSDL_Font *font, + int x, int y, const char *format, ...); +int nSDL_GetStringWidth(nSDL_Font *font, const char *s); +int nSDL_GetStringHeight(nSDL_Font *font, const char *s); +SDL_Surface *nSDL_LoadImage(Uint16 *data); +int nSDL_EnableRelativePaths(char **argv); + +#define PRZ_PIXEL_ADDR(origin, x, y, pitch, bpp) ((Uint8 *)origin + ((x) * (bpp)) + ((y) * (pitch))) + +#define PXL(bpp) PRZ_PIXEL_ADDR(surface->pixels, x, y, surface->pitch, bpp) + +static __inline__ __attribute__((always_inline)) +Uint32 nSDL_GetPixel(SDL_Surface *surface, int x, int y) +{ + switch ( surface->format->BytesPerPixel ) { + case 2: return(*(Uint16 *)PXL(2)); + case 1: return(*PXL(1)); + case 4: return(*(Uint32 *)PXL(4)); + case 3: SDL_Unsupported(); + default: return(0); + } +} + +static __inline__ __attribute__((always_inline)) +void nSDL_SetPixel(SDL_Surface *surface, int x, int y, Uint32 color) +{ + switch ( surface->format->BytesPerPixel ) { + case 2: *(Uint16 *)PXL(2) = (Uint16)color; return; + case 1: *PXL(1) = (Uint8)color; return; + case 4: *(Uint32 *)PXL(4) = (Uint32)color; return; + case 3: SDL_Unsupported(); + default: return; + } +} + +#endif + + /* Function prototypes */ /** @@ -314,11 +370,11 @@ extern DECLSPEC int SDLCALL SDL_VideoModeOK(int width, int height, int bpp, Uint /** * Return a pointer to an array of available screen dimensions for the - * given format and video flags, sorted largest to smallest. Returns - * NULL if there are no dimensions available for a particular format, + * given format and video flags, sorted largest to smallest. Returns + * NULL if there are no dimensions available for a particular format, * or (SDL_Rect **)-1 if any dimension is okay for the given format. * - * If 'format' is NULL, the mode list will be for the format given + * If 'format' is NULL, the mode list will be for the format given * by SDL_GetVideoInfo()->vfmt */ extern DECLSPEC SDL_Rect ** SDLCALL SDL_ListModes(SDL_PixelFormat *format, Uint32 flags); @@ -347,21 +403,21 @@ extern DECLSPEC SDL_Rect ** SDLCALL SDL_ListModes(SDL_PixelFormat *format, Uint3 * Otherwise, in 8-bit mode, SDL_SetColors() may not be able to set all * of the colors exactly the way they are requested, and you should look * at the video surface structure to determine the actual palette. - * If SDL cannot guarantee that the colors you request can be set, + * If SDL cannot guarantee that the colors you request can be set, * i.e. if the colormap is shared, then the video surface may be created * under emulation in system memory, overriding the SDL_HWSURFACE flag. * * If SDL_FULLSCREEN is set in 'flags', the SDL library will try to set * a fullscreen video mode. The default is to create a windowed mode * if the current graphics system has a window manager. - * If the SDL library is able to set a fullscreen video mode, this flag + * If the SDL library is able to set a fullscreen video mode, this flag * will be set in the surface that is returned. * * If SDL_DOUBLEBUF is set in 'flags', the SDL library will try to set up - * two surfaces in video memory and swap between them when you call + * two surfaces in video memory and swap between them when you call * SDL_Flip(). This is usually slower than the normal single-buffering - * scheme, but prevents "tearing" artifacts caused by modifying video - * memory while the monitor is refreshing. It should only be used by + * scheme, but prevents "tearing" artifacts caused by modifying video + * memory while the monitor is refreshing. It should only be used by * applications that redraw the entire screen on every update. * * If SDL_RESIZABLE is set in 'flags', the SDL library will allow the @@ -416,7 +472,7 @@ extern DECLSPEC int SDLCALL SDL_Flip(SDL_Surface *screen); /** * Set the gamma correction for each of the color channels. * The gamma values range (approximately) between 0.1 and 10.0 - * + * * If this function isn't supported directly by the hardware, it will * be emulated using gamma ramps, if available. If successful, this * function returns 0, otherwise it returns -1. @@ -429,7 +485,7 @@ extern DECLSPEC int SDLCALL SDL_SetGamma(float red, float green, float blue); * representing a mapping between the input and output for that channel. * The input is the index into the array, and the output is the 16-bit * gamma value at that index, scaled to the output color precision. - * + * * You may pass NULL for any of the channels to leave it unchanged. * If the call succeeds, it will return 0. If the display driver or * hardware does not support gamma translation, or otherwise fails, @@ -439,7 +495,7 @@ extern DECLSPEC int SDLCALL SDL_SetGammaRamp(const Uint16 *red, const Uint16 *gr /** * Retrieve the current values of the gamma translation tables. - * + * * You must pass in valid pointers to arrays of 256 16-bit quantities. * Any of the pointers may be NULL to ignore that channel. * If the call succeeds, it will return 0. If the display driver or @@ -457,13 +513,13 @@ extern DECLSPEC int SDLCALL SDL_GetGammaRamp(Uint16 *red, Uint16 *green, Uint16 * determine the actual color palette. * * When 'surface' is the surface associated with the current display, the - * display colormap will be updated with the requested colors. If + * display colormap will be updated with the requested colors. If * SDL_HWPALETTE was set in SDL_SetVideoMode() flags, SDL_SetColors() * will always return 1, and the palette is guaranteed to be set the way * you desire, even if the window colormap has to be warped or run under * emulation. */ -extern DECLSPEC int SDLCALL SDL_SetColors(SDL_Surface *surface, +extern DECLSPEC int SDLCALL SDL_SetColors(SDL_Surface *surface, SDL_Color *colors, int firstcolor, int ncolors); /** @@ -537,7 +593,7 @@ extern DECLSPEC void SDLCALL SDL_GetRGBA(Uint32 pixel, * two surfaces in video memory, SDL will try to place the surface in * video memory. If this isn't possible or if there is no hardware * acceleration available, the surface will be placed in system memory. - * SDL_SRCALPHA means that the surface will be used for alpha blits and + * SDL_SRCALPHA means that the surface will be used for alpha blits and * if the hardware supports hardware acceleration of alpha blits between * two surfaces in video memory, to place the surface in video memory * if possible, otherwise it will be placed in system memory. @@ -551,7 +607,7 @@ extern DECLSPEC void SDLCALL SDL_GetRGBA(Uint32 pixel, * the SDL_HWSURFACE flag set, and will be created in system memory instead. */ extern DECLSPEC SDL_Surface * SDLCALL SDL_CreateRGBSurface - (Uint32 flags, int width, int height, int depth, + (Uint32 flags, int width, int height, int depth, Uint32 Rmask, Uint32 Gmask, Uint32 Bmask, Uint32 Amask); /** @sa SDL_CreateRGBSurface */ extern DECLSPEC SDL_Surface * SDLCALL SDL_CreateRGBSurfaceFrom(void *pixels, @@ -562,8 +618,8 @@ extern DECLSPEC void SDLCALL SDL_FreeSurface(SDL_Surface *surface); /** * SDL_LockSurface() sets up a surface for directly accessing the pixels. * Between calls to SDL_LockSurface()/SDL_UnlockSurface(), you can write - * to and read from 'surface->pixels', using the pixel format stored in - * 'surface->format'. Once you are done accessing the surface, you should + * to and read from 'surface->pixels', using the pixel format stored in + * 'surface->format'. Once you are done accessing the surface, you should * use SDL_UnlockSurface() to release it. * * Not all surfaces require locking. If SDL_MUSTLOCK(surface) evaluates @@ -571,7 +627,7 @@ extern DECLSPEC void SDLCALL SDL_FreeSurface(SDL_Surface *surface); * pixel format of the surface will not change. In particular, if the * SDL_HWSURFACE flag is not given when calling SDL_SetVideoMode(), you * will not need to lock the display surface before accessing it. - * + * * No operating system or library calls should be made between lock/unlock * pairs, as critical system locks may be held during this time. * @@ -605,7 +661,7 @@ extern DECLSPEC int SDLCALL SDL_SaveBMP_RW /** * Sets the color key (transparent pixel) in a blittable surface. - * If 'flag' is SDL_SRCCOLORKEY (optionally OR'd with SDL_RLEACCEL), + * If 'flag' is SDL_SRCCOLORKEY (optionally OR'd with SDL_RLEACCEL), * 'key' will be the transparent pixel in the source image of a blit. * SDL_RLEACCEL requests RLE acceleration for the surface if present, * and removes RLE acceleration if absent. @@ -654,11 +710,11 @@ extern DECLSPEC SDL_bool SDLCALL SDL_SetClipRect(SDL_Surface *surface, const SDL extern DECLSPEC void SDLCALL SDL_GetClipRect(SDL_Surface *surface, SDL_Rect *rect); /** - * Creates a new surface of the specified format, and then copies and maps - * the given surface to it so the blit of the converted surface will be as + * Creates a new surface of the specified format, and then copies and maps + * the given surface to it so the blit of the converted surface will be as * fast as possible. If this function fails, it returns NULL. * - * The 'flags' parameter is passed to SDL_CreateRGBSurface() and has those + * The 'flags' parameter is passed to SDL_CreateRGBSurface() and has those * semantics. You can also pass SDL_RLEACCEL in the flags parameter and * SDL will try to RLE accelerate colorkey and alpha blits in the resulting * surface. @@ -690,7 +746,7 @@ extern DECLSPEC SDL_Surface * SDLCALL SDL_ConvertSurface * if SDL_SRCCOLORKEY set, only copy the pixels matching the * RGB values of the source colour key, ignoring alpha in the * comparison. - * + * * RGB->RGBA: * SDL_SRCALPHA set: * alpha-blend (using the source per-surface alpha value); @@ -700,7 +756,7 @@ extern DECLSPEC SDL_Surface * SDLCALL SDL_ConvertSurface * both: * if SDL_SRCCOLORKEY set, only copy the pixels matching the * source colour key. - * + * * RGBA->RGBA: * SDL_SRCALPHA set: * alpha-blend (using the source alpha channel) the RGB values; @@ -711,8 +767,8 @@ extern DECLSPEC SDL_Surface * SDLCALL SDL_ConvertSurface * if SDL_SRCCOLORKEY set, only copy the pixels matching the * RGB values of the source colour key, ignoring alpha in the * comparison. - * - * RGB->RGB: + * + * RGB->RGB: * SDL_SRCALPHA set: * alpha-blend (using the source per-surface alpha value). * SDL_SRCALPHA not set: @@ -722,7 +778,7 @@ extern DECLSPEC SDL_Surface * SDLCALL SDL_ConvertSurface * source colour key. * * If either of the surfaces were in video memory, and the blit returns -2, - * the video memory was lost, so it should be reloaded with artwork and + * the video memory was lost, so it should be reloaded with artwork and * re-blitted: * @code * while ( SDL_BlitSurface(image, imgrect, screen, dstrect) == -2 ) { @@ -760,7 +816,7 @@ extern DECLSPEC int SDLCALL SDL_LowerBlit * The given rectangle is clipped to the destination surface clip area * and the final fill rectangle is saved in the passed in pointer. * If 'dstrect' is NULL, the whole surface will be filled with 'color' - * The color should be a pixel of the format used by the surface, and + * The color should be a pixel of the format used by the surface, and * can be generated by the SDL_MapRGB() function. * This function returns 0 on success, or -1 on error. */ @@ -813,7 +869,7 @@ extern DECLSPEC void SDLCALL SDL_UnlockYUVOverlay(SDL_Overlay *overlay); /** Blit a video overlay to the display surface. * The contents of the video surface underneath the blit destination are - * not defined. + * not defined. * The width and height of the destination rectangle may be different from * that of the overlay, but currently only 2x scaling is supported. */ @@ -908,7 +964,7 @@ extern DECLSPEC int SDLCALL SDL_WM_IconifyWindow(void); * If the display surface does not require locking before accessing * the pixel information, then the memory pointers will not change. * - * If this function was able to toggle fullscreen mode (change from + * If this function was able to toggle fullscreen mode (change from * running in a window to fullscreen, or vice-versa), it will return 1. * If it is not implemented, or fails, it returns 0. * @@ -941,7 +997,7 @@ extern DECLSPEC SDL_GrabMode SDLCALL SDL_WM_GrabInput(SDL_GrabMode mode); /** @internal Not in public API at the moment - do not use! */ extern DECLSPEC int SDLCALL SDL_SoftStretch(SDL_Surface *src, SDL_Rect *srcrect, SDL_Surface *dst, SDL_Rect *dstrect); - + /* Ends C function definitions when using C++ */ #ifdef __cplusplus } diff --git a/libSDL_prizm.a b/libSDL_prizm.a deleted file mode 100644 index 3f2925ae649d12514e2a7b7855f2eb8a67fd6fa4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 266156 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
N4ky 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
Eq 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 literal 0 HcmV?d00001 diff --git a/src/audio/SDL_mixer_MMX.o b/src/audio/SDL_mixer_MMX.o new file mode 100644 index 0000000000000000000000000000000000000000..84d64e360664016eba279feef685f3c670b269ea GIT binary patch literal 560 zcmb<-^>JflVq|~=Mg}b)8%coS1DJ0DR-wVb!NAVo?(A%(pyBQps;OXTsAs5W0N0Jo zfSbX>@c$#S1T(7n3_v~;nmkYl0e~D9hF}+;_}t8j)S`G_-w3^A1_r(2%G{E~Bp_W< z1fervtdi7<5(d4L#F9h?y`5`>Y&u%v;CKz?9@Du#prLMP0Bicobh zH{(*L4pheh#Dvu8K+S`ND#$!xAcg^uy)cX%ZXQ7K1Rw^v7lc`WSOADQff!~dkjbzD Zhy_6mD1i9`B!;YRCy;LnQv{^J>HuTxBar|A literal 0 HcmV?d00001 diff --git a/src/audio/SDL_mixer_MMX_VC.o b/src/audio/SDL_mixer_MMX_VC.o new file mode 100644 index 0000000000000000000000000000000000000000..f370377a32cdd4e7e5a9cd6e3af1c4e51a59093c GIT binary patch literal 564 zcmb<-^>JflVq|~=Mg}b)8%coS3z%;LR-wVb!NAVo?(A%(pyBQps;OXTsAs5W0N0Jo zfSbX>@c$#S1T(7n3_v~;nmkYl0e~D9hF}+;_}t8j)S`G_--!4yXT4+w2EF3S+>*p3 zAYD=fp)+8tlGKV42ECNTl0*i*q~c-*z2yAd+|;}hgsDWaq=BkH{$PWuhJ*q_E6k6I zP<1eO<5H&%RL23tgw*Lk&4Yz3$UI>nh5?YhFpL~_9zgK~AO^V?gjs-C0Ejt(7-lDs d$*=;5ML-NFfcZlZ$VXPU2go;tDFV`9bpR!RB$EID literal 0 HcmV?d00001 diff --git a/src/audio/SDL_mixer_m68k.o b/src/audio/SDL_mixer_m68k.o new file mode 100644 index 0000000000000000000000000000000000000000..3c9c08e38e1c586226d724610e6b28e24180c63a GIT binary patch literal 560 zcmb<-^>JflVq|~=Mg}b)8%coS1DJ0DR-wVb!NAVo?(A%(pyBQps;OXTsAs5W0N0Jo zfSbX>@c$#S1T(7n3_v~;nmkYl0e~D9hF}+;_}t8j)S~!YGmC7!WCjMk;>z5T#3UeH zQUswhV62kViV_CBl*E!m2EC->Vg|kB{M_8syb^?&M6jfRYCwKqgQ|su074_oe~M6b zFgN2;rw&xd0mOvV=|Ihcg(}EAVIYP9ki9UB9Bv*!@dO|Sxfg_4fLH*CIe{2vCy>do b0*Hk`3@Cv4LlDSER<{etH-#wz(qMG}&Riqs literal 0 HcmV?d00001 diff --git a/src/audio/SDL_wave.o b/src/audio/SDL_wave.o new file mode 100644 index 0000000000000000000000000000000000000000..1aa48cb7376658f3cee02c048d6e745fd21a4ca5 GIT binary patch literal 4884 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 literal 0 HcmV?d00001 diff --git a/src/audio/dummy/SDL_dummyaudio.o b/src/audio/dummy/SDL_dummyaudio.o new file mode 100644 index 0000000000000000000000000000000000000000..9894b3d563808fe3135749654ef45ec15f6f6f0a GIT binary patch literal 2288 zcma)7O>7%Q6n?vQnxvZ&$4L{%6yb&vr46#{QXzhNu(3muDyj2ZC_-{J@w(p1juY=D zN{|IrT>?n03bcwiAf*zhaHv#{NN~u314kQCp>k?bi;B2_gd!>-g>QCeob4(Ho-{k( z_ukt#Z{C}oeRp8wHA$AJE)pF9b|@NO1efW!<FerIWEn#NR8@+s$UMu zuy}*#JXPPBjeGJ`C8l(@XFSy>Vv6=T=6$#K#jqMs3!A&;yOioZx2129lH0oV=Sc2dcBhL!t1wX#@lYlWpNXlvyeiR$+iXWZ{sy zl+lZ!Oi5qXN<@Q+#LJ<+!Bf+RL(ynB8a@i&U8H^ny|n$8)9%5-E)La>fHZ*lxyCEo z{=ML+H8pX50vNrZ>zt1P-^BQu^RsvjeWF90zXQ&Cc7XFwz|VvCaSmt;*53p4CG4y| zCw8$nLjSGpZ5I^y2N(a@#qYWJA1?mraW2(s#2SWN>SvJi4wrw>#h-QYsEfbExv!1L z!nbL+?nky_g z(wr?8O(@j`Ue`-R9ioRH5$zZF8d0mjpW^fg{25W3z}Ip71;&|e=UBomE@Dc!*F{VT z--7rFNHGUaI`EJKk2vs{15XikinZP#>Jqr@z+X7E~%VSpDIVedr4 z$0j%vSID2J=x27LUCv;<4{q=m6y;9!}x4rx&1P_?T_9{2~rV7LVBn z_{`RV$Oazm7PKGCM+`?HH@EWiH%#1Kk| literal 0 HcmV?d00001 diff --git a/src/cdrom/SDL_cdrom.o b/src/cdrom/SDL_cdrom.o new file mode 100644 index 0000000000000000000000000000000000000000..372d3ad0618e88563aa53ec19c1450d3174c759a GIT binary patch literal 4256 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 T<~~6n8%Z5l*c7Ay3cvyYe=#mr literal 0 HcmV?d00001 diff --git a/src/joystick/dummy/SDL_sysjoystick.o b/src/joystick/dummy/SDL_sysjoystick.o new file mode 100644 index 0000000000000000000000000000000000000000..57c153250f14312142f158e9af19f17b81b16587 GIT binary patch literal 1156 zcma)5Jx|+E6uof`CBOi5YzMbOC?NENt4z=#RiG3UB}IXODRP1Zp>~Y?oT{0+cIm(9 z(4j-;PW=l={Q;=I03>#L?)wNPL4qsa_s%)@`1$(z`O8-AUBM~PFbcE+oD-aD#mmZ3 zqG>9gJOAi{Xy&CyMOM$<#;d>X+ZifeP-BTOYkj14Gg?zlb|Y)aakt}zX_}<#UOn+n zlYz{-osZHBJ_X$XSR~MFfuPHbC54 zriv3Id=mVb(dHKPddt=`r@;m$hA&KgZ=~J=U(MC~!0(Z+@qYuZ<@k5t4@2JEthMAo z+Wiq7YO&NjY_@jIp6&FynO1xK*c#=yuO7sqQNwJDw|?ByI178@>cQDjklA~4Pp(FZ zyhq;aqahWuL{s+rED}vyTq2sVxRTR1hq{o1I1Ab&WR~jr#G*8e0+EHEGZJVkAkmhR zM4B*RyD!QlI!PRdJ=2D6<`JU@5BJ62orC{^eTDR3&&zXA#uY6)5#~3@r%1k^Yj}5B zGTffKui*Kxd$0;|3i*)FhllTZjpX3<78TM1KbPwjGuuDrC%8SwfXc%@PKN~(e=uJn mxfgyHUXRZ<|M#{xz``#KzmYb09gcZq&gc99-{FD@<@*nY4vZ@R literal 0 HcmV?d00001 diff --git a/src/loadso/dummy/SDL_sysloadso.o b/src/loadso/dummy/SDL_sysloadso.o new file mode 100644 index 0000000000000000000000000000000000000000..262035bb2eabbe064ae13f07ec6535a465cf07a2 GIT binary patch literal 1048 zcmb7D&ubGw6n-0bwN(%PxCnX}C6-iV>Pio#ct}Z`Dg<)~J%>#)Xe8N{-6^zC@amu8 zpWwezD7|>;pHRWOe&5bcvQ|NS$(#4S_rCWs^JemCuh$J4fh;7DXYgx*#^(}mmW-C% zl-1M7box)uqqAt|maJY#e@$TVSxWOX1S7n{aQRm-O;!wcd&6FqO!}h_W^7yQD$T5# z&Ogq~+@#h_Nbe@onVF~=Xw&qadRlBl5%;y-!*pz?S^Br?{Z40Fwf5g0tgATIv3|jZ zf6C&lq5S+_Phb0O4kEz#E(IW5qB0p>!PkNBR2->PwNXA4ey z;p^gfZj+Jd!sgDt_g-#hiMHm*ik>7k5j`pj(RoHddaO4^kFz;%nj88LQQ&gFoGpbf z^L6RD#ox(8K>BSL4t~IrcLU0L=59mRD(vs}1h_7KHqQ}Uf&PmZgTtDaPzw7EOV2I* zUFO@B_0RGf@O`Kka=bQt5cU%K70SKvEbPap#Q&e)8{FUvmI2fYdr|lvYrF>TR^BjC HNy+;K$`Ern literal 0 HcmV?d00001 diff --git a/src/timer/dummy/SDL_systimer.o b/src/timer/dummy/SDL_systimer.o new file mode 100644 index 0000000000000000000000000000000000000000..114d47e90eb79933bdb2de4545e685e78804f6df GIT binary patch literal 1724 zcmb7EO=uHQ5S~r9CTS}D@rR-wHbG*wWz$Gc#X~|`Yq1zL5fut?n=H-RWK%X9u^?D- z5JY-1;=zMQj}3TGdkGRj(TfLjtuyZ@-Q?zwdGGtaH#2W`-^)IpTfD6J z6zG@&7Z7`d{z>FMm}U{#5Sv_HJ#H+C07E!C)_ z8ft>E8yQ8=u1bESchT(IW0AmxYHVli9B6*hWb!RaUILW;#yAnbF*$V;Tjs zpt)ArbTrG>YE=_pK9!o$#^7$KRnLp`M3@ zvgG6Or;wAbVqu!kiFL^ZWyShC1Oe7Nf|D*aQ8?Md7khXC`4YN1%J+8>-$OqxcpWim zgMx1&-ax-3_zq%bV!zit{3G)B=u;wozi0gy^55uZ#QH(^x^fiT3ZTaO%giq3s_RvD zP&D4Od|&9*Ijg-dgE>>Osr(X%3{qM2Xidd4*zH*4ir ztDMi9UN&o%jCB!sH{c$^ZidGtpf`~qM^#=P{@e1)GEslV~) z?*K-n-t_1#5B`DIO2p7~QewR40gmRga1ahy5=Y~lX>27=Dh)a|E#!;Z0i+q9Aqg-heN9zeOPvK0kgu^ig`9Lw!@pB_h o*+3bc^)i4n)f+~qZ>Q)D5rc|GNEp>38$tKPsZHby=+ao+Kj1|3RsaA1 literal 0 HcmV?d00001 diff --git a/src/timer/prizm/SDL_systimer.c b/src/timer/prizm/SDL_systimer.c new file mode 100644 index 0000000..476d8d9 --- /dev/null +++ b/src/timer/prizm/SDL_systimer.c @@ -0,0 +1,107 @@ +/* + SDL - Simple DirectMedia Layer + Copyright (C) 1997-2012 Sam Lantinga + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + + Sam Lantinga + slouken@libsdl.org +*/ + +#include +#include +#include + +#include "SDL_config.h" + +#ifdef SDL_TIMER_PRIZM + +#include "SDL_timer.h" +#include "../SDL_timer_c.h" + +static volatile unsigned *value; +static volatile unsigned *control; +Uint32 tick_sum = 0; +Uint32 start = 0; + +/* +Uses the first timer (0x900C0000) +TC: http://hackspire.unsads.com/wiki/index.php/Memory-mapped_I/O_ports#900C0000_-_First_timer +CX: http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0271d/Babehiha.html +*/ + +void SDL_StartTicks(void) +{ + +} + +Uint32 SDL_GetTicks (void) +{ + +} + +void SDL_Delay (Uint32 ms) +{ + +} + +#include "SDL_thread.h" + +/* Data to handle a single periodic alarm */ +static int timer_alive = 0; +static SDL_Thread *timer = NULL; + +static int RunTimer(void *unused) +{ + while ( timer_alive ) { + if ( SDL_timer_running ) { + SDL_ThreadedTimerCheck(); + } + SDL_Delay(1); + } + return(0); +} + +/* This is only called if the event thread is not running */ +int SDL_SYS_TimerInit(void) +{ + timer_alive = 1; + timer = SDL_CreateThread(RunTimer, NULL); + if ( timer == NULL ) + return(-1); + return(SDL_SetTimerThreaded(1)); +} + +void SDL_SYS_TimerQuit(void) +{ + timer_alive = 0; + if ( timer ) { + SDL_WaitThread(timer, NULL); + timer = NULL; + } +} + +int SDL_SYS_StartTimer(void) +{ + //SDL_SetError("Timers not implemented on the TI-Nspire"); + return(-1); +} + +void SDL_SYS_StopTimer(void) +{ + return; +} + +#endif /* SDL_TIMER_PRIZM */ diff --git a/src/video/SDL_sysvideo.h b/src/video/SDL_sysvideo.h index 436450e..b6835bc 100644 --- a/src/video/SDL_sysvideo.h +++ b/src/video/SDL_sysvideo.h @@ -53,7 +53,7 @@ struct SDL_VideoDevice { /* * * */ /* Initialization/Query functions */ - /* Initialize the native video subsystem, filling 'vformat' with the + /* Initialize the native video subsystem, filling 'vformat' with the "best" display pixel format, returning 0 or -1 if there's an error. */ int (*VideoInit)(_THIS, SDL_PixelFormat *vformat); @@ -119,7 +119,7 @@ struct SDL_VideoDevice { /* The pixel format used when SDL_CreateRGBSurface creates SDL_HWSURFACEs with alpha */ SDL_PixelFormat* displayformatalphapixel; - + /* Allocates a surface in video memory */ int (*AllocHWSurface)(_THIS, SDL_Surface *surface); @@ -195,7 +195,7 @@ struct SDL_VideoDevice { GLuint texture; #endif int is_32bit; - + /* * * */ /* Window manager functions */ @@ -410,6 +410,9 @@ extern VideoBootStrap AALIB_bootstrap; #if SDL_VIDEO_DRIVER_CACA extern VideoBootStrap CACA_bootstrap; #endif +#if SDL_VIDEO_DRIVER_PRIZME +extern VideoBootStrap PRZ_bootstrap; +#endif #if SDL_VIDEO_DRIVER_DUMMY extern VideoBootStrap DUMMY_bootstrap; #endif diff --git a/src/video/dummy/SDL_nullevents.o b/src/video/dummy/SDL_nullevents.o new file mode 100644 index 0000000000000000000000000000000000000000..d0a0db541c5651b23930a7ccd0c099b69e1a9536 GIT binary patch literal 640 zcma)3O-sW-5S`SZEnfUMdZ{2-MHT}JA|8ac7O~Yr>A_P-Ye1oi#cYc`=}+{p_zU#C z?QUIr(SetldGls=cJtP3Uj?N=78b}MVxPD)`H4}~q%3Q)E)|1Ty?$P;wQl3T z>DP9j>0|(}U*`VNMLK=eq8<{Rh#C}ysNr*#VY=Pp zzitOY?z?Im_@ZSS)A0_pU4S}w_Y0Dqu}0em*#DRA2paadzr%UkfHT${{P*vIe+RfP f!TmOX3gFH}C?CKX18Z)-P2`>~;I5}m1aEZTRyi?# literal 0 HcmV?d00001 diff --git a/src/video/dummy/SDL_nullmouse.o b/src/video/dummy/SDL_nullmouse.o new file mode 100644 index 0000000000000000000000000000000000000000..c1fb0ceaad883b766369deafde641e9a1c57dc0f GIT binary patch literal 560 zcmb<-^>JflVq|~=Mg}b)8%coS1DJ0DR-wVb!NAVo?(A%(pyBQps;OXTsAs5W0N0Jo zfSbX>@c$#S1T(7n3_v~;nmkYl0e~D9hF}+;_`K4boZS4<;#9q41_r(2%G{E~Bp_W< z1fervtdi7<5(d4L#F9h?y`5`>Y&u%v;CKz?9@Du#prLMP0Bicobh zH{(*L4pheh#Dvu8K+S`ND#$!xAcg^uy)cX%ZXQ7K1Rw^v7lc`WSOADQff!~dkjbzD Zhy_6mD1i9`B!;YRCy;LnQv{^J>Hr6xBmV#Z literal 0 HcmV?d00001 diff --git a/src/video/dummy/SDL_nullvideo.o b/src/video/dummy/SDL_nullvideo.o new file mode 100644 index 0000000000000000000000000000000000000000..d7f4912d8b35785f23a63bc839fadea98775c038 GIT binary patch literal 2760 zcma)7Z){Ul6hD34pj(NqZ)|h}-D7TJgQeXR2pBZ0+hE0xw%eGJ5JuPc<_i5YUtcFA zB>Y)|kU#=~OfhN&OP_sb8ip#hqgKd2U+5vwZJw-RSkGOt=BEu$xYQ~grh^`zD_O&RbhN&Ho_dZ zu5?9W zDzwhEdOhAX`Y3wa^|AH_U1{~!dppKw)E=?x$_wHOal@5n(Iaj|FN(F|a&Z&p4vBSQ zJ?6Y(!&zx=Rre_mde7>@ss?fIOt@`dF;OJT;tl0S9f?Xwu{j`HLkws{o3F<2C8_j_;`c^W9-aVUv-C@dyFcoLY%H&s|-dR zEI(9ros7})C7UiZy&j1)@IyGGDU2<>nOss%uhFDfGMS0TG({TEO-v}NG?7syRe3w7 zWHm*WQW;sHCvDTpJJM9*fRbe9shIY(uZV{GLSv)BzW#9EP;j(=h~!)pC zPRL3|lGVhtq7rTE?R{Bl-?n3Cht%Ee>-Ke-8z>vBds#t`{C!VQtmA<9ZMu*<4L$m>6a6ulFBO9 z&RG`1!>=m`Q?V(&TqKv8>YrB9EOK`3`c*Zf(%1wRH55aN?rW=lT@4k&HqF=v67HJ-Bkj%P9&G+4-xySNJc{{2Z*$MFJckmGwceBXv2lrS^p_Kpf0cG)oM*0MqA zSQzzdVcf%db6p4Ocm>Cj%?5YR%k}L<4IGDT7&XfELd1qgO8XVwEbUj=P1I=m5%A8g zEPlu@R82QGtS?~-a?3-@idh*3HsT2x`E&cyRf+>riy+cgaBc?A6sP~9n zmzC%l?$H@7#W^^TE5d&C@7WyoL+ea#zT3i0aGbp*++Q0sHh-=&;9Y3UAN!X3>$d3t zg?s4iV&Kq0uoL-tZiAapL?P3t;SjemNTR iS7UN>uV7Sp3U=)Of(!G-g#BmP>|Ec2??B_C+x-Wi6vqAl literal 0 HcmV?d00001 diff --git a/src/video/prizm/SDL_prizmevents.c b/src/video/prizm/SDL_prizmevents.c new file mode 100644 index 0000000..101a4c8 --- /dev/null +++ b/src/video/prizm/SDL_prizmevents.c @@ -0,0 +1,100 @@ +/* + SDL - Simple DirectMedia Layer + Copyright (C) 1997-2012 Sam Lantinga + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + + Sam Lantinga + slouken@libsdl.org +*/ +#include "SDL_config.h" + +#include "SDL.h" +#include "../../events/SDL_sysevents.h" +#include "../../events/SDL_events_c.h" +#include "../SDL_cursor_c.h" + +#include + +#include "SDL_prizmvideo.h" +#include "SDL_prizmevents_c.h" + +static int nspk_keymap[PRZ_NUMKEYS]; +static SDLKey sdlk_keymap[PRZ_NUMKEYS]; +static Uint8 key_state[PRZ_NUMKEYS]; + +static SDLKey sdlak_keymap[4] = {SDLK_UP, SDLK_RIGHT, SDLK_DOWN, SDLK_LEFT}; +static Uint8 arrow_key_state[4]; + +static void nsp_update_keyboard(void) +{ + int i; + for ( i = 0; i < PRZ_NUMKEYS; ++i ) { + bool key_pressed; + if ( sdlk_keymap[i] == SDLK_UNKNOWN ) + continue; + key_pressed = keydown(nspk_keymap[i]); + PRZ_UPDATE_KEY_EVENT(sdlk_keymap[i], i, key_state[i], key_pressed); + } +} + +static void nsp_update_arrow_keys(void) +{ + bool arrow_key_pressed[4] = { + keydown(KEY_UP), + keydown(KEY_RIGHT), + keydown(KEY_DOWN), + keydown(KEY_LEFT) + }; + int i; + for ( i = 0; i < 4; ++i ) + PRZ_UPDATE_KEY_EVENT(sdlak_keymap[i], i, arrow_key_state[i], arrow_key_pressed[i]); +} + +void PRZ_PumpEvents(_THIS) +{ + nsp_update_keyboard(); + nsp_update_arrow_keys(); +} + +void PRZ_InitOSKeymap(_THIS) +{ + /* Enum value -> KEY_NSPIRE_* */ + + + //nspk_keymap[NSP_KEY_RET] = KEY_NSPIRE_RET; + + /* + ** + ** + ** + ** + */ + + /* Enum value -> SDLK_* + This is the actual key mapping part. */ + + + // sdlk_keymap[NSP_KEY_A] = SDLK_a; + /* + ** + ** + ** + ** + */ +} + +/* end of SDL_tinspireevents.c ... */ + diff --git a/src/video/prizm/SDL_prizmevents_c.h b/src/video/prizm/SDL_prizmevents_c.h new file mode 100644 index 0000000..ad75330 --- /dev/null +++ b/src/video/prizm/SDL_prizmevents_c.h @@ -0,0 +1,102 @@ +/* + SDL - Simple DirectMedia Layer + Copyright (C) 1997-2012 Sam Lantinga + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + + Sam Lantinga + slouken@libsdl.org +*/ +#include "SDL_config.h" + +#include "SDL_prizmvideo.h" + +#define PRZ_UPDATE_KEY_EVENT(s, sc, ks, kp) do { \ + SDL_keysym keysym; \ + keysym.scancode = sc; \ + keysym.sym = s; \ + if ( ks == SDL_RELEASED ) { \ + if ( kp ) { \ + SDL_PrivateKeyboard(SDL_PRESSED, &keysym); \ + ks = SDL_PRESSED; \ + } \ + } else if ( ! kp ) { \ + SDL_PrivateKeyboard(SDL_RELEASED, &keysym); \ + ks = SDL_RELEASED; \ + } \ +} while (0) + +/* Keys */ +enum { + PRZ_KEY_F1, + PRZ_KEY_F2, + PRZ_KEY_F3, + PRZ_KEY_F4, + PRZ_KEY_F5, + PRZ_KEY_F6, + PRZ_KEY_SHIFT, + PRZ_KEY_OPTN, + PRZ_KEY_VARS, + PRZ_KEY_MENU, + PRZ_KEY_LEFT, + PRZ_KEY_UP, + PRZ_KEY_ALPHA, + PRZ_KEY_SQUARE, + PRZ_KEY_POWER, + PRZ_KEY_EXIT, + PRZ_KEY_DOWN, + PRZ_KEY_RIGHT, + PRZ_KEY_XOT, + PRZ_KEY_LOG, + PRZ_KEY_LN, + PRZ_KEY_SIN, + PRZ_KEY_COS, + PRZ_KEY_TAN, + PRZ_KEY_FRAC, + PRZ_KEY_FD, + PRZ_KEY_LEFTP, + PRZ_KEY_RIGHTP, + PRZ_KEY_COMMA, + PRZ_KEY_ARROW, + PRZ_KEY_7, + PRZ_KEY_8, + PRZ_KEY_9, + PRZ_KEY_DEL, + PRZ_KEY_4, + PRZ_KEY_5, + PRZ_KEY_6, + PRZ_KEY_MUL, + PRZ_KEY_DIV, + PRZ_KEY_1, + PRZ_KEY_2, + PRZ_KEY_3, + PRZ_KEY_ADD, + PRZ_KEY_SUB, + PRZ_KEY_0, + PRZ_KEY_DOT, + PRZ_KEY_EXP, + PRZ_KEY_NEG, + PRZ_KEY_EXE, + PRZ_KEY_ACON, + PRZ_NUMKEYS +}; + +/* Variables and functions exported by SDL_sysevents.c to other parts + of the native video subsystem (SDL_sysvideo.c) +*/ +extern void PRZ_InitOSKeymap(_THIS); +extern void PRZ_PumpEvents(_THIS); + +/* end of SDL_tinspireevents_c.h ... */ diff --git a/src/video/prizm/SDL_prizmfonts.c b/src/video/prizm/SDL_prizmfonts.c new file mode 100644 index 0000000..430498c --- /dev/null +++ b/src/video/prizm/SDL_prizmfonts.c @@ -0,0 +1,133 @@ +#include "SDL_config.h" +#include "../SDL_sysvideo.h" +#include "SDL_prizmvideo.h" +#include "SDL_prizmfonts.h" + +nSDL_Font *nSDL_LoadFont(int font_index, Uint8 r, Uint8 g, Uint8 b) +{ + nSDL_Font *font; + int i, j, k; + + font = SDL_malloc(sizeof(*font)); + if ( font == NULL ) { + SDL_OutOfMemory(); + return(NULL); + } + + for ( i = 0; i < NSP_FONT_NUMCHARS; ++i ) { + int offset = 8 * i; + int max_width = 0; + Uint32 color; + SDL_Surface *tmp = SDL_CreateRGBSurface(SDL_SWSURFACE, NSP_FONT_WIDTH, NSP_FONT_HEIGHT, + 16, PRZ_RMASK16, PRZ_GMASK16, PRZ_BMASK16, 0); + if ( tmp == NULL ) { + SDL_OutOfMemory(); + return(NULL); + } + color = SDL_MapRGB(tmp->format, r, g, b); + SDL_FillRect(tmp, NULL, ! color); + SDL_SetColorKey(tmp, SDL_SRCCOLORKEY, ! color); + font->char_width[i] = NSP_FONT_WIDTH; + SDL_LockSurface(tmp); + for ( j = 0; j < NSP_FONT_HEIGHT; ++j ) + for ( k = 0; k < NSP_FONT_WIDTH; ++k ) { + if ( nsp_font_charmaps[font_index][offset + j] & (1 << (NSP_FONT_WIDTH - k - 1)) ) { /* "Pixel" set */ + if ( k > max_width ) { + font->char_width[i] = k + 1; + max_width = k; + } + nSDL_SetPixel(tmp, k, j, color); + } + } + SDL_UnlockSurface(tmp); + font->chars[i] = SDL_DisplayFormat(tmp); + SDL_FreeSurface(tmp); + font->hspacing = font->vspacing = 0; + font->monospaced = SDL_FALSE; + } + + return(font); +} + +void nSDL_SetFontSpacing(nSDL_Font *font, int hspacing, int vspacing) +{ + font->hspacing = hspacing; + font->vspacing = vspacing; +} + +void nSDL_EnableFontMonospaced(nSDL_Font *font, SDL_bool toggle) +{ + font->monospaced = toggle; +} + +void nSDL_FreeFont(nSDL_Font *font) +{ + int i; + if ( font == NULL ) + return; + for ( i = 0; i < NSP_FONT_NUMCHARS; ++i ) + SDL_FreeSurface(font->chars[i]); + SDL_free(font); +} + +int nSDL_DrawString(SDL_Surface *surface, nSDL_Font *font, + int x, int y, const char *format, ...) +{ + char buf[PRZ_BUF_SIZE]; + int length; + SDL_Rect pos; + va_list args; + int i; + + va_start(args, format); + if ( vsprintf(buf, format, args) < 0 ) + return(-1); + va_end(args); + length = (int)strlen(buf); + pos.x = x; + pos.y = y; + PRZ_DEBUG("\"%s\" at (%d, %d)", buf, pos.x, pos.y); + + for ( i = 0; i < length; ++i ) { + int c = buf[i]; + if ( c == '\n' ) { + pos.x = x; + pos.y += NSP_FONT_HEIGHT + font->vspacing; + } else { + SDL_Rect rect; + rect.x = rect.y = 0; + rect.w = font->char_width[c]; + rect.h = NSP_FONT_HEIGHT; + if ( SDL_BlitSurface(font->chars[c], &rect, surface, &pos) == -1 ) + return(-1); + pos.x += NSP_CHAR_WIDTH(font, c) + font->hspacing; + } + } + + return(0); +} + +int nSDL_GetStringWidth(nSDL_Font *font, const char *s) +{ + int width = 0; + int max_width = 0; + do { + if ( *s == '\n' || *s == '\0' ) { + if ( width > max_width ) + max_width = width; + width = 0; + } else + width += NSP_CHAR_WIDTH(font, *s) + font->hspacing; + } while ( *s++ ); + return(max_width - font->hspacing); +} + +int nSDL_GetStringHeight(nSDL_Font *font, const char *s) +{ + int height = 0; + do { + if ( *s == '\n' || *s == '\0' ) + height += NSP_FONT_HEIGHT + font->vspacing; + } while ( *s++ ); + return(height - font->vspacing); +} diff --git a/src/video/prizm/SDL_prizmfonts.h b/src/video/prizm/SDL_prizmfonts.h new file mode 100644 index 0000000..d61ca66 --- /dev/null +++ b/src/video/prizm/SDL_prizmfonts.h @@ -0,0 +1,1309 @@ +#ifndef _SDL_tinspirefonts_h +#define _SDL_tinspirefonts_h + +#define NSP_CHAR_WIDTH(font, c) (font->monospaced ? NSP_FONT_WIDTH : font->char_width[(int)c]) + + +static unsigned char nsp_font_charmaps[NSP_NUMFONTS][2048] = { + /* NSDL_FONT_THIN */ + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Char 000 (.) + 0x7E, 0x81, 0xA5, 0x81, 0xBD, 0x99, 0x81, 0x7E, // Char 001 (.) + 0x7E, 0xFF, 0xDB, 0xFF, 0xC3, 0xE7, 0xFF, 0x7E, // Char 002 (.) + 0x6C, 0xFE, 0xFE, 0xFE, 0x7C, 0x38, 0x10, 0x00, // Char 003 (.) + 0x10, 0x38, 0x7C, 0xFE, 0x7C, 0x38, 0x10, 0x00, // Char 004 (.) + 0x38, 0x38, 0x38, 0xFE, 0xFE, 0xD6, 0x10, 0x38, // Char 005 (.) + 0x10, 0x10, 0x38, 0x7C, 0xFE, 0x7C, 0x10, 0x38, // Char 006 (.) + 0x00, 0x00, 0x18, 0x3C, 0x3C, 0x18, 0x00, 0x00, // Char 007 (.) + 0xFF, 0xFF, 0xE7, 0xC3, 0xC3, 0xE7, 0xFF, 0xFF, // Char 008 (.) + 0x00, 0x3C, 0x66, 0x42, 0x42, 0x66, 0x3C, 0x00, // Char 009 (.) + 0xFF, 0xC3, 0x99, 0xBD, 0xBD, 0x99, 0xC3, 0xFF, // Char 010 (.) + 0x0F, 0x03, 0x05, 0x7D, 0x84, 0x84, 0x84, 0x78, // Char 011 (.) + 0x3C, 0x42, 0x42, 0x42, 0x3C, 0x18, 0x7E, 0x18, // Char 012 (.) + 0x3F, 0x21, 0x3F, 0x20, 0x20, 0x60, 0xE0, 0xC0, // Char 013 (.) + 0x3F, 0x21, 0x3F, 0x21, 0x23, 0x67, 0xE6, 0xC0, // Char 014 (.) + 0x18, 0xDB, 0x3C, 0xE7, 0xE7, 0x3C, 0xDB, 0x18, // Char 015 (.) + 0x80, 0xE0, 0xF8, 0xFE, 0xF8, 0xE0, 0x80, 0x00, // Char 016 (.) + 0x02, 0x0E, 0x3E, 0xFE, 0x3E, 0x0E, 0x02, 0x00, // Char 017 (.) + 0x18, 0x3C, 0x7E, 0x18, 0x18, 0x7E, 0x3C, 0x18, // Char 018 (.) + 0x24, 0x24, 0x24, 0x24, 0x24, 0x00, 0x24, 0x00, // Char 019 (.) + 0x7F, 0x92, 0x92, 0x72, 0x12, 0x12, 0x12, 0x00, // Char 020 (.) + 0x3E, 0x63, 0x38, 0x44, 0x44, 0x38, 0xCC, 0x78, // Char 021 (.) + 0x00, 0x00, 0x00, 0x00, 0x7E, 0x7E, 0x7E, 0x00, // Char 022 (.) + 0x18, 0x3C, 0x7E, 0x18, 0x7E, 0x3C, 0x18, 0xFF, // Char 023 (.) + 0x10, 0x38, 0x7C, 0x54, 0x10, 0x10, 0x10, 0x00, // Char 024 (.) + 0x10, 0x10, 0x10, 0x54, 0x7C, 0x38, 0x10, 0x00, // Char 025 (.) + 0x00, 0x18, 0x0C, 0xFE, 0x0C, 0x18, 0x00, 0x00, // Char 026 (.) + 0x00, 0x30, 0x60, 0xFE, 0x60, 0x30, 0x00, 0x00, // Char 027 (.) + 0x00, 0x00, 0x40, 0x40, 0x40, 0x7E, 0x00, 0x00, // Char 028 (.) + 0x00, 0x24, 0x66, 0xFF, 0x66, 0x24, 0x00, 0x00, // Char 029 (.) + 0x00, 0x10, 0x38, 0x7C, 0xFE, 0xFE, 0x00, 0x00, // Char 030 (.) + 0x00, 0xFE, 0xFE, 0x7C, 0x38, 0x10, 0x00, 0x00, // Char 031 (.) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Char 032 ( ) + 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x10, 0x00, // Char 033 (!) + 0x24, 0x24, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, // Char 034 (") + 0x24, 0x24, 0x7E, 0x24, 0x7E, 0x24, 0x24, 0x00, // Char 035 (#) + 0x18, 0x3E, 0x40, 0x3C, 0x02, 0x7C, 0x18, 0x00, // Char 036 ($) + 0x00, 0x62, 0x64, 0x08, 0x10, 0x26, 0x46, 0x00, // Char 037 (%) + 0x30, 0x48, 0x30, 0x56, 0x88, 0x88, 0x76, 0x00, // Char 038 (&) + 0x10, 0x10, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, // Char 039 (') + 0x10, 0x20, 0x40, 0x40, 0x40, 0x20, 0x10, 0x00, // Char 040 (() + 0x20, 0x10, 0x08, 0x08, 0x08, 0x10, 0x20, 0x00, // Char 041 ()) + 0x00, 0x44, 0x38, 0xFE, 0x38, 0x44, 0x00, 0x00, // Char 042 (*) + 0x00, 0x10, 0x10, 0x7C, 0x10, 0x10, 0x00, 0x00, // Char 043 (+) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x20, // Char 044 (,) + 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x00, // Char 045 (-) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x00, // Char 046 (.) + 0x00, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x00, // Char 047 (/) + 0x3C, 0x42, 0x46, 0x4A, 0x52, 0x62, 0x3C, 0x00, // Char 048 (0) + 0x10, 0x30, 0x50, 0x10, 0x10, 0x10, 0x7C, 0x00, // Char 049 (1) + 0x3C, 0x42, 0x02, 0x0C, 0x30, 0x42, 0x7E, 0x00, // Char 050 (2) + 0x3C, 0x42, 0x02, 0x1C, 0x02, 0x42, 0x3C, 0x00, // Char 051 (3) + 0x08, 0x18, 0x28, 0x48, 0xFE, 0x08, 0x1C, 0x00, // Char 052 (4) + 0x7E, 0x40, 0x7C, 0x02, 0x02, 0x42, 0x3C, 0x00, // Char 053 (5) + 0x1C, 0x20, 0x40, 0x7C, 0x42, 0x42, 0x3C, 0x00, // Char 054 (6) + 0x7E, 0x42, 0x04, 0x08, 0x10, 0x10, 0x10, 0x00, // Char 055 (7) + 0x3C, 0x42, 0x42, 0x3C, 0x42, 0x42, 0x3C, 0x00, // Char 056 (8) + 0x3C, 0x42, 0x42, 0x3E, 0x02, 0x04, 0x38, 0x00, // Char 057 (9) + 0x00, 0x10, 0x10, 0x00, 0x00, 0x10, 0x10, 0x00, // Char 058 (:) + 0x00, 0x10, 0x10, 0x00, 0x00, 0x10, 0x10, 0x20, // Char 059 (;) + 0x08, 0x10, 0x20, 0x40, 0x20, 0x10, 0x08, 0x00, // Char 060 (<) + 0x00, 0x00, 0x7E, 0x00, 0x00, 0x7E, 0x00, 0x00, // Char 061 (=) + 0x10, 0x08, 0x04, 0x02, 0x04, 0x08, 0x10, 0x00, // Char 062 (>) + 0x3C, 0x42, 0x02, 0x04, 0x08, 0x00, 0x08, 0x00, // Char 063 (?) + 0x3C, 0x42, 0x5E, 0x52, 0x5E, 0x40, 0x3C, 0x00, // Char 064 (@) + 0x18, 0x24, 0x42, 0x42, 0x7E, 0x42, 0x42, 0x00, // Char 065 (A) + 0x7C, 0x22, 0x22, 0x3C, 0x22, 0x22, 0x7C, 0x00, // Char 066 (B) + 0x1C, 0x22, 0x40, 0x40, 0x40, 0x22, 0x1C, 0x00, // Char 067 (C) + 0x78, 0x24, 0x22, 0x22, 0x22, 0x24, 0x78, 0x00, // Char 068 (D) + 0x7E, 0x22, 0x28, 0x38, 0x28, 0x22, 0x7E, 0x00, // Char 069 (E) + 0x7E, 0x22, 0x28, 0x38, 0x28, 0x20, 0x70, 0x00, // Char 070 (F) + 0x1C, 0x22, 0x40, 0x40, 0x4E, 0x22, 0x1E, 0x00, // Char 071 (G) + 0x42, 0x42, 0x42, 0x7E, 0x42, 0x42, 0x42, 0x00, // Char 072 (H) + 0x38, 0x10, 0x10, 0x10, 0x10, 0x10, 0x38, 0x00, // Char 073 (I) + 0x0E, 0x04, 0x04, 0x04, 0x44, 0x44, 0x38, 0x00, // Char 074 (J) + 0x62, 0x24, 0x28, 0x30, 0x28, 0x24, 0x63, 0x00, // Char 075 (K) + 0x70, 0x20, 0x20, 0x20, 0x20, 0x22, 0x7E, 0x00, // Char 076 (L) + 0x63, 0x55, 0x49, 0x41, 0x41, 0x41, 0x41, 0x00, // Char 077 (M) + 0x62, 0x52, 0x4A, 0x46, 0x42, 0x42, 0x42, 0x00, // Char 078 (N) + 0x3C, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3C, 0x00, // Char 079 (O) + 0x7C, 0x22, 0x22, 0x3C, 0x20, 0x20, 0x70, 0x00, // Char 080 (P) + 0x3C, 0x42, 0x42, 0x42, 0x4A, 0x3C, 0x03, 0x00, // Char 081 (Q) + 0x7C, 0x22, 0x22, 0x3C, 0x28, 0x24, 0x72, 0x00, // Char 082 (R) + 0x3C, 0x42, 0x40, 0x3C, 0x02, 0x42, 0x3C, 0x00, // Char 083 (S) + 0x7F, 0x49, 0x08, 0x08, 0x08, 0x08, 0x1C, 0x00, // Char 084 (T) + 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3C, 0x00, // Char 085 (U) + 0x41, 0x41, 0x41, 0x41, 0x22, 0x14, 0x08, 0x00, // Char 086 (V) + 0x41, 0x41, 0x41, 0x49, 0x49, 0x49, 0x36, 0x00, // Char 087 (W) + 0x41, 0x22, 0x14, 0x08, 0x14, 0x22, 0x41, 0x00, // Char 088 (X) + 0x41, 0x22, 0x14, 0x08, 0x08, 0x08, 0x1C, 0x00, // Char 089 (Y) + 0x7F, 0x42, 0x04, 0x08, 0x10, 0x21, 0x7F, 0x00, // Char 090 (Z) + 0x78, 0x40, 0x40, 0x40, 0x40, 0x40, 0x78, 0x00, // Char 091 ([) + 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x00, // Char 092 (\) + 0x78, 0x08, 0x08, 0x08, 0x08, 0x08, 0x78, 0x00, // Char 093 (]) + 0x10, 0x28, 0x44, 0x82, 0x00, 0x00, 0x00, 0x00, // Char 094 (^) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, // Char 095 (_) + 0x10, 0x10, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, // Char 096 (`) + 0x00, 0x00, 0x3C, 0x02, 0x3E, 0x42, 0x3F, 0x00, // Char 097 (a) + 0x60, 0x20, 0x20, 0x2E, 0x31, 0x31, 0x2E, 0x00, // Char 098 (b) + 0x00, 0x00, 0x3C, 0x42, 0x40, 0x42, 0x3C, 0x00, // Char 099 (c) + 0x06, 0x02, 0x02, 0x3A, 0x46, 0x46, 0x3B, 0x00, // Char 100 (d) + 0x00, 0x00, 0x3C, 0x42, 0x7E, 0x40, 0x3C, 0x00, // Char 101 (e) + 0x0C, 0x12, 0x10, 0x38, 0x10, 0x10, 0x38, 0x00, // Char 102 (f) + 0x00, 0x00, 0x3D, 0x42, 0x42, 0x3E, 0x02, 0x7C, // Char 103 (g) + 0x60, 0x20, 0x2C, 0x32, 0x22, 0x22, 0x62, 0x00, // Char 104 (h) + 0x10, 0x00, 0x30, 0x10, 0x10, 0x10, 0x38, 0x00, // Char 105 (i) + 0x02, 0x00, 0x06, 0x02, 0x02, 0x42, 0x42, 0x3C, // Char 106 (j) + 0x60, 0x20, 0x24, 0x28, 0x30, 0x28, 0x26, 0x00, // Char 107 (k) + 0x30, 0x10, 0x10, 0x10, 0x10, 0x10, 0x38, 0x00, // Char 108 (l) + 0x00, 0x00, 0x76, 0x49, 0x49, 0x49, 0x49, 0x00, // Char 109 (m) + 0x00, 0x00, 0x5C, 0x62, 0x42, 0x42, 0x42, 0x00, // Char 110 (n) + 0x00, 0x00, 0x3C, 0x42, 0x42, 0x42, 0x3C, 0x00, // Char 111 (o) + 0x00, 0x00, 0x6C, 0x32, 0x32, 0x2C, 0x20, 0x70, // Char 112 (p) + 0x00, 0x00, 0x36, 0x4C, 0x4C, 0x34, 0x04, 0x0E, // Char 113 (q) + 0x00, 0x00, 0x6C, 0x32, 0x22, 0x20, 0x70, 0x00, // Char 114 (r) + 0x00, 0x00, 0x3E, 0x40, 0x3C, 0x02, 0x7C, 0x00, // Char 115 (s) + 0x10, 0x10, 0x7C, 0x10, 0x10, 0x12, 0x0C, 0x00, // Char 116 (t) + 0x00, 0x00, 0x42, 0x42, 0x42, 0x46, 0x3A, 0x00, // Char 117 (u) + 0x00, 0x00, 0x41, 0x41, 0x22, 0x14, 0x08, 0x00, // Char 118 (v) + 0x00, 0x00, 0x41, 0x49, 0x49, 0x49, 0x36, 0x00, // Char 119 (w) + 0x00, 0x00, 0x44, 0x28, 0x10, 0x28, 0x44, 0x00, // Char 120 (x) + 0x00, 0x00, 0x42, 0x42, 0x42, 0x3E, 0x02, 0x7C, // Char 121 (y) + 0x00, 0x00, 0x7C, 0x08, 0x10, 0x20, 0x7C, 0x00, // Char 122 (z) + 0x0C, 0x10, 0x10, 0x60, 0x10, 0x10, 0x0C, 0x00, // Char 123 ({) + 0x10, 0x10, 0x10, 0x00, 0x10, 0x10, 0x10, 0x00, // Char 124 (|) + 0x30, 0x08, 0x08, 0x06, 0x08, 0x08, 0x30, 0x00, // Char 125 (}) + 0x32, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Char 126 (~) + 0x00, 0x08, 0x14, 0x22, 0x41, 0x41, 0x7F, 0x00, // Char 127 (.) + 0x3C, 0x42, 0x40, 0x42, 0x3C, 0x0C, 0x02, 0x3C, // Char 128 (.) + 0x00, 0x44, 0x00, 0x44, 0x44, 0x44, 0x3E, 0x00, // Char 129 (.) + 0x0C, 0x00, 0x3C, 0x42, 0x7E, 0x40, 0x3C, 0x00, // Char 130 (.) + 0x3C, 0x42, 0x38, 0x04, 0x3C, 0x44, 0x3E, 0x00, // Char 131 (.) + 0x42, 0x00, 0x38, 0x04, 0x3C, 0x44, 0x3E, 0x00, // Char 132 (.) + 0x30, 0x00, 0x38, 0x04, 0x3C, 0x44, 0x3E, 0x00, // Char 133 (.) + 0x10, 0x00, 0x38, 0x04, 0x3C, 0x44, 0x3E, 0x00, // Char 134 (.) + 0x00, 0x00, 0x3C, 0x40, 0x40, 0x3C, 0x06, 0x1C, // Char 135 (.) + 0x3C, 0x42, 0x3C, 0x42, 0x7E, 0x40, 0x3C, 0x00, // Char 136 (.) + 0x42, 0x00, 0x3C, 0x42, 0x7E, 0x40, 0x3C, 0x00, // Char 137 (.) + 0x30, 0x00, 0x3C, 0x42, 0x7E, 0x40, 0x3C, 0x00, // Char 138 (.) + 0x24, 0x00, 0x18, 0x08, 0x08, 0x08, 0x1C, 0x00, // Char 139 (.) + 0x7C, 0x82, 0x30, 0x10, 0x10, 0x10, 0x38, 0x00, // Char 140 (.) + 0x30, 0x00, 0x18, 0x08, 0x08, 0x08, 0x1C, 0x00, // Char 141 (.) + 0x42, 0x18, 0x24, 0x42, 0x7E, 0x42, 0x42, 0x00, // Char 142 (.) + 0x18, 0x18, 0x00, 0x3C, 0x42, 0x7E, 0x42, 0x00, // Char 143 (.) + 0x0C, 0x00, 0x7C, 0x20, 0x38, 0x20, 0x7C, 0x00, // Char 144 (.) + 0x00, 0x00, 0x33, 0x0C, 0x3F, 0x44, 0x3B, 0x00, // Char 145 (.) + 0x1F, 0x24, 0x44, 0x7F, 0x44, 0x44, 0x47, 0x00, // Char 146 (.) + 0x18, 0x24, 0x00, 0x3C, 0x42, 0x42, 0x3C, 0x00, // Char 147 (.) + 0x00, 0x42, 0x00, 0x3C, 0x42, 0x42, 0x3C, 0x00, // Char 148 (.) + 0x20, 0x10, 0x00, 0x3C, 0x42, 0x42, 0x3C, 0x00, // Char 149 (.) + 0x18, 0x24, 0x00, 0x42, 0x42, 0x42, 0x3C, 0x00, // Char 150 (.) + 0x20, 0x10, 0x00, 0x42, 0x42, 0x42, 0x3C, 0x00, // Char 151 (.) + 0x00, 0x42, 0x00, 0x42, 0x42, 0x3E, 0x02, 0x3C, // Char 152 (.) + 0x42, 0x18, 0x24, 0x42, 0x42, 0x24, 0x18, 0x00, // Char 153 (.) + 0x42, 0x00, 0x42, 0x42, 0x42, 0x42, 0x3C, 0x00, // Char 154 (.) + 0x08, 0x08, 0x3E, 0x40, 0x40, 0x3E, 0x08, 0x08, // Char 155 (.) + 0x18, 0x24, 0x20, 0x70, 0x20, 0x42, 0x7C, 0x00, // Char 156 (.) + 0x44, 0x28, 0x7C, 0x10, 0x7C, 0x10, 0x10, 0x00, // Char 157 (.) + 0xF8, 0x4C, 0x78, 0x44, 0x4F, 0x44, 0x45, 0xE6, // Char 158 (.) + 0x1C, 0x12, 0x10, 0x7C, 0x10, 0x10, 0x90, 0x60, // Char 159 (.) + 0x0C, 0x00, 0x38, 0x04, 0x3C, 0x44, 0x3E, 0x00, // Char 160 (.) + 0x0C, 0x00, 0x18, 0x08, 0x08, 0x08, 0x1C, 0x00, // Char 161 (.) + 0x04, 0x08, 0x00, 0x3C, 0x42, 0x42, 0x3C, 0x00, // Char 162 (.) + 0x00, 0x04, 0x08, 0x42, 0x42, 0x42, 0x3C, 0x00, // Char 163 (.) + 0x32, 0x4C, 0x00, 0x7C, 0x42, 0x42, 0x42, 0x00, // Char 164 (.) + 0x32, 0x4C, 0x00, 0x62, 0x52, 0x4A, 0x46, 0x00, // Char 165 (.) + 0x3C, 0x44, 0x44, 0x3E, 0x00, 0x7E, 0x00, 0x00, // Char 166 (.) + 0x38, 0x44, 0x44, 0x38, 0x00, 0x7C, 0x00, 0x00, // Char 167 (.) + 0x10, 0x00, 0x10, 0x20, 0x40, 0x42, 0x3C, 0x00, // Char 168 (.) + 0x00, 0x00, 0x00, 0x7E, 0x40, 0x40, 0x00, 0x00, // Char 169 (.) + 0x00, 0x00, 0x00, 0x7E, 0x02, 0x02, 0x00, 0x00, // Char 170 (.) + 0x42, 0xC4, 0x48, 0xF6, 0x29, 0x43, 0x8C, 0x1F, // Char 171 (.) + 0x42, 0xC4, 0x4A, 0xF6, 0x2A, 0x5F, 0x82, 0x02, // Char 172 (.) + 0x00, 0x10, 0x00, 0x10, 0x10, 0x10, 0x10, 0x00, // Char 173 (.) + 0x00, 0x12, 0x24, 0x48, 0x24, 0x12, 0x00, 0x00, // Char 174 (.) + 0x00, 0x48, 0x24, 0x12, 0x24, 0x48, 0x00, 0x00, // Char 175 (.) + 0x22, 0x88, 0x22, 0x88, 0x22, 0x88, 0x22, 0x88, // Char 176 (.) + 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, // Char 177 (.) + 0xDB, 0x77, 0xDB, 0xEE, 0xDB, 0x77, 0xDB, 0xEE, // Char 178 (.) + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, // Char 179 (.) + 0x10, 0x10, 0x10, 0x10, 0xF0, 0x10, 0x10, 0x10, // Char 180 (.) + 0x10, 0x10, 0xF0, 0x10, 0xF0, 0x10, 0x10, 0x10, // Char 181 (.) + 0x14, 0x14, 0x14, 0x14, 0xF4, 0x14, 0x14, 0x14, // Char 182 (.) + 0x00, 0x00, 0x00, 0x00, 0xFC, 0x14, 0x14, 0x14, // Char 183 (.) + 0x00, 0x00, 0xF0, 0x10, 0xF0, 0x10, 0x10, 0x10, // Char 184 (.) + 0x14, 0x14, 0xF4, 0x04, 0xF4, 0x14, 0x14, 0x14, // Char 185 (.) + 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, // Char 186 (.) + 0x00, 0x00, 0xFC, 0x04, 0xF4, 0x14, 0x14, 0x14, // Char 187 (.) + 0x14, 0x14, 0xF4, 0x04, 0xFC, 0x00, 0x00, 0x00, // Char 188 (.) + 0x14, 0x14, 0x14, 0x14, 0xFC, 0x00, 0x00, 0x00, // Char 189 (.) + 0x10, 0x10, 0xF0, 0x10, 0xF0, 0x00, 0x00, 0x00, // Char 190 (.) + 0x00, 0x00, 0x00, 0x00, 0xF0, 0x10, 0x10, 0x10, // Char 191 (.) + 0x10, 0x10, 0x10, 0x10, 0x1F, 0x00, 0x00, 0x00, // Char 192 (.) + 0x10, 0x10, 0x10, 0x10, 0xFF, 0x00, 0x00, 0x00, // Char 193 (.) + 0x00, 0x00, 0x00, 0x00, 0xFF, 0x10, 0x10, 0x10, // Char 194 (.) + 0x10, 0x10, 0x10, 0x10, 0x1F, 0x10, 0x10, 0x10, // Char 195 (.) + 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, // Char 196 (.) + 0x10, 0x10, 0x10, 0x10, 0xFF, 0x10, 0x10, 0x10, // Char 197 (.) + 0x10, 0x10, 0x1F, 0x10, 0x1F, 0x10, 0x10, 0x10, // Char 198 (.) + 0x14, 0x14, 0x14, 0x14, 0x17, 0x14, 0x14, 0x14, // Char 199 (.) + 0x14, 0x14, 0x17, 0x10, 0x1F, 0x00, 0x00, 0x00, // Char 200 (.) + 0x00, 0x00, 0x1F, 0x10, 0x17, 0x14, 0x14, 0x14, // Char 201 (.) + 0x14, 0x14, 0xF7, 0x00, 0xFF, 0x00, 0x00, 0x00, // Char 202 (.) + 0x00, 0x00, 0xFF, 0x00, 0xF7, 0x14, 0x14, 0x14, // Char 203 (.) + 0x14, 0x14, 0x17, 0x10, 0x17, 0x14, 0x14, 0x14, // Char 204 (.) + 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, // Char 205 (.) + 0x14, 0x14, 0xF7, 0x00, 0xF7, 0x14, 0x14, 0x14, // Char 206 (.) + 0x10, 0x10, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, // Char 207 (.) + 0x14, 0x14, 0x14, 0x14, 0xFF, 0x00, 0x00, 0x00, // Char 208 (.) + 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x10, 0x10, 0x10, // Char 209 (.) + 0x00, 0x00, 0x00, 0x00, 0xFF, 0x14, 0x14, 0x14, // Char 210 (.) + 0x14, 0x14, 0x14, 0x14, 0x1F, 0x00, 0x00, 0x00, // Char 211 (.) + 0x10, 0x10, 0x1F, 0x10, 0x1F, 0x00, 0x00, 0x00, // Char 212 (.) + 0x00, 0x00, 0x1F, 0x10, 0x1F, 0x10, 0x10, 0x10, // Char 213 (.) + 0x00, 0x00, 0x00, 0x00, 0x1F, 0x14, 0x14, 0x14, // Char 214 (.) + 0x14, 0x14, 0x14, 0x14, 0xFF, 0x14, 0x14, 0x14, // Char 215 (.) + 0x10, 0x10, 0xFF, 0x10, 0xFF, 0x10, 0x10, 0x10, // Char 216 (.) + 0x10, 0x10, 0x10, 0x10, 0xF0, 0x00, 0x00, 0x00, // Char 217 (.) + 0x00, 0x00, 0x00, 0x00, 0x1F, 0x10, 0x10, 0x10, // Char 218 (.) + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // Char 219 (.) + 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, // Char 220 (.) + 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, // Char 221 (.) + 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, // Char 222 (.) + 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, // Char 223 (.) + 0x00, 0x00, 0x31, 0x4A, 0x44, 0x4A, 0x31, 0x00, // Char 224 (.) + 0x00, 0x3C, 0x42, 0x7C, 0x42, 0x7C, 0x40, 0x40, // Char 225 (.) + 0x00, 0x7E, 0x42, 0x40, 0x40, 0x40, 0x40, 0x00, // Char 226 (.) + 0x00, 0x3F, 0x54, 0x14, 0x14, 0x14, 0x14, 0x00, // Char 227 (.) + 0x7E, 0x42, 0x20, 0x18, 0x20, 0x42, 0x7E, 0x00, // Char 228 (.) + 0x00, 0x00, 0x3E, 0x48, 0x48, 0x48, 0x30, 0x00, // Char 229 (.) + 0x00, 0x44, 0x44, 0x44, 0x7A, 0x40, 0x40, 0x80, // Char 230 (.) + 0x00, 0x33, 0x4C, 0x08, 0x08, 0x08, 0x08, 0x00, // Char 231 (.) + 0x7C, 0x10, 0x38, 0x44, 0x44, 0x38, 0x10, 0x7C, // Char 232 (.) + 0x18, 0x24, 0x42, 0x7E, 0x42, 0x24, 0x18, 0x00, // Char 233 (.) + 0x18, 0x24, 0x42, 0x42, 0x24, 0x24, 0x66, 0x00, // Char 234 (.) + 0x1C, 0x20, 0x18, 0x3C, 0x42, 0x42, 0x3C, 0x00, // Char 235 (.) + 0x00, 0x62, 0x95, 0x89, 0x95, 0x62, 0x00, 0x00, // Char 236 (.) + 0x02, 0x04, 0x3C, 0x4A, 0x52, 0x3C, 0x40, 0x80, // Char 237 (.) + 0x0C, 0x10, 0x20, 0x3C, 0x20, 0x10, 0x0C, 0x00, // Char 238 (.) + 0x3C, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x00, // Char 239 (.) + 0x00, 0x7E, 0x00, 0x7E, 0x00, 0x7E, 0x00, 0x00, // Char 240 (.) + 0x10, 0x10, 0x7C, 0x10, 0x10, 0x00, 0x7C, 0x00, // Char 241 (.) + 0x10, 0x08, 0x04, 0x08, 0x10, 0x00, 0x7E, 0x00, // Char 242 (.) + 0x08, 0x10, 0x20, 0x10, 0x08, 0x00, 0x7E, 0x00, // Char 243 (.) + 0x0C, 0x12, 0x12, 0x10, 0x10, 0x10, 0x10, 0x10, // Char 244 (.) + 0x10, 0x10, 0x10, 0x10, 0x10, 0x90, 0x90, 0x60, // Char 245 (.) + 0x18, 0x18, 0x00, 0x7E, 0x00, 0x18, 0x18, 0x00, // Char 246 (.) + 0x00, 0x32, 0x4C, 0x00, 0x32, 0x4C, 0x00, 0x00, // Char 247 (.) + 0x30, 0x48, 0x48, 0x30, 0x00, 0x00, 0x00, 0x00, // Char 248 (.) + 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, // Char 249 (.) + 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, // Char 250 (.) + 0x0F, 0x08, 0x08, 0x08, 0x08, 0xC8, 0x28, 0x18, // Char 251 (.) + 0x78, 0x44, 0x44, 0x44, 0x44, 0x00, 0x00, 0x00, // Char 252 (.) + 0x30, 0x48, 0x10, 0x20, 0x78, 0x00, 0x00, 0x00, // Char 253 (.) + 0x00, 0x00, 0x3C, 0x3C, 0x3C, 0x3C, 0x00, 0x00, // Char 254 (.) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // Char 255 (.) + }, + + /* NSDL_FONT_SPACE */ + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Char 000 (.) + 0x20, 0x7E, 0x81, 0xA5, 0x81, 0xBD, 0x99, 0x81, // Char 001 (.) + 0x7E, 0x7E, 0xFF, 0xDB, 0xFF, 0xC3, 0xE7, 0xFF, // Char 002 (.) + 0x7E, 0x6C, 0xFE, 0xFE, 0xFE, 0x7C, 0x38, 0x10, // Char 003 (.) + 0x00, 0x10, 0x38, 0x7C, 0xFE, 0x7C, 0x38, 0x10, // Char 004 (.) + 0x00, 0x38, 0x7C, 0x38, 0xFE, 0xFE, 0x7C, 0x38, // Char 005 (.) + 0x7C, 0x10, 0x10, 0x38, 0x7C, 0xFE, 0x7C, 0x38, // Char 006 (.) + 0x7C, 0x00, 0x00, 0x18, 0x3C, 0x3C, 0x18, 0x00, // Char 007 (.) + 0x00, 0xFF, 0xFF, 0xE7, 0xC3, 0xC3, 0xE7, 0xFF, // Char 008 (.) + 0xFF, 0x00, 0x3C, 0x66, 0x42, 0x42, 0x66, 0x3C, // Char 009 (.) + 0x00, 0xFF, 0xC3, 0x99, 0xBD, 0xBD, 0x99, 0xC3, // Char 010 (.) + 0xFF, 0x0F, 0x07, 0x0F, 0x7D, 0xCC, 0xCC, 0xCC, // Char 011 (.) + 0x78, 0x3C, 0x66, 0x66, 0x66, 0x3C, 0x18, 0x7E, // Char 012 (.) + 0x18, 0x3F, 0x33, 0x3F, 0x30, 0x30, 0x70, 0xF0, // Char 013 (.) + 0xE0, 0x7F, 0x63, 0x7F, 0x63, 0x63, 0x67, 0xE6, // Char 014 (.) + 0xC0, 0x99, 0x5A, 0x3C, 0xE7, 0xE7, 0x3C, 0x5A, // Char 015 (.) + 0x99, 0x80, 0xE0, 0xF8, 0xFE, 0xF8, 0xE0, 0x80, // Char 016 (.) + 0x00, 0x02, 0x0E, 0x3E, 0xFE, 0x3E, 0x0E, 0x02, // Char 017 (.) + 0x00, 0x18, 0x3C, 0x7E, 0x18, 0x18, 0x7E, 0x3C, // Char 018 (.) + 0x18, 0x66, 0x66, 0x66, 0x66, 0x66, 0x00, 0x66, // Char 019 (.) + 0x00, 0x7F, 0xDB, 0xDB, 0x7B, 0x1B, 0x1B, 0x1B, // Char 020 (.) + 0x00, 0x3E, 0x63, 0x38, 0x6C, 0x6C, 0x38, 0xCC, // Char 021 (.) + 0x78, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x7E, 0x7E, // Char 022 (.) + 0x00, 0x18, 0x3C, 0x7E, 0x18, 0x7E, 0x3C, 0x18, // Char 023 (.) + 0xFF, 0x18, 0x3C, 0x7E, 0x18, 0x18, 0x18, 0x18, // Char 024 (.) + 0x00, 0x18, 0x18, 0x18, 0x18, 0x7E, 0x3C, 0x18, // Char 025 (.) + 0x00, 0x00, 0x18, 0x0C, 0xFE, 0x0C, 0x18, 0x00, // Char 026 (.) + 0x00, 0x00, 0x30, 0x60, 0xFE, 0x60, 0x30, 0x00, // Char 027 (.) + 0x00, 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0xFE, 0x00, // Char 028 (.) + 0x00, 0x00, 0x24, 0x66, 0xFF, 0x66, 0x24, 0x00, // Char 029 (.) + 0x00, 0x00, 0x18, 0x3C, 0x7E, 0xFF, 0xFF, 0x00, // Char 030 (.) + 0x00, 0x00, 0xFF, 0xFF, 0x7E, 0x3C, 0x18, 0x00, // Char 031 (.) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Char 032 ( ) + 0x00, 0x30, 0x78, 0x78, 0x30, 0x30, 0x00, 0x30, // Char 033 (!) + 0x00, 0x6C, 0x6C, 0x6C, 0x00, 0x00, 0x00, 0x00, // Char 034 (") + 0x00, 0x6C, 0x6C, 0xFE, 0x6C, 0xFE, 0x6C, 0x6C, // Char 035 (#) + 0x00, 0x30, 0x7C, 0xC0, 0x78, 0x0C, 0xF8, 0x30, // Char 036 ($) + 0x00, 0x00, 0xC6, 0xCC, 0x18, 0x30, 0x66, 0xC6, // Char 037 (%) + 0x00, 0x38, 0x6C, 0x38, 0x76, 0xDC, 0xCC, 0x76, // Char 038 (&) + 0x00, 0x60, 0x60, 0xC0, 0x00, 0x00, 0x00, 0x00, // Char 039 (') + 0x00, 0x18, 0x30, 0x60, 0x60, 0x60, 0x30, 0x18, // Char 040 (() + 0x00, 0x60, 0x30, 0x18, 0x18, 0x18, 0x30, 0x60, // Char 041 ()) + 0x00, 0x00, 0x66, 0x3C, 0xFF, 0x3C, 0x66, 0x00, // Char 042 (*) + 0x00, 0x00, 0x30, 0x30, 0xFC, 0x30, 0x30, 0x00, // Char 043 (+) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, // Char 044 (,) + 0x60, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, // Char 045 (-) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, // Char 046 (.) + 0x00, 0x06, 0x0C, 0x18, 0x30, 0x60, 0xC0, 0x80, // Char 047 (/) + 0x00, 0xFE, 0x86, 0x8E, 0xD2, 0xE2, 0xC2, 0xFE, // Char 048 (0) + 0x00, 0x10, 0x10, 0x10, 0x30, 0x30, 0x30, 0x30, // Char 049 (1) + 0x00, 0x3C, 0x46, 0x06, 0x0C, 0x30, 0x60, 0x7E, // Char 050 (2) + 0x00, 0x3C, 0x46, 0x06, 0x1C, 0x02, 0x62, 0x7C, // Char 051 (3) + 0x00, 0x4C, 0x4C, 0x44, 0x44, 0x7C, 0x0C, 0x0C, // Char 052 (4) + 0x00, 0x7E, 0x40, 0x7C, 0x02, 0x02, 0x62, 0x7C, // Char 053 (5) + 0x00, 0x3C, 0x66, 0x40, 0x7C, 0x62, 0x62, 0x3C, // Char 054 (6) + 0x00, 0x7C, 0x0C, 0x04, 0x04, 0x0C, 0x0C, 0x0C, // Char 055 (7) + 0x00, 0x3C, 0x46, 0x46, 0x3C, 0x62, 0x62, 0x3C, // Char 056 (8) + 0x00, 0x3C, 0x46, 0x46, 0x3E, 0x02, 0x62, 0x3C, // Char 057 (9) + 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x30, 0x30, // Char 058 (:) + 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x30, 0x30, // Char 059 (;) + 0x60, 0x18, 0x30, 0x60, 0xC0, 0x60, 0x30, 0x18, // Char 060 (<) + 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0xFC, 0x00, // Char 061 (=) + 0x00, 0x60, 0x30, 0x18, 0x0C, 0x18, 0x30, 0x60, // Char 062 (>) + 0x00, 0x78, 0xCC, 0x0C, 0x18, 0x30, 0x00, 0x30, // Char 063 (?) + 0x00, 0x7C, 0xC6, 0xDE, 0xDE, 0xDE, 0xC0, 0x78, // Char 064 (@) + 0x00, 0x7E, 0x46, 0x42, 0x42, 0x7E, 0x62, 0x62, // Char 065 (A) + 0x00, 0x7C, 0x4C, 0x44, 0x7E, 0x62, 0x62, 0x7E, // Char 066 (B) + 0x00, 0x7E, 0x46, 0x40, 0x60, 0x60, 0x62, 0x7E, // Char 067 (C) + 0x00, 0x7C, 0x46, 0x46, 0x42, 0x62, 0x62, 0x7C, // Char 068 (D) + 0x00, 0x7E, 0x46, 0x40, 0x78, 0x60, 0x62, 0x7E, // Char 069 (E) + 0x00, 0x7E, 0x46, 0x40, 0x78, 0x60, 0x60, 0x60, // Char 070 (F) + 0x00, 0x7E, 0x46, 0x40, 0x4E, 0x62, 0x62, 0x7E, // Char 071 (G) + 0x00, 0x4C, 0x4C, 0x44, 0x7C, 0x64, 0x64, 0x64, // Char 072 (H) + 0x00, 0x10, 0x10, 0x10, 0x18, 0x18, 0x18, 0x18, // Char 073 (I) + 0x00, 0x06, 0x06, 0x02, 0x02, 0x62, 0x62, 0x7E, // Char 074 (J) + 0x00, 0x46, 0x46, 0x4C, 0x78, 0x64, 0x62, 0x62, // Char 075 (K) + 0x00, 0x40, 0x40, 0x40, 0x60, 0x60, 0x60, 0x7E, // Char 076 (L) + 0x00, 0xC6, 0xEE, 0xBE, 0x92, 0xD2, 0xC2, 0xC2, // Char 077 (M) + 0x00, 0x46, 0x46, 0x62, 0x52, 0x6A, 0x66, 0x62, // Char 078 (N) + 0x00, 0x7E, 0x46, 0x46, 0x62, 0x62, 0x62, 0x7E, // Char 079 (O) + 0x00, 0x7E, 0x46, 0x46, 0x7E, 0x60, 0x60, 0x60, // Char 080 (P) + 0x00, 0x7E, 0x46, 0x46, 0x62, 0x62, 0x7E, 0x1C, // Char 081 (Q) + 0x04, 0x7E, 0x46, 0x46, 0x7C, 0x68, 0x64, 0x62, // Char 082 (R) + 0x00, 0x7E, 0x46, 0x60, 0x18, 0x06, 0x62, 0x7E, // Char 083 (S) + 0x00, 0x7E, 0x16, 0x10, 0x18, 0x18, 0x18, 0x18, // Char 084 (T) + 0x00, 0x46, 0x46, 0x42, 0x62, 0x62, 0x62, 0x7E, // Char 085 (U) + 0x00, 0x46, 0x46, 0x46, 0x42, 0x64, 0x38, 0x10, // Char 086 (V) + 0x00, 0x86, 0x86, 0x82, 0xD2, 0xFA, 0xEE, 0xC6, // Char 087 (W) + 0x00, 0x86, 0x86, 0x4C, 0x30, 0x68, 0xE4, 0xC2, // Char 088 (X) + 0x00, 0x46, 0x46, 0x42, 0x3C, 0x18, 0x18, 0x18, // Char 089 (Y) + 0x00, 0xFE, 0x06, 0x08, 0x10, 0x20, 0xC0, 0xFE, // Char 090 (Z) + 0x00, 0x78, 0x60, 0x60, 0x60, 0x60, 0x60, 0x78, // Char 091 ([) + 0x00, 0xC0, 0x60, 0x30, 0x18, 0x0C, 0x06, 0x02, // Char 092 (\) + 0x00, 0x78, 0x18, 0x18, 0x18, 0x18, 0x18, 0x78, // Char 093 (]) + 0x00, 0x10, 0x38, 0x6C, 0xC6, 0x00, 0x00, 0x00, // Char 094 (^) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Char 095 (_) + 0xFF, 0x30, 0x30, 0x18, 0x00, 0x00, 0x00, 0x00, // Char 096 (`) + 0x00, 0x00, 0x00, 0x7E, 0x06, 0x7E, 0x62, 0x7E, // Char 097 (a) + 0x00, 0x40, 0x40, 0x40, 0x7E, 0x62, 0x62, 0x7E, // Char 098 (b) + 0x00, 0x00, 0x00, 0x7E, 0x46, 0x60, 0x60, 0x7E, // Char 099 (c) + 0x00, 0x06, 0x06, 0x02, 0x7E, 0x62, 0x62, 0x7E, // Char 100 (d) + 0x00, 0x00, 0x00, 0x7E, 0x46, 0x7E, 0x60, 0x7E, // Char 101 (e) + 0x00, 0x0C, 0x1C, 0x20, 0x78, 0x60, 0x60, 0x60, // Char 102 (f) + 0x00, 0x00, 0x00, 0x7E, 0x46, 0x42, 0x7E, 0x06, // Char 103 (g) + 0x78, 0x40, 0x40, 0x40, 0x7E, 0x62, 0x62, 0x62, // Char 104 (h) + 0x00, 0x10, 0x00, 0x10, 0x10, 0x18, 0x18, 0x18, // Char 105 (i) + 0x00, 0x0C, 0x00, 0x0C, 0x04, 0x04, 0x64, 0x64, // Char 106 (j) + 0x7C, 0x40, 0x40, 0x46, 0x4C, 0x78, 0x64, 0x62, // Char 107 (k) + 0x00, 0x10, 0x10, 0x10, 0x10, 0x18, 0x18, 0x18, // Char 108 (l) + 0x00, 0x00, 0x00, 0xFE, 0x96, 0x96, 0xD2, 0xD2, // Char 109 (m) + 0x00, 0x00, 0x00, 0x7E, 0x46, 0x62, 0x62, 0x62, // Char 110 (n) + 0x00, 0x00, 0x00, 0x7E, 0x46, 0x62, 0x62, 0x7E, // Char 111 (o) + 0x00, 0x00, 0x00, 0x7E, 0x46, 0x42, 0x7E, 0x60, // Char 112 (p) + 0x60, 0x00, 0x00, 0x7E, 0x46, 0x42, 0x7E, 0x02, // Char 113 (q) + 0x02, 0x00, 0x00, 0x7E, 0x46, 0x60, 0x60, 0x60, // Char 114 (r) + 0x00, 0x00, 0x00, 0x7C, 0x40, 0x7C, 0x04, 0x7C, // Char 115 (s) + 0x00, 0x10, 0x10, 0x3C, 0x10, 0x10, 0x18, 0x1C, // Char 116 (t) + 0x00, 0x00, 0x00, 0x46, 0x46, 0x62, 0x62, 0x7E, // Char 117 (u) + 0x00, 0x00, 0x00, 0x46, 0x46, 0x66, 0x34, 0x18, // Char 118 (v) + 0x00, 0x00, 0x00, 0x86, 0x96, 0xD2, 0xFE, 0x6C, // Char 119 (w) + 0x00, 0x00, 0x00, 0x46, 0x2C, 0x18, 0x34, 0x62, // Char 120 (x) + 0x00, 0x00, 0x00, 0x46, 0x46, 0x62, 0x7E, 0x02, // Char 121 (y) + 0x7C, 0x00, 0x00, 0x7E, 0x0C, 0x18, 0x30, 0x7E, // Char 122 (z) + 0x00, 0x1C, 0x30, 0x30, 0xE0, 0x30, 0x30, 0x1C, // Char 123 ({) + 0x00, 0x18, 0x18, 0x18, 0x00, 0x18, 0x18, 0x18, // Char 124 (|) + 0x00, 0xE0, 0x30, 0x30, 0x1C, 0x30, 0x30, 0xE0, // Char 125 (}) + 0x00, 0x76, 0xDC, 0x00, 0x00, 0x00, 0x00, 0x00, // Char 126 (~) + 0x00, 0x00, 0x10, 0x38, 0x6C, 0xC6, 0xC6, 0xFE, // Char 127 (.) + 0x00, 0x7E, 0x46, 0x40, 0x60, 0x62, 0x7E, 0x0C, // Char 128 (.) + 0x18, 0x00, 0x66, 0x00, 0x46, 0x62, 0x62, 0x7E, // Char 129 (.) + 0x00, 0x1C, 0x00, 0x7E, 0x46, 0x7E, 0x60, 0x7E, // Char 130 (.) + 0x00, 0x3C, 0x42, 0x3C, 0x06, 0x7E, 0x62, 0x7E, // Char 131 (.) + 0x00, 0x66, 0x00, 0x7E, 0x06, 0x7E, 0x62, 0x7E, // Char 132 (.) + 0x00, 0x70, 0x00, 0x7E, 0x06, 0x7E, 0x62, 0x7E, // Char 133 (.) + 0x00, 0x30, 0x30, 0x78, 0x0C, 0x7C, 0xCC, 0x7E, // Char 134 (.) + 0x00, 0x00, 0x00, 0x7E, 0x46, 0x60, 0x7E, 0x0C, // Char 135 (.) + 0x38, 0x3C, 0x42, 0x3C, 0x66, 0x7E, 0x60, 0x7E, // Char 136 (.) + 0x00, 0x66, 0x00, 0x7E, 0x46, 0x7E, 0x60, 0x7E, // Char 137 (.) + 0x00, 0x70, 0x00, 0x7E, 0x46, 0x7E, 0x60, 0x7E, // Char 138 (.) + 0x00, 0x66, 0x00, 0x10, 0x10, 0x18, 0x18, 0x18, // Char 139 (.) + 0x00, 0x38, 0x44, 0x10, 0x10, 0x18, 0x18, 0x18, // Char 140 (.) + 0x00, 0x60, 0x00, 0x10, 0x10, 0x18, 0x18, 0x18, // Char 141 (.) + 0x00, 0xC6, 0x38, 0x4C, 0x86, 0xFE, 0xC2, 0xC2, // Char 142 (.) + 0x00, 0x18, 0x18, 0x00, 0x3C, 0x46, 0x7E, 0x62, // Char 143 (.) + 0x00, 0x1C, 0x00, 0x7E, 0x42, 0x78, 0x60, 0x7E, // Char 144 (.) + 0x00, 0x00, 0x00, 0x7F, 0x0C, 0x7F, 0xCC, 0x7F, // Char 145 (.) + 0x00, 0x3E, 0x6C, 0xCC, 0xFE, 0xCC, 0xCC, 0xCE, // Char 146 (.) + 0x00, 0x18, 0x2C, 0x00, 0x7E, 0x46, 0x62, 0x7E, // Char 147 (.) + 0x00, 0x00, 0x66, 0x00, 0x7E, 0x46, 0x62, 0x7E, // Char 148 (.) + 0x00, 0x00, 0x70, 0x00, 0x7E, 0x46, 0x62, 0x7E, // Char 149 (.) + 0x00, 0x18, 0x2C, 0x00, 0x46, 0x46, 0x62, 0x7E, // Char 150 (.) + 0x00, 0x00, 0x70, 0x00, 0x46, 0x46, 0x62, 0x7E, // Char 151 (.) + 0x00, 0x00, 0x6E, 0x00, 0x46, 0x66, 0x7E, 0x02, // Char 152 (.) + 0x7C, 0xC3, 0x3C, 0x46, 0x46, 0x62, 0x62, 0x7E, // Char 153 (.) + 0x00, 0x66, 0x00, 0x46, 0x46, 0x62, 0x62, 0x7E, // Char 154 (.) + 0x00, 0x18, 0x18, 0x7E, 0xC0, 0xC0, 0x7E, 0x18, // Char 155 (.) + 0x18, 0x38, 0x6C, 0x64, 0xF0, 0x60, 0xE6, 0xFC, // Char 156 (.) + 0x00, 0xCC, 0xCC, 0x78, 0xFC, 0x30, 0xFC, 0x30, // Char 157 (.) + 0x30, 0xF8, 0xCC, 0xCC, 0xFA, 0xC6, 0xCF, 0xC6, // Char 158 (.) + 0xC7, 0x0E, 0x1B, 0x18, 0x3C, 0x18, 0x18, 0xD8, // Char 159 (.) + 0x70, 0x0E, 0x00, 0x7E, 0x06, 0x7E, 0x62, 0x7E, // Char 160 (.) + 0x00, 0x1C, 0x00, 0x20, 0x20, 0x30, 0x30, 0x30, // Char 161 (.) + 0x00, 0x00, 0x0E, 0x00, 0x7E, 0x46, 0x62, 0x7E, // Char 162 (.) + 0x00, 0x00, 0x0E, 0x00, 0x46, 0x46, 0x62, 0x7E, // Char 163 (.) + 0x00, 0x32, 0x4C, 0x00, 0x7E, 0x46, 0x62, 0x62, // Char 164 (.) + 0x00, 0x7E, 0x00, 0x46, 0x66, 0x72, 0x6A, 0x66, // Char 165 (.) + 0x00, 0x3C, 0x0C, 0x3C, 0x3C, 0x00, 0x3C, 0x00, // Char 166 (.) + 0x00, 0x3C, 0x24, 0x34, 0x3C, 0x00, 0x3C, 0x00, // Char 167 (.) + 0x00, 0x30, 0x00, 0x30, 0x60, 0xC0, 0xCC, 0x78, // Char 168 (.) + 0x00, 0x00, 0x00, 0x00, 0xFC, 0xC0, 0xC0, 0x00, // Char 169 (.) + 0x00, 0x00, 0x00, 0x00, 0xFC, 0x0C, 0x0C, 0x00, // Char 170 (.) + 0x00, 0xC3, 0xC6, 0xCC, 0xDE, 0x33, 0x66, 0xCC, // Char 171 (.) + 0x0F, 0xC3, 0xC6, 0xCC, 0xDB, 0x37, 0x6F, 0xCF, // Char 172 (.) + 0x03, 0x18, 0x18, 0x00, 0x18, 0x18, 0x18, 0x18, // Char 173 (.) + 0x00, 0x00, 0x33, 0x66, 0xCC, 0x66, 0x33, 0x00, // Char 174 (.) + 0x00, 0x00, 0xCC, 0x66, 0x33, 0x66, 0xCC, 0x00, // Char 175 (.) + 0x00, 0x22, 0x88, 0x22, 0x88, 0x22, 0x88, 0x22, // Char 176 (.) + 0x88, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, // Char 177 (.) + 0xAA, 0xDB, 0x77, 0xDB, 0xEE, 0xDB, 0x77, 0xDB, // Char 178 (.) + 0xEE, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, // Char 179 (.) + 0x18, 0x18, 0x18, 0x18, 0x18, 0xF8, 0x18, 0x18, // Char 180 (.) + 0x18, 0x18, 0x18, 0xF8, 0x18, 0xF8, 0x18, 0x18, // Char 181 (.) + 0x18, 0x36, 0x36, 0x36, 0x36, 0xF6, 0x36, 0x36, // Char 182 (.) + 0x36, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x36, 0x36, // Char 183 (.) + 0x36, 0x00, 0x00, 0xF8, 0x18, 0xF8, 0x18, 0x18, // Char 184 (.) + 0x18, 0x36, 0x36, 0xF6, 0x06, 0xF6, 0x36, 0x36, // Char 185 (.) + 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, // Char 186 (.) + 0x36, 0x00, 0x00, 0xFE, 0x06, 0xF6, 0x36, 0x36, // Char 187 (.) + 0x36, 0x36, 0x36, 0xF6, 0x06, 0xFE, 0x00, 0x00, // Char 188 (.) + 0x00, 0x36, 0x36, 0x36, 0x36, 0xFE, 0x00, 0x00, // Char 189 (.) + 0x00, 0x18, 0x18, 0xF8, 0x18, 0xF8, 0x00, 0x00, // Char 190 (.) + 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x18, 0x18, // Char 191 (.) + 0x18, 0x18, 0x18, 0x18, 0x18, 0x1F, 0x00, 0x00, // Char 192 (.) + 0x00, 0x18, 0x18, 0x18, 0x18, 0xFF, 0x00, 0x00, // Char 193 (.) + 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x18, 0x18, // Char 194 (.) + 0x18, 0x18, 0x18, 0x18, 0x18, 0x1F, 0x18, 0x18, // Char 195 (.) + 0x18, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, // Char 196 (.) + 0x00, 0x18, 0x18, 0x18, 0x18, 0xFF, 0x18, 0x18, // Char 197 (.) + 0x18, 0x18, 0x18, 0x1F, 0x18, 0x1F, 0x18, 0x18, // Char 198 (.) + 0x18, 0x36, 0x36, 0x36, 0x36, 0x37, 0x36, 0x36, // Char 199 (.) + 0x36, 0x36, 0x36, 0x37, 0x30, 0x3F, 0x00, 0x00, // Char 200 (.) + 0x00, 0x00, 0x00, 0x3F, 0x30, 0x37, 0x36, 0x36, // Char 201 (.) + 0x36, 0x36, 0x36, 0xF7, 0x00, 0xFF, 0x00, 0x00, // Char 202 (.) + 0x00, 0x00, 0x00, 0xFF, 0x00, 0xF7, 0x36, 0x36, // Char 203 (.) + 0x36, 0x36, 0x36, 0x37, 0x30, 0x37, 0x36, 0x36, // Char 204 (.) + 0x36, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, // Char 205 (.) + 0x00, 0x36, 0x36, 0xF7, 0x00, 0xF7, 0x36, 0x36, // Char 206 (.) + 0x36, 0x18, 0x18, 0xFF, 0x00, 0xFF, 0x00, 0x00, // Char 207 (.) + 0x00, 0x36, 0x36, 0x36, 0x36, 0xFF, 0x00, 0x00, // Char 208 (.) + 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x18, 0x18, // Char 209 (.) + 0x18, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x36, 0x36, // Char 210 (.) + 0x36, 0x36, 0x36, 0x36, 0x36, 0x3F, 0x00, 0x00, // Char 211 (.) + 0x00, 0x18, 0x18, 0x1F, 0x18, 0x1F, 0x00, 0x00, // Char 212 (.) + 0x00, 0x00, 0x00, 0x1F, 0x18, 0x1F, 0x18, 0x18, // Char 213 (.) + 0x18, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x36, 0x36, // Char 214 (.) + 0x36, 0x36, 0x36, 0x36, 0x36, 0xFF, 0x36, 0x36, // Char 215 (.) + 0x36, 0x18, 0x18, 0xFF, 0x18, 0xFF, 0x18, 0x18, // Char 216 (.) + 0x18, 0x18, 0x18, 0x18, 0x18, 0xF8, 0x00, 0x00, // Char 217 (.) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x18, 0x18, // Char 218 (.) + 0x18, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // Char 219 (.) + 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, // Char 220 (.) + 0xFF, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, // Char 221 (.) + 0xF0, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, // Char 222 (.) + 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, // Char 223 (.) + 0x00, 0x00, 0x00, 0x76, 0xDC, 0xC8, 0xDC, 0x76, // Char 224 (.) + 0x00, 0x00, 0x78, 0xCC, 0xF8, 0xCC, 0xF8, 0xC0, // Char 225 (.) + 0xC0, 0x00, 0xFC, 0xCC, 0xC0, 0xC0, 0xC0, 0xC0, // Char 226 (.) + 0x00, 0x00, 0xFE, 0x6C, 0x6C, 0x6C, 0x6C, 0x6C, // Char 227 (.) + 0x00, 0xFC, 0xCC, 0x60, 0x30, 0x60, 0xCC, 0xFC, // Char 228 (.) + 0x00, 0x00, 0x00, 0x7E, 0xD8, 0xD8, 0xD8, 0x70, // Char 229 (.) + 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x7C, 0x60, // Char 230 (.) + 0xC0, 0x00, 0x76, 0xDC, 0x18, 0x18, 0x18, 0x18, // Char 231 (.) + 0x00, 0xFC, 0x30, 0x78, 0xCC, 0xCC, 0x78, 0x30, // Char 232 (.) + 0xFC, 0x38, 0x6C, 0xC6, 0xFE, 0xC6, 0x6C, 0x38, // Char 233 (.) + 0x00, 0x38, 0x6C, 0xC6, 0xC6, 0x6C, 0x6C, 0xEE, // Char 234 (.) + 0x00, 0x1C, 0x30, 0x18, 0x7C, 0xCC, 0xCC, 0x78, // Char 235 (.) + 0x00, 0x00, 0x00, 0x7E, 0xDB, 0xDB, 0x7E, 0x00, // Char 236 (.) + 0x00, 0x06, 0x0C, 0x7E, 0xDB, 0xDB, 0x7E, 0x60, // Char 237 (.) + 0xC0, 0x38, 0x60, 0xC0, 0xF8, 0xC0, 0x60, 0x38, // Char 238 (.) + 0x00, 0x78, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, // Char 239 (.) + 0x00, 0x00, 0xFC, 0x00, 0xFC, 0x00, 0xFC, 0x00, // Char 240 (.) + 0x00, 0x30, 0x30, 0xFC, 0x30, 0x30, 0x00, 0xFC, // Char 241 (.) + 0x00, 0x60, 0x30, 0x18, 0x30, 0x60, 0x00, 0xFC, // Char 242 (.) + 0x00, 0x18, 0x30, 0x60, 0x30, 0x18, 0x00, 0xFC, // Char 243 (.) + 0x00, 0x0E, 0x1B, 0x1B, 0x18, 0x18, 0x18, 0x18, // Char 244 (.) + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xD8, 0xD8, // Char 245 (.) + 0x70, 0x30, 0x30, 0x00, 0xFC, 0x00, 0x30, 0x30, // Char 246 (.) + 0x00, 0x00, 0x76, 0xDC, 0x00, 0x76, 0xDC, 0x00, // Char 247 (.) + 0x00, 0x38, 0x6C, 0x6C, 0x38, 0x00, 0x00, 0x00, // Char 248 (.) + 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, // Char 249 (.) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, // Char 250 (.) + 0x00, 0x0F, 0x0C, 0x0C, 0x0C, 0xEC, 0x6C, 0x3C, // Char 251 (.) + 0x1C, 0x78, 0x6C, 0x6C, 0x6C, 0x6C, 0x00, 0x00, // Char 252 (.) + 0x00, 0x70, 0x18, 0x30, 0x60, 0x78, 0x00, 0x00, // Char 253 (.) + 0x00, 0x00, 0x00, 0x3C, 0x3C, 0x3C, 0x3C, 0x00, // Char 254 (.) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // Char 255 (.) + }, + + /* NSDL_FONT_VGA */ + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Char 000 (.) + 0x7E, 0x81, 0xA5, 0x81, 0xBD, 0x99, 0x81, 0x7E, // Char 001 (.) + 0x7E, 0xFF, 0xDB, 0xFF, 0xC3, 0xE7, 0xFF, 0x7E, // Char 002 (.) + 0x6C, 0xFE, 0xFE, 0xFE, 0x7C, 0x38, 0x10, 0x00, // Char 003 (.) + 0x10, 0x38, 0x7C, 0xFE, 0x7C, 0x38, 0x10, 0x00, // Char 004 (.) + 0x38, 0x7C, 0x38, 0xFE, 0xFE, 0x7C, 0x38, 0x7C, // Char 005 (.) + 0x10, 0x10, 0x38, 0x7C, 0xFE, 0x7C, 0x38, 0x7C, // Char 006 (.) + 0x00, 0x00, 0x18, 0x3C, 0x3C, 0x18, 0x00, 0x00, // Char 007 (.) + 0xFF, 0xFF, 0xE7, 0xC3, 0xC3, 0xE7, 0xFF, 0xFF, // Char 008 (.) + 0x00, 0x3C, 0x66, 0x42, 0x42, 0x66, 0x3C, 0x00, // Char 009 (.) + 0xFF, 0xC3, 0x99, 0xBD, 0xBD, 0x99, 0xC3, 0xFF, // Char 010 (.) + 0x0F, 0x07, 0x0F, 0x7D, 0xCC, 0xCC, 0xCC, 0x78, // Char 011 (.) + 0x3C, 0x66, 0x66, 0x66, 0x3C, 0x18, 0x7E, 0x18, // Char 012 (.) + 0x3F, 0x33, 0x3F, 0x30, 0x30, 0x70, 0xF0, 0xE0, // Char 013 (.) + 0x7F, 0x63, 0x7F, 0x63, 0x63, 0x67, 0xE6, 0xC0, // Char 014 (.) + 0x99, 0x5A, 0x3C, 0xE7, 0xE7, 0x3C, 0x5A, 0x99, // Char 015 (.) + 0x80, 0xE0, 0xF8, 0xFE, 0xF8, 0xE0, 0x80, 0x00, // Char 016 (.) + 0x02, 0x0E, 0x3E, 0xFE, 0x3E, 0x0E, 0x02, 0x00, // Char 017 (.) + 0x18, 0x3C, 0x7E, 0x18, 0x18, 0x7E, 0x3C, 0x18, // Char 018 (.) + 0x66, 0x66, 0x66, 0x66, 0x66, 0x00, 0x66, 0x00, // Char 019 (.) + 0x7F, 0xDB, 0xDB, 0x7B, 0x1B, 0x1B, 0x1B, 0x00, // Char 020 (.) + 0x3E, 0x63, 0x38, 0x6C, 0x6C, 0x38, 0xCC, 0x78, // Char 021 (.) + 0x00, 0x00, 0x00, 0x00, 0x7E, 0x7E, 0x7E, 0x00, // Char 022 (.) + 0x18, 0x3C, 0x7E, 0x18, 0x7E, 0x3C, 0x18, 0xFF, // Char 023 (.) + 0x18, 0x3C, 0x7E, 0x18, 0x18, 0x18, 0x18, 0x00, // Char 024 (.) + 0x18, 0x18, 0x18, 0x18, 0x7E, 0x3C, 0x18, 0x00, // Char 025 (.) + 0x00, 0x18, 0x0C, 0xFE, 0x0C, 0x18, 0x00, 0x00, // Char 026 (.) + 0x00, 0x30, 0x60, 0xFE, 0x60, 0x30, 0x00, 0x00, // Char 027 (.) + 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0xFE, 0x00, 0x00, // Char 028 (.) + 0x00, 0x24, 0x66, 0xFF, 0x66, 0x24, 0x00, 0x00, // Char 029 (.) + 0x00, 0x18, 0x3C, 0x7E, 0xFF, 0xFF, 0x00, 0x00, // Char 030 (.) + 0x00, 0xFF, 0xFF, 0x7E, 0x3C, 0x18, 0x00, 0x00, // Char 031 (.) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Char 032 ( ) + 0x30, 0x78, 0x78, 0x30, 0x30, 0x00, 0x30, 0x00, // Char 033 (!) + 0x6C, 0x6C, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00, // Char 034 (") + 0x6C, 0x6C, 0xFE, 0x6C, 0xFE, 0x6C, 0x6C, 0x00, // Char 035 (#) + 0x30, 0x7C, 0xC0, 0x78, 0x0C, 0xF8, 0x30, 0x00, // Char 036 ($) + 0x00, 0xC6, 0xCC, 0x18, 0x30, 0x66, 0xC6, 0x00, // Char 037 (%) + 0x38, 0x6C, 0x38, 0x76, 0xDC, 0xCC, 0x76, 0x00, // Char 038 (&) + 0x60, 0x60, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, // Char 039 (') + 0x18, 0x30, 0x60, 0x60, 0x60, 0x30, 0x18, 0x00, // Char 040 (() + 0x60, 0x30, 0x18, 0x18, 0x18, 0x30, 0x60, 0x00, // Char 041 ()) + 0x00, 0x66, 0x3C, 0xFF, 0x3C, 0x66, 0x00, 0x00, // Char 042 (*) + 0x00, 0x30, 0x30, 0xFC, 0x30, 0x30, 0x00, 0x00, // Char 043 (+) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x60, // Char 044 (,) + 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x00, // Char 045 (-) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x00, // Char 046 (.) + 0x06, 0x0C, 0x18, 0x30, 0x60, 0xC0, 0x80, 0x00, // Char 047 (/) + 0x7C, 0xC6, 0xCE, 0xDE, 0xF6, 0xE6, 0x7C, 0x00, // Char 048 (0) + 0x30, 0x70, 0x30, 0x30, 0x30, 0x30, 0xFC, 0x00, // Char 049 (1) + 0x78, 0xCC, 0x0C, 0x38, 0x60, 0xCC, 0xFC, 0x00, // Char 050 (2) + 0x78, 0xCC, 0x0C, 0x38, 0x0C, 0xCC, 0x78, 0x00, // Char 051 (3) + 0x1C, 0x3C, 0x6C, 0xCC, 0xFE, 0x0C, 0x1E, 0x00, // Char 052 (4) + 0xFC, 0xC0, 0xF8, 0x0C, 0x0C, 0xCC, 0x78, 0x00, // Char 053 (5) + 0x38, 0x60, 0xC0, 0xF8, 0xCC, 0xCC, 0x78, 0x00, // Char 054 (6) + 0xFC, 0xCC, 0x0C, 0x18, 0x30, 0x30, 0x30, 0x00, // Char 055 (7) + 0x78, 0xCC, 0xCC, 0x78, 0xCC, 0xCC, 0x78, 0x00, // Char 056 (8) + 0x78, 0xCC, 0xCC, 0x7C, 0x0C, 0x18, 0x70, 0x00, // Char 057 (9) + 0x00, 0x30, 0x30, 0x00, 0x00, 0x30, 0x30, 0x00, // Char 058 (:) + 0x00, 0x30, 0x30, 0x00, 0x00, 0x30, 0x30, 0x60, // Char 059 (;) + 0x18, 0x30, 0x60, 0xC0, 0x60, 0x30, 0x18, 0x00, // Char 060 (<) + 0x00, 0x00, 0xFC, 0x00, 0x00, 0xFC, 0x00, 0x00, // Char 061 (=) + 0x60, 0x30, 0x18, 0x0C, 0x18, 0x30, 0x60, 0x00, // Char 062 (>) + 0x78, 0xCC, 0x0C, 0x18, 0x30, 0x00, 0x30, 0x00, // Char 063 (?) + 0x7C, 0xC6, 0xDE, 0xDE, 0xDE, 0xC0, 0x78, 0x00, // Char 064 (@) + 0x30, 0x78, 0xCC, 0xCC, 0xFC, 0xCC, 0xCC, 0x00, // Char 065 (A) + 0xFC, 0x66, 0x66, 0x7C, 0x66, 0x66, 0xFC, 0x00, // Char 066 (B) + 0x3C, 0x66, 0xC0, 0xC0, 0xC0, 0x66, 0x3C, 0x00, // Char 067 (C) + 0xF8, 0x6C, 0x66, 0x66, 0x66, 0x6C, 0xF8, 0x00, // Char 068 (D) + 0xFE, 0x62, 0x68, 0x78, 0x68, 0x62, 0xFE, 0x00, // Char 069 (E) + 0xFE, 0x62, 0x68, 0x78, 0x68, 0x60, 0xF0, 0x00, // Char 070 (F) + 0x3C, 0x66, 0xC0, 0xC0, 0xCE, 0x66, 0x3E, 0x00, // Char 071 (G) + 0xCC, 0xCC, 0xCC, 0xFC, 0xCC, 0xCC, 0xCC, 0x00, // Char 072 (H) + 0x78, 0x30, 0x30, 0x30, 0x30, 0x30, 0x78, 0x00, // Char 073 (I) + 0x1E, 0x0C, 0x0C, 0x0C, 0xCC, 0xCC, 0x78, 0x00, // Char 074 (J) + 0xE6, 0x66, 0x6C, 0x78, 0x6C, 0x66, 0xE6, 0x00, // Char 075 (K) + 0xF0, 0x60, 0x60, 0x60, 0x62, 0x66, 0xFE, 0x00, // Char 076 (L) + 0xC6, 0xEE, 0xFE, 0xFE, 0xD6, 0xC6, 0xC6, 0x00, // Char 077 (M) + 0xC6, 0xE6, 0xF6, 0xDE, 0xCE, 0xC6, 0xC6, 0x00, // Char 078 (N) + 0x38, 0x6C, 0xC6, 0xC6, 0xC6, 0x6C, 0x38, 0x00, // Char 079 (O) + 0xFC, 0x66, 0x66, 0x7C, 0x60, 0x60, 0xF0, 0x00, // Char 080 (P) + 0x78, 0xCC, 0xCC, 0xCC, 0xDC, 0x78, 0x1C, 0x00, // Char 081 (Q) + 0xFC, 0x66, 0x66, 0x7C, 0x6C, 0x66, 0xE6, 0x00, // Char 082 (R) + 0x78, 0xCC, 0xE0, 0x70, 0x1C, 0xCC, 0x78, 0x00, // Char 083 (S) + 0xFC, 0xB4, 0x30, 0x30, 0x30, 0x30, 0x78, 0x00, // Char 084 (T) + 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xFC, 0x00, // Char 085 (U) + 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x78, 0x30, 0x00, // Char 086 (V) + 0xC6, 0xC6, 0xC6, 0xD6, 0xFE, 0xEE, 0xC6, 0x00, // Char 087 (W) + 0xC6, 0xC6, 0x6C, 0x38, 0x38, 0x6C, 0xC6, 0x00, // Char 088 (X) + 0xCC, 0xCC, 0xCC, 0x78, 0x30, 0x30, 0x78, 0x00, // Char 089 (Y) + 0xFE, 0xC6, 0x8C, 0x18, 0x32, 0x66, 0xFE, 0x00, // Char 090 (Z) + 0x78, 0x60, 0x60, 0x60, 0x60, 0x60, 0x78, 0x00, // Char 091 ([) + 0xC0, 0x60, 0x30, 0x18, 0x0C, 0x06, 0x02, 0x00, // Char 092 (\) + 0x78, 0x18, 0x18, 0x18, 0x18, 0x18, 0x78, 0x00, // Char 093 (]) + 0x10, 0x38, 0x6C, 0xC6, 0x00, 0x00, 0x00, 0x00, // Char 094 (^) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, // Char 095 (_) + 0x30, 0x30, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, // Char 096 (`) + 0x00, 0x00, 0x78, 0x0C, 0x7C, 0xCC, 0x76, 0x00, // Char 097 (a) + 0xE0, 0x60, 0x60, 0x7C, 0x66, 0x66, 0xDC, 0x00, // Char 098 (b) + 0x00, 0x00, 0x78, 0xCC, 0xC0, 0xCC, 0x78, 0x00, // Char 099 (c) + 0x1C, 0x0C, 0x0C, 0x7C, 0xCC, 0xCC, 0x76, 0x00, // Char 100 (d) + 0x00, 0x00, 0x78, 0xCC, 0xFC, 0xC0, 0x78, 0x00, // Char 101 (e) + 0x38, 0x6C, 0x60, 0xF0, 0x60, 0x60, 0xF0, 0x00, // Char 102 (f) + 0x00, 0x00, 0x76, 0xCC, 0xCC, 0x7C, 0x0C, 0xF8, // Char 103 (g) + 0xE0, 0x60, 0x6C, 0x76, 0x66, 0x66, 0xE6, 0x00, // Char 104 (h) + 0x30, 0x00, 0x70, 0x30, 0x30, 0x30, 0x78, 0x00, // Char 105 (i) + 0x0C, 0x00, 0x0C, 0x0C, 0x0C, 0xCC, 0xCC, 0x78, // Char 106 (j) + 0xE0, 0x60, 0x66, 0x6C, 0x78, 0x6C, 0xE6, 0x00, // Char 107 (k) + 0x70, 0x30, 0x30, 0x30, 0x30, 0x30, 0x78, 0x00, // Char 108 (l) + 0x00, 0x00, 0xCC, 0xFE, 0xFE, 0xD6, 0xC6, 0x00, // Char 109 (m) + 0x00, 0x00, 0xF8, 0xCC, 0xCC, 0xCC, 0xCC, 0x00, // Char 110 (n) + 0x00, 0x00, 0x78, 0xCC, 0xCC, 0xCC, 0x78, 0x00, // Char 111 (o) + 0x00, 0x00, 0xDC, 0x66, 0x66, 0x7C, 0x60, 0xF0, // Char 112 (p) + 0x00, 0x00, 0x76, 0xCC, 0xCC, 0x7C, 0x0C, 0x1E, // Char 113 (q) + 0x00, 0x00, 0xDC, 0x76, 0x66, 0x60, 0xF0, 0x00, // Char 114 (r) + 0x00, 0x00, 0x7C, 0xC0, 0x78, 0x0C, 0xF8, 0x00, // Char 115 (s) + 0x10, 0x30, 0x7C, 0x30, 0x30, 0x34, 0x18, 0x00, // Char 116 (t) + 0x00, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0x76, 0x00, // Char 117 (u) + 0x00, 0x00, 0xCC, 0xCC, 0xCC, 0x78, 0x30, 0x00, // Char 118 (v) + 0x00, 0x00, 0xC6, 0xD6, 0xFE, 0xFE, 0x6C, 0x00, // Char 119 (w) + 0x00, 0x00, 0xC6, 0x6C, 0x38, 0x6C, 0xC6, 0x00, // Char 120 (x) + 0x00, 0x00, 0xCC, 0xCC, 0xCC, 0x7C, 0x0C, 0xF8, // Char 121 (y) + 0x00, 0x00, 0xFC, 0x98, 0x30, 0x64, 0xFC, 0x00, // Char 122 (z) + 0x1C, 0x30, 0x30, 0xE0, 0x30, 0x30, 0x1C, 0x00, // Char 123 ({) + 0x18, 0x18, 0x18, 0x00, 0x18, 0x18, 0x18, 0x00, // Char 124 (|) + 0xE0, 0x30, 0x30, 0x1C, 0x30, 0x30, 0xE0, 0x00, // Char 125 (}) + 0x76, 0xDC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Char 126 (~) + 0x00, 0x10, 0x38, 0x6C, 0xC6, 0xC6, 0xFE, 0x00, // Char 127 (.) + 0x78, 0xCC, 0xC0, 0xCC, 0x78, 0x18, 0x0C, 0x78, // Char 128 (.) + 0x00, 0xCC, 0x00, 0xCC, 0xCC, 0xCC, 0x7E, 0x00, // Char 129 (.) + 0x1C, 0x00, 0x78, 0xCC, 0xFC, 0xC0, 0x78, 0x00, // Char 130 (.) + 0x7E, 0xC3, 0x3C, 0x06, 0x3E, 0x66, 0x3F, 0x00, // Char 131 (.) + 0xCC, 0x00, 0x78, 0x0C, 0x7C, 0xCC, 0x7E, 0x00, // Char 132 (.) + 0xE0, 0x00, 0x78, 0x0C, 0x7C, 0xCC, 0x7E, 0x00, // Char 133 (.) + 0x30, 0x30, 0x78, 0x0C, 0x7C, 0xCC, 0x7E, 0x00, // Char 134 (.) + 0x00, 0x00, 0x78, 0xC0, 0xC0, 0x78, 0x0C, 0x38, // Char 135 (.) + 0x7E, 0xC3, 0x3C, 0x66, 0x7E, 0x60, 0x3C, 0x00, // Char 136 (.) + 0xCC, 0x00, 0x78, 0xCC, 0xFC, 0xC0, 0x78, 0x00, // Char 137 (.) + 0xE0, 0x00, 0x78, 0xCC, 0xFC, 0xC0, 0x78, 0x00, // Char 138 (.) + 0xCC, 0x00, 0x70, 0x30, 0x30, 0x30, 0x78, 0x00, // Char 139 (.) + 0x7C, 0xC6, 0x38, 0x18, 0x18, 0x18, 0x3C, 0x00, // Char 140 (.) + 0xE0, 0x00, 0x70, 0x30, 0x30, 0x30, 0x78, 0x00, // Char 141 (.) + 0xC6, 0x38, 0x6C, 0xC6, 0xFE, 0xC6, 0xC6, 0x00, // Char 142 (.) + 0x30, 0x30, 0x00, 0x78, 0xCC, 0xFC, 0xCC, 0x00, // Char 143 (.) + 0x1C, 0x00, 0xFC, 0x60, 0x78, 0x60, 0xFC, 0x00, // Char 144 (.) + 0x00, 0x00, 0x7F, 0x0C, 0x7F, 0xCC, 0x7F, 0x00, // Char 145 (.) + 0x3E, 0x6C, 0xCC, 0xFE, 0xCC, 0xCC, 0xCE, 0x00, // Char 146 (.) + 0x78, 0xCC, 0x00, 0x78, 0xCC, 0xCC, 0x78, 0x00, // Char 147 (.) + 0x00, 0xCC, 0x00, 0x78, 0xCC, 0xCC, 0x78, 0x00, // Char 148 (.) + 0x00, 0xE0, 0x00, 0x78, 0xCC, 0xCC, 0x78, 0x00, // Char 149 (.) + 0x78, 0xCC, 0x00, 0xCC, 0xCC, 0xCC, 0x7E, 0x00, // Char 150 (.) + 0x00, 0xE0, 0x00, 0xCC, 0xCC, 0xCC, 0x7E, 0x00, // Char 151 (.) + 0x00, 0xCC, 0x00, 0xCC, 0xCC, 0x7C, 0x0C, 0xF8, // Char 152 (.) + 0xC3, 0x18, 0x3C, 0x66, 0x66, 0x3C, 0x18, 0x00, // Char 153 (.) + 0xCC, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0x78, 0x00, // Char 154 (.) + 0x18, 0x18, 0x7E, 0xC0, 0xC0, 0x7E, 0x18, 0x18, // Char 155 (.) + 0x38, 0x6C, 0x64, 0xF0, 0x60, 0xE6, 0xFC, 0x00, // Char 156 (.) + 0xCC, 0xCC, 0x78, 0xFC, 0x30, 0xFC, 0x30, 0x30, // Char 157 (.) + 0xF8, 0xCC, 0xCC, 0xFA, 0xC6, 0xCF, 0xC6, 0xC7, // Char 158 (.) + 0x0E, 0x1B, 0x18, 0x3C, 0x18, 0x18, 0xD8, 0x70, // Char 159 (.) + 0x1C, 0x00, 0x78, 0x0C, 0x7C, 0xCC, 0x7E, 0x00, // Char 160 (.) + 0x38, 0x00, 0x70, 0x30, 0x30, 0x30, 0x78, 0x00, // Char 161 (.) + 0x00, 0x1C, 0x00, 0x78, 0xCC, 0xCC, 0x78, 0x00, // Char 162 (.) + 0x00, 0x1C, 0x00, 0xCC, 0xCC, 0xCC, 0x7E, 0x00, // Char 163 (.) + 0x00, 0xF8, 0x00, 0xF8, 0xCC, 0xCC, 0xCC, 0x00, // Char 164 (.) + 0xFC, 0x00, 0xCC, 0xEC, 0xFC, 0xDC, 0xCC, 0x00, // Char 165 (.) + 0x3C, 0x6C, 0x6C, 0x3E, 0x00, 0x7E, 0x00, 0x00, // Char 166 (.) + 0x38, 0x6C, 0x6C, 0x38, 0x00, 0x7C, 0x00, 0x00, // Char 167 (.) + 0x30, 0x00, 0x30, 0x60, 0xC0, 0xCC, 0x78, 0x00, // Char 168 (.) + 0x00, 0x00, 0x00, 0xFC, 0xC0, 0xC0, 0x00, 0x00, // Char 169 (.) + 0x00, 0x00, 0x00, 0xFC, 0x0C, 0x0C, 0x00, 0x00, // Char 170 (.) + 0xC3, 0xC6, 0xCC, 0xDE, 0x33, 0x66, 0xCC, 0x0F, // Char 171 (.) + 0xC3, 0xC6, 0xCC, 0xDB, 0x37, 0x6F, 0xCF, 0x03, // Char 172 (.) + 0x18, 0x18, 0x00, 0x18, 0x18, 0x18, 0x18, 0x00, // Char 173 (.) + 0x00, 0x33, 0x66, 0xCC, 0x66, 0x33, 0x00, 0x00, // Char 174 (.) + 0x00, 0xCC, 0x66, 0x33, 0x66, 0xCC, 0x00, 0x00, // Char 175 (.) + 0x22, 0x88, 0x22, 0x88, 0x22, 0x88, 0x22, 0x88, // Char 176 (.) + 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, // Char 177 (.) + 0xDB, 0x77, 0xDB, 0xEE, 0xDB, 0x77, 0xDB, 0xEE, // Char 178 (.) + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, // Char 179 (.) + 0x18, 0x18, 0x18, 0x18, 0xF8, 0x18, 0x18, 0x18, // Char 180 (.) + 0x18, 0x18, 0xF8, 0x18, 0xF8, 0x18, 0x18, 0x18, // Char 181 (.) + 0x36, 0x36, 0x36, 0x36, 0xF6, 0x36, 0x36, 0x36, // Char 182 (.) + 0x00, 0x00, 0x00, 0x00, 0xFE, 0x36, 0x36, 0x36, // Char 183 (.) + 0x00, 0x00, 0xF8, 0x18, 0xF8, 0x18, 0x18, 0x18, // Char 184 (.) + 0x36, 0x36, 0xF6, 0x06, 0xF6, 0x36, 0x36, 0x36, // Char 185 (.) + 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, // Char 186 (.) + 0x00, 0x00, 0xFE, 0x06, 0xF6, 0x36, 0x36, 0x36, // Char 187 (.) + 0x36, 0x36, 0xF6, 0x06, 0xFE, 0x00, 0x00, 0x00, // Char 188 (.) + 0x36, 0x36, 0x36, 0x36, 0xFE, 0x00, 0x00, 0x00, // Char 189 (.) + 0x18, 0x18, 0xF8, 0x18, 0xF8, 0x00, 0x00, 0x00, // Char 190 (.) + 0x00, 0x00, 0x00, 0x00, 0xF8, 0x18, 0x18, 0x18, // Char 191 (.) + 0x18, 0x18, 0x18, 0x18, 0x1F, 0x00, 0x00, 0x00, // Char 192 (.) + 0x18, 0x18, 0x18, 0x18, 0xFF, 0x00, 0x00, 0x00, // Char 193 (.) + 0x00, 0x00, 0x00, 0x00, 0xFF, 0x18, 0x18, 0x18, // Char 194 (.) + 0x18, 0x18, 0x18, 0x18, 0x1F, 0x18, 0x18, 0x18, // Char 195 (.) + 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, // Char 196 (.) + 0x18, 0x18, 0x18, 0x18, 0xFF, 0x18, 0x18, 0x18, // Char 197 (.) + 0x18, 0x18, 0x1F, 0x18, 0x1F, 0x18, 0x18, 0x18, // Char 198 (.) + 0x36, 0x36, 0x36, 0x36, 0x37, 0x36, 0x36, 0x36, // Char 199 (.) + 0x36, 0x36, 0x37, 0x30, 0x3F, 0x00, 0x00, 0x00, // Char 200 (.) + 0x00, 0x00, 0x3F, 0x30, 0x37, 0x36, 0x36, 0x36, // Char 201 (.) + 0x36, 0x36, 0xF7, 0x00, 0xFF, 0x00, 0x00, 0x00, // Char 202 (.) + 0x00, 0x00, 0xFF, 0x00, 0xF7, 0x36, 0x36, 0x36, // Char 203 (.) + 0x36, 0x36, 0x37, 0x30, 0x37, 0x36, 0x36, 0x36, // Char 204 (.) + 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, // Char 205 (.) + 0x36, 0x36, 0xF7, 0x00, 0xF7, 0x36, 0x36, 0x36, // Char 206 (.) + 0x18, 0x18, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, // Char 207 (.) + 0x36, 0x36, 0x36, 0x36, 0xFF, 0x00, 0x00, 0x00, // Char 208 (.) + 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x18, 0x18, 0x18, // Char 209 (.) + 0x00, 0x00, 0x00, 0x00, 0xFF, 0x36, 0x36, 0x36, // Char 210 (.) + 0x36, 0x36, 0x36, 0x36, 0x3F, 0x00, 0x00, 0x00, // Char 211 (.) + 0x18, 0x18, 0x1F, 0x18, 0x1F, 0x00, 0x00, 0x00, // Char 212 (.) + 0x00, 0x00, 0x1F, 0x18, 0x1F, 0x18, 0x18, 0x18, // Char 213 (.) + 0x00, 0x00, 0x00, 0x00, 0x3F, 0x36, 0x36, 0x36, // Char 214 (.) + 0x36, 0x36, 0x36, 0x36, 0xFF, 0x36, 0x36, 0x36, // Char 215 (.) + 0x18, 0x18, 0xFF, 0x18, 0xFF, 0x18, 0x18, 0x18, // Char 216 (.) + 0x18, 0x18, 0x18, 0x18, 0xF8, 0x00, 0x00, 0x00, // Char 217 (.) + 0x00, 0x00, 0x00, 0x00, 0x1F, 0x18, 0x18, 0x18, // Char 218 (.) + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // Char 219 (.) + 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, // Char 220 (.) + 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, // Char 221 (.) + 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, // Char 222 (.) + 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, // Char 223 (.) + 0x00, 0x00, 0x76, 0xDC, 0xC8, 0xDC, 0x76, 0x00, // Char 224 (.) + 0x00, 0x78, 0xCC, 0xF8, 0xCC, 0xF8, 0xC0, 0xC0, // Char 225 (.) + 0x00, 0xFC, 0xCC, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, // Char 226 (.) + 0x00, 0xFE, 0x6C, 0x6C, 0x6C, 0x6C, 0x6C, 0x00, // Char 227 (.) + 0xFC, 0xCC, 0x60, 0x30, 0x60, 0xCC, 0xFC, 0x00, // Char 228 (.) + 0x00, 0x00, 0x7E, 0xD8, 0xD8, 0xD8, 0x70, 0x00, // Char 229 (.) + 0x00, 0x66, 0x66, 0x66, 0x66, 0x7C, 0x60, 0xC0, // Char 230 (.) + 0x00, 0x76, 0xDC, 0x18, 0x18, 0x18, 0x18, 0x00, // Char 231 (.) + 0xFC, 0x30, 0x78, 0xCC, 0xCC, 0x78, 0x30, 0xFC, // Char 232 (.) + 0x38, 0x6C, 0xC6, 0xFE, 0xC6, 0x6C, 0x38, 0x00, // Char 233 (.) + 0x38, 0x6C, 0xC6, 0xC6, 0x6C, 0x6C, 0xEE, 0x00, // Char 234 (.) + 0x1C, 0x30, 0x18, 0x7C, 0xCC, 0xCC, 0x78, 0x00, // Char 235 (.) + 0x00, 0x00, 0x7E, 0xDB, 0xDB, 0x7E, 0x00, 0x00, // Char 236 (.) + 0x06, 0x0C, 0x7E, 0xDB, 0xDB, 0x7E, 0x60, 0xC0, // Char 237 (.) + 0x38, 0x60, 0xC0, 0xF8, 0xC0, 0x60, 0x38, 0x00, // Char 238 (.) + 0x78, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x00, // Char 239 (.) + 0x00, 0xFC, 0x00, 0xFC, 0x00, 0xFC, 0x00, 0x00, // Char 240 (.) + 0x30, 0x30, 0xFC, 0x30, 0x30, 0x00, 0xFC, 0x00, // Char 241 (.) + 0x60, 0x30, 0x18, 0x30, 0x60, 0x00, 0xFC, 0x00, // Char 242 (.) + 0x18, 0x30, 0x60, 0x30, 0x18, 0x00, 0xFC, 0x00, // Char 243 (.) + 0x0E, 0x1B, 0x1B, 0x18, 0x18, 0x18, 0x18, 0x18, // Char 244 (.) + 0x18, 0x18, 0x18, 0x18, 0x18, 0xD8, 0xD8, 0x70, // Char 245 (.) + 0x30, 0x30, 0x00, 0xFC, 0x00, 0x30, 0x30, 0x00, // Char 246 (.) + 0x00, 0x76, 0xDC, 0x00, 0x76, 0xDC, 0x00, 0x00, // Char 247 (.) + 0x38, 0x6C, 0x6C, 0x38, 0x00, 0x00, 0x00, 0x00, // Char 248 (.) + 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, // Char 249 (.) + 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, // Char 250 (.) + 0x0F, 0x0C, 0x0C, 0x0C, 0xEC, 0x6C, 0x3C, 0x1C, // Char 251 (.) + 0x78, 0x6C, 0x6C, 0x6C, 0x6C, 0x00, 0x00, 0x00, // Char 252 (.) + 0x70, 0x18, 0x30, 0x60, 0x78, 0x00, 0x00, 0x00, // Char 253 (.) + 0x00, 0x00, 0x3C, 0x3C, 0x3C, 0x3C, 0x00, 0x00, // Char 254 (.) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // Char 255 (.) + }, + + /* NSDL_FONT_FANTASY */ + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Char 000 (.) + 0x7E, 0x81, 0xA5, 0x81, 0xBD, 0x99, 0x81, 0x7E, // Char 001 (.) + 0x3C, 0x7E, 0xDB, 0xFF, 0xC3, 0x7E, 0x3C, 0x00, // Char 002 (.) + 0x00, 0x6C, 0xFE, 0xFE, 0x7C, 0x38, 0x10, 0x00, // Char 003 (.) + 0x10, 0x38, 0x7C, 0xFE, 0x7C, 0x38, 0x10, 0x00, // Char 004 (.) + 0x00, 0x3C, 0x18, 0x7E, 0x7E, 0x08, 0x18, 0x00, // Char 005 (.) + 0x10, 0x38, 0x7C, 0xFE, 0xFE, 0x10, 0x38, 0x00, // Char 006 (.) + 0x00, 0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, 0x00, // Char 007 (.) + 0xFF, 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0xFF, 0xFF, // Char 008 (.) + 0x00, 0x3C, 0x42, 0x81, 0x81, 0x42, 0x3C, 0x00, // Char 009 (.) + 0xFF, 0xC3, 0xBD, 0x7E, 0x7E, 0xBD, 0xC3, 0xFF, // Char 010 (.) + 0x1F, 0x07, 0x0D, 0x7C, 0xC6, 0xC6, 0x7C, 0x00, // Char 011 (.) + 0x00, 0x7E, 0xC3, 0xC3, 0x7E, 0x18, 0x7E, 0x18, // Char 012 (.) + 0x04, 0x06, 0x07, 0x04, 0x04, 0xFC, 0xF8, 0x00, // Char 013 (.) + 0x0C, 0x0A, 0x0D, 0x0B, 0xF9, 0xF9, 0x1F, 0x1F, // Char 014 (.) + 0x00, 0x92, 0x7C, 0x44, 0xC6, 0x7C, 0x92, 0x00, // Char 015 (.) + 0x00, 0x00, 0x04, 0x02, 0xFF, 0x02, 0x04, 0x00, // Char 016 (.) + 0x00, 0x00, 0x20, 0x40, 0xFF, 0x40, 0x20, 0x00, // Char 017 (.) + 0x18, 0x7E, 0x18, 0x18, 0x18, 0x18, 0x7E, 0x18, // Char 018 (.) + 0x66, 0x66, 0x66, 0x66, 0x66, 0x00, 0x66, 0x00, // Char 019 (.) + 0xFF, 0xB6, 0x76, 0x36, 0x36, 0x36, 0x36, 0x00, // Char 020 (.) + 0x7E, 0xC1, 0xDC, 0x22, 0x22, 0x1F, 0x83, 0x7E, // Char 021 (.) + 0x00, 0x00, 0x00, 0x7E, 0x7E, 0x00, 0x00, 0x00, // Char 022 (.) + 0x18, 0x7E, 0x18, 0x18, 0x7E, 0x18, 0x00, 0xFF, // Char 023 (.) + 0x18, 0x3C, 0x7E, 0x18, 0x18, 0x18, 0x18, 0x00, // Char 024 (.) + 0x18, 0x18, 0x18, 0x18, 0x7E, 0x3C, 0x18, 0x00, // Char 025 (.) + 0x00, 0x04, 0x06, 0xFF, 0x06, 0x04, 0x00, 0x00, // Char 026 (.) + 0x00, 0x20, 0x60, 0xFF, 0x60, 0x20, 0x00, 0x00, // Char 027 (.) + 0x00, 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0xFF, 0x00, // Char 028 (.) + 0x00, 0x24, 0x66, 0xFF, 0x66, 0x24, 0x00, 0x00, // Char 029 (.) + 0x00, 0x00, 0x10, 0x38, 0x7C, 0xFE, 0x00, 0x00, // Char 030 (.) + 0x00, 0x00, 0x00, 0xFE, 0x7C, 0x38, 0x10, 0x00, // Char 031 (.) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Char 032 ( ) + 0x10, 0x38, 0x38, 0x38, 0x10, 0x00, 0x10, 0x00, // Char 033 (!) + 0x66, 0x33, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, // Char 034 (") + 0x66, 0x66, 0xFF, 0x66, 0x66, 0xFF, 0x66, 0x66, // Char 035 (#) + 0x14, 0x7E, 0xD4, 0x7E, 0x95, 0x7E, 0x14, 0x00, // Char 036 ($) + 0x60, 0x94, 0x68, 0x10, 0x2C, 0x52, 0x8C, 0x00, // Char 037 (%) + 0x30, 0x48, 0x30, 0x48, 0x8E, 0x8C, 0x78, 0x00, // Char 038 (&) + 0x0C, 0x0C, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, // Char 039 (') + 0x01, 0x02, 0x04, 0x04, 0x04, 0x04, 0x02, 0x01, // Char 040 (() + 0x80, 0x40, 0x20, 0x20, 0x20, 0x20, 0x40, 0x80, // Char 041 ()) + 0x00, 0x54, 0x38, 0xFE, 0x38, 0x54, 0x00, 0x00, // Char 042 (*) + 0x00, 0x18, 0x18, 0x7E, 0x18, 0x18, 0x00, 0x00, // Char 043 (+) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x60, // Char 044 (,) + 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x00, // Char 045 (-) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, // Char 046 (.) + 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, // Char 047 (/) + 0x7C, 0x86, 0x8A, 0x92, 0xA2, 0xC2, 0x7C, 0x00, // Char 048 (0) + 0x10, 0x30, 0x70, 0x10, 0x10, 0x10, 0x7C, 0x00, // Char 049 (1) + 0x78, 0x84, 0x08, 0x30, 0x40, 0x80, 0xFC, 0x00, // Char 050 (2) + 0x78, 0x84, 0x04, 0x38, 0x04, 0x84, 0x78, 0x00, // Char 051 (3) + 0x80, 0x44, 0x48, 0x48, 0xFC, 0x08, 0x08, 0x00, // Char 052 (4) + 0xFE, 0x80, 0x80, 0x7C, 0x02, 0x82, 0x7C, 0x00, // Char 053 (5) + 0x7A, 0x84, 0x80, 0xBC, 0xC2, 0x82, 0x7C, 0x00, // Char 054 (6) + 0xFE, 0x84, 0x08, 0x10, 0x38, 0x10, 0x10, 0x00, // Char 055 (7) + 0x7C, 0x82, 0x7C, 0x82, 0x82, 0x82, 0x7C, 0x00, // Char 056 (8) + 0x7C, 0x82, 0x86, 0x7A, 0x02, 0x82, 0x7C, 0x00, // Char 057 (9) + 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, // Char 058 (:) + 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, 0x20, 0x00, // Char 059 (;) + 0x08, 0x10, 0x20, 0x40, 0x20, 0x10, 0x08, 0x00, // Char 060 (<) + 0x00, 0x00, 0x7E, 0x00, 0x7E, 0x00, 0x00, 0x00, // Char 061 (=) + 0x20, 0x10, 0x08, 0x04, 0x08, 0x10, 0x20, 0x00, // Char 062 (>) + 0x7C, 0x82, 0x04, 0x08, 0x10, 0x00, 0x10, 0x00, // Char 063 (?) + 0x7C, 0x82, 0x9A, 0xAA, 0xAA, 0x9E, 0x7C, 0x00, // Char 064 (@) + 0xF8, 0x44, 0x42, 0xFE, 0x42, 0x42, 0xC6, 0x00, // Char 065 (A) + 0xFC, 0x42, 0x42, 0xFC, 0x42, 0x42, 0xFC, 0x00, // Char 066 (B) + 0x7A, 0x84, 0x80, 0x80, 0x80, 0x82, 0x7C, 0x00, // Char 067 (C) + 0xFC, 0x42, 0x42, 0x42, 0x42, 0x42, 0xFC, 0x00, // Char 068 (D) + 0xFE, 0x42, 0x40, 0x70, 0xC0, 0x42, 0xFE, 0x00, // Char 069 (E) + 0xFE, 0x42, 0x40, 0x70, 0xC0, 0x40, 0xE0, 0x00, // Char 070 (F) + 0x7A, 0x84, 0x80, 0x80, 0x9C, 0x82, 0x7E, 0x02, // Char 071 (G) + 0x82, 0x44, 0x44, 0x5E, 0xF4, 0x44, 0x82, 0x00, // Char 072 (H) + 0x10, 0x08, 0x08, 0x08, 0x08, 0x08, 0x04, 0x00, // Char 073 (I) + 0x7E, 0x08, 0x04, 0x04, 0x04, 0x84, 0x78, 0x00, // Char 074 (J) + 0xCC, 0x44, 0x48, 0xF0, 0x48, 0x44, 0xC6, 0x00, // Char 075 (K) + 0xC0, 0x40, 0x40, 0x40, 0x40, 0x42, 0xFE, 0x00, // Char 076 (L) + 0xC6, 0x6A, 0x5A, 0x4A, 0x4A, 0x42, 0xC6, 0x00, // Char 077 (M) + 0xCC, 0x64, 0x54, 0x54, 0x54, 0x54, 0xCC, 0x00, // Char 078 (N) + 0x78, 0x84, 0x84, 0x84, 0x84, 0x84, 0x78, 0x00, // Char 079 (O) + 0xF8, 0x44, 0x44, 0xF8, 0x40, 0x40, 0xE0, 0x00, // Char 080 (P) + 0x78, 0x84, 0x84, 0x84, 0x84, 0x8C, 0x7D, 0x02, // Char 081 (Q) + 0xFC, 0x42, 0x42, 0xFC, 0x42, 0x42, 0xC6, 0x00, // Char 082 (R) + 0x74, 0x88, 0x80, 0x78, 0x04, 0x84, 0x78, 0x00, // Char 083 (S) + 0x7C, 0x54, 0x10, 0x10, 0x10, 0x10, 0x30, 0x00, // Char 084 (T) + 0xC6, 0x44, 0x44, 0x82, 0x82, 0x82, 0x7C, 0x00, // Char 085 (U) + 0xCC, 0x44, 0x44, 0x44, 0x44, 0x28, 0x10, 0x00, // Char 086 (V) + 0xC6, 0x42, 0x42, 0x4A, 0x5A, 0x6A, 0xCC, 0x00, // Char 087 (W) + 0x82, 0x44, 0x28, 0x10, 0x28, 0x44, 0x82, 0x00, // Char 088 (X) + 0xCC, 0x44, 0x44, 0x38, 0x10, 0x10, 0x30, 0x00, // Char 089 (Y) + 0xFE, 0x84, 0x08, 0x10, 0x20, 0x42, 0xFE, 0x00, // Char 090 (Z) + 0x1C, 0x10, 0x10, 0x10, 0x10, 0x10, 0x1C, 0x00, // Char 091 ([) + 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01, // Char 092 (\) + 0x38, 0x08, 0x08, 0x08, 0x08, 0x08, 0x38, 0x00, // Char 093 (]) + 0x00, 0x00, 0x10, 0x38, 0x6C, 0xC6, 0x00, 0x00, // Char 094 (^) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, // Char 095 (_) + 0x30, 0x30, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, // Char 096 (`) + 0x00, 0x00, 0x7A, 0x04, 0x7C, 0x84, 0x7A, 0x00, // Char 097 (a) + 0x80, 0x40, 0x40, 0x5C, 0x62, 0x42, 0xBC, 0x00, // Char 098 (b) + 0x00, 0x00, 0x7A, 0x84, 0x80, 0x82, 0x7C, 0x00, // Char 099 (c) + 0x02, 0x04, 0x74, 0x8C, 0x84, 0x84, 0x7A, 0x00, // Char 100 (d) + 0x00, 0x00, 0xBC, 0x42, 0x7C, 0x40, 0x3E, 0x00, // Char 101 (e) + 0x34, 0x48, 0x40, 0xE0, 0x40, 0x40, 0x80, 0x00, // Char 102 (f) + 0x00, 0x00, 0x7A, 0x84, 0x8C, 0x74, 0x04, 0x78, // Char 103 (g) + 0x80, 0x40, 0x78, 0x44, 0x44, 0x44, 0x88, 0x00, // Char 104 (h) + 0x10, 0x00, 0x10, 0x08, 0x08, 0x08, 0x04, 0x00, // Char 105 (i) + 0x00, 0x10, 0x00, 0x10, 0x08, 0x08, 0x88, 0x70, // Char 106 (j) + 0xC0, 0x40, 0x48, 0x50, 0xE0, 0x50, 0xC8, 0x00, // Char 107 (k) + 0x30, 0x10, 0x10, 0x10, 0x10, 0x10, 0x38, 0x00, // Char 108 (l) + 0x00, 0x00, 0xAC, 0x54, 0x54, 0x44, 0xCC, 0x00, // Char 109 (m) + 0x00, 0x00, 0xB8, 0x44, 0x44, 0x44, 0xCC, 0x00, // Char 110 (n) + 0x00, 0x00, 0x78, 0x84, 0x84, 0x84, 0x78, 0x00, // Char 111 (o) + 0x00, 0x00, 0xB8, 0x44, 0x44, 0x78, 0x40, 0x80, // Char 112 (p) + 0x00, 0x00, 0x74, 0x88, 0x88, 0x78, 0x04, 0x02, // Char 113 (q) + 0x00, 0x00, 0xB0, 0x48, 0x40, 0x40, 0x40, 0x00, // Char 114 (r) + 0x00, 0x00, 0x78, 0x80, 0x70, 0x08, 0xF0, 0x00, // Char 115 (s) + 0x00, 0x20, 0x10, 0x7C, 0x10, 0x10, 0x08, 0x00, // Char 116 (t) + 0x00, 0x00, 0x90, 0x48, 0x84, 0x84, 0x78, 0x00, // Char 117 (u) + 0x00, 0x00, 0x82, 0x44, 0x44, 0x28, 0x10, 0x00, // Char 118 (v) + 0x00, 0x00, 0x84, 0x42, 0x52, 0x6A, 0x46, 0x00, // Char 119 (w) + 0x00, 0x00, 0x88, 0x50, 0x20, 0x50, 0x88, 0x00, // Char 120 (x) + 0x00, 0x00, 0x82, 0x44, 0x44, 0x3C, 0x04, 0x78, // Char 121 (y) + 0x00, 0x00, 0x7C, 0x88, 0x30, 0x44, 0xF8, 0x00, // Char 122 (z) + 0x0E, 0x10, 0x10, 0x60, 0x10, 0x10, 0x0E, 0x00, // Char 123 ({) + 0x18, 0x18, 0x18, 0x00, 0x18, 0x18, 0x18, 0x00, // Char 124 (|) + 0xE0, 0x10, 0x10, 0x0C, 0x10, 0x10, 0xE0, 0x00, // Char 125 (}) + 0x00, 0x00, 0x70, 0x9A, 0x0C, 0x00, 0x00, 0x00, // Char 126 (~) + 0x00, 0x00, 0x18, 0x3C, 0x66, 0xFF, 0x00, 0x00, // Char 127 (.) + 0x7A, 0x84, 0x80, 0x80, 0x80, 0x82, 0x7C, 0x18, // Char 128 (.) + 0x66, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0x7E, 0x00, // Char 129 (.) + 0x0E, 0x18, 0x7C, 0xC6, 0xFE, 0xC0, 0x7C, 0x00, // Char 130 (.) + 0x18, 0x24, 0x7C, 0x06, 0x7E, 0xC6, 0x7E, 0x00, // Char 131 (.) + 0x66, 0x00, 0x7C, 0x06, 0x7E, 0xC6, 0x7E, 0x00, // Char 132 (.) + 0x38, 0x0C, 0x7C, 0x06, 0x7E, 0xC6, 0x7E, 0x00, // Char 133 (.) + 0x18, 0x00, 0x7C, 0x06, 0x7E, 0xC6, 0x7E, 0x00, // Char 134 (.) + 0x00, 0x00, 0x7C, 0xC0, 0xC0, 0x7C, 0x18, 0x70, // Char 135 (.) + 0x18, 0x24, 0x7C, 0xC6, 0xFE, 0xC0, 0x7C, 0x00, // Char 136 (.) + 0x66, 0x00, 0x7C, 0xC6, 0xFE, 0xC0, 0x7C, 0x00, // Char 137 (.) + 0x70, 0x18, 0x7C, 0xC6, 0xFE, 0xC0, 0x7C, 0x00, // Char 138 (.) + 0x66, 0x00, 0x38, 0x18, 0x18, 0x18, 0x3C, 0x00, // Char 139 (.) + 0x18, 0x24, 0x38, 0x18, 0x18, 0x18, 0x3C, 0x00, // Char 140 (.) + 0x38, 0x0C, 0x38, 0x18, 0x18, 0x18, 0x3C, 0x00, // Char 141 (.) + 0x66, 0x00, 0x7C, 0xC6, 0xFE, 0xC6, 0xC6, 0x00, // Char 142 (.) + 0x18, 0x00, 0x7C, 0xC6, 0xFE, 0xC6, 0xC6, 0x00, // Char 143 (.) + 0x0E, 0x18, 0xFE, 0x60, 0x78, 0x60, 0xFE, 0x00, // Char 144 (.) + 0x00, 0x00, 0x7C, 0x1A, 0x7E, 0xD8, 0x7E, 0x00, // Char 145 (.) + 0x7E, 0xD8, 0xD8, 0xDE, 0xF8, 0xD8, 0xDE, 0x00, // Char 146 (.) + 0x18, 0x24, 0x7C, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, // Char 147 (.) + 0x66, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, // Char 148 (.) + 0x38, 0x0C, 0x7C, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, // Char 149 (.) + 0x18, 0x24, 0xC6, 0xC6, 0xC6, 0xC6, 0x7E, 0x00, // Char 150 (.) + 0x38, 0x0C, 0xC6, 0xC6, 0xC6, 0xC6, 0x7E, 0x00, // Char 151 (.) + 0x66, 0x00, 0xC6, 0xC6, 0xC6, 0x7E, 0x06, 0x7C, // Char 152 (.) + 0x66, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, // Char 153 (.) + 0xC6, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, // Char 154 (.) + 0x18, 0x7C, 0xC6, 0xC0, 0xC6, 0x7C, 0x18, 0x00, // Char 155 (.) + 0x1E, 0x32, 0x30, 0x78, 0x30, 0x70, 0xFE, 0x00, // Char 156 (.) + 0x66, 0x3C, 0x18, 0x7E, 0x18, 0x3C, 0x18, 0x00, // Char 157 (.) + 0xFC, 0xC6, 0xFC, 0xC0, 0xCC, 0xDE, 0xCC, 0x0E, // Char 158 (.) + 0x00, 0x1C, 0x32, 0x30, 0xFC, 0x30, 0xF0, 0x00, // Char 159 (.) + 0x0E, 0x18, 0x7C, 0x06, 0x7E, 0xC6, 0x7E, 0x00, // Char 160 (.) + 0x1A, 0x30, 0x38, 0x18, 0x18, 0x18, 0x3C, 0x00, // Char 161 (.) + 0x0E, 0x18, 0x7C, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, // Char 162 (.) + 0x0E, 0x18, 0xC6, 0xC6, 0xC6, 0xC6, 0x7E, 0x00, // Char 163 (.) + 0x66, 0x98, 0xFC, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, // Char 164 (.) + 0x66, 0x98, 0xE6, 0xF6, 0xDE, 0xCE, 0xC6, 0x00, // Char 165 (.) + 0x7C, 0x06, 0x7E, 0xC6, 0x7E, 0x00, 0xFE, 0x00, // Char 166 (.) + 0x7C, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0xFE, 0x00, // Char 167 (.) + 0x18, 0x00, 0x18, 0x30, 0x60, 0xC6, 0x7C, 0x00, // Char 168 (.) + 0x00, 0x00, 0xFE, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, // Char 169 (.) + 0x00, 0x00, 0xFE, 0x06, 0x06, 0x06, 0x06, 0x00, // Char 170 (.) + 0x80, 0x88, 0x90, 0xA0, 0x5C, 0x82, 0x08, 0x1E, // Char 171 (.) + 0x80, 0x88, 0x90, 0xA0, 0x50, 0x94, 0x1E, 0x04, // Char 172 (.) + 0x30, 0x00, 0x30, 0x30, 0x30, 0x30, 0x30, 0x00, // Char 173 (.) + 0x00, 0x12, 0x24, 0x48, 0x24, 0x12, 0x00, 0x00, // Char 174 (.) + 0x00, 0x90, 0x48, 0x24, 0x48, 0x90, 0x00, 0x00, // Char 175 (.) + 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, // Char 176 (.) + 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, // Char 177 (.) + 0x44, 0x22, 0x44, 0x22, 0x44, 0x22, 0x44, 0x22, // Char 178 (.) + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, // Char 179 (.) + 0x18, 0x18, 0x18, 0xF0, 0x18, 0x18, 0x18, 0x18, // Char 180 (.) + 0x18, 0x18, 0x18, 0xF0, 0x18, 0xF0, 0x18, 0x18, // Char 181 (.) + 0x36, 0x36, 0x36, 0xE6, 0x36, 0x36, 0x36, 0x36, // Char 182 (.) + 0x00, 0x00, 0x00, 0xFC, 0x36, 0x36, 0x36, 0x36, // Char 183 (.) + 0x00, 0x00, 0x00, 0xF0, 0x18, 0xF8, 0x18, 0x18, // Char 184 (.) + 0x36, 0x36, 0x36, 0xE6, 0x06, 0xE6, 0x36, 0x36, // Char 185 (.) + 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, // Char 186 (.) + 0x00, 0x00, 0x00, 0xFC, 0x06, 0xE6, 0x36, 0x36, // Char 187 (.) + 0x36, 0x36, 0x36, 0xE6, 0x06, 0xFC, 0x00, 0x00, // Char 188 (.) + 0x36, 0x36, 0x36, 0xFC, 0x00, 0x00, 0x00, 0x00, // Char 189 (.) + 0x18, 0x18, 0x18, 0xF8, 0x18, 0xF0, 0x00, 0x00, // Char 190 (.) + 0x00, 0x00, 0x00, 0xF0, 0x18, 0x18, 0x18, 0x18, // Char 191 (.) + 0x18, 0x18, 0x18, 0x0F, 0x00, 0x00, 0x00, 0x00, // Char 192 (.) + 0x18, 0x18, 0x18, 0xE7, 0x00, 0x00, 0x00, 0x00, // Char 193 (.) + 0x00, 0x00, 0x00, 0xE7, 0x18, 0x18, 0x18, 0x18, // Char 194 (.) + 0x18, 0x18, 0x18, 0x0F, 0x18, 0x18, 0x18, 0x18, // Char 195 (.) + 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, // Char 196 (.) + 0x18, 0x18, 0x18, 0xE7, 0x18, 0x18, 0x18, 0x18, // Char 197 (.) + 0x18, 0x18, 0x18, 0x0F, 0x18, 0x0F, 0x18, 0x18, // Char 198 (.) + 0x36, 0x36, 0x36, 0x33, 0x36, 0x36, 0x36, 0x36, // Char 199 (.) + 0x36, 0x36, 0x36, 0x33, 0x30, 0x1F, 0x00, 0x00, // Char 200 (.) + 0x00, 0x00, 0x00, 0x1F, 0x30, 0x33, 0x36, 0x36, // Char 201 (.) + 0x36, 0x36, 0x36, 0xE3, 0x00, 0xFF, 0x00, 0x00, // Char 202 (.) + 0x00, 0x00, 0x00, 0xFF, 0x00, 0xE3, 0x36, 0x36, // Char 203 (.) + 0x36, 0x36, 0x36, 0x33, 0x30, 0x33, 0x36, 0x36, // Char 204 (.) + 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, // Char 205 (.) + 0x36, 0x36, 0x36, 0xE3, 0x00, 0xE3, 0x36, 0x36, // Char 206 (.) + 0x18, 0x18, 0x18, 0xE7, 0x00, 0xFF, 0x00, 0x00, // Char 207 (.) + 0x36, 0x36, 0x36, 0xC9, 0x00, 0x00, 0x00, 0x00, // Char 208 (.) + 0x00, 0x00, 0x00, 0xFF, 0x00, 0xE7, 0x18, 0x18, // Char 209 (.) + 0x00, 0x00, 0x00, 0xC9, 0x36, 0x36, 0x36, 0x36, // Char 210 (.) + 0x36, 0x36, 0x36, 0x1F, 0x00, 0x00, 0x00, 0x00, // Char 211 (.) + 0x18, 0x18, 0x18, 0x1F, 0x18, 0x0F, 0x00, 0x00, // Char 212 (.) + 0x00, 0x00, 0x00, 0x0F, 0x18, 0x1F, 0x18, 0x18, // Char 213 (.) + 0x00, 0x00, 0x00, 0x1F, 0x36, 0x36, 0x36, 0x36, // Char 214 (.) + 0x36, 0x36, 0x36, 0xC9, 0x36, 0x36, 0x36, 0x36, // Char 215 (.) + 0x18, 0x18, 0x18, 0xE7, 0x18, 0xE7, 0x18, 0x18, // Char 216 (.) + 0x18, 0x18, 0x18, 0xF0, 0x00, 0x00, 0x00, 0x00, // Char 217 (.) + 0x00, 0x00, 0x00, 0x0F, 0x18, 0x18, 0x18, 0x18, // Char 218 (.) + 0x7E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // Char 219 (.) + 0x00, 0x00, 0x00, 0x00, 0x7E, 0xFF, 0xFF, 0x7E, // Char 220 (.) + 0x60, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0x60, // Char 221 (.) + 0x06, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x06, // Char 222 (.) + 0x7E, 0xFF, 0xFF, 0x7E, 0x00, 0x00, 0x00, 0x00, // Char 223 (.) + 0x00, 0x00, 0x77, 0x98, 0x98, 0x77, 0x00, 0x00, // Char 224 (.) + 0x1C, 0x36, 0x66, 0xFC, 0xC6, 0xC6, 0xFC, 0xC0, // Char 225 (.) + 0xFE, 0x62, 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, // Char 226 (.) + 0x00, 0x00, 0xFF, 0x66, 0x66, 0x66, 0x66, 0x00, // Char 227 (.) + 0xFE, 0x62, 0x30, 0x18, 0x30, 0x62, 0xFE, 0x00, // Char 228 (.) + 0x00, 0x00, 0x3F, 0x66, 0xC6, 0xCC, 0x78, 0x00, // Char 229 (.) + 0x00, 0x00, 0x33, 0x33, 0x33, 0x3E, 0x30, 0xF0, // Char 230 (.) + 0x00, 0x00, 0xFF, 0x18, 0x18, 0x18, 0x18, 0x00, // Char 231 (.) + 0x3C, 0x18, 0x3C, 0x66, 0x66, 0x3C, 0x18, 0x3C, // Char 232 (.) + 0x00, 0x7C, 0xC6, 0xFE, 0xC6, 0x7C, 0x00, 0x00, // Char 233 (.) + 0x00, 0x7E, 0xC3, 0xC3, 0xC3, 0x66, 0xE7, 0x00, // Char 234 (.) + 0x1E, 0x19, 0x3C, 0x66, 0xC6, 0xCC, 0x78, 0x00, // Char 235 (.) + 0x00, 0x00, 0x66, 0x99, 0x99, 0x66, 0x00, 0x00, // Char 236 (.) + 0x00, 0x03, 0x7C, 0xCE, 0xE6, 0x7C, 0xC0, 0x00, // Char 237 (.) + 0x00, 0x3E, 0xC0, 0xFE, 0xC0, 0x3E, 0x00, 0x00, // Char 238 (.) + 0x00, 0x7E, 0xC3, 0xC3, 0xC3, 0xC3, 0x00, 0x00, // Char 239 (.) + 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, // Char 240 (.) + 0x18, 0x18, 0x7E, 0x18, 0x18, 0x00, 0x7E, 0x00, // Char 241 (.) + 0x20, 0x10, 0x08, 0x10, 0x20, 0x00, 0xFE, 0x00, // Char 242 (.) + 0x08, 0x10, 0x20, 0x10, 0x08, 0x00, 0xFE, 0x00, // Char 243 (.) + 0x00, 0x0E, 0x1B, 0x18, 0x18, 0x18, 0x18, 0x18, // Char 244 (.) + 0x18, 0x18, 0x18, 0x18, 0x18, 0xD8, 0x70, 0x00, // Char 245 (.) + 0x00, 0x18, 0x00, 0x7E, 0x00, 0x18, 0x00, 0x00, // Char 246 (.) + 0x00, 0x76, 0xDC, 0x00, 0x76, 0xDC, 0x00, 0x00, // Char 247 (.) + 0x3C, 0x66, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, // Char 248 (.) + 0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, 0x00, 0x00, // Char 249 (.) + 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, // Char 250 (.) + 0x0F, 0x0C, 0x0C, 0x0C, 0xEC, 0x6C, 0x38, 0x00, // Char 251 (.) + 0xD8, 0xEC, 0xCC, 0xCC, 0x00, 0x00, 0x00, 0x00, // Char 252 (.) + 0xF0, 0x30, 0xC0, 0xF0, 0x00, 0x00, 0x00, 0x00, // Char 253 (.) + 0x00, 0x00, 0x00, 0x3C, 0x3C, 0x3C, 0x3C, 0x00, // Char 254 (.) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // Char 255 (.) + }, + + /* NSDL_FONT_TINYTYPE */ + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Char 000 (.) + 0x7E, 0x81, 0xA5, 0x81, 0xA5, 0x99, 0x81, 0x7E, // Char 001 (.) + 0x3C, 0x7E, 0xDB, 0xFF, 0xC3, 0x7E, 0x3C, 0x00, // Char 002 (.) + 0x00, 0x6C, 0xFE, 0xFE, 0x7C, 0x38, 0x10, 0x00, // Char 003 (.) + 0x10, 0x38, 0x7C, 0xFE, 0x7C, 0x38, 0x10, 0x00, // Char 004 (.) + 0x00, 0x3C, 0x18, 0xFF, 0xFF, 0x08, 0x18, 0x00, // Char 005 (.) + 0x10, 0x38, 0x7C, 0xFE, 0xFE, 0x10, 0x38, 0x00, // Char 006 (.) + 0x00, 0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, 0x00, // Char 007 (.) + 0xFF, 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0xFF, 0xFF, // Char 008 (.) + 0x00, 0x3C, 0x42, 0x81, 0x81, 0x42, 0x3C, 0x00, // Char 009 (.) + 0xFF, 0xC3, 0xBD, 0x7E, 0x7E, 0xBD, 0xC3, 0xFF, // Char 010 (.) + 0x1F, 0x07, 0x0D, 0x7C, 0xC6, 0xC6, 0x7C, 0x00, // Char 011 (.) + 0x00, 0x7E, 0xC3, 0xC3, 0x7E, 0x18, 0x7E, 0x18, // Char 012 (.) + 0x04, 0x06, 0x07, 0x04, 0x04, 0xFC, 0xF8, 0x00, // Char 013 (.) + 0x0C, 0x0A, 0x0D, 0x0B, 0xF9, 0xF9, 0x1F, 0x1F, // Char 014 (.) + 0x00, 0x92, 0x7C, 0x6C, 0xC6, 0x6C, 0x7C, 0x92, // Char 015 (.) + 0x00, 0x00, 0x60, 0x78, 0x7E, 0x78, 0x60, 0x00, // Char 016 (.) + 0x00, 0x00, 0x06, 0x1E, 0x7E, 0x1E, 0x06, 0x00, // Char 017 (.) + 0x18, 0x7E, 0x18, 0x18, 0x18, 0x18, 0x7E, 0x18, // Char 018 (.) + 0x24, 0x24, 0x24, 0x24, 0x24, 0x00, 0x24, 0x00, // Char 019 (.) + 0xFF, 0xB6, 0x76, 0x36, 0x36, 0x36, 0x36, 0x00, // Char 020 (.) + 0x7E, 0xC1, 0xDC, 0x22, 0x22, 0x1F, 0x83, 0x7E, // Char 021 (.) + 0x00, 0x00, 0x00, 0x7E, 0x7E, 0x00, 0x00, 0x00, // Char 022 (.) + 0x18, 0x7E, 0x18, 0x18, 0x7E, 0x18, 0x00, 0xFF, // Char 023 (.) + 0x08, 0x1C, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, // Char 024 (.) + 0x08, 0x08, 0x08, 0x08, 0x08, 0x1C, 0x08, 0x00, // Char 025 (.) + 0x00, 0x00, 0x02, 0xFF, 0x02, 0x00, 0x00, 0x00, // Char 026 (.) + 0x00, 0x00, 0x40, 0xFF, 0x40, 0x00, 0x00, 0x00, // Char 027 (.) + 0x00, 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0xFF, 0x00, // Char 028 (.) + 0x00, 0x24, 0x66, 0xFF, 0x66, 0x24, 0x00, 0x00, // Char 029 (.) + 0x00, 0x00, 0x10, 0x38, 0x7C, 0xFE, 0x00, 0x00, // Char 030 (.) + 0x00, 0x00, 0x00, 0xFE, 0x7C, 0x38, 0x10, 0x00, // Char 031 (.) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Char 032 ( ) + 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x10, 0x00, // Char 033 (!) + 0x44, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Char 034 (") + 0x28, 0x28, 0xFE, 0x28, 0xFE, 0x28, 0x28, 0x00, // Char 035 (#) + 0x28, 0x7C, 0xA8, 0x7C, 0x2A, 0x7C, 0x28, 0x00, // Char 036 ($) + 0x60, 0x94, 0x68, 0x10, 0x2C, 0x52, 0x8C, 0x00, // Char 037 (%) + 0x30, 0x48, 0x30, 0x48, 0x86, 0x84, 0x78, 0x00, // Char 038 (&) + 0x04, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, // Char 039 (') + 0x10, 0x20, 0x40, 0x40, 0x40, 0x20, 0x10, 0x00, // Char 040 (() + 0x10, 0x08, 0x04, 0x04, 0x04, 0x08, 0x10, 0x00, // Char 041 ()) + 0x00, 0x54, 0x38, 0x7C, 0x38, 0x54, 0x00, 0x00, // Char 042 (*) + 0x00, 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, 0x00, // Char 043 (+) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, // Char 044 (,) + 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x00, // Char 045 (-) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, // Char 046 (.) + 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x00, // Char 047 (/) + 0x00, 0x18, 0x24, 0x2C, 0x34, 0x24, 0x18, 0x00, // Char 048 (0) + 0x00, 0x10, 0x30, 0x10, 0x10, 0x10, 0x38, 0x00, // Char 049 (1) + 0x00, 0x18, 0x24, 0x04, 0x18, 0x20, 0x3C, 0x00, // Char 050 (2) + 0x00, 0x38, 0x04, 0x18, 0x04, 0x04, 0x38, 0x00, // Char 051 (3) + 0x00, 0x20, 0x28, 0x28, 0x3C, 0x08, 0x08, 0x00, // Char 052 (4) + 0x00, 0x3C, 0x20, 0x38, 0x04, 0x04, 0x38, 0x00, // Char 053 (5) + 0x00, 0x1C, 0x20, 0x38, 0x24, 0x24, 0x18, 0x00, // Char 054 (6) + 0x00, 0x3C, 0x04, 0x08, 0x10, 0x10, 0x10, 0x00, // Char 055 (7) + 0x00, 0x18, 0x24, 0x18, 0x24, 0x24, 0x18, 0x00, // Char 056 (8) + 0x00, 0x18, 0x24, 0x24, 0x1C, 0x04, 0x38, 0x00, // Char 057 (9) + 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, // Char 058 (:) + 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x20, 0x00, // Char 059 (;) + 0x00, 0x08, 0x10, 0x20, 0x10, 0x08, 0x00, 0x00, // Char 060 (<) + 0x00, 0x00, 0x7E, 0x00, 0x7E, 0x00, 0x00, 0x00, // Char 061 (=) + 0x00, 0x20, 0x10, 0x08, 0x10, 0x20, 0x00, 0x00, // Char 062 (>) + 0x7C, 0x82, 0x04, 0x08, 0x10, 0x00, 0x10, 0x00, // Char 063 (?) + 0x7C, 0x82, 0x9A, 0xAA, 0xAA, 0x9E, 0x7C, 0x00, // Char 064 (@) + 0x00, 0x18, 0x24, 0x24, 0x3C, 0x24, 0x24, 0x00, // Char 065 (A) + 0x00, 0x38, 0x24, 0x38, 0x24, 0x24, 0x38, 0x00, // Char 066 (B) + 0x00, 0x18, 0x24, 0x20, 0x20, 0x24, 0x18, 0x00, // Char 067 (C) + 0x00, 0x38, 0x24, 0x24, 0x24, 0x24, 0x38, 0x00, // Char 068 (D) + 0x00, 0x3C, 0x20, 0x38, 0x20, 0x20, 0x3C, 0x00, // Char 069 (E) + 0x00, 0x3C, 0x20, 0x38, 0x20, 0x20, 0x20, 0x00, // Char 070 (F) + 0x00, 0x18, 0x24, 0x20, 0x2C, 0x24, 0x18, 0x00, // Char 071 (G) + 0x00, 0x24, 0x24, 0x3C, 0x24, 0x24, 0x24, 0x00, // Char 072 (H) + 0x00, 0x38, 0x10, 0x10, 0x10, 0x10, 0x38, 0x00, // Char 073 (I) + 0x00, 0x04, 0x04, 0x04, 0x04, 0x24, 0x18, 0x00, // Char 074 (J) + 0x00, 0x28, 0x28, 0x30, 0x28, 0x24, 0x24, 0x00, // Char 075 (K) + 0x00, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3C, 0x00, // Char 076 (L) + 0x00, 0x44, 0x6C, 0x54, 0x44, 0x44, 0x44, 0x00, // Char 077 (M) + 0x00, 0x24, 0x34, 0x34, 0x2C, 0x2C, 0x24, 0x00, // Char 078 (N) + 0x00, 0x18, 0x24, 0x24, 0x24, 0x24, 0x18, 0x00, // Char 079 (O) + 0x00, 0x38, 0x24, 0x24, 0x38, 0x20, 0x20, 0x00, // Char 080 (P) + 0x00, 0x18, 0x24, 0x24, 0x24, 0x24, 0x1C, 0x02, // Char 081 (Q) + 0x00, 0x38, 0x24, 0x24, 0x38, 0x24, 0x24, 0x00, // Char 082 (R) + 0x00, 0x1C, 0x20, 0x18, 0x04, 0x04, 0x38, 0x00, // Char 083 (S) + 0x00, 0x38, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, // Char 084 (T) + 0x00, 0x24, 0x24, 0x24, 0x24, 0x24, 0x3C, 0x00, // Char 085 (U) + 0x00, 0x24, 0x24, 0x24, 0x24, 0x14, 0x0C, 0x00, // Char 086 (V) + 0x00, 0x44, 0x44, 0x44, 0x54, 0x6C, 0x44, 0x00, // Char 087 (W) + 0x00, 0x24, 0x24, 0x10, 0x08, 0x24, 0x24, 0x00, // Char 088 (X) + 0x00, 0x22, 0x22, 0x14, 0x08, 0x08, 0x08, 0x00, // Char 089 (Y) + 0x00, 0x3C, 0x04, 0x08, 0x10, 0x20, 0x3C, 0x00, // Char 090 (Z) + 0x1C, 0x10, 0x10, 0x10, 0x10, 0x10, 0x1C, 0x00, // Char 091 ([) + 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x00, // Char 092 (\) + 0x70, 0x10, 0x10, 0x10, 0x10, 0x10, 0x70, 0x00, // Char 093 (]) + 0x00, 0x00, 0x10, 0x38, 0x6C, 0xC6, 0x00, 0x00, // Char 094 (^) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, // Char 095 (_) + 0x10, 0x10, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, // Char 096 (`) + 0x00, 0x00, 0x18, 0x24, 0x3C, 0x24, 0x24, 0x00, // Char 097 (a) + 0x00, 0x00, 0x38, 0x24, 0x38, 0x24, 0x38, 0x00, // Char 098 (b) + 0x00, 0x00, 0x18, 0x24, 0x20, 0x24, 0x18, 0x00, // Char 099 (c) + 0x00, 0x00, 0x38, 0x24, 0x24, 0x24, 0x38, 0x00, // Char 100 (d) + 0x00, 0x00, 0x3C, 0x20, 0x38, 0x20, 0x3C, 0x00, // Char 101 (e) + 0x00, 0x00, 0x3C, 0x20, 0x38, 0x20, 0x20, 0x00, // Char 102 (f) + 0x00, 0x00, 0x1C, 0x20, 0x2C, 0x24, 0x18, 0x00, // Char 103 (g) + 0x00, 0x00, 0x24, 0x24, 0x3C, 0x24, 0x24, 0x00, // Char 104 (h) + 0x00, 0x00, 0x1C, 0x08, 0x08, 0x08, 0x1C, 0x00, // Char 105 (i) + 0x00, 0x00, 0x04, 0x04, 0x04, 0x24, 0x18, 0x00, // Char 106 (j) + 0x00, 0x00, 0x24, 0x28, 0x30, 0x28, 0x24, 0x00, // Char 107 (k) + 0x00, 0x00, 0x20, 0x20, 0x20, 0x20, 0x3C, 0x00, // Char 108 (l) + 0x00, 0x00, 0x42, 0x66, 0x5A, 0x42, 0x42, 0x00, // Char 109 (m) + 0x00, 0x00, 0x24, 0x34, 0x3C, 0x2C, 0x24, 0x00, // Char 110 (n) + 0x00, 0x00, 0x18, 0x24, 0x24, 0x24, 0x18, 0x00, // Char 111 (o) + 0x00, 0x00, 0x38, 0x24, 0x38, 0x20, 0x20, 0x00, // Char 112 (p) + 0x00, 0x00, 0x18, 0x24, 0x24, 0x24, 0x1C, 0x02, // Char 113 (q) + 0x00, 0x00, 0x38, 0x24, 0x38, 0x24, 0x24, 0x00, // Char 114 (r) + 0x00, 0x00, 0x1C, 0x20, 0x18, 0x04, 0x38, 0x00, // Char 115 (s) + 0x00, 0x00, 0x38, 0x10, 0x10, 0x10, 0x10, 0x00, // Char 116 (t) + 0x00, 0x00, 0x24, 0x24, 0x24, 0x24, 0x3C, 0x00, // Char 117 (u) + 0x00, 0x00, 0x24, 0x24, 0x24, 0x14, 0x0C, 0x00, // Char 118 (v) + 0x00, 0x00, 0x42, 0x42, 0x5A, 0x66, 0x42, 0x00, // Char 119 (w) + 0x00, 0x00, 0x44, 0x28, 0x10, 0x28, 0x44, 0x00, // Char 120 (x) + 0x00, 0x00, 0x44, 0x28, 0x10, 0x10, 0x10, 0x00, // Char 121 (y) + 0x00, 0x00, 0x7C, 0x08, 0x10, 0x20, 0x7C, 0x00, // Char 122 (z) + 0x0E, 0x10, 0x10, 0x20, 0x10, 0x10, 0x0E, 0x00, // Char 123 ({) + 0x08, 0x08, 0x08, 0x00, 0x08, 0x08, 0x08, 0x00, // Char 124 (|) + 0xE0, 0x10, 0x10, 0x08, 0x10, 0x10, 0xE0, 0x00, // Char 125 (}) + 0x00, 0x00, 0x60, 0x92, 0x0C, 0x00, 0x00, 0x00, // Char 126 (~) + 0x00, 0x00, 0x18, 0x24, 0x42, 0xFF, 0x00, 0x00, // Char 127 (.) + 0x7C, 0x82, 0x80, 0x80, 0x82, 0x7C, 0x08, 0x30, // Char 128 (.) + 0x48, 0x00, 0x84, 0x84, 0x84, 0x84, 0x7C, 0x00, // Char 129 (.) + 0x0C, 0x10, 0x7C, 0x82, 0xFC, 0x80, 0x7C, 0x00, // Char 130 (.) + 0x18, 0x24, 0x7C, 0x02, 0x7E, 0x82, 0x7C, 0x00, // Char 131 (.) + 0x24, 0x00, 0x7C, 0x02, 0x7E, 0x82, 0x7C, 0x00, // Char 132 (.) + 0x18, 0x04, 0x7C, 0x02, 0x7E, 0x82, 0x7C, 0x00, // Char 133 (.) + 0x10, 0x00, 0x7C, 0x02, 0x7E, 0x82, 0x7C, 0x00, // Char 134 (.) + 0x00, 0x00, 0x7C, 0x80, 0x80, 0x7C, 0x08, 0x30, // Char 135 (.) + 0x18, 0x24, 0x7C, 0x82, 0xFC, 0x80, 0x7C, 0x00, // Char 136 (.) + 0x24, 0x00, 0x7C, 0x82, 0xFC, 0x80, 0x7C, 0x00, // Char 137 (.) + 0x30, 0x08, 0x7C, 0x82, 0xFC, 0x80, 0x7C, 0x00, // Char 138 (.) + 0x24, 0x00, 0x18, 0x08, 0x08, 0x08, 0x1C, 0x00, // Char 139 (.) + 0x18, 0x24, 0x18, 0x08, 0x08, 0x08, 0x1C, 0x00, // Char 140 (.) + 0x18, 0x04, 0x18, 0x08, 0x08, 0x08, 0x1C, 0x00, // Char 141 (.) + 0x24, 0x00, 0x38, 0x44, 0x7C, 0x44, 0x44, 0x00, // Char 142 (.) + 0x18, 0x00, 0x38, 0x44, 0x7C, 0x44, 0x44, 0x00, // Char 143 (.) + 0x0C, 0x10, 0xFE, 0x40, 0x78, 0x40, 0xFE, 0x00, // Char 144 (.) + 0x00, 0x00, 0x7C, 0x1A, 0x7E, 0xD8, 0x7E, 0x00, // Char 145 (.) + 0x7E, 0xD8, 0xD8, 0xDE, 0xF8, 0xD8, 0xDE, 0x00, // Char 146 (.) + 0x18, 0x24, 0x7C, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, // Char 147 (.) + 0x66, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, // Char 148 (.) + 0x38, 0x0C, 0x7C, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, // Char 149 (.) + 0x18, 0x24, 0xC6, 0xC6, 0xC6, 0xC6, 0x7E, 0x00, // Char 150 (.) + 0x38, 0x0C, 0xC6, 0xC6, 0xC6, 0xC6, 0x7E, 0x00, // Char 151 (.) + 0x66, 0x00, 0xC6, 0xC6, 0xC6, 0x7E, 0x06, 0x7C, // Char 152 (.) + 0x66, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, // Char 153 (.) + 0xC6, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, // Char 154 (.) + 0x18, 0x7C, 0xC6, 0xC0, 0xC6, 0x7C, 0x18, 0x00, // Char 155 (.) + 0x1E, 0x32, 0x30, 0x78, 0x30, 0x70, 0xFE, 0x00, // Char 156 (.) + 0x66, 0x3C, 0x18, 0x7E, 0x18, 0x3C, 0x18, 0x00, // Char 157 (.) + 0xFC, 0xC6, 0xFC, 0xC0, 0xCC, 0xDE, 0xCC, 0x0E, // Char 158 (.) + 0x00, 0x1C, 0x32, 0x30, 0xFC, 0x30, 0xF0, 0x00, // Char 159 (.) + 0x0E, 0x18, 0x7C, 0x06, 0x7E, 0xC6, 0x7E, 0x00, // Char 160 (.) + 0x1A, 0x30, 0x38, 0x18, 0x18, 0x18, 0x3C, 0x00, // Char 161 (.) + 0x0E, 0x18, 0x7C, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, // Char 162 (.) + 0x0E, 0x18, 0xC6, 0xC6, 0xC6, 0xC6, 0x7E, 0x00, // Char 163 (.) + 0x66, 0x98, 0xFC, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, // Char 164 (.) + 0x66, 0x98, 0xE6, 0xF6, 0xDE, 0xCE, 0xC6, 0x00, // Char 165 (.) + 0x7C, 0x06, 0x7E, 0xC6, 0x7E, 0x00, 0xFE, 0x00, // Char 166 (.) + 0x7C, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0xFE, 0x00, // Char 167 (.) + 0x18, 0x00, 0x18, 0x30, 0x60, 0xC6, 0x7C, 0x00, // Char 168 (.) + 0x00, 0x00, 0xFE, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, // Char 169 (.) + 0x00, 0x00, 0xFE, 0x06, 0x06, 0x06, 0x06, 0x00, // Char 170 (.) + 0x80, 0x80, 0x80, 0x9C, 0x02, 0x08, 0x1E, 0x00, // Char 171 (.) + 0x80, 0x80, 0x80, 0x90, 0x14, 0x1E, 0x04, 0x00, // Char 172 (.) + 0x10, 0x00, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, // Char 173 (.) + 0x00, 0x22, 0x44, 0x88, 0x44, 0x22, 0x00, 0x00, // Char 174 (.) + 0x00, 0x88, 0x44, 0x22, 0x44, 0x88, 0x00, 0x00, // Char 175 (.) + 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, // Char 176 (.) + 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, // Char 177 (.) + 0x44, 0x22, 0x44, 0x22, 0x44, 0x22, 0x44, 0x22, // Char 178 (.) + 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, // Char 179 (.) + 0x08, 0x08, 0x08, 0xF8, 0x08, 0x08, 0x08, 0x08, // Char 180 (.) + 0x08, 0x08, 0x08, 0xF8, 0x08, 0xF8, 0x08, 0x08, // Char 181 (.) + 0x14, 0x14, 0x14, 0xF4, 0x14, 0x14, 0x14, 0x14, // Char 182 (.) + 0x00, 0x00, 0x00, 0xFC, 0x14, 0x14, 0x14, 0x14, // Char 183 (.) + 0x00, 0x00, 0x00, 0xF8, 0x08, 0xF8, 0x08, 0x08, // Char 184 (.) + 0x14, 0x14, 0x14, 0xF4, 0x04, 0xF4, 0x14, 0x14, // Char 185 (.) + 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, // Char 186 (.) + 0x00, 0x00, 0x00, 0xFC, 0x04, 0xF4, 0x14, 0x14, // Char 187 (.) + 0x14, 0x14, 0x14, 0xF4, 0x04, 0xFC, 0x00, 0x00, // Char 188 (.) + 0x14, 0x14, 0x14, 0xFC, 0x00, 0x00, 0x00, 0x00, // Char 189 (.) + 0x08, 0x08, 0x08, 0xF8, 0x08, 0xF8, 0x00, 0x00, // Char 190 (.) + 0x00, 0x00, 0x00, 0xF8, 0x08, 0x08, 0x08, 0x08, // Char 191 (.) + 0x08, 0x08, 0x08, 0x0F, 0x00, 0x00, 0x00, 0x00, // Char 192 (.) + 0x08, 0x08, 0x08, 0xFF, 0x00, 0x00, 0x00, 0x00, // Char 193 (.) + 0x00, 0x00, 0x00, 0xFF, 0x08, 0x08, 0x08, 0x08, // Char 194 (.) + 0x08, 0x08, 0x08, 0x0F, 0x08, 0x08, 0x08, 0x08, // Char 195 (.) + 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, // Char 196 (.) + 0x08, 0x08, 0x08, 0xFF, 0x08, 0x08, 0x08, 0x08, // Char 197 (.) + 0x08, 0x08, 0x08, 0x0F, 0x08, 0x0F, 0x08, 0x08, // Char 198 (.) + 0x14, 0x14, 0x14, 0x17, 0x14, 0x14, 0x14, 0x14, // Char 199 (.) + 0x14, 0x14, 0x14, 0x17, 0x10, 0x1F, 0x00, 0x00, // Char 200 (.) + 0x00, 0x00, 0x00, 0x1F, 0x10, 0x17, 0x14, 0x14, // Char 201 (.) + 0x14, 0x14, 0x14, 0xF7, 0x00, 0xFF, 0x00, 0x00, // Char 202 (.) + 0x00, 0x00, 0x00, 0xFF, 0x00, 0xF7, 0x14, 0x14, // Char 203 (.) + 0x14, 0x14, 0x14, 0x17, 0x10, 0x17, 0x14, 0x14, // Char 204 (.) + 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, // Char 205 (.) + 0x14, 0x14, 0x14, 0xF7, 0x00, 0xF7, 0x14, 0x14, // Char 206 (.) + 0x08, 0x08, 0x08, 0xFF, 0x00, 0xFF, 0x00, 0x00, // Char 207 (.) + 0x14, 0x14, 0x14, 0xFF, 0x00, 0x00, 0x00, 0x00, // Char 208 (.) + 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x08, 0x08, // Char 209 (.) + 0x00, 0x00, 0x00, 0xFF, 0x14, 0x14, 0x14, 0x14, // Char 210 (.) + 0x14, 0x14, 0x14, 0x1F, 0x00, 0x00, 0x00, 0x00, // Char 211 (.) + 0x08, 0x08, 0x08, 0x0F, 0x08, 0x0F, 0x00, 0x00, // Char 212 (.) + 0x00, 0x00, 0x00, 0x1F, 0x10, 0x1F, 0x10, 0x10, // Char 213 (.) + 0x00, 0x00, 0x00, 0x1F, 0x14, 0x14, 0x14, 0x14, // Char 214 (.) + 0x14, 0x14, 0x14, 0xFF, 0x14, 0x14, 0x14, 0x14, // Char 215 (.) + 0x08, 0x08, 0x08, 0xFF, 0x08, 0xFF, 0x08, 0x08, // Char 216 (.) + 0x08, 0x08, 0x08, 0xF8, 0x00, 0x00, 0x00, 0x00, // Char 217 (.) + 0x00, 0x00, 0x00, 0x0F, 0x08, 0x08, 0x08, 0x08, // Char 218 (.) + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // Char 219 (.) + 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, // Char 220 (.) + 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, // Char 221 (.) + 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, // Char 222 (.) + 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, // Char 223 (.) + 0x00, 0x00, 0x77, 0x98, 0x98, 0x77, 0x00, 0x00, // Char 224 (.) + 0x1C, 0x36, 0x66, 0xFC, 0xC6, 0xC6, 0xFC, 0xC0, // Char 225 (.) + 0xFE, 0x62, 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, // Char 226 (.) + 0x00, 0x00, 0xFF, 0x66, 0x66, 0x66, 0x66, 0x00, // Char 227 (.) + 0xFE, 0x62, 0x30, 0x18, 0x30, 0x62, 0xFE, 0x00, // Char 228 (.) + 0x00, 0x00, 0x3F, 0x66, 0xC6, 0xCC, 0x78, 0x00, // Char 229 (.) + 0x00, 0x00, 0x33, 0x33, 0x33, 0x3E, 0x30, 0xF0, // Char 230 (.) + 0x00, 0x00, 0xFF, 0x18, 0x18, 0x18, 0x18, 0x00, // Char 231 (.) + 0x3C, 0x18, 0x3C, 0x66, 0x66, 0x3C, 0x18, 0x3C, // Char 232 (.) + 0x00, 0x7C, 0xC6, 0xFE, 0xC6, 0x7C, 0x00, 0x00, // Char 233 (.) + 0x00, 0x7E, 0xC3, 0xC3, 0xC3, 0x66, 0xE7, 0x00, // Char 234 (.) + 0x1E, 0x19, 0x3C, 0x66, 0xC6, 0xCC, 0x78, 0x00, // Char 235 (.) + 0x00, 0x00, 0x66, 0x99, 0x99, 0x66, 0x00, 0x00, // Char 236 (.) + 0x00, 0x03, 0x7C, 0xCE, 0xE6, 0x7C, 0xC0, 0x00, // Char 237 (.) + 0x00, 0x3E, 0xC0, 0xFE, 0xC0, 0x3E, 0x00, 0x00, // Char 238 (.) + 0x00, 0x7E, 0xC3, 0xC3, 0xC3, 0xC3, 0x00, 0x00, // Char 239 (.) + 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0x00, // Char 240 (.) + 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, 0x3E, 0x00, // Char 241 (.) + 0x30, 0x08, 0x04, 0x08, 0x30, 0x00, 0x7E, 0x00, // Char 242 (.) + 0x18, 0x20, 0x40, 0x20, 0x18, 0x00, 0xFC, 0x00, // Char 243 (.) + 0x00, 0x0E, 0x11, 0x10, 0x10, 0x10, 0x10, 0x10, // Char 244 (.) + 0x10, 0x10, 0x10, 0x10, 0x10, 0x90, 0x60, 0x00, // Char 245 (.) + 0x00, 0x08, 0x00, 0x3E, 0x00, 0x08, 0x00, 0x00, // Char 246 (.) + 0x00, 0x76, 0xDC, 0x00, 0x76, 0xDC, 0x00, 0x00, // Char 247 (.) + 0x3C, 0x66, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, // Char 248 (.) + 0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, 0x00, 0x00, // Char 249 (.) + 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, // Char 250 (.) + 0x0F, 0x0C, 0x0C, 0x0C, 0xEC, 0x6C, 0x38, 0x00, // Char 251 (.) + 0x50, 0x68, 0x48, 0x48, 0x00, 0x00, 0x00, 0x00, // Char 252 (.) + 0xF0, 0x30, 0xC0, 0xF0, 0x00, 0x00, 0x00, 0x00, // Char 253 (.) + 0x00, 0x00, 0x00, 0x3C, 0x3C, 0x3C, 0x3C, 0x00, // Char 254 (.) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // Char 255 (.) + } +}; + +#endif /* _SDL_tinspirefonts_h */ diff --git a/src/video/prizm/SDL_prizmnti.c b/src/video/prizm/SDL_prizmnti.c new file mode 100644 index 0000000..04fb600 --- /dev/null +++ b/src/video/prizm/SDL_prizmnti.c @@ -0,0 +1,38 @@ +#include "SDL_video.h" +#include "SDL_prizmvideo.h" +#include "SDL_prizmnti.h" + +static void nti_get_info(nti_info_t *nti_info, Uint16 *data) +{ + nti_info->magic = data[0] >> 8; + nti_info->version = data[0] & 0x00ff; + nti_info->width = data[1]; + nti_info->height = data[2]; + nti_info->reserved = data[3]; +} + +SDL_Surface *nSDL_LoadImage(Uint16 *data) +{ + SDL_Surface *image; + nti_info_t nti_info; + int i, j; + nti_get_info(&nti_info, data); + if ( nti_info.magic != 42 ) { + SDL_SetError("[PRZ] Invalid NTI image"); + return(NULL); + } + PRZ_DEBUG("Loading NTI v%d (%dx%d)", nti_info.version, nti_info.width, nti_info.height); + image = SDL_CreateRGBSurface(SDL_SWSURFACE, nti_info.width, nti_info.height, + 16, PRZ_RMASK16, PRZ_GMASK16, PRZ_BMASK16, 0); + if ( image == NULL ) { + SDL_OutOfMemory(); + return(NULL); + } + data = (Uint16 *)(data + 4); + SDL_LockSurface(image); + for ( i = 0; i < nti_info.height; ++i ) + for( j = 0; j < nti_info.width; ++j) + nSDL_SetPixel(image, j, i, data[j + (nti_info.width * i)]); + SDL_UnlockSurface(image); + return(image); +} diff --git a/src/video/prizm/SDL_prizmnti.h b/src/video/prizm/SDL_prizmnti.h new file mode 100644 index 0000000..bafc06e --- /dev/null +++ b/src/video/prizm/SDL_prizmnti.h @@ -0,0 +1,15 @@ +#ifndef _SDL_tinspirenti_h +#define _SDL_tinspirenti_h + +#include "SDL_stdinc.h" + +/* NTI specification: https://github.com/Hoffa/nSDL/wiki/NTI-specification */ + +typedef struct nti_info_t { + Uint8 magic; + Uint8 version; + Uint16 width, height; + Uint16 reserved; +} nti_info_t; + +#endif /* _SDL_tinspirenti_h */ \ No newline at end of file diff --git a/src/video/prizm/SDL_prizmutils.c b/src/video/prizm/SDL_prizmutils.c new file mode 100644 index 0000000..deb356b --- /dev/null +++ b/src/video/prizm/SDL_prizmutils.c @@ -0,0 +1,17 @@ +#include +#include "SDL_video.h" +#include "SDL_prizmvideo.h" + +int nSDL_EnableRelativePaths(char **argv) +{ + /* + char buf[NSP_BUF_SIZE], *p; + strcpy(buf, argv[0]); + p = strrchr(buf, '/'); + if ( ! p ) + return(-1); + *p = '\0'; + return(NU_Set_Current_Dir(buf) ? -1 : 0); + */ + return(0); +} diff --git a/src/video/prizm/SDL_prizmvideo.c b/src/video/prizm/SDL_prizmvideo.c new file mode 100644 index 0000000..4516f2e --- /dev/null +++ b/src/video/prizm/SDL_prizmvideo.c @@ -0,0 +1,257 @@ +/* + SDL - Simple DirectMedia Layer + Copyright (C) 1997-2012 Sam Lantinga + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + + Sam Lantinga + slouken@libsdl.org +*/ + +#include "SDL.h" +#include "SDL_config.h" +#include "SDL_mouse.h" +#include "../SDL_sysvideo.h" +#include "../SDL_pixels_c.h" +#include "../../events/SDL_events_c.h" + +#include "SDL_prizmvideo.h" +#include "SDL_prizmevents_c.h" +#include +#include + + +//#include "SDL_tinspireevents_c.h" + +static Uint16 prz_palette[256] = {0}; + +/* Initialization/Query functions */ +static int PRZ_VideoInit(_THIS, SDL_PixelFormat *vformat); +static SDL_Rect **PRZ_ListModes(_THIS, SDL_PixelFormat *format, Uint32 flags); +static SDL_Surface *PRZ_SetVideoMode(_THIS, SDL_Surface *current, int width, int height, int bpp, Uint32 flags); +static int PRZ_SetColors(_THIS, int firstcolor, int ncolors, SDL_Color *colors); +static void PRZ_VideoQuit(_THIS); + +/* etc. */ +static void PRZ_UpdateRects(_THIS, int numrects, SDL_Rect *rects); + +/* NSP driver bootstrap functions */ +static int PRZ_Available(void) +{ + return(1); +} + +static void PRZ_DeleteDevice(SDL_VideoDevice *device) +{ + SDL_free(device->hidden); + SDL_free(device); +} + +static SDL_VideoDevice *PRZ_CreateDevice(int devindex) +{ + SDL_VideoDevice *device; + + /* Initialize all variables that we clean on shutdown */ + device = (SDL_VideoDevice *)SDL_malloc(sizeof(SDL_VideoDevice)); + if ( device ) { + SDL_memset(device, 0, (sizeof *device)); + device->hidden = (struct SDL_PrivateVideoData *) + SDL_malloc((sizeof *device->hidden)); + } + if ( (device == NULL) || (device->hidden == NULL) ) { + SDL_OutOfMemory(); + if ( device ) { + SDL_free(device); + } + return(0); + } + SDL_memset(device->hidden, 0, (sizeof *device->hidden)); + + /* Set the function pointers */ + device->VideoInit = PRZ_VideoInit; + device->ListModes = PRZ_ListModes; + device->SetVideoMode = PRZ_SetVideoMode; + device->SetColors = PRZ_SetColors; + device->UpdateRects = PRZ_UpdateRects; + device->VideoQuit = PRZ_VideoQuit; + device->InitOSKeymap = PRZ_InitOSKeymap; + device->PumpEvents = PRZ_PumpEvents; + + device->free = PRZ_DeleteDevice; + + return device; +} + +VideoBootStrap PRZ_bootstrap = { + "prizm", "SDL Casio PRIZM video driver", + PRZ_Available, PRZ_CreateDevice +}; + +static int PRZ_VideoInit(_THIS, SDL_PixelFormat *vformat) +{ + this->hidden->cx = (int) true; + this->info.current_w = DWIDTH; + this->info.current_h = DHEIGHT; + + if ( this->hidden->cx ) { + vformat->BitsPerPixel = 16; + vformat->Rmask = PRZ_RMASK16; + vformat->Gmask = PRZ_GMASK16; + vformat->Bmask = PRZ_BMASK16; + } + + return(0); +} + +static SDL_Rect **PRZ_ListModes(_THIS, SDL_PixelFormat *format, Uint32 flags) +{ + return (SDL_Rect **) -1; +} + +static SDL_Surface *PRZ_SetVideoMode(_THIS, SDL_Surface *current, + int width, int height, int bpp, Uint32 flags) +{ + Uint32 rmask, gmask, bmask; + + //NSP_DEBUG("Initializing display (%dx%dx%d)", width, height, bpp); + + //if ( flags != SDL_SWSURFACE ) + // NSP_WARNING("Initializing with non-typical flags"); + + if ( width < DWIDTH || height < DHEIGHT ) { + int win_x = (DWIDTH - width) / 2; + int win_y = (DHEIGHT - height) / 2; + this->hidden->offset = (int)PRZ_PIXEL_ADDR(0, win_x, win_y, 2 * DWIDTH, 2); + this->hidden->win_x = win_x; + } else + this->hidden->offset = this->hidden->win_x = 0; + + if ( bpp == 16 ) { + rmask = PRZ_RMASK16; + gmask = PRZ_GMASK16; + bmask = PRZ_BMASK16; + } + + if ( this->hidden->buffer ) { + SDL_free( this->hidden->buffer ); + } + + + this->hidden->buffer2 = SDL_malloc((bpp / 8) * DWIDTH * DHEIGHT); + if ( ! this->hidden->buffer2 ) { + //SDL_SetError("Couldn't allocate buffer2 for requested mode"); + return(NULL); + } + + this->hidden->buffer = SDL_malloc((bpp / 8) * width * height); + if ( ! this->hidden->buffer ) { + SDL_free(this->hidden->buffer2); + //SDL_SetError("Couldn't allocate buffer for requested mode"); + return(NULL); + } + + memset(this->hidden->buffer2, 0, (bpp / 8) * DWIDTH * DHEIGHT); + memset(this->hidden->buffer, 0, (bpp / 8) * width * height); + + /* Allocate the new pixel format for the screen */ + if ( ! SDL_ReallocFormat(current, bpp, rmask, gmask, bmask, 0) ) { + SDL_free(this->hidden->buffer); + this->hidden->buffer = NULL; + //SDL_SetError("Couldn't allocate new pixel format for requested mode"); + return(NULL); + } + + /* Set up the new mode framebuffer */ + current->flags = flags; + this->hidden->w = this->info.current_w = current->w = width; + this->hidden->h = this->info.current_h = current->h = height; + current->pitch = (bpp / 8) * current->w; + current->pixels = this->hidden->buffer; + + //NSP_DEBUG("Done (0x%p)", current); + + /* We're done */ + return(current); +} + +#define PRZ_DRAW_LOOP(code) do { \ + while ( rows-- ) { \ + j = 0, k = 0; \ + code \ + src_addr += src_skip; \ + dst_addr += dst_skip; \ + } \ +} while (0) + +static void PRZ_UpdateRects(_THIS, int numrects, SDL_Rect *rects) +{ + int src_skip = SDL_VideoSurface->pitch; + int dst_skip = (2 * DWIDTH); + int i, j, k; + + if ( this->hidden->buffer2 == NULL ) + return; + + for ( i = 0; i < numrects; ++i ) { + SDL_Rect *rect = &rects[i]; + Uint8 *src_addr, *dst_addr; + SDL_bool odd_left, odd_right; + int row_bytes, rows; + + if ( ! rect ) + continue; + + src_addr = PRZ_PIXEL_ADDR(SDL_VideoSurface->pixels, rect->x, rect->y, + SDL_VideoSurface->pitch, SDL_VideoSurface->format->BytesPerPixel); + dst_addr = PRZ_PIXEL_ADDR(this->hidden->buffer2, rect->x, rect->y, 2 * DWIDTH, 2); + dst_addr += this->hidden->offset; + + odd_left = (this->hidden->win_x + rect->x) & 1; + odd_right = (this->hidden->win_x + rect->x + rect->w) & 1; + row_bytes = SDL_VideoSurface->format->BytesPerPixel * ((rect->x + rect->w > DWIDTH) ? DWIDTH : rect->w); + rows = (rect->y + rect->h > DHEIGHT) ? DHEIGHT : rect->h; + + if ( ! this->hidden->cx && odd_right ) + --row_bytes; + + if ( this->hidden->cx ) { + if ( SDL_VideoSurface->format->BitsPerPixel == 16 ) { + /* 16 bpp SW, 16 bpp HW */ + PRZ_DRAW_LOOP( + SDL_memcpy(dst_addr, src_addr, row_bytes); + ); + } + dupdate(); + } + } +} + +#define PRZ_MAP_RGB(r, g, b) ((((r >> 3) << 11) | ((g >> 2) << 5) | (b >> 3))) + +static int PRZ_SetColors(_THIS, int firstcolor, int ncolors, SDL_Color *colors) +{ + int i; + for ( i = firstcolor; i < firstcolor + ncolors; ++i ) + prz_palette[i] = PRZ_MAP_RGB(colors[i].r, colors[i].g, colors[i].b); + return(1); +} + +/* Note: If we are terminated, this could be called in the middle of + another SDL video routine -- notably UpdateRects. +*/ +static void PRZ_VideoQuit(_THIS) +{ + //NSP_DEBUG("Closing video"); +} diff --git a/src/video/prizm/SDL_prizmvideo.h b/src/video/prizm/SDL_prizmvideo.h new file mode 100644 index 0000000..73ca9dd --- /dev/null +++ b/src/video/prizm/SDL_prizmvideo.h @@ -0,0 +1,52 @@ +/* + SDL - Simple DirectMedia Layer + Copyright (C) 1997-2012 Sam Lantinga + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + + Sam Lantinga + slouken@libsdl.org +*/ + +#include + +#include "SDL_config.h" + +#ifndef _SDL_prizmvideo_h +#define _SDL_prizmvideo_h + +#include "../SDL_sysvideo.h" + +/* Hidden "this" pointer for the video functions */ +#define _THIS SDL_VideoDevice *this + +#define PRZ_BUF_SIZE 512 + +#define PRZ_RMASK16 0xF800 +#define PRZ_GMASK16 0x07E0 +#define PRZ_BMASK16 0x001F + +/* Private display data */ + +struct SDL_PrivateVideoData { + int w, h; + int offset; + int win_x; + void *buffer; + void *buffer2; + int cx; +}; + +#endif /* _SDL_tinspirevideo_h */