remove gp32 files until license issues are sorted out

svn-id: r5812
This commit is contained in:
Jonathan Gray 2002-12-02 02:45:07 +00:00
parent f4e438b4ce
commit 2961f75365
25 changed files with 0 additions and 4189 deletions

View File

@ -1,52 +0,0 @@
/* Header is not present in Windows CE SDK */
/* It would not be a bad idea to take this thing from gcc distro and port
it properly. For now only required part is ported. */
struct dirent
{
long d_ino; /* Always zero. */
unsigned short d_reclen; /* Always zero. */
unsigned short d_namlen; /* Length of name in d_name. */
char* d_name; /* File name. */
/* NOTE: The name in the dirent structure points to the name in the
* finddata_t structure in the DIR. */
};
/*
* This is an internal data structure. Good programmers will not use it
* except as an argument to one of the functions below.
*/
typedef struct
{
/* disk transfer area for this dir */
/* struct _finddata_t dd_dta; */
/* dirent struct to return from dir (NOTE: this makes this thread
* safe as long as only one thread uses a particular DIR struct at
* a time) */
struct dirent dd_dir;
/* _findnext handle */
long dd_handle;
/*
* Status of search:
* 0 = not started yet (next entry to read is first entry)
* -1 = off the end
* positive = 0 based index of next entry
*/
short dd_stat;
/* given path for dir with search pattern (struct is extended) */
char dd_name[1];
} DIR;
DIR* opendir (const char*);
struct dirent* readdir (DIR*);
int closedir (DIR*);
/*
void rewinddir (DIR*);
long telldir (DIR*);
void seekdir (DIR*, long);
*/

View File

@ -1,328 +0,0 @@
//////////////////////////////////////////////////////////////////////////////
// emudebug.cpp //
//////////////////////////////////////////////////////////////////////////////
/*
EmuDebug by Rafael Vuijk (aka Dark Fader)
see emudebug.txt for more info
*/
//////////////////////////////////////////////////////////////////////////////
// Includes //
//////////////////////////////////////////////////////////////////////////////
#include <windows.h>
#include <stdio.h>
#include <conio.h>
//////////////////////////////////////////////////////////////////////////////
// Pragmas //
//////////////////////////////////////////////////////////////////////////////
#pragma comment(lib, "user32")
//////////////////////////////////////////////////////////////////////////////
// Defines //
//////////////////////////////////////////////////////////////////////////////
#define VER "1.02"
//////////////////////////////////////////////////////////////////////////////
// Variables //
//////////////////////////////////////////////////////////////////////////////
// set in InitDebug
HWND hDebugWnd = 0;
HWND hEmuWnd = 0;
HANDLE hProcess = 0;
// set in ScanBuffer
void *debugBufferBeginAddr = 0;
void *debugBufferEndAddr = 0;
void *debugBufferDataAddr = 0;
int debugBufferDataSize = 0;
char *debugBufferData = 0; // temp. data
// default options
int minDebugBufferSize = 31;
int maxDebugBufferSize = 16*1024;
int pollInterval = 10;
int priorityClass = NORMAL_PRIORITY_CLASS;
char windowClass[256] = "BOYCOTTADVANCE"; // :)
char windowTitle[256] = "BoycottAdvance - ";
bool waitForKey = false;
//////////////////////////////////////////////////////////////////////////////
// InitDebug //
//////////////////////////////////////////////////////////////////////////////
int InitDebug()
{
// minimize debug window
//ShowWindow(hDebugWnd, SW_MINIMIZE); //ph0x
restart:
printf("Searching debugging target...");
char *pWindowClass = windowClass[0] ? windowClass : 0;
char *pWindowTitle = windowTitle[0] ? windowTitle : 0;
// loop
while (1)
{
hEmuWnd = FindWindow(pWindowClass, pWindowTitle);
//if (!hEmuWnd) { printf("Can't find window!\n"); return -1; }
if (hEmuWnd) break;
if (kbhit() && (getch() == 27)) return -1; // abort?
Sleep(20);
}
DWORD processId = 0;
GetWindowThreadProcessId(hEmuWnd, &processId);
if (!processId) { printf("Can't get process ID!\n"); return -1; }
hProcess = OpenProcess(PROCESS_ALL_ACCESS, TRUE, processId);
if (!hProcess) { printf("Can't open process!\n"); return -1; }
SetPriorityClass(hProcess, priorityClass); // set process priority class
printf(" done.\n");
int bufferSize = 1*1024*1024; // start with 1MB or so
char *buffer = new char[bufferSize]; // temp ReadProcessMemory buffer
if (!waitForKey) printf("Searching debug buffer...");
// loop
while (1)
{
if (waitForKey)
{
printf("Press any key to begin searching for debug buffer...");
getch();
printf("\n");
printf("Searching debug buffer...");
}
DWORD exitCode;
if (!GetExitCodeProcess(hProcess, &exitCode)) { printf("\n"); goto restart; }
if (exitCode != STILL_ACTIVE) { printf("\n"); goto restart; }
bool something = false; // some data found?
MEMORY_BASIC_INFORMATION mbi;
unsigned int addr;
for (addr=0; VirtualQueryEx(hProcess, (void*)addr, &mbi, sizeof(mbi)); addr = (unsigned int)mbi.BaseAddress + mbi.RegionSize)
{
//printf("base=%08X, size=%d, protect=%08X, type=%08X\n", mbi.BaseAddress, mbi.RegionSize, mbi.Protect, mbi.Type);
if (mbi.Type == MEM_PRIVATE) // type=00020000
if (mbi.Protect == PAGE_READWRITE) // protect=00000004
{
if (mbi.RegionSize > bufferSize)
{
delete buffer;
bufferSize = mbi.RegionSize * 3/2;
buffer = new char[bufferSize];
}
if (ReadProcessMemory(hProcess, mbi.BaseAddress, buffer, mbi.RegionSize, NULL))
{
something = true;
for (unsigned int i=0; i<mbi.RegionSize; i += minDebugBufferSize-2)
{
if (buffer[i] == ' ') // might be somewhere in the buffer
{
//printf("scan left\n");
// scan to left
int left = i;
while (buffer[left] == ' ') if (--left <= 0) { continue; } // nothing left
if (buffer[left] != '{') { continue; } // nope, wrong start
//printf("scan right\n");
// scan to right
int right = i;
while (buffer[right] == ' ') if (++right >= mbi.RegionSize) { i = right; continue; } // nothing left
if (buffer[right] != '}') { i = right; continue; } // nope, wrong end
// alloc new temp. debug buffer with max debug buffer length
debugBufferDataSize = right - left + 1;
//printf("debugBufferDataSize = %d\n", debugBufferDataSize);
if (
(debugBufferDataSize >= minDebugBufferSize) && // minimum size
(debugBufferDataSize <= maxDebugBufferSize) && // maximum size
(*(unsigned int *)(buffer + left - 8) == 0xEDEBEDEB) && // start
(*(unsigned int *)(buffer + left - 4) == 0xEDEBEDEB) // end
)
{
// remember addresses
debugBufferBeginAddr = (void *)((int)mbi.BaseAddress + left - 8);
debugBufferEndAddr = (void *)((int)mbi.BaseAddress + left - 4);
debugBufferDataAddr = (void *)((int)mbi.BaseAddress + left - 0);
// allocate temporary buffer
if (debugBufferData) delete debugBufferData;
debugBufferData = new char[debugBufferDataSize];
// start debugging
int n = 0;
WriteProcessMemory(hProcess, debugBufferBeginAddr, &n, sizeof(n), NULL);
WriteProcessMemory(hProcess, debugBufferEndAddr, &n, sizeof(n), NULL);
// show done
printf(" done.\n");
delete buffer;
//printf("base=%08X, size=%d, protect=%08X, type=%08X\n", mbi.BaseAddress, mbi.RegionSize, mbi.Protect, mbi.Type);
// do things to activate/show debugger
ShowWindow(hEmuWnd, SW_RESTORE); //ph0x
SetActiveWindow(hEmuWnd); //ph0x
SetForegroundWindow(hEmuWnd); //ph0x
FlashWindow(hDebugWnd, TRUE);
SetWindowPos(hDebugWnd, HWND_TOP, 0,0,0,0, SWP_NOMOVE|SWP_NOSIZE);
return 0; // ok
}
} // ' '
} // for
} // ReadProcessMemory
else
{
// can't read memory anymore
//printf("\n"); goto restart;
}
//printf("\n");
} // type
} // for VirtualQueryEx
if (waitForKey) printf("\n");
//if (!addr) { printf("\n"); goto restart; } // no VirtualQueryEx data
//if (!something) { printf("\n"); goto restart; } // invalid process or something
if (kbhit() && (getch() == 27)) break; // abort
Sleep(20);
} // while
delete buffer;
return -1;
}
//////////////////////////////////////////////////////////////////////////////
// ShowHelp //
//////////////////////////////////////////////////////////////////////////////
void ShowHelp()
{
printf("EmuDebug "VER" by Rafael Vuijk (aka Dark Fader)\n\n");
printf("Flags:\n");
printf(" -h -? Show this help.\n");
printf(" -b Set emulator process to below priority class.\n");
printf(" -i Set emulator process to idle priority class.\n");
printf(" -p<n> Set polling interval in milliseconds.\n");
printf(" -c[<n>] Window class name to find. Default: \"BOYCOTTADVANCE\".\n");
printf(" You can use MS Spy++ or something to find this.\n");
printf(" -t[<n>] Window title name to find. Default: \"BoycottAdvance - \".\n");
printf(" -s<n> Set mininum debug buffer size to look for.\n");
printf(" -k Wait for a key to commence searching.\n");
printf("\n");
printf("Some 'good' working examples:\n");
printf(" emudebug -i -p100 -s127\n");
printf(" emudebug -p20 -k -b -c\"\" -t\"VGBA-Windows 1.1r\" -s63\n");
}
//////////////////////////////////////////////////////////////////////////////
// main //
//////////////////////////////////////////////////////////////////////////////
int main(int argc, char *argv[])
{
// check parameters
for (int a=1; a<argc; a++)
{
if (argv[a][0] == '-')
switch (argv[a][1])
{
case 'h': case '?': ShowHelp(); return 0;
case 'i': priorityClass = IDLE_PRIORITY_CLASS; break;
//case 'b': priorityClass = BELOW_NORMAL_PRIORITY_CLASS; break; //ph0x
case 'p': pollInterval = strtoul(argv[a]+2, NULL, 0); break;
case 'c': strcpy(windowClass, argv[a]+2); break;
case 't': strcpy(windowTitle, argv[a]+2); break;
case 's': minDebugBufferSize = strtoul(argv[a]+2, NULL, 0); break;
case 'k': waitForKey = true; break;
default: printf("Unknown uption: %c\n", argv[a][1]); break;
}
}
// find debug window
SetConsoleTitle("EmuDebug Console");
hDebugWnd = FindWindow(NULL, "EmuDebug Console");
// search for debug buffer
if (InitDebug()) return -1;
// do debug console
int boostPollInterval = pollInterval;
while (1)
{
// check keyboard input
if (kbhit())
{
char c = getch();
if (c == 27) // escape
{
// try to close emulator & minimize debug window
SendMessage(hEmuWnd, WM_CLOSE, 0, 0);
SendMessage(hDebugWnd, WM_CLOSE, 0, 0); //ph0x
//SetWindowPos(hDebugWnd, HWND_TOP, 0,0,0,0, SWP_HIDEWINDOW|SWP_NOMOVE|SWP_NOSIZE);
//ShowWindow(hDebugWnd, SW_MINIMIZE); //ph0x
}
}
// get begin/end from debug buffer
int end = 0;
if (!ReadProcessMemory(hProcess, (void *)debugBufferEndAddr, &end, sizeof(end), NULL))
{
// re-init debug after failure
if (InitDebug()) break;
continue;
}
int begin = 0;
ReadProcessMemory(hProcess, (void *)debugBufferBeginAddr, &begin, sizeof(begin), NULL);
// some data?
if (begin != end)
{
unsigned int nextBegin;
while (1) //begin != end)
{
int begin = end;
ReadProcessMemory(hProcess, (void *)debugBufferBeginAddr, &begin, sizeof(begin), NULL);
if (begin == end) break; // no more data
nextBegin = begin + 1;
if (nextBegin >= debugBufferDataSize) nextBegin = 0;
char c;
ReadProcessMemory(hProcess, (void *)((int)debugBufferDataAddr + begin), &c, 1, NULL);
putchar(c);
begin = nextBegin;
WriteProcessMemory(hProcess, debugBufferBeginAddr, &begin, sizeof(begin), NULL);
}
// boost poll interval
boostPollInterval /= 2;
}
else
{
// slow down again
if (boostPollInterval == 0) boostPollInterval = 1; else boostPollInterval *= 2;
if (boostPollInterval > pollInterval) boostPollInterval = pollInterval;
}
// poll interval
Sleep(boostPollInterval);
}
// clean up
if (debugBufferData) delete debugBufferData;
CloseHandle(hProcess);
return 0;
}

View File

@ -1,35 +0,0 @@
EmuDebug by Rafael Vuijk (aka Dark Fader)
Console debug output for emulators.
GBA apps must use the new debug library found in MyLib
Usage
-----
Please run program with '-h' parameter to get possible options.
How it works
------------
1) PC searches the debug buffer in emulators memory.
begin & end init value is 0xEDEBEDEB, must reset to 0 to start debugging
data all spaces except first and last character, which are '{' & '}'
2) GBA waits for begin/end to become something else than init value
3) GBA reads any characters until begin & end index are equal again
History
-------
v1.02
minimizes window & pop-ups when debugging
escape closes emulator window
rotating buffer, so incompatable with older versions but who cares :)
v1.01
waits for emulator at startup
reconnects to new emulator instance
window class/title options
poll interval boosting
option for minimum buffersize
wait for key before searching option
v1.00
'protocol' defined
searches buffer in Boycott Advance
console output

File diff suppressed because it is too large Load Diff

View File

@ -1,203 +0,0 @@
#include "common/stdafx.h"
#include "common/scummsys.h"
#include "common/system.h"
#include "common/scummsys.h"
#include "common/stdafx.h"
#include "common/engine.h"
#include "scumm/saveload.h"
#include "common/scaler.h"
extern "C" {
#include "gpdebug.h"
}
#include "gpsdl.h" // hehe :)
class OSystem_GP32 : public OSystem {
public:
// Set colors of the palette
void set_palette(const byte *colors, uint start, uint num);
// Set the size of the video bitmap.
// Typically, 320x200
void init_size(uint w, uint h);
// Draw a bitmap to screen.
// The screen will not be updated to reflect the new bitmap
void copy_rect(const byte *buf, int pitch, int x, int y, int w, int h);
// Moves the screen content around by the given amount of pixels
// but only the top height pixel rows, the rest stays untouched
void move_screen(int dx, int dy, int height);
// Update the dirty areas of the screen
void update_screen();
// Either show or hide the mouse cursor
bool show_mouse(bool visible);
// Set the position of the mouse cursor
void set_mouse_pos(int x, int y);
// Set the bitmap that's used when drawing the cursor.
void set_mouse_cursor(const byte *buf, uint w, uint h, int hotspot_x, int hotspot_y);
// Shaking is used in SCUMM. Set current shake position.
void set_shake_pos(int shake_pos);
// Get the number of milliseconds since the program was started.
uint32 get_msecs();
// Delay for a specified amount of milliseconds
void delay_msecs(uint msecs);
// Create a thread
void *create_thread(ThreadProc *proc, void *param);
// Get the next event.
// Returns true if an event was retrieved.
bool poll_event(Event *event);
// Set the function to be invoked whenever samples need to be generated
// Format is the sample type format.
// Only 16-bit signed mode is needed for simon & scumm
bool set_sound_proc(void *param, SoundProc *proc, byte format);
// Get or set a property
uint32 property(int param, Property *value);
// Poll cdrom status
// Returns true if cd audio is playing
bool poll_cdrom();
// Play cdrom audio track
void play_cdrom(int track, int num_loops, int start_frame, int end_frame);
// Stop cdrom audio track
void stop_cdrom();
// Update cdrom audio status
void update_cdrom();
// Add a new callback timer
void set_timer(int timer, int (*callback)(int));
// Mutex handling
void *create_mutex(void);
void lock_mutex(void *mutex);
void unlock_mutex(void *mutex);
void delete_mutex(void *mutex);
// Quit
void quit();
// Overlay
void show_overlay();
void hide_overlay();
void clear_overlay();
void grab_overlay(int16 *buf, int pitch);
void copy_rect_overlay(const int16 *buf, int pitch, int x, int y, int w, int h);
static OSystem *create(int gfx_mode, bool full_screen);
private:
typedef void ScalerProc(uint8 *srcPtr, uint32 srcPitch, uint8 *deltaPtr,
uint8 *dstPtr, uint32 dstPitch, int width, int height);
SDL_Surface *sdl_tmpscreen; // temporary screen (for scalers/overlay)
SDL_Surface *sdl_hwscreen; // hardware screen
bool _overlay_visible;
ScalerProc *_scaler_proc;
int TMP_SCREEN_WIDTH;
//uint msec_start;
//uint32 get_ticks();
///OSystem_GP32(); // eh?
/// ~OSystem_GP32();
// unseen game screen
SDL_Surface *_screen;
int _screenWidth, _screenHeight;
// CD Audio
///SDL_CD *_cdrom;
int cd_track, cd_num_loops, cd_start_frame, cd_end_frame;
uint32 cd_end_time, cd_stop_time, cd_next_second;
enum {
DF_WANT_RECT_OPTIM = 1 << 0,
DF_UPDATE_EXPAND_1_PIXEL = 1 << 3
};
bool _forceFull; // Force full redraw on next update_screen
int _scaleFactor;
int _mode;
bool _full_screen;
uint32 _mode_flags;
enum {
NUM_DIRTY_RECT = 100,
MAX_MOUSE_W = 40,
MAX_MOUSE_H = 40,
MAX_SCALING = 3
};
// Dirty rect managment
SDL_Rect _dirty_rect_list[100];
int _num_dirty_rects;
uint32 *_dirty_checksums;
bool cksum_valid;
int CKSUM_NUM;
// Keyboard mouse emulation
struct KbdMouse {
int16 x, y, x_vel, y_vel, x_max, y_max, x_down_count, y_down_count;
uint32 last_time, delay_time, x_down_time, y_down_time;
} km;
struct MousePos {
int16 x, y, w, h;
};
bool _mouseVisible;
bool _mouseDrawn;
byte *_mouseData;
byte *_mouseBackup;
MousePos _mouse_cur_state;
MousePos _mouse_old_state;
int16 _mouseHotspotX;
int16 _mouseHotspotY;
// Shake mode
int _currentShakePos;
int _newShakePos;
// Palette data
SDL_Color *_currentPalette;
uint _paletteDirtyStart, _paletteDirtyEnd;
void add_dirty_rgn_auto(const byte *buf);
void mk_checksums(const byte *buf);
static void fill_sound(void *userdata, Uint8 * stream, int len);
void add_dirty_rect(int x, int y, int w, int h);
void draw_mouse();
void undraw_mouse();
void load_gfx_mode();
void unload_gfx_mode();
void hotswap_gfx_mode();
void get_screen_image(byte *buf);
void setup_icon();
void kbd_mouse();
static OSystem_GP32 *create();
};

View File

@ -1,125 +0,0 @@
//////////////////////////////////////////////////////////////////////////////
// debug_emu.cpp //
//////////////////////////////////////////////////////////////////////////////
/*
debug support for EmuDebug console v1.2+
*/
//////////////////////////////////////////////////////////////////////////////
// Includes //
//////////////////////////////////////////////////////////////////////////////
#include "gpdebug.h"
//////////////////////////////////////////////////////////////////////////////
// Defines //
//////////////////////////////////////////////////////////////////////////////
#define debugBufferData ((volatile char *)debugBufferAddr + 8)
#define debugBufferBegin REG4((int)debugBufferAddr + 0) // read
#define debugBufferEnd REG4((int)debugBufferAddr + 4) // write
#define debugBufferDataSize 256
#define debugBufferSize (8 + debugBufferDataSize)
//////////////////////////////////////////////////////////////////////////////
// Variables //
//////////////////////////////////////////////////////////////////////////////
static int debugging = 0;
static void * volatile debugBufferAddr;
char debugBuffer[debugBufferDataSize]; // instead of malloc
//////////////////////////////////////////////////////////////////////////////
// __putchar //
//////////////////////////////////////////////////////////////////////////////
void __putchar(int c)
{
unsigned int nextEnd;
if (!debugging) return;
do
{
nextEnd = debugBufferEnd + 1;
if (nextEnd >= debugBufferDataSize) nextEnd = 0;
} while (nextEnd == debugBufferBegin); // full?
debugBufferData[debugBufferEnd] = c;
debugBufferEnd = nextEnd;
}
//////////////////////////////////////////////////////////////////////////////
// __getchar //
//////////////////////////////////////////////////////////////////////////////
int __getchar()
{
//if (!debugging) return -1;
return -1;
}
//////////////////////////////////////////////////////////////////////////////
// __kbhit //
//////////////////////////////////////////////////////////////////////////////
int __kbhit()
{
//if (!debugging) return false;
return 0;
}
//////////////////////////////////////////////////////////////////////////////
// __gets //
//////////////////////////////////////////////////////////////////////////////
char * __gets(char *s)
{
char *p = s;
if (!debugging) return 0;
while (1)
{
int c = getchar();
if (c >= 0) *p++ = c;
if (c == 0) return s;
}
return s;
}
//////////////////////////////////////////////////////////////////////////////
// __puts //
//////////////////////////////////////////////////////////////////////////////
int __puts(const char *s)
{
if (!debugging) return 0;
while (*s) putchar(*s++);
return 0;
/*
while (debugBufferAddr[0]) {} // wait until buffer is clear
int r = sprintf(debugBufferAddr+1, "%s", s);
debugBufferAddr[0] = r;
return r;
*/
}
//////////////////////////////////////////////////////////////////////////////
// __printf //
//////////////////////////////////////////////////////////////////////////////
int __printf(char *fmt, ...)
{
char s[256];
int r;
va_list marker;
if (!debugging) return 0;
va_start(marker, fmt);
r = vsprintf(s, fmt, marker);
va_end(marker);
puts(s);
return r;
}
//////////////////////////////////////////////////////////////////////////////
// InitDebug //
//////////////////////////////////////////////////////////////////////////////
void InitDebug()
{
debugBufferAddr = debugBuffer;
//debugBufferAddr = malloc(debugBufferSize);
debugBufferBegin = debugBufferEnd = 0xEDEBEDEB;
memset((void *)debugBufferData, ' ', debugBufferDataSize);
debugBufferData[0] = '{'; debugBufferData[debugBufferDataSize - 1] = '}';
while (debugBufferBegin && debugBufferEnd) { } // wait for debugger
debugging = 1;
}

View File

@ -1,49 +0,0 @@
//////////////////////////////////////////////////////////////////////////////
// debug.h //
//////////////////////////////////////////////////////////////////////////////
#ifndef _GP_DEBUG_H
#define _GP_DEBUG_H
/*
Debug library
Note: include debug.h after stdio.h and conio.h!!!
*/
//////////////////////////////////////////////////////////////////////////////
// Includes //
//////////////////////////////////////////////////////////////////////////////
#include "gpregs.h"
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <string.h>
//////////////////////////////////////////////////////////////////////////////
// Defines //
//////////////////////////////////////////////////////////////////////////////
// public
#define dprintf __printf //ph0x ..redefine rest?
#undef getchar
#define getchar __getchar
#undef putchar
#define putchar(c) __putchar(c)
#define gets(s) __gets(s)
#define puts(s) __puts(s) // fixme?
#define kbhit() __kbhit() // uncomment?
// function -> constructor & class instance
//#define INIT(fn) class fn##_Init { public: fn##_Init() { fn(); } } fn##_init
//#define INIT1(fn,param1) class fn##_Init { public: fn##_Init() { fn(param1); } } fn##_init
//////////////////////////////////////////////////////////////////////////////
// Prototypes //
//////////////////////////////////////////////////////////////////////////////
extern void InitDebug(void); // auto-initialized
extern int __kbhit(void);
extern void __putchar(int c);
extern int __getchar(void); // non-blocking
extern int __printf(char *fmt, ...);
extern int __puts(const char *s);
extern char * __gets(char *s);
#endif // _DEBUG_H

View File

@ -1,69 +0,0 @@
//////////////////////////////////////////////////////////////////////////////
// GP32.h //
//////////////////////////////////////////////////////////////////////////////
#ifndef _GP32_H
#define _GP32_H
/*
GP32 stuff
just a bunch of includes
*/
//////////////////////////////////////////////////////////////////////////////
// Includes //
//////////////////////////////////////////////////////////////////////////////
/*
#include "24x.h"
#include "gpdef.h"
#include "gpos_def.h"
#include "gpmem.h"
#include "gpstdio.h"
#include "gpstdlib.h"
#include "gpmm.h"
#include "gpgraphic.h"
#include "gpfont.h"
#include "gpsockdef.h"
#include "gpcomm.h"
#include "gpnetlib.h"
*/
//////////////////////////////////////////////////////////////////////////////
// Defines //
//////////////////////////////////////////////////////////////////////////////
// C++ bools
//typedef int bool;
#define false 0
#define true 1
typedef unsigned char u8;
typedef volatile u8 vu8;
typedef signed char s8;
typedef volatile s8 vs8;
typedef unsigned short u16;
typedef volatile u16 vu16;
typedef signed short s16;
typedef volatile s16 vs16;
typedef unsigned int u32;
typedef volatile u32 vu32;
typedef signed int s32;
typedef volatile s32 vs32;
// memory/register typecasting
#define MEM1(addr) ( (u8 *)(addr))
#define MEM2(addr) ( (u16*)(addr))
#define MEM4(addr) ( (u32*)(addr))
#define REG1(addr) (*(vu8 *)(addr))
#define REG2(addr) (*(vu16*)(addr))
#define REG4(addr) (*(vu32*)(addr))
#define RPTR(addr) (*(void **)(addr))
// array length
#define lengthof(id) (sizeof(id) / sizeof((id)[0]))
//////////////////////////////////////////////////////////////////////////////
// Typedefs //
//////////////////////////////////////////////////////////////////////////////
#endif // _GP32_H

View File

@ -1,82 +0,0 @@
/* Useful data types */
#define Sint16 s16
#define Uint16 u16
#define Uint32 u32
#define Uint8 u8
typedef struct {
Sint16 x, y;
Uint16 w, h;
} SDL_Rect;
typedef struct {
Uint8 r;
Uint8 g;
Uint8 b;
Uint8 unused;
} SDL_Color;
typedef struct {
int ncolors;
SDL_Color *colors;
} SDL_Palette;
/* Everything in the pixel format structure is read-only */
typedef struct SDL_PixelFormat {
SDL_Palette *palette;
Uint8 BitsPerPixel;
Uint8 BytesPerPixel;
Uint8 Rloss;
Uint8 Gloss;
Uint8 Bloss;
Uint8 Aloss;
Uint8 Rshift;
Uint8 Gshift;
Uint8 Bshift;
Uint8 Ashift;
Uint32 Rmask;
Uint32 Gmask;
Uint32 Bmask;
Uint32 Amask;
/* RGB color key information */
Uint32 colorkey;
/* Alpha value information (per-surface alpha) */
Uint8 alpha;
} SDL_PixelFormat;
typedef struct SDL_Surface {
Uint32 flags; /* Read-only */
SDL_PixelFormat *format; /* Read-only */
int w, h; /* Read-only */
Uint16 pitch; /* Read-only */
void *pixels; /* Read-write */
int offset; /* Private */
/* Hardware-specific surface info */
struct private_hwdata *hwdata;
/* clipping information */
SDL_Rect clip_rect; /* Read-only */
Uint32 unused1; /* for binary compatibility */
/* Allow recursive locks */
Uint32 locked; /* Private */
/* info for fast blit mapping to other surfaces */
/// struct SDL_BlitMap *map; /* Private */
/* format version, bumped at every change to invalidate blit maps */
unsigned int format_version; /* Private */
/* Reference count -- used when freeing surface */
int refcount; /* Read-mostly */
} SDL_Surface;
#define SDL_SWSURFACE 0x00000000
#define SDL_HWSURFACE 0x00000001
#define SDL_FULLSCREEN 0x80000000
// EOF

View File

@ -1,71 +0,0 @@
/* defines.h */
#ifndef __DEFINES_H__
#define __DEFINES_H__
typedef unsigned char u8;
typedef signed char s8;
typedef unsigned short u16;
typedef short s16;
typedef unsigned int u32;
typedef int s32;
//#define LITTLE_ENDIAN
/*
typedef union
{
#ifdef LITTLE_ENDIAN
struct
{
u8 low;
u8 high;
} byte;
#else
struct
{
u8 high;
u8 low;
} byte;
#endif
u16 word;
} word;
typedef union
{
#ifdef LITTLE_ENDIAN
struct
{
word low;
word high;
} word;
#else
struct
{
word high;
word low;
} word;
#endif
u32 dword;
} dword;
#ifndef BOOL
#define BOOL int
#endif
#ifndef TRUE
#define TRUE 1
#endif
#ifndef FALSE
#define FALSE 0
#endif
#ifndef NULL
#define NULL 0
#endif
*/
#endif

View File

@ -1,100 +0,0 @@
#ifndef __GPDEF_H__
#define __GPDEF_H__
#include "gpos_def.h"
#ifndef NULL
#define NULL 0
#endif
#ifndef TRUE
#define TRUE 1
#else
#undef TRUE
#define TRUE 1
#endif
#ifndef FALSE
#define FALSE 0
#else
#undef FALSE
#define FALSE 0
#endif
#ifndef __size_t
#define __size_t 1
typedef unsigned int size_t;
#endif
//ph0x
//#undef byte
//#define byte char
#undef ubyte
#define ubyte unsigned char
#undef uchar
#define uchar unsigned char
#undef word
#define word short
#undef uword
#define uword unsigned short
#undef ushort
#define ushort unsigned short
#undef dword
#define dword long
#undef udword
#define udword unsigned long
#undef ulong
#define ulong unsigned long
/* Button definitions */
#define GPC_VK_NONE 0x00
#define GPC_VK_LEFT 0x01
#define GPC_VK_UP 0x08
#define GPC_VK_RIGHT 0x04
#define GPC_VK_DOWN 0x02
#define GPC_VK_F1 0x80 /*AT OLD, VK_ENTER*/
#define GPC_VK_F2 0x10 /*AT OLD, VK_F3*/
#define GPC_VK_F3 0x20 /*AT OLD, VK_F2*/
#define GPC_VK_ENTER 0x40 /*AT OLD, VK_F1*/
#define GPC_VK_START 0x100
#define GPC_VK_SELECT 0x200
#define GPC_VK_FA GPC_VK_ENTER
#define GPC_VK_FB GPC_VK_F3
#define GPC_VK_FL GPC_VK_F2
#define GPC_VK_FR GPC_VK_F1
/* LCD Definitions */
#define GPC_LCD_WIDTH 320
#define GPC_LCD_HEIGHT 240
#define GPC_LCD_PHYSICAL_W 240
#define GPC_LCD_PHYSICAL_H 320
typedef struct tagGPRECT{
int left;
int top;
int right;
int bottom;
}GPRECT;
typedef struct tagGPPOINT{
int X;
int Y;
} GPPOINT;
/* file stuff */
#define MAX_PATH_NAME_LEN 256
#endif /*__GPDEF_H__*/

View File

@ -1,67 +0,0 @@
#ifndef __GPFONT_H__
#define __GPFONT_H__
#include "gpdef.h"
#include "gpgraphic.h"
typedef struct tagBGFONTINFO{
int kor_w;
int kor_h;
int eng_w;
int eng_h;
int chargap;
int linegap;
}BGFONTINFO;
void GpFontInit (BGFONTINFO * ptr);
void GpFontResSet (unsigned char * p_kor, unsigned char * p_eng);
unsigned char * GpKorFontResGet(void);
unsigned char * GpEngFontResGet(void);
void GpSysFontGet (BGFONTINFO *fInfo);
int GpTextWidthGet (const char * lpsz);
int GpTextHeightGet (const char * lpsz);
int GpTextLenGet (const char * str);
void GpTextOut (GPDRAWTAG * gptag, GPDRAWSURFACE * ptgpds, int x, int y,
char * source, unsigned char color);
void GpCharOut (GPDRAWTAG * gptag, GPDRAWSURFACE * ptgpds, int x, int y,
char * source, unsigned char color);
void GpTextNOut (GPDRAWTAG * gptag, GPDRAWSURFACE * ptgpds, int x, int y,
char * source, int nStart, int nString, unsigned char color);
#define GPC_GT_BOTTOM 0x2
#define GPC_GT_HCENTER 0x8
#define GPC_GT_LEFT 0x10
#define GPC_GT_RIGHT 0x20
#define GPC_GT_TOP 0x40
#define GPC_GT_WORDBREAK 0x80
#define GPC_GT_VCENTER 0x100
void GpTextDraw (GPDRAWSURFACE * ptgpds, GPRECT * cRect, unsigned int uFormat,
char * source, int nStart, int nCount, unsigned char color);
typedef struct tagEXT_FONT{
int fx_flag;
unsigned char * lpsz;
unsigned char * pBmFont;
int ex_font_w;
int ex_font_h;
int ex_chargap;
int ex_linegap;
int color1;
int color2;
} EXT_FONT;
int GpCustTextOut (GPDRAWTAG * gptag, GPDRAWSURFACE * ptgpds, int x, int y, EXT_FONT * y_font);
void GpHAutomatonInit (void);
int GpHAutomatonInput (const char * p_input, char ** p_working);
int GpHAutomatonDelete (char ** p_working);
char * GpHAutomatonBuffered (void);
#endif

View File

@ -1,11 +0,0 @@
#ifndef __GPFONT_PORT_H__
#define __GPFONT_PORT_H__
#define KORFONT_W 12 /* pixel */
#define KORFONT_H 12 /* pixel */
#define ENGFONT_W 8 /* pixel */
#define ENGFONT_H 16 /* pixel */
#define FONT_CHARGAP 4 /* percentage */
#define FONT_LINEGAP 4 /* percentage */
#endif

View File

@ -1,650 +0,0 @@
/*font size : (12, 12), font number : 344*/
const unsigned char fontresKor[] = { /* Foreign lang */
0x00, 0x00, 0x02, 0x04, 0x02, 0x04, 0x04, 0x04, 0x18, 0x04, 0xe0, 0x07, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x08, 0x04, 0xf2, 0x07,
0x04, 0x04, 0xf8, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xfe, 0x07, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x07, 0x02, 0x04, 0x02, 0x04,
0x02, 0x04, 0x02, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xfe, 0x07, 0x02, 0x04, 0x02, 0x04, 0xfe, 0x07, 0x02, 0x04, 0x02, 0x04, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x04, 0x42, 0x04, 0x42, 0x04,
0x42, 0x04, 0xc2, 0x07, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xfe, 0x07, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0xfe, 0x07, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x07, 0x42, 0x00, 0x42, 0x00,
0x42, 0x00, 0xfe, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xfe, 0x07, 0x42, 0x00, 0xfe, 0x07, 0x42, 0x00, 0xfe, 0x07, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x38, 0x00, 0xc0, 0x07,
0x20, 0x00, 0x18, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x04, 0x00, 0x38, 0x00, 0xc2, 0x07, 0x3c, 0x00, 0xe0, 0x07, 0x18, 0x00, 0x04, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x03, 0x02, 0x04, 0x02, 0x04,
0x02, 0x04, 0xfc, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x06, 0x04, 0x38, 0x04, 0xc0, 0x07, 0x30, 0x04, 0x0c, 0x04, 0x02, 0x04, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x04, 0x30, 0x04, 0xc6, 0x07,
0x38, 0x04, 0xe0, 0x07, 0x18, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x02, 0x01, 0x0c, 0x05, 0xf0, 0x05, 0x08, 0x05, 0x04, 0x05, 0x02, 0x01, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x04, 0x42, 0x04, 0x44, 0x04,
0x48, 0x04, 0xf0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xfe, 0x07, 0x42, 0x04, 0x42, 0x04, 0x42, 0x04, 0x42, 0x04, 0x02, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x04, 0xfe, 0x05, 0x02, 0x04,
0x02, 0x04, 0xfe, 0x05, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x3c, 0x01, 0x42, 0x05, 0x42, 0x05, 0x42, 0x05, 0x3c, 0x01, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x04,
0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x08, 0x04, 0xf0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x04, 0x08, 0x04, 0x30, 0x04, 0xc0, 0x07, 0x00, 0x00, 0x00, 0x04, 0x08, 0x04,
0xf0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x07, 0x40, 0x00,
0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xe0, 0x07, 0x20, 0x04, 0x20, 0x04, 0x20, 0x04, 0x20, 0x04, 0x20, 0x04,
0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x07, 0x20, 0x04,
0x20, 0x04, 0xe0, 0x07, 0x20, 0x04, 0x20, 0x04, 0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xf0, 0x04, 0x90, 0x04, 0x90, 0x04, 0x90, 0x04, 0x90, 0x04, 0x90, 0x04,
0x90, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x07, 0x20, 0x04,
0x20, 0x04, 0x20, 0x04, 0x20, 0x04, 0x20, 0x04, 0xe0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xe0, 0x07, 0x20, 0x01, 0x20, 0x01, 0x20, 0x01, 0x20, 0x01, 0x20, 0x01,
0xe0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x07, 0x20, 0x01,
0x20, 0x01, 0xe0, 0x07, 0x20, 0x01, 0x20, 0x01, 0xe0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x80, 0x00, 0x00, 0x01, 0x00, 0x06, 0x00, 0x01, 0x80, 0x00,
0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0xc0, 0x00, 0x00, 0x07,
0xc0, 0x00, 0x20, 0x00, 0xc0, 0x00, 0x00, 0x07, 0xc0, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x40, 0x02, 0x20, 0x04, 0x20, 0x04, 0x20, 0x04, 0x40, 0x02,
0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x04, 0x40, 0x04,
0x80, 0x04, 0x00, 0x07, 0x80, 0x04, 0x40, 0x04, 0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x20, 0x04, 0x40, 0x04, 0x80, 0x07, 0x40, 0x04, 0x20, 0x04, 0x40, 0x04, 0x80, 0x07,
0x40, 0x04, 0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x01, 0x20, 0x05,
0x40, 0x05, 0x80, 0x05, 0x40, 0x05, 0x20, 0x05, 0x10, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x40, 0x04, 0x40, 0x04, 0x40, 0x04, 0x40, 0x04, 0x40, 0x04, 0x48, 0x04,
0xf0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x07, 0x90, 0x04,
0x90, 0x04, 0x90, 0x04, 0x90, 0x04, 0x90, 0x04, 0x90, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x20, 0x04, 0xe0, 0x07, 0x20, 0x04, 0x20, 0x04, 0x20, 0x04, 0xe0, 0x07,
0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x60, 0x01, 0x90, 0x05,
0x10, 0x05, 0x10, 0x05, 0x10, 0x05, 0x90, 0x05, 0x60, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x20, 0x04,
0xc0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x04,
0x20, 0x04, 0xc0, 0x07, 0x00, 0x00, 0x00, 0x04, 0x20, 0x04, 0xc0, 0x07, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x80, 0x07, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x07, 0x40, 0x04,
0x40, 0x04, 0x40, 0x04, 0x40, 0x04, 0x40, 0x04, 0x40, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xc0, 0x07, 0x40, 0x04, 0x40, 0x04, 0xc0, 0x07, 0x40, 0x04, 0x40, 0x04,
0x40, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x05, 0x40, 0x05,
0x40, 0x05, 0x40, 0x05, 0x40, 0x05, 0x40, 0x05, 0x40, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xc0, 0x07, 0x40, 0x04, 0x40, 0x04, 0x40, 0x04, 0x40, 0x04, 0x40, 0x04,
0xc0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x07, 0x40, 0x01,
0x40, 0x01, 0x40, 0x01, 0x40, 0x01, 0x40, 0x01, 0xc0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xc0, 0x07, 0x40, 0x01, 0x40, 0x01, 0xc0, 0x07, 0x40, 0x01, 0x40, 0x01,
0xc0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01,
0x00, 0x02, 0x00, 0x04, 0x00, 0x02, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x40, 0x00, 0x80, 0x01, 0x00, 0x06, 0x80, 0x01, 0x40, 0x00, 0x80, 0x01, 0x00, 0x06,
0x80, 0x01, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x40, 0x04,
0x40, 0x04, 0x40, 0x04, 0x40, 0x04, 0x40, 0x04, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x40, 0x04, 0x80, 0x04, 0x00, 0x05, 0x00, 0x06, 0x00, 0x05, 0x80, 0x04,
0x40, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x04, 0x80, 0x04, 0x00, 0x07,
0x80, 0x04, 0x40, 0x04, 0x80, 0x04, 0x00, 0x07, 0x80, 0x04, 0x40, 0x04, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x20, 0x01, 0x40, 0x05, 0x80, 0x05, 0x00, 0x05, 0x80, 0x05, 0x40, 0x05,
0x20, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x04, 0x80, 0x04,
0x80, 0x04, 0x80, 0x04, 0x80, 0x04, 0xa0, 0x04, 0xc0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xe0, 0x07, 0x20, 0x05, 0x20, 0x05, 0x20, 0x05, 0x20, 0x05, 0x20, 0x05,
0x20, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x04, 0xe0, 0x05,
0x20, 0x04, 0x20, 0x04, 0x20, 0x04, 0xe0, 0x05, 0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x01, 0x40, 0x01, 0xa0, 0x05, 0x20, 0x05, 0x20, 0x05, 0x20, 0x05, 0xa0, 0x05,
0x40, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04,
0x08, 0x04, 0xf0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x04, 0x10, 0x04, 0xe0, 0x07, 0x00, 0x00, 0x00, 0x04, 0xf0, 0x07, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x07, 0x40, 0x00, 0x40, 0x00,
0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xe0, 0x07, 0x20, 0x04, 0x20, 0x04, 0x20, 0x04, 0x20, 0x04, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x07, 0x20, 0x04, 0x20, 0x04,
0xe0, 0x07, 0x20, 0x04, 0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xf0, 0x04, 0x90, 0x04, 0x90, 0x04, 0x90, 0x04, 0x90, 0x07, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x07, 0x20, 0x04, 0x20, 0x04,
0x20, 0x04, 0xe0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xe0, 0x07, 0x20, 0x01, 0x20, 0x01, 0x20, 0x01, 0xe0, 0x07, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x07, 0x20, 0x01, 0xe0, 0x07,
0x20, 0x01, 0xe0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x20, 0x00, 0xc0, 0x00, 0x00, 0x07, 0x80, 0x00, 0x40, 0x00, 0x20, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0xc0, 0x00, 0x20, 0x07,
0xc0, 0x00, 0x00, 0x07, 0xc0, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xc0, 0x03, 0x20, 0x04, 0x20, 0x04, 0x20, 0x04, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x04, 0x40, 0x04, 0x80, 0x07,
0x80, 0x04, 0x40, 0x04, 0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x40, 0x04, 0x80, 0x07, 0x40, 0x04, 0x80, 0x07, 0x80, 0x04, 0x40, 0x04, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x01, 0x20, 0x05, 0xc0, 0x05,
0x40, 0x05, 0x20, 0x05, 0x10, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x80, 0x04, 0x80, 0x04, 0x80, 0x04, 0x90, 0x04, 0xe0, 0x07, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x07, 0x90, 0x04, 0x90, 0x04,
0x90, 0x04, 0x90, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x20, 0x04, 0xe0, 0x07, 0x20, 0x04, 0x20, 0x04, 0xe0, 0x07, 0x20, 0x04, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x01, 0x90, 0x05, 0x10, 0x05,
0x90, 0x05, 0x60, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x40, 0x04, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x40, 0x04, 0x80, 0x07,
0x00, 0x00, 0x40, 0x04, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x80, 0x07, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x07, 0x40, 0x04, 0x40, 0x04,
0x40, 0x04, 0x40, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xc0, 0x07, 0x40, 0x04, 0x40, 0x04, 0xc0, 0x07, 0x40, 0x04, 0x40, 0x04, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x05, 0x40, 0x05, 0x40, 0x05,
0x40, 0x05, 0x40, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x80, 0x07, 0x80, 0x04, 0x80, 0x04, 0x80, 0x04, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x07, 0x40, 0x01, 0x40, 0x01,
0x40, 0x01, 0xc0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xc0, 0x07, 0x40, 0x01, 0xc0, 0x07, 0x40, 0x01, 0xc0, 0x07, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x00, 0x06,
0x00, 0x02, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x80, 0x00, 0x00, 0x07, 0x00, 0x01, 0x80, 0x00, 0x00, 0x07, 0x00, 0x01, 0x80, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x40, 0x04, 0x40, 0x04,
0x40, 0x04, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x40, 0x04, 0x80, 0x04, 0x00, 0x07, 0x00, 0x05, 0x80, 0x04, 0x40, 0x04, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x04, 0x80, 0x07, 0x40, 0x04,
0x80, 0x07, 0x80, 0x04, 0x40, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x40, 0x01, 0x40, 0x05, 0x80, 0x05, 0x80, 0x05, 0x40, 0x05, 0x40, 0x01, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x04, 0x80, 0x04, 0x80, 0x04,
0xa0, 0x04, 0xc0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xc0, 0x07, 0x40, 0x05, 0x40, 0x05, 0x40, 0x05, 0x40, 0x05, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x04, 0xc0, 0x07, 0x40, 0x04,
0x40, 0x04, 0xc0, 0x07, 0x40, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x40, 0x01, 0xa0, 0x05, 0x20, 0x05, 0xa0, 0x05, 0x40, 0x01, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x04, 0x10, 0x04, 0x20, 0x04,
0x40, 0x04, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x20, 0x04, 0x40, 0x04, 0x90, 0x07, 0x20, 0x04, 0xc0, 0x07, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x07, 0x20, 0x00, 0x20, 0x00,
0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xe0, 0x07, 0x20, 0x04, 0x20, 0x04, 0x20, 0x04, 0x20, 0x04, 0x20, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x07, 0x20, 0x04, 0x20, 0x04,
0xe0, 0x07, 0x20, 0x04, 0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xf0, 0x04, 0x90, 0x04, 0x90, 0x04, 0x90, 0x04, 0x90, 0x07, 0x10, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x07, 0x20, 0x04, 0x20, 0x04,
0x20, 0x04, 0xe0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xf0, 0x07, 0x10, 0x01, 0x10, 0x01, 0x10, 0x01, 0xf0, 0x07, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x07, 0x10, 0x01, 0xf0, 0x07,
0x10, 0x01, 0xf0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x10, 0x00, 0x60, 0x00, 0x80, 0x07, 0x80, 0x00, 0x40, 0x00, 0x30, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0xc0, 0x00, 0x20, 0x07,
0xc0, 0x00, 0x00, 0x07, 0xc0, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xc0, 0x03, 0x20, 0x04, 0x20, 0x04, 0x20, 0x04, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x04, 0x60, 0x04, 0x80, 0x07,
0x40, 0x04, 0x20, 0x04, 0x10, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x20, 0x04, 0xc0, 0x04, 0x20, 0x07, 0xc0, 0x04, 0x80, 0x07, 0x40, 0x04, 0x20, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x01, 0x20, 0x05, 0xc0, 0x05,
0x40, 0x05, 0x20, 0x05, 0x10, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x90, 0x04, 0x90, 0x04, 0x90, 0x04, 0xa0, 0x04, 0xc0, 0x07, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x07, 0x90, 0x04, 0x90, 0x04,
0x90, 0x04, 0x10, 0x04, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x10, 0x04, 0xf0, 0x05, 0x10, 0x04, 0x10, 0x04, 0xf0, 0x05, 0x10, 0x04, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x01, 0x90, 0x05, 0x10, 0x05,
0x90, 0x05, 0x60, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x80, 0x04,
0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x80, 0x04,
0x00, 0x07, 0x00, 0x00, 0x00, 0x04, 0x80, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x07, 0x80, 0x04,
0x80, 0x04, 0x80, 0x04, 0x80, 0x04, 0x80, 0x04, 0x80, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x80, 0x07, 0x80, 0x04, 0x80, 0x04, 0x80, 0x07, 0x80, 0x04, 0x80, 0x04,
0x80, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x05, 0x40, 0x05,
0x40, 0x05, 0x40, 0x05, 0x40, 0x05, 0x40, 0x05, 0x40, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x80, 0x07, 0x80, 0x04, 0x80, 0x04, 0x80, 0x04, 0x80, 0x04, 0x80, 0x04,
0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x07, 0x80, 0x02,
0x80, 0x02, 0x80, 0x02, 0x80, 0x02, 0x80, 0x02, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x80, 0x07, 0x80, 0x02, 0x80, 0x02, 0x80, 0x07, 0x80, 0x02, 0x80, 0x02,
0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01,
0x00, 0x02, 0x00, 0x04, 0x00, 0x02, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x00, 0x06, 0x00, 0x01, 0x80, 0x00, 0x00, 0x01, 0x00, 0x06,
0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x80, 0x04,
0x80, 0x04, 0x80, 0x04, 0x80, 0x04, 0x80, 0x04, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x80, 0x04, 0x00, 0x05, 0x00, 0x06, 0x00, 0x04, 0x00, 0x06, 0x00, 0x05,
0x80, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x04, 0x00, 0x05, 0x00, 0x06,
0x00, 0x05, 0x80, 0x04, 0x00, 0x05, 0x00, 0x06, 0x00, 0x05, 0x80, 0x04, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0x40, 0x01, 0x40, 0x05, 0x80, 0x05, 0x40, 0x05, 0x40, 0x01,
0x40, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05,
0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x40, 0x05, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xc0, 0x07, 0x40, 0x05, 0x40, 0x05, 0x40, 0x05, 0x40, 0x05, 0x40, 0x05,
0x40, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x04, 0x80, 0x07,
0x80, 0x04, 0x80, 0x04, 0x80, 0x04, 0x80, 0x04, 0x80, 0x07, 0x80, 0x04, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x02, 0x80, 0x02, 0x40, 0x03, 0x40, 0x02, 0x40, 0x06, 0x40, 0x02, 0x40, 0x03,
0x80, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04,
0x80, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x04, 0x80, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x04, 0x80, 0x07, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x01, 0x00, 0x01,
0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x80, 0x07, 0x80, 0x04, 0x80, 0x04, 0x80, 0x04, 0x80, 0x04, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x07, 0x80, 0x04, 0x80, 0x04,
0x80, 0x07, 0x80, 0x04, 0x80, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xc0, 0x05, 0x40, 0x05, 0x40, 0x05, 0x40, 0x05, 0x40, 0x07, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x07, 0x80, 0x04, 0x80, 0x04,
0x80, 0x04, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x80, 0x07, 0x80, 0x02, 0x80, 0x02, 0x80, 0x02, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x07, 0x80, 0x02, 0x80, 0x07,
0x80, 0x02, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x00, 0x06, 0x00, 0x02, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x07, 0x00, 0x01,
0x80, 0x00, 0x80, 0x07, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x03, 0x80, 0x04, 0x80, 0x04, 0x80, 0x04, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x04, 0x80, 0x04, 0x00, 0x07,
0x00, 0x05, 0x80, 0x04, 0x40, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x80, 0x04, 0x00, 0x07, 0x80, 0x04, 0x00, 0x07, 0x00, 0x05, 0x80, 0x04, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0x40, 0x05, 0x80, 0x05,
0x80, 0x05, 0x40, 0x05, 0x40, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x40, 0x05, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x07, 0x40, 0x05, 0x40, 0x05,
0x40, 0x05, 0x40, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x40, 0x04, 0xc0, 0x07, 0x40, 0x04, 0x40, 0x04, 0xc0, 0x07, 0x40, 0x04, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x02, 0x40, 0x03, 0x40, 0x06,
0x40, 0x03, 0x80, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xff, 0x07, 0x20, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x07, 0x20, 0x00, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xff, 0x07, 0x90, 0x00, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x07, 0x90, 0x00, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x20, 0x00,
0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0xff, 0x07, 0x00, 0x00, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x00, 0x90, 0x00,
0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x90, 0x00, 0xff, 0x07, 0x00, 0x00, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0x7e, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00,
0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0x3e, 0x00,
0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0xff, 0x07, 0x20, 0x00, 0x20, 0x00, 0x00, 0x00,
0x00, 0x00, 0x02, 0x00, 0x7e, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0xff, 0x07,
0x20, 0x00, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x7e, 0x00, 0x02, 0x00,
0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0x7e, 0x00, 0x02, 0x00, 0x7e, 0x00, 0x02, 0x00, 0x02, 0x00,
0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00,
0x10, 0x00, 0x1f, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x20, 0x00, 0x22, 0x00, 0x3c, 0x00, 0x20, 0x00, 0x20, 0x00, 0x28, 0x00, 0x08, 0x00,
0x08, 0x00, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x22, 0x00, 0x3c, 0x00,
0x20, 0x00, 0x28, 0x00, 0xff, 0x07, 0x00, 0x00, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x20, 0x00, 0x22, 0x00, 0x3c, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x00, 0x00,
0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, 0x1f, 0x00,
0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x1f, 0x00, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00,
0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00,
0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00,
0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x07, 0x40, 0x00, 0x40, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x07,
0x40, 0x00, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x07, 0x90, 0x00, 0x90, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x07,
0x90, 0x00, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x40, 0x00, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
0xff, 0x07, 0x00, 0x00, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x90, 0x00, 0x90, 0x00, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x00, 0x90, 0x00,
0xff, 0x07, 0x00, 0x00, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00,
0x02, 0x00, 0x1e, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0x0e, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00,
0xff, 0x07, 0x40, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0x1e, 0x00,
0x02, 0x00, 0x02, 0x00, 0xff, 0x07, 0x20, 0x00, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0x1e, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00,
0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0x0e, 0x00,
0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x0e, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x0f, 0x00, 0x08, 0x00, 0x08, 0x00,
0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x12, 0x00, 0x1c, 0x00,
0x10, 0x00, 0x14, 0x00, 0x14, 0x00, 0x04, 0x00, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x10, 0x00, 0x12, 0x00, 0x1c, 0x00, 0x10, 0x00, 0x10, 0x00, 0x12, 0x00, 0x02, 0x00,
0xff, 0x07, 0x00, 0x00, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x11, 0x00, 0x1e, 0x00,
0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x0f, 0x00, 0x08, 0x00, 0x08, 0x00, 0x0f, 0x00,
0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00,
0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00,
0x04, 0x00, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xf8, 0x07, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xf0, 0x07, 0x80, 0x00, 0xf8, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xf8, 0x07, 0x20, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xf0, 0x07, 0x20, 0x02, 0xf8, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x40, 0x00,
0xf8, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x80, 0x00, 0xf0, 0x07, 0x00, 0x00, 0xf8, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x02, 0x20, 0x02,
0xf8, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x40, 0x02, 0xf0, 0x07, 0x00, 0x00, 0xf8, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0xe0, 0x01, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
0x20, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0xe0, 0x01, 0x20, 0x00,
0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x00, 0x00, 0xf0, 0x07, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x20, 0x00, 0xe0, 0x01, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0xe0, 0x07,
0x80, 0x00, 0xe0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0xe0, 0x01, 0x20, 0x00,
0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x00, 0x00, 0xe0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x40, 0x00, 0x40, 0x00, 0xc0, 0x01, 0x40, 0x00, 0xc0, 0x01, 0x40, 0x00, 0x40, 0x00,
0x40, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00,
0x40, 0x00, 0x70, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x40, 0x00, 0x40, 0x00, 0x78, 0x00, 0x40, 0x00, 0x40, 0x00, 0x50, 0x00, 0x10, 0x00,
0xfc, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x40, 0x00, 0x70, 0x00,
0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x02, 0xf0, 0x07, 0x00, 0x00, 0xf0, 0x07, 0x00, 0x00,
0x00, 0x00, 0x40, 0x00, 0x40, 0x00, 0x70, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x00, 0x00,
0xf0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00,
0x70, 0x00, 0x40, 0x00, 0x40, 0x00, 0x70, 0x00, 0x40, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00,
0x40, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00,
0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x00, 0x00, 0xf0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xf8, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x07, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x07, 0x80, 0x00,
0xf8, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x07, 0x40, 0x01, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x07, 0x40, 0x01,
0xf8, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0xf8, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0xf0, 0x07, 0x00, 0x00,
0xf8, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0x40, 0x01, 0xf8, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0xf0, 0x07, 0x00, 0x00,
0xf8, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
0x20, 0x00, 0x60, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x20, 0x00, 0x20, 0x00, 0x60, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x00, 0x00,
0xe0, 0x07, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x20, 0x00, 0xe0, 0x00,
0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0xe0, 0x07, 0x80, 0x00, 0xe0, 0x07, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x20, 0x00, 0x20, 0x00, 0xe0, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x00, 0x00,
0xf0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x20, 0x00, 0x60, 0x00,
0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x60, 0x00, 0x20, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x30, 0x00, 0x20, 0x00, 0x20, 0x00,
0x20, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x20, 0x00, 0x30, 0x00,
0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x00, 0x02, 0xf8, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x20, 0x00, 0x20, 0x00, 0x30, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x01, 0xf0, 0x07,
0x00, 0x00, 0xf0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x20, 0x00, 0x30, 0x00,
0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x00, 0x00, 0xf0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x20, 0x00, 0x20, 0x00, 0x30, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x30, 0x00,
0x20, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00,
0xf8, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00,
0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x08, 0x00,
0x08, 0x00, 0x0f, 0x00, 0x08, 0x00, 0x08, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x0f, 0x00, 0x01, 0x00, 0x02, 0x00, 0x0c, 0x00,
0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x01, 0x00,
0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x01, 0x00, 0x01, 0x00, 0x09, 0x00, 0x0a, 0x00, 0x0c, 0x00,
0x0a, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x01, 0x00,
0x01, 0x00, 0x0a, 0x00, 0x0d, 0x00, 0x19, 0x00, 0x0d, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 0x09, 0x00,
0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x15, 0x00,
0x15, 0x00, 0x15, 0x00, 0x15, 0x00, 0x15, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x17, 0x00, 0x15, 0x00, 0x15, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00,
0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x15, 0x00, 0x15, 0x00,
0x1d, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x11, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x17, 0x00, 0x15, 0x00, 0x15, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x05, 0x00,
0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x15, 0x00, 0x15, 0x00,
0x1d, 0x00, 0x01, 0x00, 0x02, 0x00, 0x1c, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x17, 0x00, 0x15, 0x00, 0x15, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x15, 0x00,
0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x15, 0x00, 0x15, 0x00,
0x1d, 0x00, 0x11, 0x00, 0x1f, 0x00, 0x11, 0x00, 0x1f, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x17, 0x00, 0x15, 0x00, 0x15, 0x00, 0x1d, 0x00, 0x0a, 0x00, 0x0d, 0x00, 0x19, 0x00,
0x0d, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x09, 0x00,
0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00,
0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x05, 0x00, 0x05, 0x00,
0x0f, 0x00, 0x01, 0x00, 0x02, 0x00, 0x0c, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x0c, 0x00, 0x02, 0x00, 0x01, 0x00,
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x0c, 0x00,
0x02, 0x00, 0x01, 0x00, 0x02, 0x00, 0x0c, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 0x09, 0x00,
0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x09, 0x00,
0x0a, 0x00, 0x0c, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x15, 0x00, 0x16, 0x00, 0x14, 0x00, 0x16, 0x00, 0x15, 0x00,
0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x0a, 0x00,
0x0a, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x15, 0x00, 0x15, 0x00, 0x15, 0x00, 0x15, 0x00, 0x15, 0x00,
0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x0f, 0x00,
0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 0x0f, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x0d, 0x00, 0x09, 0x00, 0x19, 0x00, 0x09, 0x00, 0x0d, 0x00,
0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x08, 0x00,
0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x0f, 0x00, 0x08, 0x00, 0x08, 0x00,
0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00,
0x0f, 0x00, 0x01, 0x00, 0x02, 0x00, 0x0c, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00,
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x01, 0x00,
0x01, 0x00, 0x09, 0x00, 0x0a, 0x00, 0x0c, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x01, 0x00, 0x01, 0x00, 0x0a, 0x00, 0x0d, 0x00, 0x19, 0x00,
0x0d, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x09, 0x00,
0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x15, 0x00, 0x15, 0x00, 0x15, 0x00, 0x15, 0x00, 0x15, 0x00,
0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x15, 0x00, 0x15, 0x00,
0x1d, 0x00, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x17, 0x00, 0x15, 0x00, 0x15, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x11, 0x00,
0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x15, 0x00, 0x15, 0x00,
0x1d, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x05, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x17, 0x00, 0x15, 0x00, 0x15, 0x00, 0x1d, 0x00, 0x01, 0x00, 0x02, 0x00, 0x1c, 0x00,
0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x15, 0x00, 0x15, 0x00,
0x1d, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x15, 0x00, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x17, 0x00, 0x15, 0x00, 0x15, 0x00, 0x1d, 0x00, 0x11, 0x00, 0x1f, 0x00, 0x11, 0x00,
0x1f, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x15, 0x00, 0x15, 0x00,
0x1d, 0x00, 0x0a, 0x00, 0x0d, 0x00, 0x19, 0x00, 0x0d, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 0x09, 0x00,
0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x05, 0x00,
0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x0f, 0x00, 0x05, 0x00, 0x05, 0x00, 0x0f, 0x00, 0x01, 0x00, 0x02, 0x00, 0x0c, 0x00,
0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00,
0x02, 0x00, 0x0c, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x0c, 0x00, 0x02, 0x00, 0x01, 0x00, 0x02, 0x00, 0x0c, 0x00,
0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x09, 0x00,
0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x09, 0x00, 0x0a, 0x00, 0x0c, 0x00, 0x0a, 0x00, 0x09, 0x00,
0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x15, 0x00,
0x16, 0x00, 0x14, 0x00, 0x16, 0x00, 0x15, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x0a, 0x00,
0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x15, 0x00,
0x15, 0x00, 0x15, 0x00, 0x15, 0x00, 0x15, 0x00, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x0f, 0x00, 0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 0x0f, 0x00,
0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x0d, 0x00,
0x09, 0x00, 0x19, 0x00, 0x09, 0x00, 0x0d, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00,
0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x08, 0x00,
0x08, 0x00, 0x0f, 0x00, 0x08, 0x00, 0x08, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x0f, 0x00, 0x01, 0x00, 0x02, 0x00, 0x0c, 0x00,
0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x01, 0x00,
0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x01, 0x00, 0x01, 0x00, 0x09, 0x00, 0x0a, 0x00, 0x0c, 0x00,
0x0a, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x01, 0x00,
0x01, 0x00, 0x0a, 0x00, 0x0d, 0x00, 0x19, 0x00, 0x0d, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 0x09, 0x00,
0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x15, 0x00,
0x15, 0x00, 0x15, 0x00, 0x15, 0x00, 0x15, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x17, 0x00, 0x15, 0x00, 0x15, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00,
0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x15, 0x00, 0x15, 0x00,
0x1d, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x11, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x17, 0x00, 0x15, 0x00, 0x15, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x05, 0x00,
0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x15, 0x00, 0x15, 0x00,
0x1d, 0x00, 0x01, 0x00, 0x02, 0x00, 0x1c, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x17, 0x00, 0x15, 0x00, 0x15, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x15, 0x00,
0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x15, 0x00, 0x15, 0x00,
0x1d, 0x00, 0x11, 0x00, 0x1f, 0x00, 0x11, 0x00, 0x1f, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x17, 0x00, 0x15, 0x00, 0x15, 0x00, 0x1d, 0x00, 0x0a, 0x00, 0x0d, 0x00, 0x19, 0x00,
0x0d, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x09, 0x00,
0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00,
0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x05, 0x00, 0x05, 0x00,
0x0f, 0x00, 0x01, 0x00, 0x02, 0x00, 0x0c, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x0c, 0x00, 0x02, 0x00, 0x01, 0x00,
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x0c, 0x00,
0x02, 0x00, 0x01, 0x00, 0x02, 0x00, 0x0c, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 0x09, 0x00,
0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x09, 0x00,
0x0a, 0x00, 0x0c, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x15, 0x00, 0x16, 0x00, 0x14, 0x00, 0x16, 0x00, 0x15, 0x00,
0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x0a, 0x00,
0x0a, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x15, 0x00, 0x15, 0x00, 0x15, 0x00, 0x15, 0x00, 0x15, 0x00,
0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x0f, 0x00,
0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 0x0f, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x0d, 0x00, 0x09, 0x00, 0x19, 0x00, 0x09, 0x00, 0x0d, 0x00,
0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x08, 0x00,
0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x0f, 0x00, 0x08, 0x00, 0x08, 0x00,
0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00,
0x0f, 0x00, 0x01, 0x00, 0x02, 0x00, 0x0c, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00,
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x01, 0x00,
0x01, 0x00, 0x09, 0x00, 0x0a, 0x00, 0x0c, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x01, 0x00, 0x01, 0x00, 0x0a, 0x00, 0x0d, 0x00, 0x19, 0x00,
0x0d, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x09, 0x00,
0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x15, 0x00, 0x15, 0x00, 0x15, 0x00, 0x15, 0x00, 0x15, 0x00,
0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x15, 0x00, 0x15, 0x00,
0x1d, 0x00, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x17, 0x00, 0x15, 0x00, 0x15, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x11, 0x00,
0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x15, 0x00, 0x15, 0x00,
0x1d, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x05, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x17, 0x00, 0x15, 0x00, 0x15, 0x00, 0x1d, 0x00, 0x01, 0x00, 0x02, 0x00, 0x1c, 0x00,
0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x15, 0x00, 0x15, 0x00,
0x1d, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x15, 0x00, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x17, 0x00, 0x15, 0x00, 0x15, 0x00, 0x1d, 0x00, 0x11, 0x00, 0x1f, 0x00, 0x11, 0x00,
0x1f, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x15, 0x00, 0x15, 0x00,
0x1d, 0x00, 0x0a, 0x00, 0x0d, 0x00, 0x19, 0x00, 0x0d, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 0x09, 0x00,
0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x05, 0x00,
0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x0f, 0x00, 0x05, 0x00, 0x05, 0x00, 0x0f, 0x00, 0x01, 0x00, 0x02, 0x00, 0x0c, 0x00,
0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00,
0x02, 0x00, 0x0c, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x0c, 0x00, 0x02, 0x00, 0x01, 0x00, 0x02, 0x00, 0x0c, 0x00,
0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x09, 0x00,
0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x09, 0x00, 0x0a, 0x00, 0x0c, 0x00, 0x0a, 0x00, 0x09, 0x00,
0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x15, 0x00,
0x16, 0x00, 0x14, 0x00, 0x16, 0x00, 0x15, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x0a, 0x00,
0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x15, 0x00,
0x15, 0x00, 0x15, 0x00, 0x15, 0x00, 0x15, 0x00, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x0f, 0x00, 0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 0x0f, 0x00,
0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x0d, 0x00,
0x09, 0x00, 0x19, 0x00, 0x09, 0x00, 0x0d, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
/*font size : (8, 16), font number : 128*/
const unsigned char fontresEng[] = { /* Ascii code */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xe0, 0x0f, 0x10, 0x10, 0x90, 0x14, 0xd0, 0x10, 0xd0, 0x10, 0x90, 0x14, 0x10, 0x10, 0xe0, 0x0f,
0xe0, 0x0f, 0xf0, 0x1f, 0x70, 0x1b, 0x30, 0x1f, 0x30, 0x1f, 0x70, 0x1b, 0xf0, 0x1f, 0xe0, 0x0f,
0x00, 0x00, 0x80, 0x07, 0xc0, 0x0f, 0xe0, 0x0f, 0xf0, 0x07, 0xe0, 0x0f, 0xc0, 0x0f, 0x80, 0x07,
0x00, 0x00, 0x00, 0x01, 0x80, 0x03, 0xc0, 0x07, 0xe0, 0x0f, 0xc0, 0x07, 0x80, 0x03, 0x00, 0x01,
0x80, 0x03, 0x80, 0x03, 0x90, 0x0f, 0x70, 0x1c, 0x70, 0x1c, 0x90, 0x0f, 0x80, 0x03, 0x80, 0x03,
0x00, 0x03, 0x80, 0x07, 0x90, 0x0f, 0xf0, 0x1f, 0xf0, 0x1f, 0x90, 0x0f, 0x80, 0x07, 0x00, 0x03,
0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0xc0, 0x03, 0xc0, 0x03, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00,
0xfe, 0x7f, 0xfe, 0x7f, 0x7e, 0x7e, 0x3e, 0x7c, 0x3e, 0x7c, 0x7e, 0x7e, 0xfe, 0x7f, 0xfe, 0x7f,
0x00, 0x00, 0xc0, 0x03, 0x60, 0x06, 0x20, 0x04, 0x20, 0x04, 0x60, 0x06, 0xc0, 0x03, 0x00, 0x00,
0xfe, 0x7f, 0x3e, 0x7c, 0x9e, 0x79, 0xde, 0x7b, 0xde, 0x7b, 0x9e, 0x79, 0x3e, 0x7c, 0xfe, 0x7f,
0x00, 0x00, 0xe0, 0x00, 0xf0, 0x01, 0x10, 0x03, 0x10, 0x17, 0xf0, 0x1d, 0xe0, 0x18, 0x00, 0x1e,
0x00, 0x00, 0x40, 0x0e, 0x40, 0x1f, 0xf0, 0x11, 0xf0, 0x11, 0x40, 0x1f, 0x40, 0x0e, 0x00, 0x00,
0x00, 0x0e, 0x00, 0x1f, 0x00, 0x11, 0xf0, 0x1f, 0xf0, 0x1f, 0x00, 0x10, 0xf0, 0x1f, 0xf0, 0x1f,
0x30, 0x00, 0x70, 0x00, 0xf0, 0x1f, 0xe0, 0x1f, 0x00, 0x14, 0x00, 0x14, 0x00, 0x1c, 0x00, 0x1c,
0x38, 0x00, 0xf8, 0x1f, 0xf0, 0x1f, 0x00, 0x14, 0x00, 0x14, 0x70, 0x14, 0xf0, 0x1f, 0xe0, 0x1f,
0x00, 0x00, 0xe0, 0x01, 0xe0, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
0x00, 0x00, 0xf0, 0x1f, 0xe0, 0x0f, 0xc0, 0x07, 0x80, 0x03, 0x80, 0x03, 0x00, 0x01, 0x00, 0x01,
0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x80, 0x03, 0x80, 0x03, 0xc0, 0x07, 0xe0, 0x0f, 0xf0, 0x1f,
0x00, 0x00, 0x40, 0x04, 0x60, 0x0c, 0xf0, 0x1f, 0xf0, 0x1f, 0x60, 0x0c, 0x40, 0x04, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xb0, 0x1f, 0xb0, 0x1f, 0x00, 0x00, 0x00, 0x00, 0xb0, 0x1f, 0xb0, 0x1f,
0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0xe0, 0x01, 0xe0, 0x01,
0x00, 0x00, 0x70, 0x00, 0x70, 0x00, 0x70, 0x00, 0x70, 0x00, 0x70, 0x00, 0x70, 0x00, 0x70, 0x00,
0x00, 0x00, 0x48, 0x04, 0x68, 0x0c, 0xf8, 0x1f, 0xf8, 0x1f, 0x68, 0x0c, 0x48, 0x04, 0x00, 0x00,
0x00, 0x00, 0x00, 0x04, 0x00, 0x0c, 0xf0, 0x1f, 0xf0, 0x1f, 0x00, 0x0c, 0x00, 0x04, 0x00, 0x00,
0x00, 0x00, 0x40, 0x00, 0x60, 0x00, 0xf0, 0x1f, 0xf0, 0x1f, 0x60, 0x00, 0x40, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x40, 0x05, 0xc0, 0x07, 0x80, 0x03, 0x00, 0x01,
0x00, 0x00, 0x00, 0x01, 0x80, 0x03, 0xc0, 0x07, 0x40, 0x05, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
0x00, 0x00, 0xc0, 0x03, 0xc0, 0x03, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00,
0x00, 0x01, 0x80, 0x03, 0xc0, 0x07, 0x00, 0x01, 0x00, 0x01, 0xc0, 0x07, 0x80, 0x03, 0x00, 0x01,
0x00, 0x00, 0x60, 0x00, 0xe0, 0x01, 0xe0, 0x07, 0xe0, 0x0f, 0xe0, 0x07, 0xe0, 0x01, 0x60, 0x00,
0x00, 0x00, 0x00, 0x0c, 0x00, 0x0f, 0xc0, 0x0f, 0xe0, 0x0f, 0xc0, 0x0f, 0x00, 0x0f, 0x00, 0x0c,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0xb0, 0x1f, 0xb0, 0x1f, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x38, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x38,
0x00, 0x00, 0x40, 0x04, 0xf0, 0x1f, 0xf0, 0x1f, 0x40, 0x04, 0xf0, 0x1f, 0xf0, 0x1f, 0x40, 0x04,
0x00, 0x00, 0x60, 0x0e, 0x30, 0x1f, 0x10, 0x11, 0x1c, 0x71, 0x1c, 0x71, 0xf0, 0x19, 0xe0, 0x0c,
0x00, 0x00, 0x10, 0x06, 0x30, 0x06, 0x60, 0x00, 0xc0, 0x00, 0x80, 0x01, 0x30, 0x03, 0x30, 0x06,
0x00, 0x00, 0xe0, 0x00, 0xf0, 0x0d, 0x10, 0x1f, 0x90, 0x13, 0xe0, 0x1e, 0xf0, 0x0d, 0x10, 0x01,
0x00, 0x00, 0x00, 0x04, 0x00, 0x3c, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xc0, 0x07, 0xe0, 0x0f, 0x30, 0x18, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x30, 0x18, 0xe0, 0x0f, 0xc0, 0x07, 0x00, 0x00,
0x00, 0x01, 0x40, 0x05, 0xc0, 0x07, 0x80, 0x03, 0x80, 0x03, 0xc0, 0x07, 0x40, 0x05, 0x00, 0x01,
0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0xe0, 0x0f, 0xe0, 0x0f, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x78, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x60, 0x00, 0xc0, 0x00, 0x80, 0x01, 0x00, 0x03, 0x00, 0x06, 0x00, 0x0c, 0x00, 0x18,
0x00, 0x00, 0xe0, 0x0f, 0xf0, 0x1f, 0x90, 0x11, 0x10, 0x13, 0x10, 0x16, 0xf0, 0x1f, 0xe0, 0x0f,
0x00, 0x00, 0x00, 0x00, 0x10, 0x04, 0x10, 0x0c, 0xf0, 0x1f, 0xf0, 0x1f, 0x10, 0x00, 0x10, 0x00,
0x00, 0x00, 0x30, 0x08, 0x70, 0x18, 0xd0, 0x10, 0x90, 0x11, 0x10, 0x13, 0x30, 0x1e, 0x30, 0x0c,
0x00, 0x00, 0x20, 0x08, 0x30, 0x18, 0x10, 0x11, 0x10, 0x11, 0x10, 0x11, 0xf0, 0x1f, 0xe0, 0x0e,
0x00, 0x00, 0x80, 0x01, 0x80, 0x03, 0x80, 0x06, 0x90, 0x0c, 0xf0, 0x1f, 0xf0, 0x1f, 0x90, 0x00,
0x00, 0x00, 0x20, 0x1f, 0x30, 0x1f, 0x10, 0x11, 0x10, 0x11, 0x10, 0x11, 0xf0, 0x11, 0xe0, 0x10,
0x00, 0x00, 0xe0, 0x07, 0xf0, 0x0f, 0x10, 0x19, 0x10, 0x11, 0x10, 0x11, 0xf0, 0x01, 0xe0, 0x00,
0x00, 0x00, 0x00, 0x18, 0x00, 0x18, 0xf0, 0x10, 0xf0, 0x11, 0x00, 0x13, 0x00, 0x1e, 0x00, 0x1c,
0x00, 0x00, 0xe0, 0x0e, 0xf0, 0x1f, 0x10, 0x11, 0x10, 0x11, 0x10, 0x11, 0xf0, 0x1f, 0xe0, 0x0e,
0x00, 0x00, 0x00, 0x0e, 0x10, 0x1f, 0x10, 0x11, 0x10, 0x11, 0x30, 0x11, 0xe0, 0x1f, 0xc0, 0x0f,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x60, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x70, 0x0c, 0x60, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x01, 0x80, 0x03, 0xc0, 0x06, 0x60, 0x0c, 0x30, 0x18, 0x10, 0x10, 0x00, 0x00,
0x00, 0x00, 0x40, 0x02, 0x40, 0x02, 0x40, 0x02, 0x40, 0x02, 0x40, 0x02, 0x40, 0x02, 0x00, 0x00,
0x00, 0x00, 0x10, 0x10, 0x30, 0x18, 0x60, 0x0c, 0xc0, 0x06, 0x80, 0x03, 0x00, 0x01, 0x00, 0x00,
0x00, 0x00, 0x00, 0x0c, 0x00, 0x1c, 0x00, 0x10, 0xb0, 0x11, 0xb0, 0x13, 0x00, 0x1e, 0x00, 0x0c,
0x00, 0x00, 0xe0, 0x0f, 0xf0, 0x1f, 0x10, 0x10, 0xd0, 0x13, 0xd0, 0x13, 0xd0, 0x1f, 0x80, 0x0f,
0x00, 0x00, 0xf0, 0x03, 0xf0, 0x07, 0x80, 0x0c, 0x80, 0x18, 0x80, 0x0c, 0xf0, 0x07, 0xf0, 0x03,
0x00, 0x00, 0x10, 0x10, 0xf0, 0x1f, 0xf0, 0x1f, 0x10, 0x11, 0x10, 0x11, 0xf0, 0x1f, 0xe0, 0x0e,
0x00, 0x00, 0xc0, 0x07, 0xe0, 0x0f, 0x30, 0x18, 0x10, 0x10, 0x10, 0x10, 0x30, 0x18, 0x60, 0x0c,
0x00, 0x00, 0x10, 0x10, 0xf0, 0x1f, 0xf0, 0x1f, 0x10, 0x10, 0x30, 0x18, 0xe0, 0x0f, 0xc0, 0x07,
0x00, 0x00, 0x10, 0x10, 0xf0, 0x1f, 0xf0, 0x1f, 0x10, 0x11, 0x90, 0x13, 0x30, 0x18, 0x70, 0x1c,
0x00, 0x00, 0x10, 0x10, 0xf0, 0x1f, 0xf0, 0x1f, 0x10, 0x11, 0x80, 0x13, 0x00, 0x18, 0x00, 0x1c,
0x00, 0x00, 0xc0, 0x07, 0xe0, 0x0f, 0x30, 0x18, 0x90, 0x10, 0x90, 0x10, 0xe0, 0x18, 0xf0, 0x0c,
0x00, 0x00, 0xf0, 0x1f, 0xf0, 0x1f, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0xf0, 0x1f, 0xf0, 0x1f,
0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0xf0, 0x1f, 0xf0, 0x1f, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x60, 0x00, 0x70, 0x00, 0x10, 0x00, 0x10, 0x10, 0xf0, 0x1f, 0xe0, 0x1f, 0x00, 0x10,
0x00, 0x00, 0x10, 0x10, 0xf0, 0x1f, 0xf0, 0x1f, 0x00, 0x01, 0xc0, 0x07, 0xf0, 0x1e, 0x30, 0x18,
0x00, 0x00, 0x10, 0x10, 0xf0, 0x1f, 0xf0, 0x1f, 0x10, 0x10, 0x10, 0x00, 0x30, 0x00, 0x70, 0x00,
0x00, 0x00, 0xf0, 0x1f, 0xf0, 0x1f, 0x00, 0x0c, 0x00, 0x06, 0x00, 0x0c, 0xf0, 0x1f, 0xf0, 0x1f,
0x00, 0x00, 0xf0, 0x1f, 0xf0, 0x1f, 0x00, 0x0e, 0x00, 0x07, 0x80, 0x03, 0xf0, 0x1f, 0xf0, 0x1f,
0x00, 0x00, 0xc0, 0x07, 0xe0, 0x0f, 0x30, 0x18, 0x10, 0x10, 0x30, 0x18, 0xe0, 0x0f, 0xc0, 0x07,
0x00, 0x00, 0x10, 0x10, 0xf0, 0x1f, 0xf0, 0x1f, 0x10, 0x11, 0x00, 0x11, 0x00, 0x1f, 0x00, 0x0e,
0x00, 0x00, 0xc0, 0x0f, 0xe0, 0x1f, 0x20, 0x10, 0xe0, 0x10, 0x78, 0x10, 0xf8, 0x1f, 0xc8, 0x0f,
0x00, 0x00, 0x10, 0x10, 0xf0, 0x1f, 0xf0, 0x1f, 0x00, 0x11, 0x80, 0x11, 0xf0, 0x1f, 0x70, 0x0e,
0x00, 0x00, 0x60, 0x0c, 0x70, 0x1e, 0x10, 0x13, 0x10, 0x11, 0x90, 0x11, 0xf0, 0x1c, 0x60, 0x0c,
0x00, 0x18, 0x00, 0x10, 0x10, 0x10, 0xf0, 0x1f, 0xf0, 0x1f, 0x10, 0x10, 0x00, 0x10, 0x00, 0x18,
0x00, 0x00, 0xe0, 0x1f, 0xf0, 0x1f, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0xf0, 0x1f, 0xe0, 0x1f,
0x00, 0x00, 0xc0, 0x1f, 0xe0, 0x1f, 0x30, 0x00, 0x10, 0x00, 0x30, 0x00, 0xe0, 0x1f, 0xc0, 0x1f,
0x00, 0x00, 0xf0, 0x1f, 0xf0, 0x1f, 0x60, 0x00, 0xc0, 0x00, 0x60, 0x00, 0xf0, 0x1f, 0xf0, 0x1f,
0x00, 0x00, 0x70, 0x1c, 0xf0, 0x1e, 0x80, 0x03, 0x00, 0x01, 0x80, 0x03, 0xf0, 0x1e, 0x70, 0x1c,
0x00, 0x00, 0x00, 0x1c, 0x10, 0x1e, 0xf0, 0x03, 0xf0, 0x01, 0xf0, 0x03, 0x10, 0x1e, 0x00, 0x1c,
0x00, 0x00, 0x70, 0x1c, 0xf0, 0x18, 0x90, 0x11, 0x10, 0x13, 0x10, 0x16, 0x30, 0x1c, 0x70, 0x18,
0x00, 0x00, 0x00, 0x00, 0xf0, 0x1f, 0xf0, 0x1f, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x1c, 0x00, 0x0e, 0x00, 0x07, 0x80, 0x03, 0xc0, 0x01, 0xe0, 0x00, 0x70, 0x00,
0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x10, 0xf0, 0x1f, 0xf0, 0x1f, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x08, 0x00, 0x18, 0x00, 0x30, 0x00, 0x60, 0x00, 0x30, 0x00, 0x18, 0x00, 0x08,
0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x70, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x60, 0x00, 0xf0, 0x02, 0x90, 0x02, 0x90, 0x02, 0xe0, 0x03, 0xf0, 0x01, 0x10, 0x00,
0x00, 0x00, 0x10, 0x10, 0xf0, 0x1f, 0xe0, 0x1f, 0x10, 0x02, 0x10, 0x03, 0xf0, 0x01, 0xe0, 0x00,
0x00, 0x00, 0xe0, 0x01, 0xf0, 0x03, 0x10, 0x02, 0x10, 0x02, 0x10, 0x02, 0x30, 0x03, 0x20, 0x01,
0x00, 0x00, 0xe0, 0x00, 0xf0, 0x01, 0x10, 0x03, 0x10, 0x12, 0xe0, 0x1f, 0xf0, 0x1f, 0x10, 0x00,
0x00, 0x00, 0xe0, 0x01, 0xf0, 0x03, 0x90, 0x02, 0x90, 0x02, 0x90, 0x02, 0xb0, 0x03, 0xa0, 0x01,
0x00, 0x00, 0x10, 0x01, 0xf0, 0x0f, 0xf0, 0x1f, 0x10, 0x11, 0x00, 0x19, 0x00, 0x0c, 0x00, 0x00,
0x00, 0x00, 0xc8, 0x01, 0xec, 0x03, 0x24, 0x02, 0x24, 0x02, 0xfc, 0x01, 0xf8, 0x03, 0x00, 0x02,
0x00, 0x00, 0x10, 0x10, 0xf0, 0x1f, 0xf0, 0x1f, 0x00, 0x01, 0x00, 0x02, 0xf0, 0x03, 0xf0, 0x01,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x02, 0xf0, 0x1b, 0xf0, 0x1b, 0x10, 0x00, 0x00, 0x00,
0x00, 0x00, 0x18, 0x00, 0x1c, 0x00, 0x04, 0x00, 0x04, 0x02, 0xfc, 0x1b, 0xf8, 0x1b, 0x00, 0x00,
0x00, 0x00, 0x10, 0x10, 0xf0, 0x1f, 0xf0, 0x1f, 0x80, 0x00, 0xc0, 0x01, 0x70, 0x03, 0x30, 0x02,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0xf0, 0x1f, 0xf0, 0x1f, 0x10, 0x00, 0x00, 0x00,
0x00, 0x00, 0xf0, 0x01, 0xf0, 0x03, 0x00, 0x01, 0xf0, 0x01, 0x00, 0x01, 0xf0, 0x03, 0xf0, 0x01,
0x00, 0x00, 0x00, 0x02, 0xf0, 0x03, 0xf0, 0x01, 0x00, 0x02, 0x00, 0x02, 0xf0, 0x03, 0xf0, 0x01,
0x00, 0x00, 0xe0, 0x01, 0xf0, 0x03, 0x10, 0x02, 0x10, 0x02, 0x10, 0x02, 0xf0, 0x03, 0xe0, 0x01,
0x00, 0x00, 0x04, 0x02, 0xfc, 0x03, 0xfc, 0x01, 0x24, 0x02, 0x20, 0x02, 0xe0, 0x03, 0xc0, 0x01,
0x00, 0x00, 0xc0, 0x01, 0xe0, 0x03, 0x20, 0x02, 0x24, 0x02, 0xfc, 0x01, 0xfc, 0x03, 0x04, 0x02,
0x00, 0x00, 0x10, 0x02, 0xf0, 0x03, 0xf0, 0x01, 0x10, 0x03, 0x00, 0x02, 0x80, 0x03, 0x80, 0x01,
0x00, 0x00, 0x20, 0x01, 0xb0, 0x03, 0x90, 0x02, 0xd0, 0x02, 0x50, 0x02, 0x70, 0x03, 0x20, 0x01,
0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0xe0, 0x0f, 0xf0, 0x1f, 0x10, 0x02, 0x30, 0x02, 0x20, 0x00,
0x00, 0x00, 0xe0, 0x03, 0xf0, 0x03, 0x10, 0x00, 0x10, 0x00, 0xe0, 0x03, 0xf0, 0x03, 0x10, 0x00,
0x00, 0x00, 0x80, 0x03, 0xc0, 0x03, 0x60, 0x00, 0x30, 0x00, 0x60, 0x00, 0xc0, 0x03, 0x80, 0x03,
0x00, 0x00, 0xe0, 0x03, 0xf0, 0x03, 0x30, 0x00, 0x60, 0x00, 0x30, 0x00, 0xf0, 0x03, 0xe0, 0x03,
0x00, 0x00, 0x10, 0x02, 0x30, 0x03, 0xe0, 0x01, 0xc0, 0x00, 0xe0, 0x01, 0x30, 0x03, 0x10, 0x02,
0x00, 0x00, 0xc0, 0x03, 0xe4, 0x03, 0x24, 0x00, 0x24, 0x00, 0x2c, 0x00, 0xf8, 0x03, 0xf0, 0x03,
0x00, 0x00, 0x10, 0x03, 0x30, 0x03, 0x70, 0x02, 0xd0, 0x02, 0x90, 0x03, 0x30, 0x03, 0x30, 0x02,
0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0xe0, 0x0f, 0xf0, 0x1e, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x1e, 0xf0, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x10, 0x10, 0x10, 0x10, 0xf0, 0x1e, 0xe0, 0x0f, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00,
0x00, 0x00, 0x00, 0x08, 0x00, 0x18, 0x00, 0x10, 0x00, 0x18, 0x00, 0x08, 0x00, 0x18, 0x00, 0x10,
0x00, 0x00, 0xe0, 0x00, 0xe0, 0x01, 0x20, 0x03, 0x20, 0x06, 0x20, 0x03, 0xe0, 0x01, 0xe0, 0x00, };

View File

@ -1,176 +0,0 @@
#ifndef __GRAPHIC_H__
#define __GRAPHIC_H__
#define GPC_DRAW_OK 0
#define GPC_DRAW_ERR_FULL 1
#define GPC_DRAW_ERR_PARAM 2
#define GPC_DRAW_ERR_UNKNOWN 3
#define GPC_DRAW_ERR_OUTOFMEM 4
#define GPC_LCD_ON_BIT 0x80
#define GPC_LCD_VACTIVE 0x40
#define GPC_LCD_HACTIVE 0x20
typedef struct tagGPLCDINFO{
union{
int U32_lcd;
struct{
char clk_value;
char lcd_buf_count;
char bpp;
char b_lcd_on;
}U8_lcd;
}lcd_global;
unsigned int buffer_size;
unsigned int * buf_addr[4];
unsigned int * r_palette;
unsigned int * m_palette;
}GPLCDINFO;
typedef struct tagGPDRAWTAG{
int restoreflag;
short clip_x;
short clip_y;
short clip_w;
short clip_h;
}GPDRAWTAG;
typedef struct tagGPDRAWSURFACE{
unsigned char * ptbuffer;
int bpp; /*reserved*/
int buf_w;
int buf_h;
int ox;
int oy;
unsigned char * o_buffer;
} GPDRAWSURFACE;
#define GPC_DFLAG_1BPP 1
#define GPC_DFLAG_2BPP 2
#define GPC_DFLAG_4BPP 4
#define GPC_DFLAG_8BPP 8
#define GPC_DFLAG_16BPP 16
int GpGraphicModeSet(int gd_bpp, int * gp_pal);
void GpLcdInfoGet(GPLCDINFO * p_info);
void GpLcdEnable(void);
void GpLcdDisable(void);
int GpLcdStatusGet(void);
int GpLcdSurfaceGet(GPDRAWSURFACE * ptgpds, int idx);
int GpMemSurfaceGet(GPDRAWSURFACE * ptgpds);
extern void (*GpSurfaceSet)(GPDRAWSURFACE * ptgpds);
extern void (*GpSurfaceFlip)(GPDRAWSURFACE * ptgpds);
unsigned char * GpLcdLock(void);
void GpLcdUnlock(void);
#define GPC_PAL_RED_MASK 0xf800
#define GPC_PAL_GREEN_MASK 0x07c0
#define GPC_PAL_BLUE_MASK 0x003e
#define GPC_PALCHAN_RED_BIT 0x4
#define GPC_PALCHAN_GREEN_BIT 0x2
#define GPC_PALCHAN_BLUE_BIT 0x1
typedef unsigned short GP_PALETTEENTRY;
typedef struct tag_GP_LOGPALENTRY{
unsigned char peRed;
unsigned char peGreen;
unsigned char peBlue;
unsigned char peFlags;
}GP_LOGPALENTRY;
typedef unsigned long * GP_HPALETTE;
GP_HPALETTE GpPaletteCreate (int entry_num, GP_PALETTEENTRY * pal_entry);
GP_HPALETTE GpPaletteCreateEx (int entry_num, GP_LOGPALENTRY * pal_entry);
GP_HPALETTE GpPaletteSelect(GP_HPALETTE h_new);
unsigned int GpPaletteRealize (void);
int GpPaletteDelete (GP_HPALETTE hPal);
#define GPC_PAL_SYNC_REALIZE 0
#define GPC_PAL_ASYNC_REALIZE 1
#define GPC_PAL_NO_REALIZE 2
int GpPaletteEntryChange (int pal_offset, int entry_num, GP_PALETTEENTRY * pal_entry, int flag);
int GpPaletteEntryChangeEx (int pal_offset, int entry_num, GP_LOGPALENTRY * pal_entry, int flag);
GP_HPALETTE GpRegPalGet (void);
GP_HPALETTE GpLogPalGet (void);
int GpLcdFade (int fade_step, GP_HPALETTE old_pal);
void GpLcdNoFade (GP_HPALETTE old_pal);
int GpLcdChanFade (int fade_step, int chan, GP_HPALETTE old_pal);
int GpLcdFadeNormalize (GP_HPALETTE basic_pal);
int GpBitBlt (GPDRAWTAG * gptag,GPDRAWSURFACE * ptgpds,int dx,int dy,int width,int height,unsigned char * src, int sx,int sy,int imgw,int imgh);
int GpTransBlt (GPDRAWTAG * gptag,GPDRAWSURFACE * ptgpds,int dx,int dy,int width,int height,unsigned char *src,int sx,int sy,int imgw,int imgh,unsigned char color);
int GpBitLRBlt (GPDRAWTAG * gptag,GPDRAWSURFACE * ptgpds,int dx,int dy,int width,int height,unsigned char * src,int sx,int sy,int imgw,int imgh);
int GpTransLRBlt (GPDRAWTAG * gptag,GPDRAWSURFACE * ptgpds,int dx,int dy,int width,int height,unsigned char* src,int sx,int sy,int imgw,int imgh,unsigned char color);
int GpBitUDBlt (GPDRAWTAG * gptag,GPDRAWSURFACE * ptgpds,int dx,int dy,int width,int height,unsigned char * src,int sx,int sy,int imgw,int imgh);
int GpTransUDBlt(GPDRAWTAG * gptag,GPDRAWSURFACE * ptgpds,int dx,int dy,int width,int height,unsigned char* src,int sx,int sy,int imgw,int imgh,unsigned char color);
int GpRectFill(GPDRAWTAG * gptag,GPDRAWSURFACE * ptgpds,int dx,int dy,int width,int height,unsigned char color);
void GpPointSet(GPDRAWSURFACE * ptgpds,int x, int y, unsigned char color);
void GpLineDraw(GPDRAWSURFACE * ptgpds,int xS,int yS,int xE,int yE,unsigned char color);
void GpRectDraw(GPDRAWSURFACE * ptgpds,int left,int top,int right,int bottom,unsigned char color);
void GpEllipseDraw(GPDRAWSURFACE * ptgpds,int xS,int yS,int w,int h,unsigned char color);
/*************************************************************************************************
GPGRAPHIC Effect API
You must import libgpg_ex??.a for using the following:
CURRENTLY, THE FOLLOWING ARE ALLOWED
GPC_GDFX_COPY
GPC_GDFX_TRANS
GPC_GDFX_EASYBLEND
GPC_GDFX_TRANS | GPC_GDFX_EASYBLEND
GPC_GDFX_BLEND
GPC_GDFX_TRANS | GPC_GDFX_BLEND
GPC_GDFX_INVERT
GPC_GDFX_TRANS | GPC_GDFX_INVERT
GPC_GDFX_LRFLIP
GPC_GDFX_UDFLIP
GPC_GDFX_TRANS | GPC_GDFX_LRFLIP
GPC_GDFX_TRANS | GPC_GDFX_UDFLIP
GPC_GDFX_RAYPLUS
GPC_GDFX_TRANS | GPC_GDFX_RAYPLUS
GPC_GDFX_TRANS | GPC_GDFX_MASKING
GPC_GDFX_MASKING | GPC_GDFX_RAYPLUS
GPC_GDFX_TRANS | GPC_GDFX_CHRAYPLUS
GPC_GDFX_TRANS | GPC_GDFX_PART_RAY
GPC_GDFX_RAYMINUS
GPC_GDFX_TRANS | GPC_GDFX_RAYMINUS
GPC_GDFX_MASKING | GPC_GDFX_RAYMINUS
*****************************************************************************************************/
#define GPC_GDFX_NOEFFECT 0x00
#define GPC_GDFX_COPY 0x01
#define GPC_GDFX_TRANS 0x02
#define GPC_GDFX_EASYBLEND 0x04
#define GPC_GDFX_BLEND 0x08
#define GPC_GDFX_EXCHANGE 0x10
#define GPC_GDFX_INVERT 0x20
#define GPC_GDFX_LRFLIP 0x40
#define GPC_GDFX_UDFLIP 0x80
#define GPC_GDFX_RAYPLUS 0x100
#define GPC_GDFX_MASKING 0x200
#define GPC_GDFX_CHRAYPLUS 0x400
#define GPC_GDFX_PART_RAY 0x800
#define GPC_GDFX_RAYMINUS 0x1000
#define GPC_GDFX_SRC_RPLUS 0x2000
typedef struct tagGPGD_FX{
int fx_flag; /*effect option*/
int v_default; /*default value*/
int v_tmp; /*temporary value*/
int * v_list; /*value list (not yet used)*/
}GPGD_FX;
int GpFxBlt(GPDRAWTAG *gptag, GPDRAWSURFACE *tggpds, int dx, int dy, int width, int height, GPDRAWSURFACE *srcgpds, GPGD_FX *gpfx);
#endif /*__gpgraphic_h__*/

View File

@ -1,65 +0,0 @@
#ifndef __GPMEM_H__
#define __GPMEM_H__
typedef struct tagGM_HEAP_DEF{
void * heapstart;
void * heapend;
} GM_HEAP_DEF;
struct tagGPMEMFUNC{
void * (*malloc)(unsigned int size);
void * (*zimalloc)(unsigned int size);
void * (*calloc)(int count, unsigned int size);
void (*free)(void * pt);
unsigned int (*availablemem)(void);
void * (*malloc_ex)(unsigned int size, int ex_flag, unsigned char init_val);
void (*free_ex)(void);
void * (*make_mem_partition)(struct tagGPMEMFUNC * p_mem_sub, unsigned int size, int * err_no);
};
typedef struct tagGPMEMFUNC GPMEMFUNC;
typedef struct tagGPSTRFUNC{
void (*memset)(void * ptr, unsigned char val, unsigned int size);
void * (*memcpy)(void * s1, const void * s2, unsigned int size);
char * (*strcpy)(char * s1, const char * s2);
char * (*strncpy)(char * s1, const char * s2, unsigned int size);
char * (*strcat)(char * s1, const char * s2);
char * (*strncat)(char * s1, const char * s2, unsigned int size);
int (*gpstrlen)(const char * s);
int (*sprintf)(char * buf, const char * fmt, ...);
void (*uppercase)(char *ptr, int count);
void (*lowercase)(char *ptr, int count);
int (*compare)(const char *pt1, const char *pt2);
void (*trim_right)(const char *ptr);
} GPSTRFUNC;
void gm_heap_init(GM_HEAP_DEF * p_def);
extern void * gm_malloc(unsigned int size);
extern void * gm_zi_malloc(unsigned int size);
#define MALLOC_EX_AUTOFREE 0x1
#define MALLOC_EX_MEMSET 0x2
extern void * gm_malloc_ex(unsigned int size, int ex_flag, unsigned char init_val);
extern void * gm_calloc(int count, unsigned int size);
extern void gm_free(void * pt);
extern void gm_free_ex(void);
extern unsigned int gm_availablesize(void);
extern void * gm_make_mem_part(GPMEMFUNC * p_mem_sub, unsigned int size, int * err_no);
extern void gm_memset(void * /*ptr*/, unsigned char /*val*/, unsigned int /*size*/);
extern void * gm_memcpy(void * /*s1*/, const void * /*s2*/, unsigned int /*size*/);
extern char * gm_strcpy(char * /*s1*/, const char * /*s2*/);
extern char * gm_strncpy(char * /*s1*/, const char * /*s2*/, unsigned int /*size*/);
extern char * gm_strcat(char * /*s1*/, const char * /*s2*/);
extern char * gm_strncat(char * /*s1*/, const char * /*s2*/, unsigned int /*size*/);
extern int gm_lstrlen(const char * /*s*/);
extern int gm_sprintf(char * buf, const char * fmt, ...);
extern void gm_lowercase(char * ptr, int count);
extern void gm_uppercase(char * ptr, int count);
extern int gm_compare(const char * pt1, const char * pt2);
extern void gm_trim_right(const char * ptr);
#endif /*__GPMEM_H__*/

View File

@ -1,45 +0,0 @@
#ifndef __GPMM_H__
#define __GPMM_H__
/* MIDI related */
#define GPC_MIDISTATUS_BUSY 1
#define GPC_MIDISTATUS_READY 0
#define GPC_MIDISTATUS_PAUSED 2
void GpMidiPlay (unsigned char * midisrc,int repeatcount);
void GpMidiListPlay (unsigned char ** srclist,int listcount);
void GpMidiStop (void);
void GpMidiPause (void);
void GpMidiReplay (void);
int GpMidiStatusGet (int * played);
/* PCM related */
#define GPC_EPCM_OK 0
#define GPC_EPCM_FULL 1
#define GPC_EPCM_NO_INIT 2
typedef enum{
PCM_M11,
PCM_S11,
PCM_M22,
PCM_S22,
PCM_M44,
PCM_S44
} PCM_SR;
typedef enum{
PCM_8BIT,
PCM_16BIT
} PCM_BIT;
int GpPcmInit (PCM_SR sr, PCM_BIT bit_count);
int GpPcmPlay (unsigned short * src, int size, int repeatflag);
void GpPcmRemove (unsigned short * src);
void GpPcmStop (void);
int GpPcmEnvGet (PCM_SR * p_sr, PCM_BIT * p_bit_count, int * p_real_sr);
int GpPcmLock (unsigned short * p_src, int * idx_buf, unsigned int * addr_of_playing_buf);
void GpPcmOnlyKill (unsigned short * p_src);
#endif /*__GENERALMIDI_H__*/

View File

@ -1,74 +0,0 @@
#ifndef __gpos_def_h__
#define __gpos_def_h__
typedef enum{
H_THREAD_SOUND,
H_THREAD_IDLE,
H_THREAD_GPMAIN,
H_THREAD_NET,
H_THREAD_TMR0,
H_THREAD_TMR1,
H_THREAD_TMR2,
H_THREAD_TMR3
}H_THREAD;
/*************************************************************
* OS launching flag *
*************************************************************/
#define ALLOW_PRIORITY_REVERSION 0x1 //BIT [0] flag : if set, allow reversion.
/*******************************************************************/
/*Schedule related define*/
#define GPOS_DFT_RUNNING_TIME 20 //20*2 = 40ms
#define GPOS_DFT_SUSPEND_TIME 5 //5*2 = 10ms
/*******************************************************************/
/*******************************************************************/
/*Priority define*/
#define GPOS_PRIO_ABOVE_NORMAL 2
#define GPOS_PRIO_NORMAL 3
#define GPOS_PRIO_BELOW_NORMAL 4
#define GPOS_PRIO_LOW 5
/*******************************************************************/
/*******************************************************************/
/*GP kernel related return values list*/
#define GPOS_ERR_OK 0
#define GPOS_ERR_NOEFFECT 1
#define GPOS_ERR_INVALIDARG 2
#define GPOS_ERR_ALREADY_USED 3
#define GPOS_ERR_INVALID_ACCESS 4
#define GPOS_ERR_OUTOFMEM 5
#define GPOS_ERR_STACK 6
#define GPOS_ERR_PENDED_THREAD 7
/*******************************************************************/
/*******************************************************************/
/*User thread define*/
#define GPC_MAXPROGTIMER 4
int GpTimerOptSet(int idx, int tmr_tps, int max_exec_tick, void (*irq_tmrfunc)(void));
int GpTimerSet(int idx);
int GpTimerPause(int idx);
int GpTimerResume(int idx);
void GpTimerKill(int idx);
/*******************************************************************/
/*******************************************************************/
/*GP kernel control define*/
void GpMain(void * arg);
void GpKernelInitialize(void);
void GpKernelStart(void);
void GpKernelOptSet(int flag);
void GpKernelLock(void);
void GpKernelUnlock(void);
void GpThreadSleep(unsigned int delay);
int GpThreadOptSet(H_THREAD th, int priority, int stk_size); /*return ok or err*/
H_THREAD GpThreadHandleGet(void);
void GpNetThreadAct(void (*t_func)(void));
void GpNetThreadDelete(void);
/*******************************************************************/
int GpPredefinedStackGet(H_THREAD th);
#endif

View File

@ -1,65 +0,0 @@
#ifndef __GPSOCKDEF_H__
#define __GPSOCKDEF_H__
/*****************************************************************************/
typedef enum{
GNS_MDM_INIT,
GNS_MDM_DIAL,
GNS_MDM_HANGUP,
GNS_TIME_OUT, /*lcp or ipcp time out for an ack long enough */
GNS_LCP_UP,
GNS_IP_UP,
GNS_USR_SEND,
GNS_PPP_QUIT,
GNS_ERR_CHAP,
GNS_ERR_PAP
}GP_NET_STATE;
/***************************************************************************/
struct tagGP_COMM_OPT{
int baudrate;
void (*uart_reset)(int ch);
void (*uart_open)(int ch, int baudrate, int en_int);
void (*uart_sendc)(int ch, unsigned char data);
int (*uart_getc)(int ch, unsigned char * data);
int (*uart_sendready)(int channel);
unsigned int (*get_nettick)(void);
};
typedef struct tagGP_COMM_OPT GP_COMM_OPT;
struct tagGP_COMM_MEM{
void* (*malloc)(unsigned int nbyte);
void (*free)(void * pt);
};
typedef struct tagGP_COMM_MEM GP_COMM_MEM;
/*****************************************************************************/
#define MAX_PARAM_STRING 128
struct tagGP_INET_OPT{
char gp_phone_num[MAX_PARAM_STRING];
char gp_userid[MAX_PARAM_STRING];
char gp_pwd[MAX_PARAM_STRING];
char gp_fhost[MAX_PARAM_STRING];
int gp_fport;
char gp_modem_init_cmd[MAX_PARAM_STRING];
char gp_modem_sub_cmd[MAX_PARAM_STRING];
int gp_ppp_tmo;
int gp_line_tmo;
void (*deliver_state)(GP_NET_STATE msg);
char gp_dns_addr[MAX_PARAM_STRING];
#ifdef GPNET_DEBUG
void (*deliver_msg)(const char *p_str);
void (*copy_tx)(unsigned char data);
void (*copy_rx)(unsigned char data);
#endif
};
typedef struct tagGP_INET_OPT GP_INET_OPT;
/****************************************************************************/
extern GP_COMM_OPT gp_comm_opt;
extern GP_COMM_MEM gp_comm_mem;
extern GP_INET_OPT gp_inet_opt;
#endif /*__GPSOCKDEF_H__*/

View File

@ -1,145 +0,0 @@
#ifndef __GPSTDIO_H__
#define __GPSTDIO_H__
#include "gpdef.h"
/*****************************************************************/
/*GP32 FAT */
/*****************************************************************/
typedef enum {
SM_OK, /* 0 */
ERR_FLASH_STATUS,
ERR_CARD_NOT_DETECTED,
ERR_CARD_CHANGED,
ERR_NOT_ERASED,
ERR_NOT_FORMATTED,
ERR_INVALID_MBR,
ERR_INVALID_PBR,
ERR_INVALID_FAT,
ERR_INVALID_NAME,
ERR_INVALID_HANDLE, /* 10 */
ERR_INVALID_PARAM,
ERR_NO_EMPTY_BLOCK,
ERR_INVALID_BLOCK,
ERR_ECC,
ERR_ECC_CORRECTABLE,
ERR_FILE_OPENED,
ERR_FILE_EXIST,
ERR_DIR_NOT_EMPTY,
ERR_EOF,
ERR_FILE_NOT_OPENED, /* 20 */
ERR_FILE_NOT_EXIST,
ERR_NO_LONG_NAME,
ERR_NOT_FOUND,
ERR_INCORRECT_FAT,
ERR_ROOT_DIR,
ERR_LOCKED,
ERR_NOT_PERMITTED,
ERR_OUT_OF_MEMORY,
ERR_OUT_OF_ROOT_ENTRY,
ERR_NO_MORE_ENTRY, /* 30 */
ERR_SM_TIMEOUT,
ERR_SYSTEM_PARAMETER,
ERR_INTERNAL,
ERR_FILE_NAME_LEN_TOO_LONG,
ERR_NO_EMPTY_CLUSTER,
ERR_INVALID_R_PATH,
ERR_ID_NOT_FOUND,
ERR_ID_INVALID,
ERR_NOT_INITIALIZED
} ERR_CODE; /* 0 when success. otherwise error code */
typedef long F_HANDLE; /* MSB is 1, when error. otherwise cluster
* number
* (bits 30 - 24: device number (0 - 128))
* (bits 23 - 17: file opened id) =>
* used multi-access mode
*/
/* fcreate mode */
#define NOT_IF_EXIST 0
#define ALWAYS_CREATE 1
/* open mode (can be ORed) */
#define OPEN_R 1
#define OPEN_W 2
/* ddel mode */
#define NOT_IF_NOT_EMPTY 0
#define ALWAYS_DELETE 1
/* seek mode */
#define FROM_CURRENT 0
#define FROM_BEGIN 1
#define FROM_END 2
/* format mode */
#define FORMAT_NORMAL 0
#define FORMAT_RESCUE 1
typedef struct {
uword year;
ubyte month;
ubyte day;
ubyte hour;
ubyte min;
ubyte sec;
ubyte msec;
}sTIME;
/**********
* attr
* 7-6 Reserved. Must be 0's.
* 5: 1 = ARCHIVE file was modified
* 4: 1 = DIRECTORY, 0 = file
* 3: 1 = VOLUME label
* 2: 1 = SYSTEM file or directory
* 1: 1 = HIDDEN file or directory
* 0: 1 = READONLY file
**********/
typedef struct {
udword attr;
udword cluster;
udword size;
sTIME time;
} GPFILEATTR;
typedef struct {
char name[16];
} GPDIRENTRY;
ERR_CODE GpFatInit (void);
ERR_CODE GpRelativePathSet (const char * p_path);
void GpRelativePathGet (char *p_path);
ERR_CODE GpFileCreate (const char * p_file_name, ulong fcreate_mode, F_HANDLE *p_handle);
ERR_CODE GpFileOpen (const char * p_file_name, ulong fopen_mode, F_HANDLE *p_handle);
ERR_CODE GpFileRead (F_HANDLE h_file, void * p_buf, ulong buf_size, ulong * p_read_count);
ERR_CODE GpFileWrite (F_HANDLE h_file, const void * p_buf, ulong count);
ERR_CODE GpFileSeek (F_HANDLE h_file, ulong seek_mode, ulong offset, long * p_old_offset);
ERR_CODE GpFileClose (F_HANDLE h_file);
ERR_CODE GpFileRemove (const char * p_file_name);
ERR_CODE GpFileGetSize (const char * p_file_name, ulong * p_size);
ERR_CODE GpFileExtend (F_HANDLE h_file, ulong size);
ERR_CODE GpFileMove (const char * old_path, const char * new_path);
ERR_CODE GpFileRename (const char * old_path, const char * new_path);
ERR_CODE GpDirCreate (const char * p_dir_name, ulong dcreate_mode);
ERR_CODE GpDirRemove (const char * p_dir_name, ulong ddel_mode);
ERR_CODE GpDirEnumNum (const char * p_dir_name, ulong * p_num);
ERR_CODE GpDirEnumList (const char * p_dir_name, ulong entry_start, ulong entry_count, GPDIRENTRY * p_list, ulong * p_read_count);
ERR_CODE GpFileAttr (const char * p_name, GPFILEATTR * p_attr);
ERR_CODE GpVolumeInfo (const char * p_vol_name, ulong * total_size, ulong * used_size, ulong * free_size);
ERR_CODE GpFormat (const char * p_vol_name, ulong format_id, ulong * p_bad_block);
ERR_CODE GpNoFATUpdate (const char * p_vol_name);
ERR_CODE GpFATUpdate (const char * p_vol_name);
ERR_CODE GpFatInitialized (void);
ERR_CODE GpSMCDetected (void);
#endif

View File

@ -1,55 +0,0 @@
#ifndef __GPSTDLIB_H__
#define __GPSTDLIB_H__
#ifdef __cplusplus
extern "C" {
#endif
/************************************************************************/
/*SYS INITIALIZE FUNCTION*/
void _gp_sdk_init(void);
void _gp_key_polling_time_set(int loop_cnt);
/************************************************************************/
int GpAppPathSet(const char * p_path, int n_len);
char * GpAppPathGet(int * n_len /* optional */);
int GpUserInfoGet(char * p_id, char * p_pwd);
int GpArgSet(int len, char * p_arg);
int GpAppExecute(char * p_code_ptr, const char * s_path);
void GpAppExit(void);
unsigned int GpTickCountGet(void);
void GpNetTpsSet(int tps);
int GpUSBLineCheck(void);
/*Keyboard*/
void GpKeyInit(void);
int GpKeyGet(void); /*return key data*/
int GpKeyGetEx(int * key_status); /*return GpKeyChanged()*/
int GpKeyChanged(void);
/*CPU Speed*/
int GpClockSpeedChange(int master_speed, int div_factor, int clk_mode);
unsigned int GpMClkGet(void);
unsigned int GpHClkGet(void);
unsigned int GpPClkGet(void);
/***********************************************************************/
/***********************************************************************/
#include "gpmem.h"
extern GPMEMFUNC gp_mem_func;
extern GPSTRFUNC gp_str_func;
/***********************************************************************/
/***********************************************************************/
void GpSrand(int seed);
unsigned int GpRand(void);
unsigned int GpRandN(unsigned n);
/***********************************************************************/
#ifdef __cplusplus
}
#endif
#endif /*__k41lib_h__*/

View File

@ -1,37 +0,0 @@
#ifndef __INITVAL_PORT_H__
#define __INITVAL_PORT_H__
/*******************************************************************/
/*at loading time, thread stack define -- implemented in gpstart.c*/
#define GPMAIN_STACK_SIZE (100<<10) /*100KB -- access code = 0*/
#define NET_STACK_SIZE (64<<10) /*64KB -- access code = 1*/
#define USER_STACK_SIZE (4 << 10) /*4KB -- access code = 2*/
/*******************************************************************/
/*************************************************************
* Heap Management Library Attach *
*************************************************************/
#define USE_GP_MEM 1 /* If you don't use gpmem.alf, change USE_GP_MEM to 0 */
/*************************************************************
* Button Checking Loop count *
*************************************************************/
#define KEYPOLLING_NUM 20 /* You can change polling number, but the valus must be as small as possible. */
/*************************************************************
* Processor Clock speed *
*************************************************************/
#define DEFAULT_MCLK 67800000
#define CHANGE_MCLK 0 /* If the CHANGE_MCLK is zero, the clock speed of process is 40MHz */
#if CHANGE_MCLK /* If the CHANGE_MCLK is non-zero, select CLOCKSPEED */
#define YOUR_SELECT_CLK 0
#if (YOUR_SELECT_CLK == 0)
#define CLK_SPEED 59250000
#define DIV_FACTOR 0x47022
#define CLK_MODE 1
#elif (YOUR_SELECT_CLK == 1 )
#else
#endif
#endif /*CHANGE_MCLK*/
#endif /*__initval_port_h__*/

View File

@ -1,78 +0,0 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdarg.h>
#include <ctype.h>
extern "C" {
#include "h/gpfont.h"
#include "h/gpfont_port.h"
#include "h/gpgraphic.h"
#include "h/gpmm.h"
#include "h/gpmem.h"
#include "h/gpos_def.h"
#include "h/gpstdio.h"
#include "h/gpstdlib.h"
#include "h/gpdef.h"
#include "h/defines.h"
}
extern int gpprintf(const char *fmt, ...);
#define printf gpprintf
extern void *gpmalloc(size_t size);
extern void *gpcalloc(size_t nitems, size_t size);
extern void gpfree(void *block);
#define malloc gpmalloc
#define calloc gpcalloc //gm_calloc
#define free gpfree
/*#define memset gm_memset
#define memcopy gm_memcopy
#define strcpy gm_strcpy // uncomment?
#define strncpy gm_strncpy
#define strcat gm_strcat
#define sprintf gm_sprintf*/
#define assert(e) ((e) ? 0 : (printf("!AS: " #e " (%s, %d)\n", __FILE__, __LINE__)))
#define ASSERT assert
#define ENDLESSLOOP while (1)
#define FILE F_HANDLE
#define stderr NULL // hack...
#define stdout stderr
#define stdin stderr
extern FILE *gpfopen(const char *filename, const char *mode);
extern int gpfclose(FILE *stream);
extern int gpfseek(FILE *stream, long offset, int whence);
extern size_t gpfread(void *ptr, size_t size, size_t n, FILE *stream);
extern size_t gpfwrite(const void *ptr, size_t size, size_t n, FILE*stream);
extern long gpftell(FILE *stream);
extern void gpclearerr(FILE *stream);
extern int gpfeof(FILE *stream);
extern char *gpfgets(char *s, int n, FILE *stream);
extern int gpfflush(FILE *stream);
#define fopen gpfopen
#define fclose gpfclose
#define fseek gpfseek
#define fread gpfread
#define fwrite gpfwrite
#define ftell gpftell
#define clearerr gpclearerr
#define feof gpfeof
#define fgets gpfgets
extern int gpfprintf(FILE *stream, const char *fmt, ...);
#define fprintf gpfprintf
#define fflush gpfflush
extern void gphalt(int code=0);
#define exit gphalt
//#define error printf
#define time(x) (0) // fixme! (SIMON)
// EOF

View File

@ -1,29 +0,0 @@
ScummVM port for GamePark 32
============================
Compiling instructions:
1. download and install Fenix's devkit advance (see Windows.txt)
2. get chn's gp32 devkit and install it (see readme-gp32.txt)
3. In Makefile change the line: build.rules: to
$(CP) backends/gp32/build.rules build.rules
4. run make
* In case you have installed devkitadv to a different directory
than it's default, you'll have to modify build.rules in backend/gp32/
To-do:
- add sound support
- make more friendly build.rules ? :)
For the latest source release visit the official ScummVM page:
http://www.scummvm.org/
You can get the precompiled gp32 executable (fxe) from my site:
http://people.inf.elte.hu/ph0x
Thanks to the following people for their help:
Endy, khalek and the rest ScummVM team members,
Jeff, DarkFader, Inopia, groepaz, chn, FireFly, #gp32dev
ph0x (ph0x@freemail.hu)

View File

@ -1,23 +0,0 @@
/* Header is not present in Windows CE SDK */
#include <sys/types.h>
struct stat {
_dev_t st_dev;
_ino_t st_ino;
unsigned short st_mode;
short st_nlink;
short st_uid;
short st_gid;
_dev_t st_rdev;
_off_t st_size;
time_t st_atime;
time_t st_mtime;
time_t st_ctime;
};
#define _S_IFDIR 0040000 /* directory */
#define S_IFDIR _S_IFDIR
int stat(const char *, struct stat *);