mirror of
https://github.com/dborth/snes9xgx.git
synced 2024-11-01 00:15:14 +01:00
housekeeping
This commit is contained in:
parent
0ddf00e79e
commit
6b785b0b68
@ -19,9 +19,9 @@ include $(DEVKITPPC)/gamecube_rules
|
|||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
TARGET := executables/snes9xgx-$(VERSION)-gc
|
TARGET := executables/snes9xgx-$(VERSION)-gc
|
||||||
BUILD := build_gc
|
BUILD := build_gc
|
||||||
SOURCES := source/snes9x source/ngc
|
SOURCES := source/snes9x source/ngc source/libpng source/libpng/pngu
|
||||||
DATA := data
|
DATA := data
|
||||||
INCLUDES := source/snes9x source/ngc
|
INCLUDES := source source/snes9x source/ngc
|
||||||
|
|
||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
# options for code generation
|
# options for code generation
|
||||||
@ -41,13 +41,13 @@ LDFLAGS = -g $(MACHDEP) -Wl,-Map,$(notdir $@).map -Wl,--cref
|
|||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
# any extra libraries we wish to link with the project
|
# any extra libraries we wish to link with the project
|
||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
LIBS := -lbba -ltinysmb -lfat -lz -logc -lm -lfreetype
|
LIBS := -lpng -lbba -ltinysmb -lfat -lz -logc -lm -lfreetype
|
||||||
|
|
||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
# list of directories containing libraries, this must be the top level containing
|
# list of directories containing libraries, this must be the top level containing
|
||||||
# include and lib
|
# include and lib
|
||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
LIBDIRS :=
|
LIBDIRS := $(CURDIR)
|
||||||
|
|
||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
# no real need to edit anything past this point unless you need to add additional
|
# no real need to edit anything past this point unless you need to add additional
|
||||||
|
@ -19,9 +19,9 @@ include $(DEVKITPPC)/wii_rules
|
|||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
TARGET := executables/snes9xgx-$(VERSION)-wii
|
TARGET := executables/snes9xgx-$(VERSION)-wii
|
||||||
BUILD := build_wii
|
BUILD := build_wii
|
||||||
SOURCES := source/snes9x source/ngc
|
SOURCES := source/snes9x source/ngc source/libpng source/libpng/pngu
|
||||||
DATA := data
|
DATA := data
|
||||||
INCLUDES := source/snes9x source/ngc
|
INCLUDES := source source/snes9x source/ngc
|
||||||
|
|
||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
# options for code generation
|
# options for code generation
|
||||||
@ -41,13 +41,13 @@ LDFLAGS = -g $(MACHDEP) -Wl,-Map,$(notdir $@).map -Wl,--cref
|
|||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
# any extra libraries we wish to link with the project
|
# any extra libraries we wish to link with the project
|
||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
LIBS := -lfat -lwiiuse -lz -lbte -logc -lm -lfreetype -ltinysmb
|
LIBS := -lpng -lfat -lwiiuse -lz -lbte -logc -lm -lfreetype -ltinysmb
|
||||||
|
|
||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
# list of directories containing libraries, this must be the top level containing
|
# list of directories containing libraries, this must be the top level containing
|
||||||
# include and lib
|
# include and lib
|
||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
LIBDIRS :=
|
LIBDIRS := $(CURDIR)
|
||||||
|
|
||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
# no real need to edit anything past this point unless you need to add additional
|
# no real need to edit anything past this point unless you need to add additional
|
||||||
|
@ -25,7 +25,8 @@ Tantric
|
|||||||
.CHT file name must match file name of ROM
|
.CHT file name must match file name of ROM
|
||||||
- added: load/save preference selector. ROM, SRAM, Freeze, and preferences
|
- added: load/save preference selector. ROM, SRAM, Freeze, and preferences
|
||||||
are saved/loaded according to these
|
are saved/loaded according to these
|
||||||
- added: preliminary Wii SMB support
|
- added: preliminary Wii SMB support - completely working, but you must change
|
||||||
|
settings in s9xconfig.cpp
|
||||||
- added: 'Auto' settings for save/load - attempts to automatically determine
|
- added: 'Auto' settings for save/load - attempts to automatically determine
|
||||||
your load/save device(s) - SD, USB, Memory Card, DVD, SMB
|
your load/save device(s) - SD, USB, Memory Card, DVD, SMB
|
||||||
- added: ROM Information page
|
- added: ROM Information page
|
||||||
|
3569
source/libpng/png.h
Normal file
3569
source/libpng/png.h
Normal file
File diff suppressed because it is too large
Load Diff
1481
source/libpng/pngconf.h
Normal file
1481
source/libpng/pngconf.h
Normal file
File diff suppressed because it is too large
Load Diff
1132
source/libpng/pngu/pngu.c
Normal file
1132
source/libpng/pngu/pngu.c
Normal file
File diff suppressed because it is too large
Load Diff
171
source/libpng/pngu/pngu.h
Normal file
171
source/libpng/pngu/pngu.h
Normal file
@ -0,0 +1,171 @@
|
|||||||
|
/********************************************************************************************
|
||||||
|
|
||||||
|
PNGU Version : 0.2a
|
||||||
|
|
||||||
|
Coder : frontier
|
||||||
|
|
||||||
|
More info : http://frontier-dev.net
|
||||||
|
|
||||||
|
********************************************************************************************/
|
||||||
|
#ifndef __PNGU__
|
||||||
|
#define __PNGU__
|
||||||
|
|
||||||
|
// Return codes
|
||||||
|
#define PNGU_OK 0
|
||||||
|
#define PNGU_ODD_WIDTH 1
|
||||||
|
#define PNGU_ODD_STRIDE 2
|
||||||
|
#define PNGU_INVALID_WIDTH_OR_HEIGHT 3
|
||||||
|
#define PNGU_FILE_IS_NOT_PNG 4
|
||||||
|
#define PNGU_UNSUPPORTED_COLOR_TYPE 5
|
||||||
|
#define PNGU_NO_FILE_SELECTED 6
|
||||||
|
#define PNGU_CANT_OPEN_FILE 7
|
||||||
|
#define PNGU_CANT_READ_FILE 8
|
||||||
|
#define PNGU_LIB_ERROR 9
|
||||||
|
|
||||||
|
// Color types
|
||||||
|
#define PNGU_COLOR_TYPE_GRAY 1
|
||||||
|
#define PNGU_COLOR_TYPE_GRAY_ALPHA 2
|
||||||
|
#define PNGU_COLOR_TYPE_PALETTE 3
|
||||||
|
#define PNGU_COLOR_TYPE_RGB 4
|
||||||
|
#define PNGU_COLOR_TYPE_RGB_ALPHA 5
|
||||||
|
#define PNGU_COLOR_TYPE_UNKNOWN 6
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// Types
|
||||||
|
typedef unsigned char PNGU_u8;
|
||||||
|
typedef unsigned short PNGU_u16;
|
||||||
|
typedef unsigned int PNGU_u32;
|
||||||
|
typedef unsigned long long PNGU_u64;
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
PNGU_u8 r;
|
||||||
|
PNGU_u8 g;
|
||||||
|
PNGU_u8 b;
|
||||||
|
} PNGUCOLOR;
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
PNGU_u32 imgWidth; // In pixels
|
||||||
|
PNGU_u32 imgHeight; // In pixels
|
||||||
|
PNGU_u32 imgBitDepth; // In bitx
|
||||||
|
PNGU_u32 imgColorType; // PNGU_COLOR_TYPE_*
|
||||||
|
PNGU_u32 validBckgrnd; // Non zero if there is a background color
|
||||||
|
PNGUCOLOR bckgrnd; // Backgroun color
|
||||||
|
PNGU_u32 numTrans; // Number of transparent colors
|
||||||
|
PNGUCOLOR *trans; // Transparent colors
|
||||||
|
} PNGUPROP;
|
||||||
|
|
||||||
|
// Image context, always initialize with SelectImageFrom* and free with ReleaseImageContext
|
||||||
|
struct _IMGCTX;
|
||||||
|
typedef struct _IMGCTX *IMGCTX;
|
||||||
|
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
* Pixel conversion *
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
// Macro to convert RGB8 values to RGB565
|
||||||
|
#define PNGU_RGB8_TO_RGB565(r,g,b) ( ((((PNGU_u16) r) & 0xF8U) << 8) | ((((PNGU_u16) g) & 0xFCU) << 3) | (((PNGU_u16) b) >> 3) )
|
||||||
|
|
||||||
|
// Macro to convert RGBA8 values to RGB5A3
|
||||||
|
#define PNGU_RGB8_TO_RGB5A3(r,g,b,a) (PNGU_u16) (((a & 0xE0U) == 0xE0U) ? \
|
||||||
|
(0x8000U | ((((PNGU_u16) r) & 0xF8U) << 7) | ((((PNGU_u16) g) & 0xF8U) << 2) | (((PNGU_u16) b) >> 3)) : \
|
||||||
|
(((((PNGU_u16) a) & 0xE0U) << 7) | ((((PNGU_u16) r) & 0xF0U) << 4) | (((PNGU_u16) g) & 0xF0U) | ((((PNGU_u16) b) & 0xF0U) >> 4)))
|
||||||
|
|
||||||
|
// Function to convert two RGB8 values to YCbYCr
|
||||||
|
PNGU_u32 PNGU_RGB8_TO_YCbYCr (PNGU_u8 r1, PNGU_u8 g1, PNGU_u8 b1, PNGU_u8 r2, PNGU_u8 g2, PNGU_u8 b2);
|
||||||
|
|
||||||
|
// Function to convert an YCbYCr to two RGB8 values.
|
||||||
|
void PNGU_YCbYCr_TO_RGB8 (PNGU_u32 ycbycr, PNGU_u8 *r1, PNGU_u8 *g1, PNGU_u8 *b1, PNGU_u8 *r2, PNGU_u8 *g2, PNGU_u8 *b2);
|
||||||
|
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
* Image context handling *
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
// Selects a PNG file, previosly loaded into a buffer, and creates an image context for subsequent procesing.
|
||||||
|
IMGCTX PNGU_SelectImageFromBuffer (const void *buffer);
|
||||||
|
|
||||||
|
// Selects a PNG file, from any devoptab device, and creates an image context for subsequent procesing.
|
||||||
|
IMGCTX PNGU_SelectImageFromDevice (const char *filename);
|
||||||
|
|
||||||
|
// Frees resources associated with an image context. Always call this function when you no longer need the IMGCTX.
|
||||||
|
void PNGU_ReleaseImageContext (IMGCTX ctx);
|
||||||
|
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
* Miscelaneous *
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
// Retrieves info from selected PNG file, including image dimensions, color format, background and transparency colors.
|
||||||
|
int PNGU_GetImageProperties (IMGCTX ctx, PNGUPROP *fileproperties);
|
||||||
|
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
* Image conversion *
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
// Expands selected image into an YCbYCr buffer. You need to specify context, image dimensions,
|
||||||
|
// destination address and stride in pixels (stride = buffer width - image width).
|
||||||
|
int PNGU_DecodeToYCbYCr (IMGCTX ctx, PNGU_u32 width, PNGU_u32 height, void *buffer, PNGU_u32 stride);
|
||||||
|
|
||||||
|
// Macro for decoding an image inside a buffer at given coordinates.
|
||||||
|
#define PNGU_DECODE_TO_COORDS_YCbYCr(ctx,coordX,coordY,imgWidth,imgHeight,bufferWidth,bufferHeight,buffer) \
|
||||||
|
\
|
||||||
|
PNGU_DecodeToYCbYCr (ctx, imgWidth, imgHeight, ((void *) buffer) + (coordY) * (bufferWidth) * 2 + \
|
||||||
|
(coordX) * 2, (bufferWidth) - (imgWidth))
|
||||||
|
|
||||||
|
// Expands selected image into a linear RGB565 buffer. You need to specify context, image dimensions,
|
||||||
|
// destination address and stride in pixels (stride = buffer width - image width).
|
||||||
|
int PNGU_DecodeToRGB565 (IMGCTX ctx, PNGU_u32 width, PNGU_u32 height, void *buffer, PNGU_u32 stride);
|
||||||
|
|
||||||
|
// Macro for decoding an image inside a buffer at given coordinates.
|
||||||
|
#define PNGU_DECODE_TO_COORDS_RGB565(ctx,coordX,coordY,imgWidth,imgHeight,bufferWidth,bufferHeight,buffer) \
|
||||||
|
\
|
||||||
|
PNGU_DecodeToRGB565 (ctx, imgWidth, imgHeight, ((void *) buffer) + (coordY) * (bufferWidth) * 2 + \
|
||||||
|
(coordX) * 2, (bufferWidth) - (imgWidth))
|
||||||
|
|
||||||
|
// Expands selected image into a linear RGBA8 buffer. You need to specify context, image dimensions,
|
||||||
|
// destination address, stride in pixels and default alpha value, which is used if the source image
|
||||||
|
// doesn't have an alpha channel.
|
||||||
|
int PNGU_DecodeToRGBA8 (IMGCTX ctx, PNGU_u32 width, PNGU_u32 height, void *buffer, PNGU_u32 stride, PNGU_u8 default_alpha);
|
||||||
|
|
||||||
|
// Macro for decoding an image inside a buffer at given coordinates.
|
||||||
|
#define PNGU_DECODE_TO_COORDS_RGBA8(ctx,coordX,coordY,imgWidth,imgHeight,default_alpha,bufferWidth,bufferHeight,buffer) \
|
||||||
|
\
|
||||||
|
PNGU_DecodeToRGBA8 (ctx, imgWidth, imgHeight, ((void *) buffer) + (coordY) * (bufferWidth) * 2 + \
|
||||||
|
(coordX) * 2, (bufferWidth) - (imgWidth), default_alpha)
|
||||||
|
|
||||||
|
// Expands selected image into a 4x4 tiled RGB565 buffer. You need to specify context, image dimensions
|
||||||
|
// and destination address.
|
||||||
|
int PNGU_DecodeTo4x4RGB565 (IMGCTX ctx, PNGU_u32 width, PNGU_u32 height, void *buffer);
|
||||||
|
|
||||||
|
// Expands selected image into a 4x4 tiled RGB5A3 buffer. You need to specify context, image dimensions,
|
||||||
|
// destination address and default alpha value, which is used if the source image doesn't have an alpha channel.
|
||||||
|
int PNGU_DecodeTo4x4RGB5A3 (IMGCTX ctx, PNGU_u32 width, PNGU_u32 height, void *buffer, PNGU_u8 default_alpha);
|
||||||
|
|
||||||
|
// Expands selected image into a 4x4 tiled RGBA8 buffer. You need to specify context, image dimensions,
|
||||||
|
// destination address and default alpha value, which is used if the source image doesn't have an alpha channel.
|
||||||
|
int PNGU_DecodeTo4x4RGBA8 (IMGCTX ctx, PNGU_u32 width, PNGU_u32 height, void *buffer, PNGU_u8 default_alpha);
|
||||||
|
|
||||||
|
// Encodes an YCbYCr image in PNG format and stores it in the selected device or memory buffer. You need to
|
||||||
|
// specify context, image dimensions, destination address and stride in pixels (stride = buffer width - image width).
|
||||||
|
int PNGU_EncodeFromYCbYCr (IMGCTX ctx, PNGU_u32 width, PNGU_u32 height, void *buffer, PNGU_u32 stride);
|
||||||
|
|
||||||
|
// Macro for encoding an image stored into an YCbYCr buffer at given coordinates.
|
||||||
|
#define PNGU_ENCODE_TO_COORDS_YCbYCr(ctx,coordX,coordY,imgWidth,imgHeight,bufferWidth,bufferHeight,buffer) \
|
||||||
|
\
|
||||||
|
PNGU_EncodeFromYCbYCr (ctx, imgWidth, imgHeight, ((void *) buffer) + (coordY) * (bufferWidth) * 2 + \
|
||||||
|
(coordX) * 2, (bufferWidth) - (imgWidth))
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
@ -1,3 +1,14 @@
|
|||||||
|
/****************************************************************************
|
||||||
|
* Snes9x 1.50
|
||||||
|
*
|
||||||
|
* Nintendo Wii/Gamecube Port
|
||||||
|
* michniewski August 2008
|
||||||
|
*
|
||||||
|
* button_mapping.c
|
||||||
|
*
|
||||||
|
* Controller button mapping
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
#include <gccore.h>
|
#include <gccore.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
@ -13,156 +24,95 @@
|
|||||||
* used for identifying which buttons have been pressed when configuring
|
* used for identifying which buttons have been pressed when configuring
|
||||||
* and for displaying the name of said button
|
* and for displaying the name of said button
|
||||||
***/
|
***/
|
||||||
//CtrlrMap ctrlr_def[4];
|
|
||||||
|
|
||||||
CtrlrMap ctrlr_def[4] = {
|
CtrlrMap ctrlr_def[4] = {
|
||||||
// Nunchuk btn def
|
// Nunchuk btn def
|
||||||
CTRLR_NUNCHUK,
|
{
|
||||||
13,
|
CTRLR_NUNCHUK,
|
||||||
WPAD_BUTTON_DOWN, "DOWN",
|
13,
|
||||||
WPAD_BUTTON_UP, "UP",
|
{
|
||||||
WPAD_BUTTON_LEFT, "LEFT",
|
{WPAD_BUTTON_DOWN, "DOWN"},
|
||||||
WPAD_BUTTON_RIGHT, "RIGHT",
|
{WPAD_BUTTON_UP, "UP"},
|
||||||
WPAD_BUTTON_A, "A",
|
{WPAD_BUTTON_LEFT, "LEFT"},
|
||||||
WPAD_BUTTON_B, "B",
|
{WPAD_BUTTON_RIGHT, "RIGHT"},
|
||||||
WPAD_BUTTON_1, "1",
|
{WPAD_BUTTON_A, "A"},
|
||||||
WPAD_BUTTON_2, "2",
|
{WPAD_BUTTON_B, "B"},
|
||||||
WPAD_BUTTON_PLUS, "PLUS",
|
{WPAD_BUTTON_1, "1"},
|
||||||
WPAD_BUTTON_MINUS, "MINUS",
|
{WPAD_BUTTON_2, "2"},
|
||||||
WPAD_BUTTON_HOME, "HOME",
|
{WPAD_BUTTON_PLUS, "PLUS"},
|
||||||
WPAD_NUNCHUK_BUTTON_Z, "Z",
|
{WPAD_BUTTON_MINUS, "MINUS"},
|
||||||
WPAD_NUNCHUK_BUTTON_C, "C",
|
{WPAD_BUTTON_HOME, "HOME"},
|
||||||
0, "",
|
{WPAD_NUNCHUK_BUTTON_Z, "Z"},
|
||||||
0, "",
|
{WPAD_NUNCHUK_BUTTON_C, "C"},
|
||||||
|
{0, ""},
|
||||||
|
{0, ""}
|
||||||
|
}
|
||||||
|
},
|
||||||
// Classic btn def
|
// Classic btn def
|
||||||
CTRLR_CLASSIC,
|
{
|
||||||
15,
|
CTRLR_CLASSIC,
|
||||||
WPAD_CLASSIC_BUTTON_DOWN, "DOWN",
|
15,
|
||||||
WPAD_CLASSIC_BUTTON_UP, "UP",
|
{
|
||||||
WPAD_CLASSIC_BUTTON_LEFT, "LEFT",
|
{WPAD_CLASSIC_BUTTON_DOWN, "DOWN"},
|
||||||
WPAD_CLASSIC_BUTTON_RIGHT, "RIGHT",
|
{WPAD_CLASSIC_BUTTON_UP, "UP"},
|
||||||
WPAD_CLASSIC_BUTTON_A, "A",
|
{WPAD_CLASSIC_BUTTON_LEFT, "LEFT"},
|
||||||
WPAD_CLASSIC_BUTTON_B, "B",
|
{WPAD_CLASSIC_BUTTON_RIGHT, "RIGHT"},
|
||||||
WPAD_CLASSIC_BUTTON_X, "X",
|
{WPAD_CLASSIC_BUTTON_A, "A"},
|
||||||
WPAD_CLASSIC_BUTTON_Y, "Y",
|
{WPAD_CLASSIC_BUTTON_B, "B"},
|
||||||
WPAD_CLASSIC_BUTTON_PLUS, "PLUS",
|
{WPAD_CLASSIC_BUTTON_X, "X"},
|
||||||
WPAD_CLASSIC_BUTTON_MINUS, "MINUS",
|
{WPAD_CLASSIC_BUTTON_Y, "Y"},
|
||||||
WPAD_CLASSIC_BUTTON_HOME, "HOME",
|
{WPAD_CLASSIC_BUTTON_PLUS, "PLUS"},
|
||||||
WPAD_CLASSIC_BUTTON_FULL_L, "L TRIG",
|
{WPAD_CLASSIC_BUTTON_MINUS, "MINUS"},
|
||||||
WPAD_CLASSIC_BUTTON_FULL_R, "R TRIG",
|
{WPAD_CLASSIC_BUTTON_HOME, "HOME"},
|
||||||
WPAD_CLASSIC_BUTTON_ZL, "ZL",
|
{WPAD_CLASSIC_BUTTON_FULL_L, "L TRIG"},
|
||||||
WPAD_CLASSIC_BUTTON_ZR, "ZR",
|
{WPAD_CLASSIC_BUTTON_FULL_R, "R TRIG"},
|
||||||
// Gamecube controller btn def
|
{WPAD_CLASSIC_BUTTON_ZL, "ZL"},
|
||||||
CTRLR_GCPAD,
|
{WPAD_CLASSIC_BUTTON_ZR, "ZR"}
|
||||||
13,
|
}
|
||||||
PAD_BUTTON_DOWN, "DOWN",
|
},
|
||||||
PAD_BUTTON_UP, "UP",
|
// Gamecube controller btn def
|
||||||
PAD_BUTTON_LEFT, "LEFT",
|
{
|
||||||
PAD_BUTTON_RIGHT, "RIGHT",
|
CTRLR_GCPAD,
|
||||||
PAD_BUTTON_A, "A",
|
13,
|
||||||
PAD_BUTTON_B, "B",
|
{
|
||||||
PAD_BUTTON_X, "X",
|
{PAD_BUTTON_DOWN, "DOWN"},
|
||||||
PAD_BUTTON_Y, "Y",
|
{PAD_BUTTON_UP, "UP"},
|
||||||
PAD_BUTTON_MENU, "MENU",
|
{PAD_BUTTON_LEFT, "LEFT"},
|
||||||
PAD_BUTTON_START, "START",
|
{PAD_BUTTON_RIGHT, "RIGHT"},
|
||||||
PAD_TRIGGER_L, "L TRIG",
|
{PAD_BUTTON_A, "A"},
|
||||||
PAD_TRIGGER_R, "R TRIG",
|
{PAD_BUTTON_B, "B"},
|
||||||
PAD_TRIGGER_Z, "Z",
|
{PAD_BUTTON_X, "X"},
|
||||||
0, "",
|
{PAD_BUTTON_Y, "Y"},
|
||||||
0, "",
|
{PAD_BUTTON_MENU, "MENU"},
|
||||||
|
{PAD_BUTTON_START, "START"},
|
||||||
|
{PAD_TRIGGER_L, "L TRIG"},
|
||||||
|
{PAD_TRIGGER_R, "R TRIG"},
|
||||||
|
{PAD_TRIGGER_Z, "Z"},
|
||||||
|
{0, ""},
|
||||||
|
{0, ""}
|
||||||
|
}
|
||||||
|
},
|
||||||
// Wiimote btn def
|
// Wiimote btn def
|
||||||
CTRLR_WIIMOTE,
|
{
|
||||||
11,
|
CTRLR_WIIMOTE,
|
||||||
WPAD_BUTTON_DOWN, "DOWN",
|
11,
|
||||||
WPAD_BUTTON_UP, "UP",
|
{
|
||||||
WPAD_BUTTON_LEFT, "LEFT",
|
{WPAD_BUTTON_DOWN, "DOWN"},
|
||||||
WPAD_BUTTON_RIGHT, "RIGHT",
|
{WPAD_BUTTON_UP, "UP"},
|
||||||
WPAD_BUTTON_A, "A",
|
{WPAD_BUTTON_LEFT, "LEFT"},
|
||||||
WPAD_BUTTON_B, "B",
|
{WPAD_BUTTON_RIGHT, "RIGHT"},
|
||||||
WPAD_BUTTON_1, "1",
|
{WPAD_BUTTON_A, "A"},
|
||||||
WPAD_BUTTON_2, "2",
|
{WPAD_BUTTON_B, "B"},
|
||||||
WPAD_BUTTON_PLUS, "PLUS",
|
{WPAD_BUTTON_1, "1"},
|
||||||
WPAD_BUTTON_MINUS, "MINUS",
|
{WPAD_BUTTON_2, "2"},
|
||||||
WPAD_BUTTON_HOME, "HOME",
|
{WPAD_BUTTON_PLUS, "PLUS"},
|
||||||
0, "",
|
{WPAD_BUTTON_MINUS, "MINUS"},
|
||||||
0, "",
|
{WPAD_BUTTON_HOME, "HOME"},
|
||||||
0, "",
|
{0, ""},
|
||||||
0, ""
|
{0, ""},
|
||||||
|
{0, ""},
|
||||||
|
{0, ""}
|
||||||
|
}
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
/***
|
|
||||||
* Default controller maps
|
|
||||||
* button press on left, and corresponding snes button on right
|
|
||||||
* arguably some data is unnecessary here but lets stick to one struct type ok?
|
|
||||||
|
|
||||||
CtrlrMap defaultmap[4];
|
|
||||||
// Nunchuk Default
|
|
||||||
defaultmap[0].type = CTRLR_NUNCHUK;
|
|
||||||
defaultmap[0].num_btns = 12;
|
|
||||||
defaultmap[0].map[] = { WPAD_BUTTON_A, "A",
|
|
||||||
WPAD_BUTTON_B, "B",
|
|
||||||
WPAD_NUNCHUK_BUTTON_C, "X",
|
|
||||||
WPAD_NUNCHUK_BUTTON_Z, "Y",
|
|
||||||
WPAD_BUTTON_MINUS, "L",
|
|
||||||
WPAD_BUTTON_PLUS, "R",
|
|
||||||
WPAD_BUTTON_2, "SELECT",
|
|
||||||
WPAD_BUTTON_1, "START",
|
|
||||||
WPAD_BUTTON_UP, "UP",
|
|
||||||
WPAD_BUTTON_DOWN, "DOWN",
|
|
||||||
WPAD_BUTTON_LEFT, "LEFT",
|
|
||||||
WPAD_BUTTON_RIGHT, "RIGHT"
|
|
||||||
};
|
|
||||||
// Classic Default
|
|
||||||
defaultmap[1].type = CTRLR_CLASSIC;
|
|
||||||
defaultmap[1].num_btns = 12;
|
|
||||||
defaultmap[1].map[] = { WPAD_CLASSIC_BUTTON_A, "A",
|
|
||||||
WPAD_CLASSIC_BUTTON_B, "B",
|
|
||||||
WPAD_CLASSIC_BUTTON_Y, "X",
|
|
||||||
WPAD_CLASSIC_BUTTON_X, "Y",
|
|
||||||
WPAD_CLASSIC_BUTTON_FULL_L, "L",
|
|
||||||
WPAD_CLASSIC_BUTTON_FULL_R, "R",
|
|
||||||
WPAD_CLASSIC_BUTTON_MINUS, "SELECT",
|
|
||||||
WPAD_CLASSIC_BUTTON_PLUS, "START",
|
|
||||||
WPAD_CLASSIC_BUTTON_UP, "UP",
|
|
||||||
WPAD_CLASSIC_BUTTON_DOWN, "DOWN",
|
|
||||||
WPAD_CLASSIC_BUTTON_LEFT, "LEFT",
|
|
||||||
WPAD_CLASSIC_BUTTON_RIGHT, "RIGHT"
|
|
||||||
};
|
|
||||||
// Gamecube Controller Default
|
|
||||||
defaultmap[2].type = CTRLR_GCPAD;
|
|
||||||
defaultmap[2].num_btns = 12;
|
|
||||||
defaultmap[2].map[] = {PAD_BUTTON_A, "A",
|
|
||||||
PAD_BUTTON_B, "B",
|
|
||||||
PAD_BUTTON_X, "X",
|
|
||||||
PAD_BUTTON_Y, "Y",
|
|
||||||
PAD_TRIGGER_L, "L",
|
|
||||||
PAD_TRIGGER_R, "R",
|
|
||||||
PAD_TRIGGER_Z, "SELECT",
|
|
||||||
PAD_BUTTON_START, "START",
|
|
||||||
PAD_BUTTON_UP, "UP",
|
|
||||||
PAD_BUTTON_DOWN, "DOWN",
|
|
||||||
PAD_BUTTON_LEFT, "LEFT",
|
|
||||||
PAD_BUTTON_RIGHT, "RIGHT"
|
|
||||||
};
|
|
||||||
// Wiimote Default
|
|
||||||
defaultmap[3].type = CTRLR_WIIMOTE;
|
|
||||||
defaultmap[3].num_btns = 12;
|
|
||||||
defaultmap[3].map[] = { WPAD_BUTTON_B, "A",
|
|
||||||
WPAD_BUTTON_2, "B",
|
|
||||||
WPAD_BUTTON_1, "X",
|
|
||||||
WPAD_BUTTON_A, "Y",
|
|
||||||
0x0000, "L",
|
|
||||||
0x0000, "R",
|
|
||||||
WPAD_BUTTON_MINUS, "SELECT",
|
|
||||||
WPAD_BUTTON_PLUS, "START",
|
|
||||||
WPAD_BUTTON_RIGHT, "UP",
|
|
||||||
WPAD_BUTTON_LEFT, "DOWN",
|
|
||||||
WPAD_BUTTON_UP, "LEFT",
|
|
||||||
WPAD_BUTTON_DOWN, "RIGHT"
|
|
||||||
};
|
|
||||||
// end default padmaps
|
|
||||||
***/
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// eof
|
|
||||||
|
@ -1,3 +1,14 @@
|
|||||||
|
/****************************************************************************
|
||||||
|
* Snes9x 1.50
|
||||||
|
*
|
||||||
|
* Nintendo Wii/Gamecube Port
|
||||||
|
* michniewski August 2008
|
||||||
|
*
|
||||||
|
* button_mapping.h
|
||||||
|
*
|
||||||
|
* Controller button mapping
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
#ifndef BTN_MAP_H
|
#ifndef BTN_MAP_H
|
||||||
#define BTN_MAP_H
|
#define BTN_MAP_H
|
||||||
|
|
||||||
|
@ -9,13 +9,48 @@
|
|||||||
* Cheat handling
|
* Cheat handling
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
#include "snes9xGx.h"
|
|
||||||
#include "memmap.h"
|
#include "memmap.h"
|
||||||
#include "fileop.h"
|
|
||||||
#include "cheats.h"
|
#include "cheats.h"
|
||||||
|
|
||||||
|
#include "snes9xGx.h"
|
||||||
|
#include "fileop.h"
|
||||||
#include "filesel.h"
|
#include "filesel.h"
|
||||||
|
#include "smbop.h"
|
||||||
|
#include "menudraw.h"
|
||||||
|
|
||||||
extern SCheatData Cheat;
|
extern SCheatData Cheat;
|
||||||
|
extern unsigned char savebuffer[];
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
* NGCLoadCheatFile
|
||||||
|
*
|
||||||
|
* Loads cheat file from save buffer
|
||||||
|
* Custom version of S9xLoadCheatFile()
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
bool8 NGCLoadCheatFile (int length)
|
||||||
|
{
|
||||||
|
Cheat.num_cheats = 0;
|
||||||
|
|
||||||
|
uint8 data [28];
|
||||||
|
int offset = 0;
|
||||||
|
|
||||||
|
while (offset < length)
|
||||||
|
{
|
||||||
|
memcpy (data, savebuffer+offset, 28);
|
||||||
|
offset += 28;
|
||||||
|
|
||||||
|
Cheat.c [Cheat.num_cheats].enabled = (data [0] & 4) == 0;
|
||||||
|
Cheat.c [Cheat.num_cheats].byte = data [1];
|
||||||
|
Cheat.c [Cheat.num_cheats].address = data [2] | (data [3] << 8) | (data [4] << 16);
|
||||||
|
Cheat.c [Cheat.num_cheats].saved_byte = data [5];
|
||||||
|
Cheat.c [Cheat.num_cheats].saved = (data [0] & 8) != 0;
|
||||||
|
memmove (Cheat.c [Cheat.num_cheats].name, &data [8], 20);
|
||||||
|
Cheat.c [Cheat.num_cheats++].name [20] = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
return (TRUE);
|
||||||
|
}
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* SetupCheats
|
* SetupCheats
|
||||||
@ -26,11 +61,12 @@ extern SCheatData Cheat;
|
|||||||
void
|
void
|
||||||
SetupCheats()
|
SetupCheats()
|
||||||
{
|
{
|
||||||
|
char filepath[1024];
|
||||||
|
int offset = 0;
|
||||||
|
|
||||||
S9xInitCheatData ();
|
S9xInitCheatData ();
|
||||||
S9xDeleteCheats ();
|
S9xDeleteCheats ();
|
||||||
|
|
||||||
char cheatFile[150] = { '\0' };
|
|
||||||
|
|
||||||
int method = GCSettings.SaveMethod;
|
int method = GCSettings.SaveMethod;
|
||||||
|
|
||||||
if(method == METHOD_AUTO)
|
if(method == METHOD_AUTO)
|
||||||
@ -38,14 +74,22 @@ SetupCheats()
|
|||||||
|
|
||||||
if(method == METHOD_SD || method == METHOD_USB)
|
if(method == METHOD_SD || method == METHOD_USB)
|
||||||
{
|
{
|
||||||
changeFATInterface(method, NOTSILENT);
|
if(ChangeFATInterface(method, NOTSILENT))
|
||||||
sprintf (cheatFile, "%s/snes9x/cheats/%s.cht", ROOTFATDIR, Memory.ROMFilename);
|
{
|
||||||
|
sprintf (filepath, "%s/%s/%s.cht", ROOTFATDIR, GCSettings.CheatFolder, Memory.ROMFilename);
|
||||||
|
offset = LoadBufferFromFAT (filepath, SILENT);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if(method == METHOD_SMB)
|
||||||
|
{
|
||||||
|
sprintf (filepath, "%s/%s.cht", GCSettings.CheatFolder, Memory.ROMFilename);
|
||||||
|
offset = LoadBufferFromSMB (filepath, SILENT);
|
||||||
}
|
}
|
||||||
|
|
||||||
// load cheat file if present
|
// load cheat file if present
|
||||||
if(strlen(cheatFile) > 0)
|
if(offset > 0)
|
||||||
{
|
{
|
||||||
if(S9xLoadCheatFile (cheatFile))
|
if(NGCLoadCheatFile (offset))
|
||||||
{
|
{
|
||||||
// disable all cheats loaded from the file
|
// disable all cheats loaded from the file
|
||||||
for (uint16 i = 0; i < Cheat.num_cheats; i++)
|
for (uint16 i = 0; i < Cheat.num_cheats; i++)
|
||||||
|
@ -1,877 +0,0 @@
|
|||||||
/*******************************************************************
|
|
||||||
* Image File : /public/dkpro.bmp
|
|
||||||
* Width : 218
|
|
||||||
* Height : 65
|
|
||||||
*
|
|
||||||
* This header contains a compressed Zip image.
|
|
||||||
* Use zlib1.2.3 uncompress function to restore.
|
|
||||||
*******************************************************************/
|
|
||||||
|
|
||||||
#define dkpro_RAW 28340
|
|
||||||
#define dkpro_COMPRESSED 6887
|
|
||||||
#define dkpro_WIDTH 218
|
|
||||||
#define dkpro_HEIGHT 65
|
|
||||||
|
|
||||||
unsigned char dkpro[6887] = {
|
|
||||||
0x78, 0xda, 0xed, 0x9c, 0x67, 0x70, 0x54, 0x57, 0x96, 0xc7, 0xf9, 0xb8,
|
|
||||||
0xb5, 0x55, 0xbb, 0x55,
|
|
||||||
0x53, 0xb5, 0xb5, 0xb3, 0x9e, 0x31, 0xc6, 0x98, 0x20, 0x31, 0xf6, 0x38,
|
|
||||||
0x7b, 0xc6, 0x33, 0x0e,
|
|
||||||
0xe3, 0x34, 0x60, 0x03, 0x36, 0xc9, 0x80, 0x49, 0xb6, 0x41, 0x42, 0x59,
|
|
||||||
0x42, 0x39, 0x20, 0x75,
|
|
||||||
0xbf, 0xd3, 0x92, 0x90, 0x84, 0x32, 0x41, 0x02, 0x11, 0xd4, 0x48, 0xe4,
|
|
||||||
0x60, 0x72, 0x0e, 0x22,
|
|
||||||
0x98, 0x8c, 0x8d, 0x04, 0x26, 0x83, 0x31, 0xe0, 0xec, 0x71, 0x06, 0xe7,
|
|
||||||
0xa0, 0xfd, 0xdd, 0xdb,
|
|
||||||
0xdd, 0xaf, 0x5f, 0xb7, 0xba, 0x07, 0x30, 0xc6, 0xf6, 0x87, 0xd6, 0xbf,
|
|
||||||
0x1e, 0xb4, 0x6e, 0x38,
|
|
||||||
0xf7, 0xe4, 0x7b, 0xee, 0x7b, 0x4f, 0xdd, 0x4e, 0xda, 0x5d, 0x1d, 0xaa,
|
|
||||||
0xc3, 0x52, 0xba, 0x38,
|
|
||||||
0x3b, 0x46, 0x75, 0x70, 0xb6, 0x8f, 0xbd, 0xb1, 0xfe, 0xc6, 0xf8, 0x3f,
|
|
||||||
0x3a, 0x6f, 0x8c, 0x6f,
|
|
||||||
0xef, 0xbc, 0x29, 0xb6, 0xa3, 0xb3, 0x53, 0x74, 0x57, 0x67, 0xb7, 0x88,
|
|
||||||
0x76, 0x12, 0xc2, 0x6f,
|
|
||||||
0x06, 0x55, 0xe1, 0xd8, 0xea, 0xe6, 0xa8, 0x3f, 0x38, 0xc3, 0x62, 0xfa,
|
|
||||||
0xd5, 0x94, 0xc4, 0x2f,
|
|
||||||
0x28, 0xdd, 0x91, 0x71, 0x74, 0xdc, 0xf9, 0xdc, 0x0b, 0x85, 0xa7, 0x72,
|
|
||||||
0x0f, 0x8c, 0x5f, 0x95,
|
|
||||||
0x59, 0x37, 0x29, 0x32, 0xf1, 0xfe, 0xfa, 0x3f, 0xc4, 0xb4, 0x77, 0x76,
|
|
||||||
0x8a, 0x09, 0x9b, 0x15,
|
|
||||||
0xb2, 0xdd, 0xaf, 0x6f, 0xaf, 0xb0, 0x94, 0x9b, 0x89, 0xa3, 0xbe, 0x93,
|
|
||||||
0x9d, 0x09, 0xef, 0x39,
|
|
||||||
0x5a, 0xed, 0xad, 0x12, 0x0c, 0x3f, 0xca, 0x8e, 0xca, 0x84, 0x94, 0xdb,
|
|
||||||
0x9d, 0xed, 0xa3, 0xba,
|
|
||||||
0x84, 0xec, 0xf6, 0x6b, 0xda, 0x2b, 0xf5, 0x26, 0x67, 0x58, 0x74, 0xe5,
|
|
||||||
0xf8, 0x7f, 0x65, 0x6a,
|
|
||||||
0xab, 0x18, 0xdf, 0x49, 0x50, 0x18, 0x3f, 0xb8, 0x6c, 0x37, 0x6e, 0x5d,
|
|
||||||
0xee, 0xd3, 0x33, 0x6e,
|
|
||||||
0x88, 0xeb, 0xec, 0xec, 0x16, 0x19, 0xd2, 0xe0, 0x2f, 0x9f, 0x0f, 0x3b,
|
|
||||||
0xd4, 0xdf, 0x1b, 0x35,
|
|
||||||
0xaf, 0xa8, 0x75, 0x6c, 0x2b, 0xf6, 0xf8, 0xc6, 0xf8, 0x46, 0x3c, 0xf8,
|
|
||||||
0x9e, 0x98, 0xf2, 0x46,
|
|
||||||
0xd7, 0x0f, 0xf2, 0xad, 0x78, 0xfb, 0xbe, 0x33, 0x68, 0xcd, 0x3f, 0x69,
|
|
||||||
0x1b, 0x36, 0xfd, 0xa6,
|
|
||||||
0xd8, 0x2e, 0xd5, 0xed, 0x52, 0x43, 0x9a, 0xfc, 0x85, 0x50, 0xdd, 0x2d,
|
|
||||||
0xa5, 0xb3, 0xb3, 0x43,
|
|
||||||
0x74, 0x69, 0x49, 0x6b, 0x76, 0xab, 0xf1, 0xb5, 0x7c, 0xa5, 0xa1, 0x6c,
|
|
||||||
0xe5, 0xb2, 0xd3, 0x27,
|
|
||||||
0x72, 0x52, 0xf6, 0xcb, 0x36, 0x69, 0x92, 0x5d, 0x72, 0x48, 0xde, 0x96,
|
|
||||||
0x1f, 0xdc, 0xd6, 0xfb,
|
|
||||||
0x56, 0xdc, 0x63, 0x0d, 0x6c, 0x5a, 0xb0, 0x3b, 0xef, 0xfe, 0xfa, 0x9b,
|
|
||||||
0xa2, 0xc3, 0xab, 0xda,
|
|
||||||
0xa5, 0x84, 0x34, 0x7a, 0xfd, 0xd1, 0xcd, 0xd9, 0x61, 0x74, 0x8f, 0xca,
|
|
||||||
0x8f, 0x53, 0x5b, 0x8d,
|
|
||||||
0xaf, 0xe4, 0x4b, 0x8d, 0x6f, 0xb0, 0xc9, 0xb7, 0x72, 0x5c, 0xe6, 0x48,
|
|
||||||
0x86, 0x3c, 0x2b, 0x4f,
|
|
||||||
0x4b, 0x5f, 0xe9, 0x2f, 0x03, 0x40, 0x7f, 0xe9, 0x27, 0x7d, 0xf8, 0x3d,
|
|
||||||
0x5a, 0x2a, 0x65, 0x27,
|
|
||||||
0xb6, 0x6c, 0xc5, 0xae, 0xae, 0x19, 0x5f, 0x2a, 0xbb, 0x95, 0x8c, 0xcf,
|
|
||||||
0xea, 0xe8, 0x0c, 0x8b,
|
|
||||||
0x0a, 0x69, 0xf4, 0x7a, 0xc7, 0x58, 0x58, 0xca, 0x1f, 0xa7, 0x94, 0x24,
|
|
||||||
0xfd, 0x68, 0xff, 0x46,
|
|
||||||
0x2e, 0x6a, 0x7c, 0x85, 0x25, 0x3e, 0x90, 0x06, 0x19, 0x8d, 0xb5, 0x06,
|
|
||||||
0xcb, 0x70, 0x79, 0x41,
|
|
||||||
0x5e, 0x6c, 0x83, 0x11, 0x32, 0x84, 0xde, 0x61, 0x32, 0x4e, 0x5e, 0xd5,
|
|
||||||
0xd6, 0xbd, 0xa4, 0x67,
|
|
||||||
0x5e, 0x22, 0x4f, 0x1e, 0x9a, 0x78, 0x4b, 0xca, 0xef, 0x9d, 0x37, 0x24,
|
|
||||||
0xdd, 0xe0, 0xbc, 0x21,
|
|
||||||
0x31, 0x74, 0x5d, 0xdb, 0xd5, 0xa1, 0xaa, 0x5d, 0x7a, 0x20, 0x9b, 0x85,
|
|
||||||
0xcd, 0xea, 0x34, 0x7a,
|
|
||||||
0x4d, 0x61, 0x6b, 0xee, 0xe7, 0xc6, 0x67, 0xf2, 0x99, 0x7c, 0x4e, 0xdc,
|
|
||||||
0x9c, 0x93, 0x72, 0xe2,
|
|
||||||
0x69, 0x08, 0x96, 0x19, 0x75, 0x19, 0x8c, 0xc4, 0x76, 0x03, 0x24, 0x81,
|
|
||||||
0xac, 0xf9, 0x9d, 0x7c,
|
|
||||||
0x21, 0x9f, 0x69, 0x7c, 0x65, 0x04, 0xaf, 0x34, 0x43, 0xb8, 0x3a, 0xac,
|
|
||||||
0x99, 0xdc, 0x21, 0xb9,
|
|
||||||
0x6d, 0xdd, 0xd1, 0x35, 0xb5, 0xc3, 0xc4, 0xe6, 0x94, 0xef, 0xed, 0x9f,
|
|
||||||
0x88, 0xc2, 0x25, 0x62,
|
|
||||||
0xac, 0x51, 0x86, 0x62, 0x89, 0xc8, 0xab, 0xc0, 0x48, 0x79, 0x4e, 0xc6,
|
|
||||||
0xca, 0x19, 0xec, 0xf6,
|
|
||||||
0xa9, 0x7c, 0x12, 0xc2, 0xcf, 0x05, 0xea, 0x8a, 0x39, 0x35, 0x1d, 0x92,
|
|
||||||
0xda, 0xc6, 0x58, 0x97,
|
|
||||||
0xc8, 0x23, 0xf2, 0x95, 0xfd, 0x43, 0x51, 0xf8, 0x42, 0x8e, 0x92, 0x0f,
|
|
||||||
0x87, 0x73, 0x45, 0x5d,
|
|
||||||
0x35, 0x46, 0x92, 0x45, 0x17, 0x90, 0x1d, 0x3f, 0x96, 0x0f, 0x43, 0xf8,
|
|
||||||
0x79, 0x60, 0x7c, 0x21,
|
|
||||||
0x8d, 0x35, 0x37, 0x27, 0xf9, 0xd7, 0xf6, 0xed, 0x27, 0xee, 0x4e, 0xbd,
|
|
||||||
0x64, 0x7f, 0x5f, 0xde,
|
|
||||||
0x67, 0xff, 0xfa, 0x5a, 0x56, 0x90, 0x0d, 0x47, 0x4b, 0xec, 0x4f, 0x44,
|
|
||||||
0x8c, 0x3c, 0x2f, 0x42,
|
|
||||||
0xa4, 0xaa, 0x5a, 0x32, 0x84, 0x6b, 0xc3, 0x87, 0x58, 0xe4, 0x7d, 0xe3,
|
|
||||||
0x73, 0x69, 0xf0, 0xb3,
|
|
||||||
0x99, 0xaa, 0x15, 0xe7, 0x17, 0x7c, 0x99, 0xf7, 0xae, 0xbc, 0x2b, 0xef,
|
|
||||||
0x11, 0x8b, 0x33, 0x89,
|
|
||||||
0xb0, 0x38, 0x89, 0xbf, 0x26, 0x44, 0x63, 0x37, 0xb5, 0xcb, 0x85, 0x70,
|
|
||||||
0x2d, 0x18, 0x28, 0x47,
|
|
||||||
0x88, 0xa1, 0x77, 0x8d, 0x4f, 0xc5, 0xe9, 0x67, 0xb3, 0x9b, 0xa7, 0x66,
|
|
||||||
0xc4, 0x7d, 0x61, 0x7f,
|
|
||||||
0xdb, 0xf1, 0x16, 0xe7, 0xad, 0xcf, 0x64, 0xaa, 0x44, 0x48, 0xa2, 0x24,
|
|
||||||
0x5d, 0x33, 0x12, 0x43,
|
|
||||||
0xb8, 0x66, 0x8c, 0x94, 0x63, 0xc4, 0xd1, 0x5b, 0xc6, 0x47, 0x52, 0x6f,
|
|
||||||
0xb5, 0x59, 0x75, 0x97,
|
|
||||||
0xd4, 0xbf, 0x95, 0x5f, 0x4c, 0xbf, 0x60, 0x9c, 0x97, 0xf3, 0xd8, 0x74,
|
|
||||||
0x16, 0x95, 0x44, 0x4a,
|
|
||||||
0x08, 0xbf, 0x11, 0x44, 0xc9, 0x6b, 0xf2, 0x96, 0x9c, 0x37, 0x3e, 0x90,
|
|
||||||
0xe9, 0x35, 0x1d, 0x4d,
|
|
||||||
0x9b, 0x85, 0x3b, 0x3b, 0x8e, 0xde, 0xe6, 0x78, 0xdb, 0x7e, 0x56, 0xce,
|
|
||||||
0x62, 0xd1, 0xd5, 0xec,
|
|
||||||
0x46, 0x69, 0x57, 0x81, 0x74, 0x13, 0x69, 0xd7, 0x1d, 0xe9, 0x57, 0xb9,
|
|
||||||
0x5a, 0xaa, 0xbe, 0x52,
|
|
||||||
0xaf, 0x61, 0x95, 0xf4, 0x5f, 0x54, 0xbe, 0x40, 0x88, 0x91, 0x43, 0x44,
|
|
||||||
0xd2, 0x59, 0xe3, 0x5d,
|
|
||||||
0x99, 0x66, 0xb1, 0xd9, 0x2d, 0x75, 0xa9, 0x71, 0x1f, 0xd8, 0x4f, 0x3b,
|
|
||||||
0x4e, 0xcb, 0x1b, 0xd2,
|
|
||||||
0xcc, 0xf9, 0x2a, 0x53, 0xb2, 0xae, 0x10, 0x99, 0x3e, 0x92, 0xa4, 0x4b,
|
|
||||||
0xc6, 0x15, 0xcf, 0xbc,
|
|
||||||
0x7a, 0x64, 0xfa, 0x69, 0x2d, 0xfd, 0xdf, 0xf2, 0x99, 0x89, 0xa5, 0xd4,
|
|
||||||
0x8e, 0xea, 0xaa, 0x63,
|
|
||||||
0xa3, 0xf1, 0xc3, 0x64, 0x66, 0x5c, 0xfd, 0x2a, 0x69, 0x7e, 0xf2, 0x65,
|
|
||||||
0x5e, 0x47, 0x09, 0x03,
|
|
||||||
0x23, 0x41, 0x0e, 0x12, 0x4b, 0xa7, 0x8d, 0x37, 0x65, 0xaa, 0xc7, 0x66,
|
|
||||||
0xd4, 0x8b, 0xb7, 0x54,
|
|
||||||
0x9d, 0x4d, 0x3f, 0x65, 0x9c, 0x90, 0x93, 0xf4, 0x8d, 0x83, 0xab, 0xb1,
|
|
||||||
0x57, 0x88, 0x2c, 0x19,
|
|
||||||
0x23, 0x2f, 0xc8, 0x30, 0xce, 0xdb, 0x0a, 0xc3, 0xa9, 0x33, 0xd3, 0x25,
|
|
||||||
0xfb, 0x8a, 0x67, 0x5f,
|
|
||||||
0x1d, 0x72, 0xd0, 0x57, 0x2c, 0x27, 0xc5, 0xa1, 0xe6, 0x6a, 0xa3, 0x69,
|
|
||||||
0xc9, 0x09, 0x3a, 0x3e,
|
|
||||||
0x93, 0x9d, 0x40, 0x5d, 0xb1, 0x54, 0x52, 0xb1, 0x58, 0x2f, 0x8d, 0x2c,
|
|
||||||
0x93, 0xa6, 0xc7, 0xe7,
|
|
||||||
0xc0, 0xa3, 0xb2, 0x4d, 0x86, 0x86, 0xb2, 0x81, 0x97, 0xe7, 0x6c, 0x2c,
|
|
||||||
0xfd, 0xa2, 0x29, 0x91,
|
|
||||||
0x15, 0x43, 0x59, 0xf1, 0x79, 0xf6, 0x0c, 0x65, 0xfb, 0x8c, 0xeb, 0x26,
|
|
||||||
0x65, 0x20, 0x24, 0xcb,
|
|
||||||
0x2b, 0x72, 0x5a, 0x4e, 0xb0, 0x6f, 0xd5, 0xd6, 0xba, 0x6c, 0xd6, 0x6d,
|
|
||||||
0x56, 0xc7, 0x48, 0x5b,
|
|
||||||
0xd1, 0xf9, 0x9c, 0x23, 0x54, 0x27, 0xa7, 0x39, 0x53, 0x65, 0x88, 0xed,
|
|
||||||
0x8a, 0xa1, 0xfc, 0x6e,
|
|
||||||
0xbf, 0x6c, 0x91, 0xcd, 0x1a, 0x4d, 0xf2, 0x2a, 0x3a, 0xcd, 0x11, 0xfb,
|
|
||||||
0x55, 0x50, 0xb8, 0x72,
|
|
||||||
0xe4, 0xa2, 0x77, 0xa7, 0xec, 0x34, 0x57, 0xdb, 0x2e, 0x6b, 0xa9, 0x93,
|
|
||||||
0xc6, 0x06, 0x1d, 0x9f,
|
|
||||||
0x49, 0x74, 0xf9, 0xde, 0x45, 0xa8, 0x46, 0xe3, 0x36, 0xb8, 0xcb, 0xc1,
|
|
||||||
0xd3, 0x46, 0x70, 0xee,
|
|
||||||
0x1f, 0xa4, 0x31, 0x84, 0x3d, 0x3e, 0x03, 0xea, 0x36, 0xdd, 0x97, 0xc9,
|
|
||||||
0x2a, 0x07, 0x90, 0x64,
|
|
||||||
0x73, 0x1b, 0x34, 0xc9, 0x4a, 0x99, 0x27, 0xe5, 0xd8, 0x7d, 0x04, 0x67,
|
|
||||||
0xcf, 0x04, 0x2c, 0x9d,
|
|
||||||
0x7b, 0x5d, 0xe4, 0x0c, 0xa4, 0xe5, 0xfd, 0x72, 0x5c, 0x8e, 0x18, 0x67,
|
|
||||||
0x64, 0xb2, 0x3b, 0xce,
|
|
||||||
0xc2, 0x9d, 0x5d, 0x22, 0x0f, 0x18, 0x47, 0x8c, 0x43, 0x72, 0x98, 0xbd,
|
|
||||||
0x6e, 0xac, 0x18, 0x72,
|
|
||||||
0xa5, 0x3f, 0x06, 0x3e, 0x99, 0xe2, 0xa7, 0x97, 0xdb, 0xd0, 0xc8, 0xf5,
|
|
||||||
0xf9, 0xb1, 0xa1, 0xdb,
|
|
||||||
0x26, 0x9f, 0xb5, 0xde, 0x94, 0x87, 0xd0, 0x72, 0xb0, 0x9f, 0x4c, 0xa2,
|
|
||||||
0xe2, 0x0b, 0xf9, 0xc1,
|
|
||||||
0x7c, 0xbe, 0xd7, 0x0a, 0xb7, 0x23, 0x34, 0xd7, 0x69, 0x52, 0x88, 0x77,
|
|
||||||
0x36, 0xbb, 0x71, 0x48,
|
|
||||||
0x5a, 0x88, 0x44, 0x97, 0xdc, 0x06, 0xd6, 0x7b, 0xfe, 0xb2, 0x77, 0x90,
|
|
||||||
0xbe, 0xc6, 0xaa, 0xd1,
|
|
||||||
0xc4, 0x62, 0x16, 0x3c, 0xfd, 0x12, 0x3f, 0x59, 0xb2, 0x07, 0xcb, 0x1c,
|
|
||||||
0x32, 0x4e, 0xca, 0xc4,
|
|
||||||
0x9a, 0x8e, 0x89, 0xca, 0x66, 0x9d, 0xa7, 0x45, 0xc4, 0xbe, 0x6e, 0x6f,
|
|
||||||
0x76, 0x34, 0x13, 0x67,
|
|
||||||
0x0d, 0x70, 0x5d, 0x70, 0x85, 0x28, 0xe4, 0x4a, 0xc3, 0x2b, 0x5b, 0x3d,
|
|
||||||
0xf7, 0xf1, 0x41, 0xab,
|
|
||||||
0xfc, 0x51, 0xf2, 0xe8, 0x29, 0xbc, 0x62, 0x2a, 0x57, 0xbe, 0x9a, 0x90,
|
|
||||||
0xb3, 0x56, 0xc9, 0x8f,
|
|
||||||
0xe6, 0x5a, 0xdf, 0xc9, 0x51, 0xb9, 0x5b, 0xf2, 0x03, 0xae, 0xa5, 0xda,
|
|
||||||
0x72, 0xb0, 0xd0, 0xa7,
|
|
||||||
0xe8, 0xd7, 0xcb, 0x9b, 0xca, 0xe3, 0xaa, 0x27, 0x85, 0x59, 0xea, 0xf9,
|
|
||||||
0x83, 0x0b, 0xad, 0x9c,
|
|
||||||
0xfb, 0x9f, 0xc0, 0x66, 0x8a, 0xeb, 0x7c, 0xf4, 0x33, 0xd8, 0x47, 0xa2,
|
|
||||||
0x40, 0xf8, 0x5a, 0x3f,
|
|
||||||
0x7b, 0x9a, 0x43, 0x8c, 0x8e, 0x15, 0xc7, 0xcf, 0x2e, 0x69, 0x5b, 0xe4,
|
|
||||||
0xc9, 0x6e, 0xfc, 0xaa,
|
|
||||||
0xd9, 0x38, 0x26, 0xd5, 0x6e, 0x9b, 0xdd, 0x34, 0x71, 0x69, 0x6a, 0x8b,
|
|
||||||
0x71, 0x80, 0x9c, 0xb9,
|
|
||||||
0x5f, 0x8a, 0xd8, 0xcd, 0x8a, 0x2e, 0x8b, 0x62, 0xa0, 0xfe, 0x1d, 0xa7,
|
|
||||||
0x33, 0x49, 0xab, 0x7c,
|
|
||||||
0x6e, 0xa2, 0x55, 0xda, 0xe3, 0xf9, 0x81, 0x66, 0x78, 0xe7, 0xfd, 0x34,
|
|
||||||
0x14, 0xc3, 0xfb, 0x48,
|
|
||||||
0x59, 0x21, 0xdf, 0x9a, 0x6b, 0x7d, 0x45, 0x5e, 0xb8, 0x87, 0xd6, 0x60,
|
|
||||||
0x34, 0xf3, 0xc8, 0x9c,
|
|
||||||
0x1f, 0x11, 0x69, 0x17, 0xdd, 0x50, 0x36, 0x8b, 0xd0, 0x12, 0xa6, 0xd0,
|
|
||||||
0xe7, 0xe5, 0xfa, 0x12,
|
|
||||||
0x67, 0x9b, 0xfb, 0x89, 0x98, 0x22, 0xdd, 0x97, 0x43, 0xae, 0xb4, 0x4a,
|
|
||||||
0x14, 0x1c, 0xad, 0x64,
|
|
||||||
0xea, 0x61, 0x78, 0xd2, 0xb8, 0x9f, 0x20, 0x4b, 0xb1, 0x45, 0x2b, 0x97,
|
|
||||||
0x87, 0x21, 0x3b, 0xd8,
|
|
||||||
0x75, 0x0e, 0x18, 0x87, 0xa5, 0xb2, 0x16, 0x9b, 0x55, 0x87, 0xa5, 0xdc,
|
|
||||||
0x56, 0x71, 0x32, 0x75,
|
|
||||||
0xaf, 0xec, 0x25, 0xde, 0x97, 0xb2, 0x7e, 0x69, 0x50, 0x94, 0x81, 0x52,
|
|
||||||
0x19, 0x2f, 0x25, 0x7a,
|
|
||||||
0xad, 0x12, 0x3e, 0x95, 0x92, 0xd1, 0x93, 0xd0, 0xa2, 0xf7, 0x9e, 0x58,
|
|
||||||
0xab, 0x74, 0x44, 0x8b,
|
|
||||||
0xae, 0x91, 0xbe, 0x33, 0xc6, 0xb9, 0x65, 0x73, 0xcd, 0xf3, 0x8c, 0x08,
|
|
||||||
0xbe, 0x8e, 0xff, 0x88,
|
|
||||||
0x32, 0x68, 0x44, 0xc1, 0xe1, 0x25, 0x73, 0xad, 0xcf, 0x90, 0xe3, 0x7e,
|
|
||||||
0xe8, 0x05, 0xa3, 0x95,
|
|
||||||
0x0f, 0x6f, 0xff, 0x72, 0x3f, 0x13, 0x72, 0xd9, 0x4c, 0xd5, 0x91, 0x6a,
|
|
||||||
0x6c, 0x06, 0x36, 0xfb,
|
|
||||||
0xc6, 0xa4, 0xf3, 0x09, 0x67, 0x9f, 0x07, 0xd0, 0xbd, 0x8b, 0x8a, 0x8d,
|
|
||||||
0x4a, 0xe3, 0xfb, 0x2b,
|
|
||||||
0xbc, 0x03, 0xf8, 0x23, 0xd6, 0xcf, 0x80, 0x83, 0xc0, 0x72, 0x28, 0xb9,
|
|
||||||
0x95, 0xb4, 0xe3, 0x03,
|
|
||||||
0x68, 0xa3, 0xc8, 0xad, 0x8f, 0x62, 0xb7, 0x36, 0x4a, 0xff, 0x8d, 0x3e,
|
|
||||||
0x4a, 0x89, 0xff, 0x6d,
|
|
||||||
0xb2, 0x4f, 0xf6, 0x1a, 0xcd, 0x52, 0xae, 0x6a, 0x90, 0xea, 0xce, 0xa9,
|
|
||||||
0x11, 0x25, 0xcd, 0x59,
|
|
||||||
0x3b, 0xd9, 0xdb, 0xf7, 0x4b, 0x0d, 0x3b, 0x6c, 0x45, 0x10, 0x54, 0x72,
|
|
||||||
0x95, 0xb3, 0x82, 0x50,
|
|
||||||
0x31, 0x25, 0xe3, 0xb1, 0x69, 0xd8, 0xab, 0x10, 0xaf, 0x4c, 0x42, 0x2b,
|
|
||||||
0xef, 0x9a, 0xf8, 0x5e,
|
|
||||||
0x6e, 0x81, 0x97, 0x4a, 0x0d, 0x35, 0xab, 0x4c, 0x7b, 0x49, 0x26, 0xe3,
|
|
||||||
0xe3, 0x75, 0xed, 0x36,
|
|
||||||
0x86, 0xdc, 0x63, 0xc0, 0x69, 0x99, 0x9b, 0x66, 0x39, 0x1c, 0x15, 0x61,
|
|
||||||
0xe5, 0x7c, 0x33, 0xa7,
|
|
||||||
0x95, 0x68, 0x1e, 0x5c, 0xab, 0x95, 0x40, 0xcb, 0xd3, 0x33, 0x8e, 0xbe,
|
|
||||||
0x18, 0x59, 0x2c, 0x1f,
|
|
||||||
0x9b, 0x6b, 0x7d, 0x88, 0x9f, 0xfd, 0x4d, 0x53, 0x2a, 0x63, 0x64, 0xa1,
|
|
||||||
0x39, 0x32, 0x9f, 0xb1,
|
|
||||||
0xc5, 0x9a, 0xd7, 0x6c, 0xe9, 0x21, 0x37, 0x49, 0x07, 0x8d, 0x9b, 0xc1,
|
|
||||||
0x7d, 0xd8, 0x4a, 0x71,
|
|
||||||
0xa4, 0xb8, 0xb8, 0x68, 0xd2, 0x79, 0x5f, 0xce, 0xc9, 0x5f, 0x90, 0x64,
|
|
||||||
0x9c, 0x5e, 0x5b, 0xd8,
|
|
||||||
0xcf, 0xbe, 0xb4, 0x48, 0xa4, 0x70, 0xc9, 0x8d, 0x4f, 0xf1, 0x01, 0x6b,
|
|
||||||
0xfb, 0x47, 0xb2, 0x4b,
|
|
||||||
0x06, 0x6a, 0x69, 0x8a, 0xcd, 0xf5, 0x0b, 0xa1, 0x5f, 0xaa, 0xa5, 0xb2,
|
|
||||||
0xe9, 0x3a, 0x3d, 0x9f,
|
|
||||||
0xcf, 0x15, 0xa6, 0x36, 0x4a, 0xdc, 0xfa, 0x8b, 0xd7, 0x77, 0x64, 0x93,
|
|
||||||
0xa8, 0x2e, 0x6c, 0x3a,
|
|
||||||
0x4e, 0xca, 0x4d, 0x8d, 0x05, 0x42, 0x09, 0x75, 0xd7, 0x2e, 0xd9, 0x49,
|
|
||||||
0x2e, 0x2c, 0xad, 0xb9,
|
|
||||||
0x25, 0x91, 0x9a, 0x71, 0x74, 0x4d, 0xc1, 0xee, 0xbc, 0xed, 0x54, 0x61,
|
|
||||||
0x5b, 0x99, 0x39, 0x31,
|
|
||||||
0x28, 0x26, 0x40, 0x73, 0x1c, 0xd2, 0xa6, 0xf0, 0x79, 0x31, 0x15, 0x54,
|
|
||||||
0x23, 0xdc, 0xc4, 0xea,
|
|
||||||
0x3a, 0xfa, 0x23, 0x64, 0xf6, 0xe0, 0x92, 0x74, 0x41, 0x57, 0xae, 0xf1,
|
|
||||||
0x55, 0x7c, 0xca, 0x65,
|
|
||||||
0x44, 0x3a, 0xf5, 0xda, 0x22, 0xd9, 0x48, 0xfd, 0xb0, 0x89, 0x99, 0x55,
|
|
||||||
0x50, 0x88, 0x25, 0x7f,
|
|
||||||
0x96, 0xd2, 0xaa, 0xc6, 0x14, 0xf3, 0x39, 0x85, 0x2a, 0x4c, 0x21, 0x09,
|
|
||||||
0xaf, 0x55, 0x3d, 0x13,
|
|
||||||
0x98, 0x5f, 0x05, 0xa7, 0x79, 0xcc, 0x4d, 0xd4, 0x3d, 0x63, 0xb0, 0xbb,
|
|
||||||
0xb0, 0xef, 0x2f, 0x40,
|
|
||||||
0x53, 0x9e, 0xb5, 0xde, 0x26, 0x63, 0x3c, 0xc4, 0xb8, 0x4a, 0xf4, 0x94,
|
|
||||||
0x61, 0xd2, 0x48, 0xe4,
|
|
||||||
0xd3, 0x58, 0xb4, 0x53, 0xae, 0xf5, 0x1f, 0x47, 0x75, 0x38, 0x50, 0x9e,
|
|
||||||
0x05, 0x83, 0xb0, 0x45,
|
|
||||||
0xaa, 0xf6, 0xef, 0x5c, 0x72, 0x6c, 0x16, 0xda, 0xf7, 0xd0, 0xb9, 0xc0,
|
|
||||||
0x09, 0xe7, 0x2f, 0xd0,
|
|
||||||
0xce, 0x40, 0xa2, 0x32, 0x68, 0x8d, 0xc4, 0x2f, 0xce, 0x59, 0xf0, 0x31,
|
|
||||||
0x19, 0x55, 0xdd, 0x8d,
|
|
||||||
0x48, 0x86, 0xaf, 0x3d, 0x96, 0x79, 0x0a, 0x5f, 0xca, 0x3f, 0xb1, 0x93,
|
|
||||||
0xb2, 0x4f, 0xaa, 0x7b,
|
|
||||||
0xfd, 0x64, 0x5d, 0x83, 0xd9, 0xb0, 0x4a, 0xae, 0x4c, 0x41, 0xee, 0x32,
|
|
||||||
0x56, 0x74, 0xc9, 0x53,
|
|
||||||
0x8a, 0xb7, 0xc6, 0xe1, 0xeb, 0x65, 0x48, 0xb1, 0x01, 0x2b, 0x6c, 0x95,
|
|
||||||
0x97, 0x64, 0x2a, 0x72,
|
|
||||||
0xc5, 0x60, 0xc5, 0x12, 0xfa, 0x27, 0x04, 0xd5, 0x7d, 0x05, 0x9a, 0xdb,
|
|
||||||
0x21, 0xdb, 0x8d, 0xbd,
|
|
||||||
0x52, 0x8c, 0xcd, 0xc2, 0x67, 0x75, 0x89, 0x58, 0x23, 0x5b, 0xed, 0x8a,
|
|
||||||
0xc2, 0x32, 0x66, 0xd5,
|
|
||||||
0x04, 0xc5, 0x04, 0x38, 0x8b, 0xa6, 0xd6, 0x3d, 0x8f, 0xae, 0x2e, 0xf0,
|
|
||||||
0xef, 0x9b, 0x68, 0xaf,
|
|
||||||
0x45, 0xd7, 0xcc, 0xef, 0x51, 0x83, 0x79, 0xf0, 0xb1, 0x84, 0xa1, 0x2b,
|
|
||||||
0xd7, 0xf8, 0xf1, 0xe8,
|
|
||||||
0xcf, 0x4e, 0x2c, 0xbc, 0xa9, 0x67, 0x78, 0xf4, 0xa3, 0x3e, 0x6f, 0xd5,
|
|
||||||
0xf7, 0x26, 0xca, 0xe0,
|
|
||||||
0xa6, 0x1a, 0xc9, 0x8e, 0xa0, 0xb3, 0xe3, 0x6e, 0xbc, 0x41, 0x6b, 0x1e,
|
|
||||||
0xed, 0x35, 0xf4, 0xe4,
|
|
||||||
0xc9, 0x5c, 0x79, 0xdd, 0xec, 0x39, 0x2f, 0x93, 0xc8, 0x5a, 0xf3, 0x98,
|
|
||||||
0xed, 0x59, 0xeb, 0x1c,
|
|
||||||
0x72, 0x3f, 0xcc, 0xb8, 0x12, 0x7c, 0x60, 0xbb, 0x9c, 0x32, 0x47, 0x9e,
|
|
||||||
0x24, 0x72, 0xd4, 0xee,
|
|
||||||
0x57, 0x01, 0x85, 0x63, 0x8c, 0x3b, 0xe5, 0xc6, 0x05, 0xc6, 0xaa, 0x13,
|
|
||||||
0x65, 0x33, 0x23, 0x4e,
|
|
||||||
0xca, 0x19, 0x0b, 0xd7, 0x67, 0x98, 0x75, 0x02, 0x7a, 0x55, 0x68, 0xb5,
|
|
||||||
0x08, 0x0b, 0x59, 0x25,
|
|
||||||
0x3a, 0xcd, 0xce, 0xd5, 0x0e, 0xdf, 0x78, 0x4c, 0x1e, 0x91, 0xbb, 0xe4,
|
|
||||||
0x77, 0xe8, 0xf9, 0xbc,
|
|
||||||
0xa5, 0xef, 0x7d, 0xe4, 0xcf, 0x46, 0xef, 0xfb, 0x2d, 0xeb, 0xbf, 0x23,
|
|
||||||
0x3d, 0xb1, 0xcd, 0x7e,
|
|
||||||
0xfe, 0x7f, 0x0b, 0x7f, 0xce, 0xa3, 0x77, 0x32, 0x12, 0x95, 0xe9, 0xfb,
|
|
||||||
0x28, 0x4d, 0x70, 0xf1,
|
|
||||||
0x8e, 0xa9, 0x8d, 0xf3, 0xa2, 0xee, 0xed, 0x1e, 0x84, 0xdb, 0x18, 0xae,
|
|
||||||
0x6a, 0xc6, 0x05, 0xd3,
|
|
||||||
0xfd, 0x7a, 0x66, 0x6e, 0x31, 0x76, 0xca, 0x38, 0x6c, 0x16, 0xe6, 0xbc,
|
|
||||||
0x3b, 0x62, 0x9b, 0x7d,
|
|
||||||
0x23, 0x51, 0xb0, 0x59, 0x66, 0xe3, 0x17, 0x53, 0x03, 0xa0, 0x8e, 0xab,
|
|
||||||
0x16, 0x2f, 0x89, 0x23,
|
|
||||||
0x7f, 0xbe, 0x4e, 0xad, 0x76, 0xc4, 0xc4, 0x71, 0xd6, 0x2c, 0x83, 0x73,
|
|
||||||
0x6f, 0xcb, 0x3b, 0xf2,
|
|
||||||
0x27, 0x24, 0xaf, 0x63, 0x1d, 0x65, 0xb1, 0x25, 0x70, 0x75, 0xdc, 0xd2,
|
|
||||||
0xeb, 0xc1, 0x09, 0xe6,
|
|
||||||
0x4d, 0xc2, 0x27, 0x2b, 0x91, 0x25, 0x4b, 0x66, 0xa0, 0xb3, 0xa3, 0x6e,
|
|
||||||
0xa8, 0xf3, 0xe1, 0x08,
|
|
||||||
0x78, 0x9f, 0x8a, 0x04, 0xf1, 0xd8, 0xfb, 0x84, 0xbb, 0xfd, 0x18, 0x2b,
|
|
||||||
0xdf, 0x43, 0x04, 0xcc,
|
|
||||||
0x46, 0x37, 0x5e, 0x2a, 0xeb, 0xd0, 0x63, 0x29, 0xe3, 0x96, 0x6b, 0xbe,
|
|
||||||
0x5c, 0x38, 0x8e, 0x1e,
|
|
||||||
0x9f, 0x64, 0x9f, 0xab, 0x86, 0x7a, 0x32, 0xf6, 0x39, 0x6e, 0xf6, 0x9c,
|
|
||||||
0x47, 0x02, 0x75, 0xd7,
|
|
||||||
0x7b, 0xbf, 0xa6, 0xea, 0xcb, 0xd1, 0x31, 0xdd, 0x1f, 0x8f, 0x56, 0xcb,
|
|
||||||
0xd8, 0x35, 0xcf, 0xf9,
|
|
||||||
0xf4, 0x29, 0x99, 0xaa, 0x65, 0x1a, 0x98, 0x04, 0xb7, 0xd1, 0xf8, 0x95,
|
|
||||||
0xb7, 0xef, 0x0d, 0xe8,
|
|
||||||
0x25, 0x43, 0x75, 0xa7, 0xc9, 0xe9, 0x51, 0xc6, 0x77, 0x14, 0x75, 0x77,
|
|
||||||
0x42, 0xf5, 0x9f, 0xe3,
|
|
||||||
0xdc, 0x9f, 0x8a, 0xf6, 0x14, 0x2f, 0x53, 0x91, 0xfa, 0x44, 0x00, 0x6d,
|
|
||||||
0x28, 0x7f, 0x5c, 0xcf,
|
|
||||||
0xb8, 0x12, 0xb4, 0xe6, 0xd2, 0xb6, 0x3f, 0x6a, 0x64, 0x0d, 0x16, 0xda,
|
|
||||||
0x68, 0x6c, 0x93, 0x82,
|
|
||||||
0xda, 0x5b, 0x92, 0xba, 0xce, 0x78, 0x2a, 0xea, 0x65, 0xfb, 0x5a, 0xc7,
|
|
||||||
0x5a, 0x66, 0xcd, 0x42,
|
|
||||||
0x7b, 0x33, 0x03, 0x62, 0x06, 0x5a, 0xcc, 0x90, 0x85, 0xf0, 0xf3, 0x6a,
|
|
||||||
0x1b, 0xbc, 0xe6, 0xf3,
|
|
||||||
0xdb, 0x59, 0xf9, 0x33, 0x63, 0xa7, 0x63, 0x8b, 0x64, 0xe2, 0xf6, 0xb8,
|
|
||||||
0xd9, 0x7e, 0x90, 0x1a,
|
|
||||||
0xef, 0x08, 0xd7, 0x41, 0xb3, 0xe5, 0x04, 0xde, 0x93, 0x8e, 0x16, 0x4a,
|
|
||||||
0xd0, 0xd1, 0x29, 0xb3,
|
|
||||||
0xb5, 0x19, 0xe9, 0xfb, 0x41, 0x61, 0x06, 0x51, 0x92, 0x80, 0xdc, 0x9e,
|
|
||||||
0xf6, 0xc3, 0x64, 0xd5,
|
|
||||||
0x3f, 0x21, 0xbd, 0xd3, 0xb2, 0xde, 0x21, 0x32, 0xf4, 0xc3, 0x5a, 0x23,
|
|
||||||
0x27, 0x2c, 0xf3, 0xcf,
|
|
||||||
0xb1, 0x87, 0x75, 0x25, 0x5a, 0x66, 0x42, 0x7f, 0x0c, 0xb9, 0xac, 0xd9,
|
|
||||||
0xec, 0x3b, 0xc9, 0x89,
|
|
||||||
0x5a, 0x69, 0x78, 0xbb, 0xa5, 0xcd, 0x8a, 0x13, 0xf4, 0x67, 0xe1, 0x71,
|
|
||||||
0xb1, 0x16, 0x7a, 0x2e,
|
|
||||||
0x99, 0x6e, 0x83, 0x4f, 0xa5, 0x85, 0x5a, 0xb2, 0x5e, 0x86, 0x45, 0x2a,
|
|
||||||
0x45, 0x33, 0x8a, 0xac,
|
|
||||||
0x99, 0x44, 0xc4, 0xb7, 0x98, 0x6d, 0xc7, 0x90, 0xeb, 0x84, 0x65, 0xcd,
|
|
||||||
0x74, 0xe4, 0xc9, 0xc1,
|
|
||||||
0xe2, 0xc7, 0x03, 0xae, 0xea, 0xc2, 0x51, 0x59, 0x8b, 0x37, 0x4c, 0x64,
|
|
||||||
0x54, 0x20, 0xfd, 0x4f,
|
|
||||||
0xe3, 0x8c, 0xb3, 0x4e, 0xd6, 0x1a, 0x9b, 0xc5, 0x51, 0xd3, 0x29, 0xb1,
|
|
||||||
0xcb, 0xb4, 0x11, 0xb1,
|
|
||||||
0x9b, 0xed, 0x2b, 0x45, 0x61, 0x56, 0x10, 0x34, 0x60, 0x03, 0x55, 0x85,
|
|
||||||
0x1d, 0x64, 0x1f, 0xbc,
|
|
||||||
0x1c, 0x8e, 0xca, 0xed, 0x44, 0xeb, 0x34, 0x4e, 0x2d, 0xb5, 0x68, 0xc6,
|
|
||||||
0xd3, 0xba, 0x1b, 0xfd,
|
|
||||||
0x2e, 0x20, 0x67, 0xce, 0x87, 0xc6, 0x6e, 0xcb, 0xd8, 0x24, 0x72, 0xfd,
|
|
||||||
0x64, 0x4e, 0x5d, 0x9b,
|
|
||||||
0xd0, 0xad, 0xa7, 0xf5, 0x90, 0x0c, 0x65, 0xb5, 0xe9, 0x7a, 0x27, 0x7f,
|
|
||||||
0xc5, 0x6c, 0x6d, 0x61,
|
|
||||||
0x37, 0x7a, 0x8e, 0x5d, 0x62, 0x1a, 0x51, 0xe2, 0x69, 0xdb, 0x47, 0x1c,
|
|
||||||
0xdf, 0x81, 0xcd, 0x5b,
|
|
||||||
0x2c, 0xeb, 0x9c, 0x90, 0x07, 0xa5, 0x1b, 0x51, 0xd1, 0x08, 0xdf, 0x93,
|
|
||||||
0xb1, 0xcf, 0x56, 0xcb,
|
|
||||||
0x7a, 0x2d, 0xc4, 0x69, 0x2a, 0xb9, 0x78, 0x17, 0xda, 0x3b, 0xe4, 0xc3,
|
|
||||||
0xf5, 0x1e, 0x1d, 0x1f,
|
|
||||||
0xe7, 0xf4, 0x3e, 0x3b, 0x91, 0x68, 0x6b, 0xf6, 0xe9, 0x3d, 0x46, 0x5d,
|
|
||||||
0x95, 0xaf, 0x2b, 0x3e,
|
|
||||||
0x21, 0x6f, 0xd6, 0x5b, 0x38, 0x50, 0xdc, 0x0e, 0xc0, 0xce, 0xa9, 0xc4,
|
|
||||||
0xc1, 0x1e, 0x0b, 0x17,
|
|
||||||
0xbb, 0xcc, 0x55, 0x5b, 0x64, 0x14, 0x56, 0x2e, 0x46, 0x1f, 0x87, 0x2d,
|
|
||||||
0xb3, 0x76, 0x6b, 0x1f,
|
|
||||||
0x6e, 0xb1, 0xcc, 0xd9, 0x45, 0x4b, 0x0d, 0x23, 0xeb, 0xf0, 0xca, 0xb6,
|
|
||||||
0x16, 0xa8, 0x27, 0x93,
|
|
||||||
0x60, 0x21, 0x63, 0xbd, 0xd8, 0xb1, 0x59, 0xe7, 0xa9, 0x71, 0x71, 0xeb,
|
|
||||||
0xec, 0xcb, 0x88, 0x89,
|
|
||||||
0xa5, 0xe4, 0x9d, 0x40, 0x98, 0xc3, 0x35, 0x03, 0x49, 0x5f, 0x62, 0x17,
|
|
||||||
0xdc, 0x6a, 0x62, 0x3b,
|
|
||||||
0xfa, 0x6c, 0x61, 0x9d, 0x3d, 0x96, 0x36, 0x85, 0x83, 0x9c, 0x72, 0xeb,
|
|
||||||
0xf4, 0xea, 0xbb, 0xcc,
|
|
||||||
0xb6, 0x6d, 0x9c, 0x22, 0xba, 0xcb, 0x7f, 0xa2, 0xcb, 0x8e, 0x68, 0xf4,
|
|
||||||
0x80, 0xd9, 0xbe, 0x03,
|
|
||||||
0x4e, 0xa2, 0xb4, 0xef, 0x16, 0x22, 0x85, 0xa7, 0x75, 0x37, 0x96, 0xc9,
|
|
||||||
0x81, 0x46, 0x1e, 0xeb,
|
|
||||||
0x7a, 0x57, 0x3c, 0x2c, 0xe1, 0xec, 0x35, 0x0e, 0xfc, 0x61, 0xa7, 0xd9,
|
|
||||||
0xf6, 0x32, 0x96, 0x79,
|
|
||||||
0x1c, 0x7a, 0xdb, 0xcc, 0x75, 0x0e, 0xb1, 0xeb, 0xdc, 0x4a, 0x84, 0xce,
|
|
||||||
0x85, 0xeb, 0x39, 0xe4,
|
|
||||||
0x94, 0x34, 0xf6, 0xfa, 0x6d, 0xe6, 0xf8, 0x7d, 0x78, 0x47, 0x0e, 0x36,
|
|
||||||
0x19, 0x2a, 0x37, 0xca,
|
|
||||||
0x53, 0x16, 0x3e, 0xb6, 0xe3, 0x33, 0x37, 0x63, 0x97, 0x4e, 0xf2, 0x77,
|
|
||||||
0xbd, 0xa3, 0x27, 0x92,
|
|
||||||
0x93, 0xad, 0x32, 0xed, 0x97, 0xde, 0xfa, 0xe4, 0x9c, 0x8f, 0xd7, 0xcd,
|
|
||||||
0xb1, 0xc8, 0xa5, 0xd0,
|
|
||||||
0x42, 0x16, 0x2e, 0x64, 0xc7, 0x5a, 0xae, 0x6b, 0x38, 0xaf, 0xc4, 0xd6,
|
|
||||||
0x35, 0xd5, 0x3d, 0xce,
|
|
||||||
0x55, 0x96, 0xfe, 0x6d, 0x50, 0x4c, 0x93, 0x47, 0x39, 0x07, 0x6e, 0x41,
|
|
||||||
0x06, 0xeb, 0x3a, 0xc3,
|
|
||||||
0x89, 0xe7, 0x46, 0xad, 0x71, 0x5f, 0x34, 0x62, 0x1d, 0x6c, 0x64, 0xac,
|
|
||||||
0x91, 0xbc, 0xda, 0x4e,
|
|
||||||
0x89, 0x9d, 0x6a, 0xd3, 0x12, 0x56, 0xda, 0x17, 0x8b, 0xc2, 0x82, 0x20,
|
|
||||||
0x98, 0x8f, 0x06, 0x33,
|
|
||||||
0x58, 0x73, 0x9d, 0x89, 0x0d, 0xec, 0x7e, 0x0f, 0xc8, 0x7f, 0x53, 0x41,
|
|
||||||
0xa7, 0xa2, 0xd7, 0x75,
|
|
||||||
0x16, 0xec, 0x92, 0x7b, 0x89, 0x11, 0x55, 0x5d, 0x6c, 0x36, 0xdb, 0xb6,
|
|
||||||
0x22, 0x53, 0x7b, 0x64,
|
|
||||||
0x9e, 0x82, 0xff, 0x0f, 0x67, 0xc7, 0x6e, 0x32, 0x7b, 0xb6, 0x93, 0xc5,
|
|
||||||
0xab, 0xd0, 0x52, 0x2c,
|
|
||||||
0xa3, 0xd7, 0xbb, 0xdb, 0x36, 0x52, 0x67, 0x0c, 0xa3, 0x2d, 0x07, 0xcf,
|
|
||||||
0xf2, 0xb4, 0x6d, 0xc2,
|
|
||||||
0xfb, 0xee, 0x84, 0x8b, 0x22, 0x64, 0xda, 0x64, 0xe1, 0x62, 0x01, 0xb2,
|
|
||||||
0x6c, 0x74, 0xff, 0xb6,
|
|
||||||
0x1e, 0x4d, 0xdf, 0x4f, 0x66, 0x9e, 0x4a, 0x0e, 0x77, 0xf1, 0x3d, 0x83,
|
|
||||||
0x75, 0xbd, 0x34, 0xd4,
|
|
||||||
0x6a, 0x23, 0xb0, 0xfb, 0x1c, 0xec, 0x92, 0xc8, 0xce, 0xb6, 0xcd, 0x42,
|
|
||||||
0x67, 0x39, 0x5c, 0x67,
|
|
||||||
0x62, 0x97, 0x6a, 0xac, 0x3d, 0x4d, 0x47, 0xe7, 0x3a, 0x1f, 0xbc, 0x0c,
|
|
||||||
0xcf, 0x0a, 0x5b, 0x2c,
|
|
||||||
0xab, 0xbb, 0x78, 0x5d, 0x8a, 0x8f, 0xd4, 0x52, 0xd9, 0x2c, 0x82, 0xca,
|
|
||||||
0x3a, 0x3f, 0xac, 0x67,
|
|
||||||
0xf4, 0x2e, 0x6c, 0x96, 0x82, 0x57, 0x36, 0x59, 0xda, 0xf7, 0xb0, 0x5a,
|
|
||||||
0x07, 0x2c, 0xd6, 0x97,
|
|
||||||
0x9c, 0xbb, 0xce, 0x32, 0xaf, 0x09, 0x0e, 0x6c, 0x70, 0xb0, 0x30, 0x80,
|
|
||||||
0x0d, 0xb4, 0x85, 0x8c,
|
|
||||||
0x15, 0x32, 0x56, 0xd9, 0xac, 0x26, 0x2b, 0x71, 0xa9, 0xa1, 0x5a, 0x17,
|
|
||||||
0x92, 0x69, 0x16, 0x07,
|
|
||||||
0xc0, 0x12, 0x7a, 0x6a, 0xc8, 0x61, 0x6b, 0x90, 0xcc, 0x83, 0x2d, 0x9c,
|
|
||||||
0x8b, 0xee, 0x85, 0xd3,
|
|
||||||
0x5c, 0xf9, 0x07, 0xbe, 0xb7, 0xda, 0xd2, 0xb3, 0x59, 0xfe, 0x8a, 0xcd,
|
|
||||||
0x0a, 0xf0, 0x8c, 0x95,
|
|
||||||
0x66, 0xdb, 0x26, 0xec, 0xdb, 0x47, 0xdf, 0xcd, 0x53, 0x77, 0x79, 0x5f,
|
|
||||||
0x44, 0x16, 0x4f, 0xcf,
|
|
||||||
0x5a, 0x5a, 0x6d, 0xd8, 0x23, 0x85, 0x6b, 0xa5, 0x85, 0x46, 0x1f, 0x5d,
|
|
||||||
0xe7, 0x7b, 0x57, 0xdc,
|
|
||||||
0x28, 0x83, 0xd9, 0x17, 0xe6, 0x90, 0x9d, 0xaa, 0x7c, 0x56, 0x5b, 0x69,
|
|
||||||
0x99, 0xb5, 0x16, 0x9e,
|
|
||||||
0xd4, 0xbe, 0xf3, 0x12, 0x1c, 0xbb, 0xe0, 0xc4, 0xee, 0x8b, 0x64, 0x85,
|
|
||||||
0x39, 0x62, 0x03, 0xbe,
|
|
||||||
0x50, 0xa0, 0xa5, 0x9c, 0x42, 0x0e, 0x5c, 0x6b, 0xa1, 0xb2, 0x80, 0xaa,
|
|
||||||
0x65, 0xb6, 0xce, 0x35,
|
|
||||||
0x4b, 0xd8, 0x3d, 0x52, 0x2d, 0x7d, 0xff, 0x1e, 0x4d, 0x9c, 0x20, 0x5e,
|
|
||||||
0x60, 0xef, 0xb0, 0xc3,
|
|
||||||
0xdb, 0x4a, 0x9f, 0x9e, 0x55, 0xd8, 0x7d, 0x0d, 0x3e, 0x30, 0x15, 0x3f,
|
|
||||||
0x49, 0xc1, 0x4b, 0x56,
|
|
||||||
0x5b, 0x56, 0x5b, 0x2c, 0xff, 0xa7, 0x4f, 0x3f, 0x73, 0xe8, 0xb1, 0xea,
|
|
||||||
0x75, 0x15, 0x5e, 0x16,
|
|
||||||
0x41, 0x84, 0x2c, 0x69, 0x63, 0x89, 0x25, 0x2e, 0x3b, 0x1a, 0x4b, 0x25,
|
|
||||||
0x5b, 0xc7, 0x59, 0x46,
|
|
||||||
0xe2, 0x22, 0x43, 0x65, 0x92, 0xb9, 0x48, 0xb7, 0x2c, 0x00, 0x96, 0x33,
|
|
||||||
0x63, 0x22, 0xd9, 0xdc,
|
|
||||||
0x1b, 0x87, 0x8b, 0xe0, 0x32, 0x1c, 0xaf, 0x5f, 0x89, 0x7e, 0x6a, 0xd9,
|
|
||||||
0x39, 0x97, 0x5a, 0xfc,
|
|
||||||
0x61, 0x15, 0xf9, 0x45, 0xed, 0x66, 0x8d, 0x16, 0x6f, 0x59, 0x08, 0x1f,
|
|
||||||
0x0b, 0x88, 0x9e, 0xb9,
|
|
||||||
0x5c, 0xf3, 0xc1, 0x42, 0x0b, 0xa5, 0xa9, 0xd8, 0x70, 0x2e, 0x12, 0x64,
|
|
||||||
0x41, 0xcb, 0xd3, 0xba,
|
|
||||||
0x8c, 0x8c, 0x99, 0x48, 0xac, 0x2e, 0x31, 0x5b, 0x56, 0x10, 0x3f, 0xd5,
|
|
||||||
0x70, 0x50, 0xee, 0xc3,
|
|
||||||
0x87, 0x2f, 0x96, 0xe3, 0xb9, 0x39, 0x7a, 0xf6, 0x72, 0xf7, 0x35, 0x07,
|
|
||||||
0xaf, 0xb2, 0xf2, 0xb1,
|
|
||||||
0x9c, 0x1d, 0xb1, 0x98, 0x7f, 0x97, 0xc2, 0xa1, 0xcd, 0x42, 0x7d, 0x11,
|
|
||||||
0x3b, 0xc6, 0x93, 0x8c,
|
|
||||||
0x5e, 0xae, 0x67, 0x39, 0xa9, 0x19, 0x5e, 0x0a, 0x9a, 0x73, 0xac, 0x50,
|
|
||||||
0x67, 0xa3, 0x1b, 0x91,
|
|
||||||
0x60, 0x01, 0x59, 0x73, 0xa6, 0x4f, 0x74, 0x2c, 0xc1, 0x6f, 0x6f, 0x92,
|
|
||||||
0xff, 0xa0, 0x16, 0xba,
|
|
||||||
0x15, 0xff, 0x13, 0x7c, 0x7e, 0x91, 0xd9, 0xf7, 0x12, 0x5c, 0x0e, 0x40,
|
|
||||||
0x8a, 0x15, 0x7c, 0x9a,
|
|
||||||
0xc4, 0xe7, 0x97, 0x2c, 0x7c, 0x38, 0xf1, 0x81, 0xf9, 0x6e, 0x3e, 0xac,
|
|
||||||
0x58, 0xe1, 0xca, 0xf6,
|
|
||||||
0xc6, 0x42, 0xc9, 0xc0, 0x66, 0x9d, 0x6b, 0x13, 0xe3, 0xe7, 0x19, 0x6a,
|
|
||||||
0x9f, 0x6b, 0xc4, 0x17,
|
|
||||||
0x56, 0x06, 0xc0, 0x2a, 0x64, 0x9c, 0x80, 0xae, 0xe6, 0x30, 0xc2, 0x85,
|
|
||||||
0xb9, 0xe8, 0xee, 0x51,
|
|
||||||
0xf8, 0x5a, 0x0d, 0xad, 0x06, 0x32, 0xf3, 0x3c, 0xb3, 0xa7, 0x91, 0xd6,
|
|
||||||
0x07, 0xe0, 0xd7, 0xa1,
|
|
||||||
0xe9, 0x79, 0xe1, 0x9f, 0x9d, 0xbd, 0x58, 0x84, 0xb6, 0x16, 0xf0, 0x7f,
|
|
||||||
0x14, 0x9f, 0x3c, 0x6d,
|
|
||||||
0xf3, 0xd8, 0x21, 0xfa, 0xa1, 0xd7, 0xd9, 0xe6, 0x7a, 0x95, 0x44, 0xf5,
|
|
||||||
0x42, 0xf8, 0xa8, 0x44,
|
|
||||||
0xe7, 0x73, 0x7d, 0xe6, 0x5b, 0xb1, 0x10, 0x2a, 0xf5, 0x48, 0xe8, 0xe2,
|
|
||||||
0x5a, 0x3d, 0x37, 0xb1,
|
|
||||||
0xe1, 0xb9, 0xb3, 0x2d, 0x6b, 0x0d, 0x46, 0x8e, 0x55, 0x70, 0x3d, 0x83,
|
|
||||||
0x28, 0xf6, 0x72, 0x3d,
|
|
||||||
0x07, 0xff, 0x7b, 0x0a, 0x5d, 0xb9, 0x66, 0xcd, 0xc6, 0x7f, 0xe6, 0x05,
|
|
||||||
0x5d, 0xc3, 0x3b, 0x47,
|
|
||||||
0x9d, 0x87, 0xff, 0x8b, 0x3c, 0xba, 0x02, 0x99, 0x0b, 0xf9, 0x3c, 0xdb,
|
|
||||||
0x22, 0xed, 0x3c, 0xf9,
|
|
||||||
0x3d, 0xa7, 0xf8, 0x49, 0x7c, 0x9a, 0xcf, 0x55, 0xc2, 0x27, 0xaf, 0xf6,
|
|
||||||
0x16, 0xe0, 0xe5, 0xf1,
|
|
||||||
0x70, 0xa9, 0x22, 0x6f, 0x3a, 0x3b, 0xc5, 0x3c, 0xcb, 0xbc, 0x06, 0x2c,
|
|
||||||
0x3c, 0xd7, 0xcd, 0x87,
|
|
||||||
0x15, 0xab, 0xe9, 0xc3, 0x46, 0xc6, 0x3c, 0x49, 0xc3, 0x66, 0x5d, 0xa6,
|
|
||||||
0x8e, 0x8c, 0x9b, 0x6d,
|
|
||||||
0x9f, 0x81, 0x14, 0xf5, 0x96, 0xcc, 0xef, 0x9b, 0x95, 0x57, 0xe2, 0x27,
|
|
||||||
0x85, 0x8c, 0x98, 0xe6,
|
|
||||||
0xc6, 0x4c, 0x7e, 0x1b, 0x08, 0xdd, 0xf5, 0xe4, 0x90, 0xf9, 0xf8, 0xf2,
|
|
||||||
0x54, 0xd6, 0xf6, 0xf4,
|
|
||||||
0xcd, 0x26, 0x5b, 0x3a, 0xb1, 0x59, 0x9d, 0xd9, 0xe2, 0x9a, 0x51, 0x1f,
|
|
||||||
0x10, 0x33, 0xe1, 0xf0,
|
|
||||||
0x19, 0x7c, 0x6e, 0x99, 0xbe, 0xa7, 0xee, 0x59, 0x61, 0x3a, 0xd1, 0xfb,
|
|
||||||
0x0c, 0x94, 0x3c, 0xb3,
|
|
||||||
0x1b, 0x91, 0x3f, 0x12, 0x4e, 0x56, 0x52, 0x09, 0x5a, 0xf9, 0xf0, 0xc7,
|
|
||||||
0x4c, 0x2c, 0x92, 0x0d,
|
|
||||||
0xb5, 0x35, 0x5a, 0x92, 0xb5, 0x7c, 0x52, 0x1e, 0xee, 0xe5, 0xad, 0x01,
|
|
||||||
0x3a, 0x15, 0xf4, 0xad,
|
|
||||||
0xe1, 0x93, 0x4d, 0x57, 0xd0, 0x2e, 0xcc, 0x20, 0x8f, 0xf4, 0xc2, 0x06,
|
|
||||||
0xeb, 0xf4, 0x3c, 0x25,
|
|
||||||
0xd1, 0x4c, 0x3f, 0xca, 0x56, 0x9e, 0x9d, 0xcc, 0x9e, 0x47, 0x5b, 0x7f,
|
|
||||||
0x2c, 0x96, 0x86, 0xc5,
|
|
||||||
0xd6, 0xc3, 0xfd, 0x78, 0xbc, 0x7a, 0xba, 0x65, 0xf4, 0x58, 0xf2, 0xb4,
|
|
||||||
0xca, 0xe8, 0x1b, 0xb8,
|
|
||||||
0x96, 0xeb, 0xbb, 0x70, 0x5e, 0xae, 0xd5, 0x9b, 0x36, 0x39, 0x58, 0x61,
|
|
||||||
0x03, 0x7c, 0xcc, 0x62,
|
|
||||||
0xb7, 0xf0, 0xae, 0xa5, 0x28, 0x28, 0x0f, 0x6e, 0x6b, 0x83, 0x8d, 0xfa,
|
|
||||||
0x1c, 0x36, 0xc3, 0x68,
|
|
||||||
0x94, 0x94, 0xda, 0xce, 0xd4, 0xfa, 0x03, 0x62, 0x1a, 0xec, 0x75, 0x8e,
|
|
||||||
0x3a, 0xb4, 0xbc, 0x81,
|
|
||||||
0x9d, 0x67, 0x63, 0x1b, 0xa8, 0x5d, 0xb7, 0x8e, 0x8c, 0x5d, 0x83, 0xb7,
|
|
||||||
0xb8, 0x50, 0x83, 0x4d,
|
|
||||||
0x86, 0xb2, 0xea, 0x66, 0x66, 0xcc, 0xc7, 0x63, 0xbd, 0x3d, 0x93, 0x58,
|
|
||||||
0xf7, 0x31, 0x74, 0x5c,
|
|
||||||
0xc0, 0xbe, 0x33, 0xc9, 0x32, 0x3e, 0x5f, 0x3f, 0x1b, 0xf6, 0xc0, 0xfa,
|
|
||||||
0x04, 0xd6, 0x86, 0xb6,
|
|
||||||
0x96, 0xb1, 0x82, 0x93, 0xba, 0x7f, 0x8a, 0x39, 0x63, 0x0a, 0x55, 0x89,
|
|
||||||
0xf7, 0x37, 0x27, 0x27,
|
|
||||||
0xb3, 0x09, 0xec, 0xa1, 0x6b, 0x68, 0x33, 0x7c, 0x56, 0xf3, 0xc7, 0x14,
|
|
||||||
0x72, 0xea, 0x14, 0xbc,
|
|
||||||
0x69, 0xa3, 0x96, 0x64, 0xa9, 0xbe, 0x17, 0x32, 0xd9, 0xec, 0xad, 0x23,
|
|
||||||
0x27, 0x4d, 0xa0, 0x67,
|
|
||||||
0x03, 0x5e, 0x6f, 0xe5, 0x7a, 0x32, 0x79, 0xb8, 0x37, 0x5c, 0x6c, 0x42,
|
|
||||||
0x22, 0x75, 0x77, 0x2d,
|
|
||||||
0xcf, 0x6f, 0x8d, 0x5a, 0xf7, 0xb3, 0x6d, 0x17, 0xef, 0x31, 0x50, 0xf9,
|
|
||||||
0xb3, 0xfc, 0x0f, 0x7b,
|
|
||||||
0x40, 0xb1, 0xae, 0x8e, 0x36, 0xe1, 0x4b, 0xe5, 0x50, 0xf0, 0xae, 0xa3,
|
|
||||||
0xf2, 0x7d, 0x8c, 0xae,
|
|
||||||
0xd3, 0x14, 0xc5, 0x55, 0xb4, 0xe4, 0xfb, 0xf4, 0x46, 0x41, 0x65, 0xad,
|
|
||||||
0xae, 0xba, 0x94, 0xef,
|
|
||||||
0x58, 0xf9, 0xa8, 0xa4, 0xbe, 0x5e, 0xaa, 0x69, 0xfa, 0xda, 0xa0, 0x09,
|
|
||||||
0x3f, 0xc0, 0x42, 0x46,
|
|
||||||
0xbd, 0x8c, 0xc1, 0x66, 0x61, 0x33, 0x1e, 0x8d, 0x72, 0xda, 0x6b, 0x1c,
|
|
||||||
0x6a, 0xe6, 0x06, 0xf6,
|
|
||||||
0xcd, 0xa6, 0x36, 0xd8, 0x0a, 0x85, 0xd9, 0xac, 0x52, 0xa1, 0xef, 0xe0,
|
|
||||||
0x95, 0xeb, 0x3b, 0xb8,
|
|
||||||
0x25, 0xc4, 0xd9, 0x62, 0xc6, 0xaf, 0xc5, 0x4b, 0xf2, 0x2c, 0x3d, 0xe5,
|
|
||||||
0x50, 0x79, 0x82, 0x1c,
|
|
||||||
0xa4, 0xee, 0xe2, 0x7b, 0x5b, 0x6b, 0x38, 0x45, 0xdd, 0xc2, 0x19, 0xe0,
|
|
||||||
0x5e, 0xae, 0xbb, 0xf9,
|
|
||||||
0x7c, 0x3b, 0xf8, 0xb3, 0xc6, 0x9d, 0x72, 0x0f, 0x5c, 0x2b, 0x9e, 0x56,
|
|
||||||
0xe0, 0xb3, 0x25, 0x96,
|
|
||||||
0x39, 0x95, 0x96, 0x4f, 0xf9, 0xd4, 0x35, 0x2b, 0xa8, 0xf3, 0x36, 0xe0,
|
|
||||||
0x11, 0xbe, 0xab, 0x95,
|
|
||||||
0x63, 0x03, 0xdf, 0xdf, 0xab, 0xa8, 0x08, 0x17, 0xc0, 0xf1, 0x56, 0x4d,
|
|
||||||
0x53, 0xdd, 0x39, 0xf7,
|
|
||||||
0xf6, 0x4f, 0xa4, 0x52, 0x9b, 0x4c, 0xcf, 0x16, 0x46, 0xd8, 0x7c, 0xe4,
|
|
||||||
0x29, 0xe4, 0x1c, 0xbe,
|
|
||||||
0x50, 0xfb, 0xf3, 0x16, 0x74, 0x66, 0xf8, 0xd1, 0xac, 0x93, 0x76, 0x70,
|
|
||||||
0x7d, 0x0f, 0xb8, 0x9b,
|
|
||||||
0xeb, 0x21, 0xa8, 0x24, 0x63, 0xc7, 0x75, 0xee, 0x8a, 0xbe, 0x09, 0x2d,
|
|
||||||
0x4c, 0xf0, 0x91, 0x77,
|
|
||||||
0x02, 0x36, 0xcb, 0xd6, 0xf7, 0x13, 0x95, 0xf6, 0xd6, 0xeb, 0xb8, 0xab,
|
|
||||||
0xb4, 0x70, 0x98, 0x06,
|
|
||||||
0x8f, 0xab, 0xe9, 0x5b, 0x8f, 0x3c, 0x36, 0x1f, 0x99, 0x0d, 0x72, 0xf4,
|
|
||||||
0xba, 0x00, 0x56, 0xd8,
|
|
||||||
0xc1, 0xc8, 0xc9, 0x52, 0x63, 0x4c, 0x93, 0xc4, 0x9a, 0xce, 0x89, 0xe1,
|
|
||||||
0xce, 0x3b, 0x22, 0x6a,
|
|
||||||
0xed, 0xea, 0x3e, 0x64, 0x25, 0xfe, 0xb2, 0x93, 0xde, 0xb6, 0xd8, 0x86,
|
|
||||||
0x1c, 0xd9, 0x3e, 0xcf,
|
|
||||||
0x7a, 0xca, 0x38, 0x29, 0x96, 0x22, 0x79, 0x83, 0xbe, 0xef, 0x6e, 0xed,
|
|
||||||
0x29, 0x47, 0xfa, 0xe5,
|
|
||||||
0xda, 0x33, 0xbd, 0xad, 0xa5, 0x8c, 0xce, 0x42, 0x27, 0xcb, 0xb0, 0xf3,
|
|
||||||
0x6c, 0xd6, 0x2e, 0xd5,
|
|
||||||
0x99, 0xb0, 0x50, 0xdf, 0xab, 0x99, 0xaf, 0x6b, 0xf0, 0x1d, 0x68, 0xab,
|
|
||||||
0x82, 0x6a, 0xbb, 0x24,
|
|
||||||
0xc0, 0xb3, 0xa3, 0x72, 0x62, 0x20, 0x1e, 0xbe, 0x5f, 0x46, 0x0b, 0x33,
|
|
||||||
0x7d, 0xe8, 0x16, 0xc1,
|
|
||||||
0xf3, 0x5f, 0xc9, 0xa2, 0x15, 0x96, 0x96, 0x12, 0x38, 0x2d, 0xd0, 0xfa,
|
|
||||||
0xdc, 0x41, 0x5c, 0xaa,
|
|
||||||
0xb3, 0x6c, 0xb1, 0x85, 0xd2, 0x33, 0x78, 0xf9, 0xcb, 0xf4, 0x2d, 0xc1,
|
|
||||||
0xf6, 0xc5, 0x96, 0xa7,
|
|
||||||
0x59, 0x25, 0xf4, 0x94, 0x93, 0xa7, 0x57, 0x61, 0xed, 0x15, 0xcc, 0xf1,
|
|
||||||
0xe5, 0xa0, 0x42, 0x1e,
|
|
||||||
0x81, 0xfb, 0xd5, 0xf4, 0xae, 0x06, 0xeb, 0xe1, 0x63, 0x07, 0x54, 0x5e,
|
|
||||||
0x36, 0xf5, 0xb3, 0x11,
|
|
||||||
0x99, 0xc4, 0x47, 0xde, 0xe1, 0xd0, 0xdf, 0xa6, 0x47, 0xa8, 0x53, 0xc2,
|
|
||||||
0x62, 0x2a, 0x51, 0xab,
|
|
||||||
0x64, 0xa5, 0xe4, 0x55, 0xb5, 0x6b, 0x2d, 0xa2, 0xd5, 0xe1, 0x33, 0x2f,
|
|
||||||
0x92, 0xca, 0x76, 0xab,
|
|
||||||
0x85, 0xb2, 0x07, 0x7b, 0xe0, 0x7b, 0x82, 0x4c, 0x34, 0xa6, 0x48, 0x5c,
|
|
||||||
0x4d, 0xe7, 0x84, 0x6e,
|
|
||||||
0xb3, 0xc2, 0x22, 0xc6, 0x4b, 0xb5, 0xbd, 0x0a, 0x9e, 0x1b, 0x39, 0xd5,
|
|
||||||
0xed, 0x0e, 0x88, 0x8d,
|
|
||||||
0x58, 0x26, 0xcf, 0xe7, 0x69, 0x77, 0x01, 0xb9, 0xcc, 0x0e, 0xf2, 0xfc,
|
|
||||||
0x9e, 0x82, 0x8f, 0xc3,
|
|
||||||
0x53, 0xd6, 0x63, 0xe3, 0x31, 0x70, 0x63, 0xfd, 0x89, 0xc6, 0x53, 0x54,
|
|
||||||
0xad, 0x51, 0xa5, 0xdf,
|
|
||||||
0x05, 0x70, 0x68, 0xb8, 0x7e, 0xd6, 0x41, 0x7f, 0x0f, 0x7c, 0x2e, 0xc1,
|
|
||||||
0x32, 0x8e, 0x00, 0xcf,
|
|
||||||
0xd5, 0xc7, 0x51, 0x7b, 0xcd, 0x64, 0xcc, 0x5e, 0x6c, 0xdb, 0xa8, 0xef,
|
|
||||||
0xee, 0x7b, 0x7e, 0xf2,
|
|
||||||
0x99, 0xd1, 0x81, 0x88, 0x1f, 0xeb, 0x33, 0xaf, 0x80, 0xb5, 0x1a, 0xf4,
|
|
||||||
0xdf, 0x32, 0x6e, 0x44,
|
|
||||||
0x0b, 0x63, 0x2d, 0x3d, 0x85, 0xf2, 0x34, 0x5c, 0xa8, 0x3b, 0x14, 0x2b,
|
|
||||||
0xe0, 0xc2, 0xf7, 0x0d,
|
|
||||||
0x0a, 0xf5, 0x54, 0xc9, 0x86, 0x2f, 0x2a, 0xbb, 0x14, 0xfa, 0xf5, 0x8d,
|
|
||||||
0x93, 0x9e, 0xd8, 0x69,
|
|
||||||
0x9f, 0xec, 0x35, 0xb1, 0xc7, 0x47, 0x3b, 0x4d, 0xe4, 0xe3, 0x5c, 0x1f,
|
|
||||||
0x0e, 0x9e, 0x83, 0xfe,
|
|
||||||
0x2e, 0xf7, 0xa8, 0x9d, 0xf0, 0x91, 0xeb, 0xd3, 0xef, 0x20, 0xd2, 0x32,
|
|
||||||
0xf5, 0x53, 0x92, 0x5c,
|
|
||||||
0x9f, 0x75, 0xc6, 0xcb, 0x7d, 0x5c, 0x7b, 0xfc, 0xa8, 0x2b, 0xbc, 0x42,
|
|
||||||
0x14, 0x54, 0x48, 0x95,
|
|
||||||
0x31, 0x49, 0x62, 0x6a, 0xbb, 0x24, 0x76, 0x9b, 0xd5, 0x39, 0x22, 0xa9,
|
|
||||||
0xa0, 0x2a, 0xaf, 0x4c,
|
|
||||||
0x3f, 0xe5, 0x69, 0x81, 0xb3, 0xb6, 0xd8, 0x8f, 0xb6, 0x1a, 0xd0, 0x44,
|
|
||||||
0x9e, 0xcf, 0x4e, 0x94,
|
|
||||||
0x1b, 0xf0, 0x0d, 0x21, 0x3b, 0xfb, 0xd3, 0x16, 0x7d, 0x3a, 0x1c, 0x63,
|
|
||||||
0x19, 0x91, 0xab, 0xdf,
|
|
||||||
0x99, 0xb2, 0x41, 0xc1, 0xfa, 0xb6, 0x52, 0x1e, 0xbc, 0x3f, 0x48, 0xc6,
|
|
||||||
0x53, 0x2b, 0xec, 0xd5,
|
|
||||||
0x92, 0xb5, 0x7d, 0xdf, 0x2b, 0x0f, 0xdf, 0xf8, 0x3b, 0xde, 0xbf, 0x1f,
|
|
||||||
0xec, 0xc4, 0x3b, 0xd3,
|
|
||||||
0x7c, 0xfa, 0x62, 0xe5, 0x79, 0xfd, 0xac, 0xd8, 0xee, 0xf7, 0x7e, 0x56,
|
|
||||||
0x0a, 0x9a, 0xdf, 0xc5,
|
|
||||||
0x8e, 0x51, 0x4e, 0xdd, 0xee, 0xcb, 0x5b, 0xbd, 0x96, 0x68, 0x9d, 0x7e,
|
|
||||||
0x8f, 0x67, 0xac, 0x9f,
|
|
||||||
0x3c, 0x79, 0xc4, 0xc7, 0x34, 0x3c, 0xae, 0xc8, 0xef, 0x9d, 0x2a, 0x97,
|
|
||||||
0x4c, 0x07, 0x02, 0xea,
|
|
||||||
0x46, 0x61, 0x3b, 0x9e, 0x90, 0xe9, 0x33, 0x7e, 0x20, 0xf2, 0xef, 0x85,
|
|
||||||
0x63, 0x57, 0xff, 0xcb,
|
|
||||||
0xd4, 0x0f, 0xa3, 0x7d, 0xb4, 0x97, 0xa7, 0xdf, 0xfc, 0xf2, 0xdf, 0xd9,
|
|
||||||
0x53, 0x38, 0x5f, 0xae,
|
|
||||||
0x34, 0x67, 0x59, 0xd1, 0xcc, 0x9e, 0x33, 0x5e, 0xca, 0x8c, 0x2a, 0x89,
|
|
||||||
0xc2, 0x66, 0xed, 0xaa,
|
|
||||||
0xbb, 0xa6, 0xf6, 0x2e, 0xa9, 0xcc, 0x2a, 0xd1, 0x4f, 0xe3, 0x76, 0x06,
|
|
||||||
0xbc, 0x7b, 0x7a, 0x10,
|
|
||||||
0x3a, 0x4d, 0xfa, 0xee, 0x6a, 0x46, 0x80, 0xb7, 0x34, 0xd5, 0xfb, 0x8c,
|
|
||||||
0xde, 0xdf, 0xb2, 0xf0,
|
|
||||||
0xe5, 0xed, 0xac, 0xb2, 0x06, 0x4d, 0xa6, 0x59, 0xc6, 0x67, 0x04, 0x98,
|
|
||||||
0x6b, 0xc0, 0x63, 0x12,
|
|
||||||
0xba, 0x70, 0xad, 0xb2, 0x8b, 0xbc, 0x19, 0xd9, 0x66, 0x54, 0x0e, 0xb9,
|
|
||||||
0x36, 0x01, 0x3f, 0x3b,
|
|
||||||
0x08, 0xf6, 0x92, 0xa1, 0x92, 0x2d, 0x7d, 0x99, 0x9c, 0x40, 0x63, 0xc9,
|
|
||||||
0x41, 0xe3, 0x65, 0xa4,
|
|
||||||
0x7e, 0x27, 0xd1, 0xbb, 0x56, 0x2c, 0x1e, 0xb8, 0x0d, 0x3d, 0x57, 0xe1,
|
|
||||||
0x39, 0x5e, 0x8a, 0xd9,
|
|
||||||
0xe4, 0x80, 0x06, 0xbd, 0x56, 0x13, 0x76, 0x49, 0x69, 0xc3, 0x4f, 0x36,
|
|
||||||
0xb6, 0x99, 0x88, 0x7f,
|
|
||||||
0x8c, 0x27, 0x97, 0xa5, 0xb7, 0x91, 0xe9, 0x60, 0xd0, 0xfb, 0xbb, 0x3b,
|
|
||||||
0xf5, 0x5d, 0x01, 0x2b,
|
|
||||||
0x9d, 0x7e, 0xc4, 0xea, 0x2b, 0xee, 0x19, 0x07, 0xf5, 0x5b, 0x5c, 0xe9,
|
|
||||||
0x54, 0x25, 0x99, 0x41,
|
|
||||||
0xdf, 0x74, 0x4d, 0xd7, 0xef, 0x7d, 0xa9, 0x7b, 0x45, 0x07, 0x02, 0xae,
|
|
||||||
0x73, 0x84, 0xd3, 0x29,
|
|
||||||
0x79, 0xdf, 0x28, 0x97, 0xc8, 0xda, 0x2e, 0x09, 0xed, 0xaa, 0xc3, 0x53,
|
|
||||||
0xfe, 0x54, 0x51, 0x99,
|
|
||||||
0x5a, 0xa8, 0xdf, 0x91, 0x99, 0xab, 0xef, 0x9e, 0xb6, 0x45, 0x0b, 0x56,
|
|
||||||
0x9b, 0x43, 0xa5, 0x9c,
|
|
||||||
0xae, 0x9f, 0xfc, 0x59, 0x91, 0xca, 0x6a, 0x03, 0xb0, 0x8e, 0xf7, 0xf7,
|
|
||||||
0x7e, 0xfa, 0xce, 0xe8,
|
|
||||||
0x7e, 0x3c, 0xb6, 0xa7, 0x7e, 0x4a, 0x96, 0x1c, 0x10, 0xea, 0x5e, 0xed,
|
|
||||||
0xdf, 0xe5, 0x7e, 0xf6,
|
|
||||||
0xef, 0xc3, 0xee, 0x35, 0x5e, 0x25, 0xd2, 0xd4, 0x73, 0x6c, 0xdf, 0x71,
|
|
||||||
0x59, 0xd4, 0x2b, 0x33,
|
|
||||||
0xf4, 0x98, 0xc3, 0xfa, 0xdd, 0x87, 0x31, 0x96, 0x11, 0xea, 0x3d, 0xc4,
|
|
||||||
0x44, 0xfc, 0x63, 0x33,
|
|
||||||
0x36, 0x4b, 0xf4, 0xe3, 0x6c, 0x34, 0xf9, 0x6f, 0x33, 0xde, 0x19, 0x6f,
|
|
||||||
0x69, 0x4b, 0xc3, 0x66,
|
|
||||||
0xf3, 0xe0, 0xed, 0x10, 0xd9, 0xa7, 0x11, 0x7b, 0xfb, 0xf3, 0x96, 0x06,
|
|
||||||
0xc7, 0xb5, 0xe8, 0xb7,
|
|
||||||
0x42, 0x3f, 0xb9, 0x4c, 0xf6, 0x93, 0xe9, 0x70, 0x40, 0xcd, 0x28, 0xec,
|
|
||||||
0x45, 0x37, 0x49, 0x3e,
|
|
||||||
0x74, 0xfa, 0x60, 0xf7, 0x66, 0xcb, 0x8c, 0x03, 0x44, 0xf6, 0x20, 0xea,
|
|
||||||
0xc5, 0xb6, 0xfa, 0xf3,
|
|
||||||
0xcc, 0xc8, 0xa5, 0x4a, 0x7b, 0x9a, 0x88, 0x0c, 0xbc, 0xc2, 0x09, 0x5d,
|
|
||||||
0x89, 0x15, 0x1a, 0x25,
|
|
||||||
0x32, 0x4a, 0xc5, 0x99, 0x7a, 0xef, 0x6a, 0x52, 0x4a, 0x72, 0x81, 0xe1,
|
|
||||||
0xd0, 0xf7, 0x60, 0x8f,
|
|
||||||
0xb6, 0x79, 0xb2, 0xe4, 0xc2, 0x6b, 0xac, 0x5b, 0x23, 0xff, 0xa4, 0xe2,
|
|
||||||
0x49, 0x32, 0xff, 0xe6,
|
|
||||||
0x25, 0x41, 0x3f, 0x85, 0xf8, 0x03, 0x3b, 0x74, 0x9a, 0x65, 0xfd, 0xe7,
|
|
||||||
0x18, 0x79, 0x54, 0x8f,
|
|
||||||
0x9f, 0xce, 0x59, 0x6d, 0x28, 0x2d, 0x49, 0x8c, 0x8c, 0xb7, 0xcc, 0x4a,
|
|
||||||
0x42, 0x0b, 0x51, 0xd2,
|
|
||||||
0x89, 0x2a, 0x6c, 0x05, 0x94, 0x8f, 0x9a, 0x2b, 0xec, 0x23, 0x2e, 0x22,
|
|
||||||
0x7d, 0x64, 0x51, 0x6f,
|
|
||||||
0xaa, 0x3f, 0x84, 0x24, 0x47, 0xf5, 0xb8, 0x16, 0xf2, 0xa8, 0x7a, 0x56,
|
|
||||||
0xe5, 0xed, 0x7d, 0x1e,
|
|
||||||
0x8f, 0x79, 0x0d, 0xcf, 0x9c, 0x23, 0x43, 0x7c, 0xb4, 0x96, 0x0c, 0x9f,
|
|
||||||
0x45, 0x44, 0x5a, 0x3d,
|
|
||||||
0x19, 0xdd, 0xaa, 0xfb, 0xde, 0x9c, 0xc2, 0x8e, 0x6a, 0x4a, 0x3b, 0xe1,
|
|
||||||
0x64, 0x84, 0x7e, 0x47,
|
|
||||||
0xc2, 0xf3, 0x57, 0x20, 0x49, 0xd0, 0xeb, 0xcd, 0xce, 0xa9, 0xf6, 0xfb,
|
|
||||||
0x68, 0x3f, 0x9d, 0xba,
|
|
||||||
0x64, 0x3a, 0x12, 0x10, 0xea, 0xf9, 0xd4, 0x0a, 0x1f, 0x6f, 0x4b, 0xa5,
|
|
||||||
0xb2, 0xac, 0xb6, 0x48,
|
|
||||||
0xa6, 0x64, 0x6b, 0xa1, 0x32, 0x53, 0x7f, 0x77, 0x9e, 0xc8, 0xb8, 0x44,
|
|
||||||
0x1f, 0x6d, 0xa8, 0xb7,
|
|
||||||
0x34, 0x86, 0x72, 0x76, 0x18, 0x80, 0x8f, 0x05, 0x5b, 0xe3, 0x0c, 0x3b,
|
|
||||||
0xad, 0x5d, 0x1c, 0x46,
|
|
||||||
0xa1, 0xbc, 0xa8, 0xe2, 0x4c, 0xfd, 0x9d, 0xe0, 0xb4, 0xee, 0x31, 0x85,
|
|
||||||
0x76, 0x9b, 0x43, 0xbd,
|
|
||||||
0xc5, 0xb9, 0x5a, 0xce, 0x62, 0xd5, 0x40, 0x50, 0xbc, 0x55, 0xa3, 0xc1,
|
|
||||||
0x1e, 0x44, 0xb9, 0x4b,
|
|
||||||
0xc6, 0x68, 0xe2, 0xe4, 0x77, 0xc8, 0x93, 0xcd, 0x09, 0xf2, 0x2e, 0x5d,
|
|
||||||
0xc7, 0xdf, 0xcd, 0xff,
|
|
||||||
0xf1, 0x70, 0x78, 0x52, 0x8f, 0x57, 0xcf, 0x5f, 0x9e, 0xa5, 0x9e, 0xef,
|
|
||||||
0x81, 0xd7, 0x7b, 0xfe,
|
|
||||||
0xc2, 0x63, 0x0c, 0x9f, 0x9f, 0x92, 0xce, 0xf2, 0xbf, 0xe8, 0x7b, 0x8d,
|
|
||||||
0x0f, 0xfd, 0xe3, 0xf8,
|
|
||||||
0xe5, 0x26, 0x22, 0xe7, 0x2e, 0x93, 0x96, 0xaa, 0xac, 0xbb, 0xe0, 0x47,
|
|
||||||
0x47, 0x4c, 0x0e, 0xf6,
|
|
||||||
0xe1, 0x8f, 0xf7, 0x59, 0xfa, 0xef, 0xc2, 0x32, 0xa7, 0xe4, 0x18, 0x51,
|
|
||||||
0x5d, 0x8a, 0x7f, 0x78,
|
|
||||||
0xdb, 0x55, 0xcf, 0x20, 0xe2, 0x76, 0x35, 0xff, 0xde, 0x69, 0xb6, 0xdd,
|
|
||||||
0x29, 0x8f, 0xd2, 0xa6,
|
|
||||||
0x78, 0x3b, 0xc6, 0x5a, 0x6b, 0xb1, 0xf3, 0xed, 0xcc, 0xea, 0xa5, 0xff,
|
|
||||||
0x8e, 0x7f, 0x00, 0xa7,
|
|
||||||
0xd9, 0xee, 0xf2, 0x00, 0xb5, 0xdc, 0x21, 0xb4, 0xdb, 0xd3, 0x32, 0xcb,
|
|
||||||
0x2a, 0x53, 0x60, 0xbc,
|
|
||||||
0x86, 0x57, 0x45, 0x5b, 0xf8, 0xbe, 0x4b, 0xfe, 0xc2, 0x19, 0xd8, 0x77,
|
|
||||||
0xfc, 0x31, 0x46, 0x6d,
|
|
||||||
0xc1, 0x93, 0xd4, 0x59, 0x61, 0xa8, 0xe9, 0x27, 0x63, 0xf0, 0xc9, 0x27,
|
|
||||||
0xf4, 0x1b, 0x2b, 0xc9,
|
|
||||||
0xfa, 0x39, 0x52, 0x30, 0x9c, 0xd7, 0x6f, 0x69, 0xd8, 0x88, 0xab, 0x11,
|
|
||||||
0xb5, 0x5d, 0x13, 0x5c,
|
|
||||||
0xef, 0x11, 0x87, 0x8d, 0xca, 0x34, 0x72, 0x0d, 0xf5, 0xde, 0x73, 0x36,
|
|
||||||
0xfd, 0x67, 0x7c, 0x9e,
|
|
||||||
0xac, 0x7b, 0x71, 0x12, 0xad, 0x6d, 0x60, 0xbd, 0x7b, 0x24, 0x0c, 0xad,
|
|
||||||
0xb7, 0x97, 0x9b, 0xf1,
|
|
||||||
0x9c, 0x3a, 0x72, 0x80, 0xaa, 0x38, 0x5c, 0x3b, 0x96, 0x7a, 0xb3, 0x76,
|
|
||||||
0xb5, 0xf9, 0xdc, 0xfe,
|
|
||||||
0x14, 0x9f, 0x0e, 0xea, 0xea, 0xe5, 0x3e, 0xc6, 0x87, 0x11, 0x59, 0x1d,
|
|
||||||
0xe5, 0x46, 0xfe, 0x7d,
|
|
||||||
0x8c, 0x91, 0x4b, 0xb1, 0xd1, 0xeb, 0x7e, 0x2b, 0x9d, 0x82, 0xfe, 0x72,
|
|
||||||
0x76, 0xb0, 0x74, 0xf7,
|
|
||||||
0x3b, 0xd9, 0x8a, 0x5e, 0x11, 0x7e, 0xef, 0xed, 0x3f, 0x46, 0x85, 0x60,
|
|
||||||
0x33, 0xfb, 0xb3, 0xc8,
|
|
||||||
0xff, 0x4d, 0x50, 0x39, 0x0d, 0xad, 0x83, 0xec, 0x44, 0x19, 0x26, 0x32,
|
|
||||||
0xf5, 0xb3, 0x4b, 0xf5,
|
|
||||||
0xd4, 0xae, 0xde, 0xa7, 0x6d, 0x2a, 0xb6, 0xf2, 0xd0, 0x3a, 0xce, 0x8e,
|
|
||||||
0x53, 0x8f, 0xae, 0xfa,
|
|
||||||
0xcb, 0xe3, 0xd8, 0xf2, 0x51, 0xec, 0x34, 0x80, 0xda, 0x60, 0x1f, 0x3d,
|
|
||||||
0x2d, 0xfa, 0x59, 0x92,
|
|
||||||
0x97, 0x07, 0xab, 0x4c, 0x81, 0xa0, 0x9e, 0x9c, 0x2f, 0xd6, 0xbb, 0xba,
|
|
||||||
0x67, 0x46, 0x25, 0xf9,
|
|
||||||
0xf2, 0x4c, 0xc0, 0x71, 0x6b, 0xd0, 0xf0, 0x13, 0xd2, 0x15, 0x74, 0x46,
|
|
||||||
0x13, 0x37, 0x92, 0x11,
|
|
||||||
0x7b, 0xb0, 0xea, 0x26, 0xe8, 0xbf, 0x1e, 0x94, 0xfe, 0x69, 0x79, 0x1b,
|
|
||||||
0x3d, 0x64, 0xc9, 0x58,
|
|
||||||
0xc3, 0x26, 0xc3, 0xdc, 0x36, 0x53, 0x75, 0x48, 0x9f, 0xa2, 0xbc, 0x9c,
|
|
||||||
0x2c, 0xfd, 0xf6, 0xfd,
|
|
||||||
0x62, 0x79, 0x57, 0xce, 0x06, 0xc1, 0xeb, 0xfa, 0xfd, 0x8c, 0xdd, 0x68,
|
|
||||||
0x76, 0x0e, 0x1e, 0xd9,
|
|
||||||
0x84, 0xef, 0xb8, 0x5a, 0xcf, 0xb8, 0x39, 0x54, 0xfd, 0x67, 0xf5, 0xe5,
|
|
||||||
0x9d, 0x71, 0x06, 0x4d,
|
|
||||||
0xef, 0x45, 0xd7, 0xf3, 0xf5, 0x9d, 0xc3, 0xe5, 0xfa, 0x29, 0xb1, 0x7a,
|
|
||||||
0x97, 0xe3, 0x8d, 0x00,
|
|
||||||
0xf4, 0xcf, 0x58, 0x68, 0x9d, 0xd6, 0xbf, 0x9d, 0xf5, 0xa1, 0x77, 0xc6,
|
|
||||||
0x0d, 0x57, 0xef, 0x19,
|
|
||||||
0x68, 0x78, 0x56, 0xb4, 0xce, 0x73, 0xf5, 0xf9, 0x8e, 0xf6, 0x50, 0x7b,
|
|
||||||
0xdd, 0x4f, 0x1a, 0xa5,
|
|
||||||
0xc7, 0x66, 0xbd, 0xef, 0x1f, 0xc2, 0x63, 0x4e, 0xb9, 0xe9, 0x58, 0x69,
|
|
||||||
0xb5, 0x95, 0xa9, 0xad,
|
|
||||||
0x56, 0xac, 0x7c, 0xab, 0xcf, 0x6f, 0x04, 0x19, 0xaf, 0x68, 0x29, 0x3f,
|
|
||||||
0xde, 0xe2, 0x7e, 0x5a,
|
|
||||||
0xb9, 0x4c, 0x3f, 0xf3, 0x3b, 0x13, 0x50, 0x17, 0x56, 0xbc, 0x47, 0xb5,
|
|
||||||
0x41, 0x2d, 0x44, 0x54,
|
|
||||||
0x0d, 0x31, 0x6d, 0xd6, 0x2d, 0xa5, 0x6b, 0x55, 0x46, 0x6a, 0xba, 0x91,
|
|
||||||
0xa6, 0xdf, 0x1e, 0x3a,
|
|
||||||
0x8a, 0x5d, 0xcf, 0x07, 0xc4, 0x05, 0x0d, 0xf5, 0xde, 0xc9, 0x3b, 0xfa,
|
|
||||||
0x0d, 0x95, 0xb7, 0xdc,
|
|
||||||
0x2d, 0x6f, 0x5a, 0x70, 0x41, 0xbf, 0xe1, 0x63, 0x1d, 0xff, 0xa6, 0x7e,
|
|
||||||
0x8b, 0xc7, 0x35, 0x47,
|
|
||||||
0xfd, 0xff, 0x96, 0xdf, 0x28, 0x5f, 0xfa, 0x6f, 0x06, 0xa5, 0x76, 0x3e,
|
|
||||||
0xe0, 0x5a, 0x17, 0x7c,
|
|
||||||
0xd6, 0xf1, 0xef, 0xbb, 0x12, 0xde, 0xde, 0x72, 0x23, 0xd8, 0xac, 0x60,
|
|
||||||
0xdc, 0xb6, 0xa5, 0x74,
|
|
||||||
0xb9, 0xf1, 0xde, 0x15, 0x5d, 0xda, 0x78, 0x47, 0x6b, 0xe3, 0xc2, 0x65,
|
|
||||||
0xe8, 0x9f, 0x97, 0x0f,
|
|
||||||
0xc9, 0x64, 0x54, 0x2a, 0x46, 0xa6, 0x0c, 0xf6, 0xd8, 0xcc, 0xbd, 0xa7,
|
|
||||||
0x65, 0xda, 0x93, 0x1d,
|
|
||||||
0xc9, 0xd8, 0xcc, 0x2e, 0x9f, 0x6a, 0x5a, 0x21, 0xfc, 0x56, 0xf0, 0x29,
|
|
||||||
0xf5, 0x21, 0xb5, 0x17,
|
|
||||||
0x31, 0x35, 0xb0, 0xc6, 0x6b, 0xb3, 0x6e, 0xb3, 0xba, 0x46, 0x8c, 0x74,
|
|
||||||
0x8c, 0xb1, 0xab, 0x9d,
|
|
||||||
0x31, 0x82, 0xea, 0xe9, 0x22, 0xf1, 0xf8, 0xf3, 0xe1, 0x03, 0xf9, 0x38,
|
|
||||||
0xf4, 0x4d, 0x11, 0xd7,
|
|
||||||
0x80, 0xef, 0xd8, 0xc5, 0xe3, 0x24, 0xd1, 0x18, 0x23, 0x03, 0x2c, 0x71,
|
|
||||||
0xa6, 0xce, 0x69, 0xb7,
|
|
||||||
0x97, 0x8f, 0x49, 0x8b, 0x33, 0xe2, 0xe8, 0x7d, 0x41, 0x56, 0xc9, 0xd7,
|
|
||||||
0xf2, 0x2f, 0x74, 0xfd,
|
|
||||||
0x73, 0xe0, 0x13, 0x72, 0xc0, 0x0a, 0x7d, 0xaf, 0x2e, 0x84, 0x9f, 0x86,
|
|
||||||
0x4d, 0xfa, 0x6f, 0x3d,
|
|
||||||
0xe3, 0x8c, 0x44, 0xe9, 0x67, 0xb5, 0x19, 0xe8, 0x3a, 0xed, 0xb1, 0x98,
|
|
||||||
0x04, 0x7b, 0xb4, 0x43,
|
|
||||||
0xfd, 0x65, 0xe4, 0x10, 0x2a, 0x8c, 0x6f, 0x88, 0x8e, 0x8f, 0xae, 0x19,
|
|
||||||
0x17, 0xc9, 0xc6, 0x71,
|
|
||||||
0x32, 0x8c, 0xda, 0x3e, 0x84, 0x9f, 0x8e, 0xd1, 0x54, 0xdf, 0xd1, 0xc4,
|
|
||||||
0x53, 0x9f, 0xda, 0xb0,
|
|
||||||
0x78, 0x9f, 0xef, 0x9a, 0x20, 0x3f, 0xf6, 0x2d, 0x88, 0xc9, 0x55, 0xdf,
|
|
||||||
0xa4, 0x13, 0x81, 0x96,
|
|
||||||
0xd7, 0x49, 0xab, 0x7c, 0x46, 0x2e, 0xbd, 0x16, 0xa8, 0x68, 0x4d, 0x22,
|
|
||||||
0x6e, 0x23, 0x43, 0xb8,
|
|
||||||
0x76, 0x18, 0xd1, 0xf2, 0x4c, 0x6d, 0x58, 0x82, 0xff, 0xf7, 0xff, 0x75,
|
|
||||||
0x9d, 0x34, 0x78, 0x4c,
|
|
||||||
0xa4, 0xe1, 0xfa, 0xe6, 0xaa, 0x7e, 0x9c, 0xad, 0xd4, 0x77, 0xc4, 0x7d,
|
|
||||||
0xfe, 0x13, 0x71, 0x51,
|
|
||||||
0x7e, 0xe4, 0x3c, 0x38, 0x44, 0x46, 0xb8, 0xbf, 0x0b, 0x2b, 0xd2, 0x1e,
|
|
||||||
0xe9, 0x08, 0x5d, 0xd7,
|
|
||||||
0x70, 0xd9, 0xa2, 0x1c, 0x6d, 0x6c, 0xa6, 0x63, 0x2d, 0x7c, 0xd4, 0x73,
|
|
||||||
0x32, 0xca, 0xfe, 0x82,
|
|
||||||
0x28, 0x0c, 0xe4, 0x04, 0xf8, 0xa5, 0xfe, 0x0b, 0xba, 0x2f, 0xae, 0x1a,
|
|
||||||
0xdf, 0x32, 0x6f, 0x89,
|
|
||||||
0x0c, 0xc6, 0x62, 0x8a, 0xd2, 0x8b, 0xf6, 0x91, 0xd2, 0xab, 0xac, 0x57,
|
|
||||||
0x7a, 0xaf, 0xf2, 0x5f,
|
|
||||||
0xfb, 0x7a, 0x2a, 0xbd, 0x7b, 0x45, 0xf7, 0xb4, 0xee, 0xe5, 0xbd, 0xd2,
|
|
||||||
0x2e, 0x37, 0xb6, 0x67,
|
|
||||||
0x39, 0xe3, 0x18, 0xdb, 0xd3, 0x6c, 0x7b, 0x32, 0xfd, 0x91, 0xca, 0x47,
|
|
||||||
0x52, 0x1f, 0xa9, 0xe8,
|
|
||||||
0xc1, 0xdc, 0x9e, 0xf4, 0xf7, 0xcc, 0xe8, 0xf9, 0x4b, 0xca, 0x54, 0xd6,
|
|
||||||
0x3b, 0xfd, 0xe1, 0xba,
|
|
||||||
0xf0, 0x98, 0x40, 0xdf, 0xb5, 0x19, 0x36, 0xe9, 0xd9, 0xa4, 0x17, 0xec,
|
|
||||||
0xc3, 0x1d, 0xc3, 0x65,
|
|
||||||
0xb8, 0x0c, 0x92, 0x01, 0xd4, 0x23, 0xea, 0xef, 0x51, 0xbf, 0xba, 0x0a,
|
|
||||||
0xa8, 0xbf, 0x83, 0x3d,
|
|
||||||
0x2b, 0x29, 0xd2, 0x87, 0x0c, 0x0b, 0x15, 0x03, 0xbb, 0x95, 0xdd, 0x93,
|
|
||||||
0xde, 0xb5, 0x21, 0x2c,
|
|
||||||
0x22, 0x2c, 0x74, 0x5d, 0xf3, 0x15, 0xf0, 0xfb, 0x36, 0x89, 0xb5, 0x5e,
|
|
||||||
0x05, 0x2f, 0xd8, 0x86,
|
|
||||||
0x1a, 0x43, 0xf5, 0x77, 0x04, 0x3c, 0xad, 0x9f, 0x98, 0xb4, 0xea, 0xbf,
|
|
||||||
0x66, 0xfd, 0xe6, 0x32,
|
|
||||||
0xf8, 0xd6, 0xfd, 0x2d, 0xaa, 0xd5, 0xd8, 0x6b, 0xa0, 0x0c, 0xd5, 0x18,
|
|
||||||
0x0e, 0x9d, 0xbb, 0x66,
|
|
||||||
0x86, 0x8f, 0x0e, 0x7d, 0x33, 0xe6, 0xf5, 0xfd, 0x5e, 0xdb, 0xae, 0x75,
|
|
||||||
0xff, 0x88, 0x1b, 0x6a,
|
|
||||||
0x1b, 0x22, 0xcf, 0x81, 0xc1, 0xc4, 0x5a, 0x0f, 0xf6, 0xb7, 0x55, 0x3a,
|
|
||||||
0x4f, 0xba, 0x6c, 0xd7,
|
|
||||||
0xf6, 0x1b, 0xa4, 0x3d, 0xdf, 0x4f, 0x7c, 0x58, 0xf2, 0x19, 0xdd, 0x97,
|
|
||||||
0x59, 0x6a, 0xee, 0x73,
|
|
||||||
0xf6, 0x61, 0x8e, 0xbe, 0x13, 0xc3, 0x93, 0xc2, 0xab, 0x43, 0xdf, 0x6f,
|
|
||||||
0x7b, 0xdd, 0xbf, 0xdb,
|
|
||||||
0x96, 0x58, 0xbb, 0xb3, 0xe2, 0xd9, 0xd4, 0x21, 0xf6, 0x41, 0x0e, 0xd7,
|
|
||||||
0x37, 0x32, 0xf4, 0x97,
|
|
||||||
0xa7, 0xa8, 0x4a, 0xb2, 0x65, 0x99, 0xbc, 0x1d, 0xf0, 0x6f, 0xf9, 0x2f,
|
|
||||||
0xca, 0x3e, 0xa9, 0x60,
|
|
||||||
0xf7, 0x7a, 0x52, 0x47, 0x98, 0x9e, 0x63, 0x0c, 0x96, 0xa1, 0xc5, 0x0f,
|
|
||||||
0x67, 0x87, 0xcf, 0xea,
|
|
||||||
0x36, 0x2a, 0xa4, 0xd1, 0x5f, 0x26, 0xd6, 0xc2, 0x67, 0x85, 0x47, 0x3c,
|
|
||||||
0x58, 0x3c, 0x30, 0x7b,
|
|
||||||
0xa0, 0x7d, 0x80, 0x0c, 0x70, 0x7f, 0xf7, 0xf0, 0x33, 0xd8, 0xe4, 0x31,
|
|
||||||
0x79, 0x1c, 0xdb, 0x64,
|
|
||||||
0x4a, 0x91, 0x4c, 0x90, 0x49, 0x52, 0xc6, 0x19, 0x3d, 0x9a, 0xfc, 0xf9,
|
|
||||||
0x88, 0x74, 0x97, 0xde,
|
|
||||||
0xc4, 0x97, 0x7b, 0xac, 0xf1, 0xac, 0x0c, 0xca, 0x7f, 0xca, 0x76, 0x9b,
|
|
||||||
0x33, 0x3c, 0xa2, 0x5b,
|
|
||||||
0x28, 0xc6, 0x7e, 0x59, 0xbb, 0x39, 0x6f, 0x8d, 0x78, 0xb4, 0x70, 0x60,
|
|
||||||
0xee, 0xb3, 0xf6, 0xfe,
|
|
||||||
0xe2, 0x85, 0x7a, 0x7a, 0xd7, 0x5b, 0x7a, 0x49, 0x4f, 0x62, 0xaf, 0x27,
|
|
||||||
0x9f, 0x9e, 0xd1, 0xdf,
|
|
||||||
0x28, 0x6d, 0x02, 0x1b, 0x0f, 0x32, 0x7a, 0x19, 0xf7, 0xcc, 0x08, 0x8f,
|
|
||||||
0x0a, 0xd9, 0xeb, 0xd7,
|
|
||||||
0x8a, 0xb7, 0x6e, 0xa3, 0x1e, 0x1c, 0xff, 0x74, 0x66, 0x7f, 0x5b, 0xbf,
|
|
||||||
0xfc, 0xbe, 0x46, 0x5f,
|
|
||||||
0x09, 0x0a, 0xfa, 0xfa, 0xd9, 0xfa, 0x3b, 0xfa, 0x16, 0x3e, 0x9e, 0x7b,
|
|
||||||
0x47, 0x7d, 0xd8, 0xe8,
|
|
||||||
0x50, 0x4e, 0xfc, 0xd5, 0xf3, 0xe4, 0xa8, 0x3b, 0x26, 0x3f, 0x9c, 0xd0,
|
|
||||||
0xd3, 0x20, 0xca, 0xf2,
|
|
||||||
0xfa, 0xe6, 0xf7, 0xb5, 0xf7, 0x71, 0xf4, 0x31, 0xfa, 0x88, 0xbe, 0xec,
|
|
||||||
0x7d, 0x1d, 0x7d, 0x6d,
|
|
||||||
0xfd, 0x1c, 0xfd, 0xed, 0xcf, 0x38, 0x9e, 0xa8, 0xbc, 0x2f, 0x45, 0xed,
|
|
||||||
0x85, 0xa1, 0xf8, 0xfa,
|
|
||||||
0x6d, 0xd8, 0x4d, 0xd9, 0x22, 0xac, 0xa1, 0xdb, 0xa8, 0x3b, 0x6a, 0xef,
|
|
||||||
0x8f, 0x7f, 0xa8, 0xf4,
|
|
||||||
0xb1, 0x8c, 0x7f, 0x16, 0xf6, 0x18, 0xdb, 0xa3, 0xb0, 0x7b, 0xee, 0xe3,
|
|
||||||
0xe3, 0xff, 0x91, 0xf5,
|
|
||||||
0xc0, 0xa4, 0xbb, 0x93, 0x6e, 0x65, 0xff, 0x53, 0x7b, 0x60, 0xb7, 0x50,
|
|
||||||
0x7c, 0xfd, 0x26, 0x6d,
|
|
||||||
0x17, 0xde, 0xc0, 0xd5, 0x88, 0x8d, 0xd4, 0xa5, 0x3e, 0x63, 0xa7, 0x90,
|
|
||||||
0xad, 0x42, 0x08, 0x21,
|
|
||||||
0x30, 0xfe, 0x1f, 0x7e, 0x26, 0xe7, 0x5b
|
|
||||||
};
|
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Snes9x 1.50
|
* Snes9x 1.50
|
||||||
*
|
*
|
||||||
* Nintendo Gamecube DVD
|
* Nintendo Gamecube DVD
|
||||||
*
|
*
|
||||||
@ -12,7 +12,13 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <dvd.h>
|
#include <dvd.h>
|
||||||
|
|
||||||
|
#include "menudraw.h"
|
||||||
#include "snes9xGx.h"
|
#include "snes9xGx.h"
|
||||||
|
#include "unzip.h"
|
||||||
|
|
||||||
|
extern int offset;
|
||||||
|
extern int selection;
|
||||||
|
|
||||||
/** DVD I/O Address base **/
|
/** DVD I/O Address base **/
|
||||||
volatile unsigned long *dvd = (volatile unsigned long *) 0xCC006000;
|
volatile unsigned long *dvd = (volatile unsigned long *) 0xCC006000;
|
||||||
@ -21,6 +27,7 @@ volatile unsigned long *dvd = (volatile unsigned long *) 0xCC006000;
|
|||||||
unsigned char DVDreadbuffer[2048] ATTRIBUTE_ALIGN (32);
|
unsigned char DVDreadbuffer[2048] ATTRIBUTE_ALIGN (32);
|
||||||
unsigned char dvdbuffer[2048];
|
unsigned char dvdbuffer[2048];
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* dvd_driveid
|
* dvd_driveid
|
||||||
*
|
*
|
||||||
@ -38,11 +45,11 @@ int dvd_driveid()
|
|||||||
dvd[5] = 0x80000000;
|
dvd[5] = 0x80000000;
|
||||||
dvd[6] = 0x20;
|
dvd[6] = 0x20;
|
||||||
dvd[7] = 3;
|
dvd[7] = 3;
|
||||||
|
|
||||||
while( dvd[7] & 1 )
|
while( dvd[7] & 1 )
|
||||||
;
|
;
|
||||||
DCFlushRange((void *)0x80000000, 32);
|
DCFlushRange((void *)0x80000000, 32);
|
||||||
|
|
||||||
return (int)inquiry[2];
|
return (int)inquiry[2];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -282,7 +289,7 @@ getentry (int entrycount)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* parsedirectory
|
* parseDVDdirectory
|
||||||
*
|
*
|
||||||
* This function will parse the directory tree.
|
* This function will parse the directory tree.
|
||||||
* It relies on rootdir and rootdirlength being pre-populated by a call to
|
* It relies on rootdir and rootdirlength being pre-populated by a call to
|
||||||
@ -291,7 +298,7 @@ getentry (int entrycount)
|
|||||||
* The return value is number of files collected, or 0 on failure.
|
* The return value is number of files collected, or 0 on failure.
|
||||||
*/
|
*/
|
||||||
int
|
int
|
||||||
parsedirectory ()
|
ParseDVDdirectory ()
|
||||||
{
|
{
|
||||||
int pdlength;
|
int pdlength;
|
||||||
u64 pdoffset;
|
u64 pdoffset;
|
||||||
@ -299,6 +306,9 @@ parsedirectory ()
|
|||||||
int len = 0;
|
int len = 0;
|
||||||
int filecount = 0;
|
int filecount = 0;
|
||||||
|
|
||||||
|
// initialize selection
|
||||||
|
selection = offset = 0;
|
||||||
|
|
||||||
pdoffset = rdoffset = rootdir;
|
pdoffset = rdoffset = rootdir;
|
||||||
pdlength = rootdirlength;
|
pdlength = rootdirlength;
|
||||||
filecount = 0;
|
filecount = 0;
|
||||||
@ -326,6 +336,62 @@ parsedirectory ()
|
|||||||
|
|
||||||
return filecount;
|
return filecount;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
* LoadDVDFile
|
||||||
|
* This function will load a file from DVD, in BIN, SMD or ZIP format.
|
||||||
|
* The values for offset and length are inherited from rootdir and
|
||||||
|
* rootdirlength.
|
||||||
|
*
|
||||||
|
* The buffer parameter should re-use the initial ROM buffer.
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
int
|
||||||
|
LoadDVDFile (unsigned char *buffer)
|
||||||
|
{
|
||||||
|
int offset;
|
||||||
|
int blocks;
|
||||||
|
int i;
|
||||||
|
u64 discoffset;
|
||||||
|
char readbuffer[2048];
|
||||||
|
|
||||||
|
// How many 2k blocks to read
|
||||||
|
blocks = rootdirlength / 2048;
|
||||||
|
offset = 0;
|
||||||
|
discoffset = rootdir;
|
||||||
|
ShowAction ((char*) "Loading...");
|
||||||
|
dvd_read (readbuffer, 2048, discoffset);
|
||||||
|
|
||||||
|
if (!IsZipFile (readbuffer))
|
||||||
|
|
||||||
|
{
|
||||||
|
for (i = 0; i < blocks; i++)
|
||||||
|
|
||||||
|
{
|
||||||
|
dvd_read (readbuffer, 2048, discoffset);
|
||||||
|
memcpy (buffer + offset, readbuffer, 2048);
|
||||||
|
offset += 2048;
|
||||||
|
discoffset += 2048;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*** And final cleanup ***/
|
||||||
|
if (rootdirlength % 2048)
|
||||||
|
|
||||||
|
{
|
||||||
|
i = rootdirlength % 2048;
|
||||||
|
dvd_read (readbuffer, 2048, discoffset);
|
||||||
|
memcpy (buffer + offset, readbuffer, i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
else
|
||||||
|
|
||||||
|
{
|
||||||
|
return UnZipBuffer (buffer, discoffset, 1, NULL); // unzip from dvd
|
||||||
|
}
|
||||||
|
return rootdirlength;
|
||||||
|
}
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* uselessinquiry
|
* uselessinquiry
|
||||||
*
|
*
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Snes9x 1.50
|
* Snes9x 1.50
|
||||||
*
|
*
|
||||||
* Nintendo Gamecube DVD
|
* Nintendo Gamecube DVD
|
||||||
*
|
*
|
||||||
@ -24,14 +24,11 @@ typedef struct
|
|||||||
extern u64 rootdir;
|
extern u64 rootdir;
|
||||||
extern int rootdirlength;
|
extern int rootdirlength;
|
||||||
#define MAXFILES 2000 /** Restrict to 2000 files per dir **/
|
#define MAXFILES 2000 /** Restrict to 2000 files per dir **/
|
||||||
|
|
||||||
extern int getpvd ();
|
|
||||||
extern int parsedirectory ();
|
|
||||||
extern FILEENTRIES filelist[MAXFILES];
|
extern FILEENTRIES filelist[MAXFILES];
|
||||||
|
|
||||||
int dvd_driveid();
|
int getpvd ();
|
||||||
|
int ParseDVDdirectory ();
|
||||||
|
int LoadDVDFile (unsigned char *buffer);
|
||||||
int dvd_read (void *dst, unsigned int len, u64 offset);
|
int dvd_read (void *dst, unsigned int len, u64 offset);
|
||||||
extern void dvd_motor_off ();
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -27,10 +27,10 @@
|
|||||||
#include "preferences.h"
|
#include "preferences.h"
|
||||||
#include "snes9xGx.h"
|
#include "snes9xGx.h"
|
||||||
|
|
||||||
extern unsigned char savebuffer[];
|
|
||||||
extern char output[16384];
|
|
||||||
FILE * filehandle;
|
FILE * filehandle;
|
||||||
|
|
||||||
|
extern unsigned char savebuffer[];
|
||||||
|
extern char output[16384];
|
||||||
extern int offset;
|
extern int offset;
|
||||||
extern int selection;
|
extern int selection;
|
||||||
extern char currentdir[MAXPATHLEN];
|
extern char currentdir[MAXPATHLEN];
|
||||||
@ -41,7 +41,7 @@ extern FILEENTRIES filelist[MAXFILES];
|
|||||||
* to check whether FAT media are detected.
|
* to check whether FAT media are detected.
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
bool fat_is_mounted(PARTITION_INTERFACE partition) {
|
bool FatIsMounted(PARTITION_INTERFACE partition) {
|
||||||
char prefix[] = "fatX:/";
|
char prefix[] = "fatX:/";
|
||||||
prefix[3] = partition + '0';
|
prefix[3] = partition + '0';
|
||||||
DIR_ITER *dir = diropen(prefix);
|
DIR_ITER *dir = diropen(prefix);
|
||||||
@ -57,7 +57,7 @@ bool fat_is_mounted(PARTITION_INTERFACE partition) {
|
|||||||
* Checks if the device (method) specified is available, and
|
* Checks if the device (method) specified is available, and
|
||||||
* sets libfat to use the device
|
* sets libfat to use the device
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
bool changeFATInterface(int method, bool silent)
|
bool ChangeFATInterface(int method, bool silent)
|
||||||
{
|
{
|
||||||
bool devFound = false;
|
bool devFound = false;
|
||||||
|
|
||||||
@ -66,19 +66,19 @@ bool changeFATInterface(int method, bool silent)
|
|||||||
// check which SD device is loaded
|
// check which SD device is loaded
|
||||||
|
|
||||||
#ifdef HW_RVL
|
#ifdef HW_RVL
|
||||||
if (fat_is_mounted(PI_INTERNAL_SD))
|
if (FatIsMounted(PI_INTERNAL_SD))
|
||||||
{
|
{
|
||||||
devFound = true;
|
devFound = true;
|
||||||
fatSetDefaultInterface(PI_INTERNAL_SD);
|
fatSetDefaultInterface(PI_INTERNAL_SD);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (!devFound && fat_is_mounted(PI_SDGECKO_A))
|
if (!devFound && FatIsMounted(PI_SDGECKO_A))
|
||||||
{
|
{
|
||||||
devFound = true;
|
devFound = true;
|
||||||
fatSetDefaultInterface(PI_SDGECKO_A);
|
fatSetDefaultInterface(PI_SDGECKO_A);
|
||||||
}
|
}
|
||||||
if(!devFound && fat_is_mounted(PI_SDGECKO_B))
|
if(!devFound && FatIsMounted(PI_SDGECKO_B))
|
||||||
{
|
{
|
||||||
devFound = true;
|
devFound = true;
|
||||||
fatSetDefaultInterface(PI_SDGECKO_B);
|
fatSetDefaultInterface(PI_SDGECKO_B);
|
||||||
@ -92,7 +92,7 @@ bool changeFATInterface(int method, bool silent)
|
|||||||
else if(method == METHOD_USB)
|
else if(method == METHOD_USB)
|
||||||
{
|
{
|
||||||
#ifdef HW_RVL
|
#ifdef HW_RVL
|
||||||
if(fat_is_mounted(PI_USBSTORAGE))
|
if(FatIsMounted(PI_USBSTORAGE))
|
||||||
{
|
{
|
||||||
devFound = true;
|
devFound = true;
|
||||||
fatSetDefaultInterface(PI_USBSTORAGE);
|
fatSetDefaultInterface(PI_USBSTORAGE);
|
||||||
@ -108,51 +108,11 @@ bool changeFATInterface(int method, bool silent)
|
|||||||
return devFound;
|
return devFound;
|
||||||
}
|
}
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* fat_enable_readahead_all
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
void fat_enable_readahead_all() {
|
|
||||||
int i;
|
|
||||||
for (i=1; i <= 4; ++i) {
|
|
||||||
if (fat_is_mounted((PARTITION_INTERFACE)i)) fatEnableReadAhead((PARTITION_INTERFACE)i, 64, 128);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* fat_remount
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
bool fat_remount(PARTITION_INTERFACE partition) {
|
|
||||||
//ShowAction("remounting...");
|
|
||||||
/* // removed to make usb work...
|
|
||||||
if (fat_is_mounted(partition))
|
|
||||||
{
|
|
||||||
fatUnmount(partition);
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
fatMountNormalInterface(partition, 8);
|
|
||||||
fatSetDefaultInterface(partition);
|
|
||||||
//fatEnableReadAhead(partition, 64, 128);
|
|
||||||
|
|
||||||
if (fat_is_mounted(partition))
|
|
||||||
{
|
|
||||||
//ShowAction("remount successful.");
|
|
||||||
sleep(1);
|
|
||||||
return 1;
|
|
||||||
} else {
|
|
||||||
ShowAction("FAT mount failed.");
|
|
||||||
sleep(1);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Browse FAT subdirectories
|
* Browse FAT subdirectories
|
||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
int
|
int
|
||||||
parseFATdirectory(int method)
|
ParseFATdirectory(int method)
|
||||||
{
|
{
|
||||||
int nbfiles = 0;
|
int nbfiles = 0;
|
||||||
DIR_ITER *fatdir;
|
DIR_ITER *fatdir;
|
||||||
@ -225,7 +185,7 @@ LoadFATFile (char *filename, int length)
|
|||||||
sprintf(filepath, "%s/%s",currentdir,filelist[selection].filename);
|
sprintf(filepath, "%s/%s",currentdir,filelist[selection].filename);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
WaitPrompt((char*) "Maximum Filename Length reached !");
|
WaitPrompt((char*) "Maximum filepath length reached!");
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -236,7 +196,7 @@ LoadFATFile (char *filename, int length)
|
|||||||
|
|
||||||
if (IsZipFile (zipbuffer))
|
if (IsZipFile (zipbuffer))
|
||||||
{
|
{
|
||||||
/*** Unzip the ROM ***/
|
// Unzip the ROM
|
||||||
size = UnZipBuffer (rbuffer, 0, 0, handle); // unzip from FAT
|
size = UnZipBuffer (rbuffer, 0, 0, handle); // unzip from FAT
|
||||||
|
|
||||||
fclose (handle);
|
fclose (handle);
|
||||||
@ -244,13 +204,11 @@ LoadFATFile (char *filename, int length)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/*** Just load the file up ***/
|
// Just load the file up
|
||||||
|
|
||||||
fseek(handle, 0, SEEK_END);
|
fseek(handle, 0, SEEK_END);
|
||||||
length = ftell(handle); // get filesize
|
length = ftell(handle); // get filesize
|
||||||
fseek(handle, 2048, SEEK_SET); // seek back to point where we left off
|
fseek(handle, 2048, SEEK_SET); // seek back to point where we left off
|
||||||
|
|
||||||
ShowAction ((char *)"Loading...");
|
|
||||||
memcpy (rbuffer, zipbuffer, 2048); // copy what we already read
|
memcpy (rbuffer, zipbuffer, 2048); // copy what we already read
|
||||||
fread (rbuffer + 2048, 1, length - 2048, handle);
|
fread (rbuffer + 2048, 1, length - 2048, handle);
|
||||||
fclose (handle);
|
fclose (handle);
|
||||||
@ -274,7 +232,7 @@ int
|
|||||||
LoadBufferFromFAT (char *filepath, bool silent)
|
LoadBufferFromFAT (char *filepath, bool silent)
|
||||||
{
|
{
|
||||||
FILE *handle;
|
FILE *handle;
|
||||||
int offset = 0;
|
int boffset = 0;
|
||||||
int read = 0;
|
int read = 0;
|
||||||
|
|
||||||
handle = fopen (filepath, "rb");
|
handle = fopen (filepath, "rb");
|
||||||
@ -293,14 +251,14 @@ LoadBufferFromFAT (char *filepath, bool silent)
|
|||||||
memset (savebuffer, 0, 0x22000);
|
memset (savebuffer, 0, 0x22000);
|
||||||
|
|
||||||
/*** This is really nice, just load the file and decode it ***/
|
/*** This is really nice, just load the file and decode it ***/
|
||||||
while ((read = fread (savebuffer + offset, 1, 1024, handle)) > 0)
|
while ((read = fread (savebuffer + boffset, 1, 1024, handle)) > 0)
|
||||||
{
|
{
|
||||||
offset += read;
|
boffset += read;
|
||||||
}
|
}
|
||||||
|
|
||||||
fclose (handle);
|
fclose (handle);
|
||||||
|
|
||||||
return offset;
|
return boffset;
|
||||||
}
|
}
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
|
@ -23,10 +23,8 @@
|
|||||||
|
|
||||||
#define ROOTFATDIR "fat:/"
|
#define ROOTFATDIR "fat:/"
|
||||||
|
|
||||||
bool fat_remount(PARTITION_INTERFACE partition);
|
bool ChangeFATInterface(int method, bool silent);
|
||||||
bool fat_is_mounted(PARTITION_INTERFACE partition);
|
int ParseFATdirectory(int method);
|
||||||
bool changeFATInterface(int method, bool silent);
|
|
||||||
int parseFATdirectory(int method);
|
|
||||||
int LoadFATFile (char *filename, int length);
|
int LoadFATFile (char *filename, int length);
|
||||||
int SaveBufferToFAT (char *filepath, int datasize, bool silent);
|
int SaveBufferToFAT (char *filepath, int datasize, bool silent);
|
||||||
int LoadBufferFromFAT (char *filepath, bool silent);
|
int LoadBufferFromFAT (char *filepath, bool silent);
|
||||||
|
@ -26,24 +26,32 @@
|
|||||||
#include "menudraw.h"
|
#include "menudraw.h"
|
||||||
#include "video.h"
|
#include "video.h"
|
||||||
#include "aram.h"
|
#include "aram.h"
|
||||||
#include "unzip.h"
|
|
||||||
#include "filesel.h"
|
#include "filesel.h"
|
||||||
#include "smbop.h"
|
#include "smbop.h"
|
||||||
#include "fileop.h"
|
#include "fileop.h"
|
||||||
#include "mcsave.h"
|
#include "memcardop.h"
|
||||||
|
|
||||||
int offset;
|
int offset;
|
||||||
int selection;
|
int selection;
|
||||||
char currentdir[MAXPATHLEN];
|
char currentdir[MAXPATHLEN];
|
||||||
int maxfiles;
|
int maxfiles;
|
||||||
extern int screenheight;
|
extern int screenheight;
|
||||||
|
|
||||||
#define PAGESIZE 17
|
#define PAGESIZE 17
|
||||||
int LoadDVDFile (unsigned char *buffer);
|
|
||||||
extern unsigned long ARAM_ROMSIZE;
|
extern unsigned long ARAM_ROMSIZE;
|
||||||
int havedir = 0;
|
int havedir = 0;
|
||||||
int hasloaded = 0;
|
int hasloaded = 0;
|
||||||
|
|
||||||
|
unsigned char savebuffer[SAVEBUFFERSIZE] ATTRIBUTE_ALIGN (32);
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
* Clear the savebuffer
|
||||||
|
****************************************************************************/
|
||||||
|
void
|
||||||
|
ClearSaveBuffer ()
|
||||||
|
{
|
||||||
|
memset (savebuffer, 0, SAVEBUFFERSIZE);
|
||||||
|
}
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* autoLoadMethod()
|
* autoLoadMethod()
|
||||||
* Auto-determines and sets the load method
|
* Auto-determines and sets the load method
|
||||||
@ -51,12 +59,16 @@ int hasloaded = 0;
|
|||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
int autoLoadMethod()
|
int autoLoadMethod()
|
||||||
{
|
{
|
||||||
if(changeFATInterface(METHOD_SD, SILENT))
|
ShowAction ((char*) "Attempting to determine load method...");
|
||||||
|
|
||||||
|
if(ChangeFATInterface(METHOD_SD, SILENT))
|
||||||
return METHOD_SD;
|
return METHOD_SD;
|
||||||
else if(changeFATInterface(METHOD_USB, SILENT))
|
else if(ChangeFATInterface(METHOD_USB, SILENT))
|
||||||
return METHOD_USB;
|
return METHOD_USB;
|
||||||
//else if(ConnectShare ())
|
else if(false) // FIX ME - WARNING - MOUNTING DVD in Wii mode hangs
|
||||||
// return METHOD_SMB;
|
return METHOD_DVD;
|
||||||
|
else if(ConnectShare (SILENT))
|
||||||
|
return METHOD_SMB;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
WaitPrompt((char*) "Unable to auto-determine load method!");
|
WaitPrompt((char*) "Unable to auto-determine load method!");
|
||||||
@ -71,16 +83,18 @@ int autoLoadMethod()
|
|||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
int autoSaveMethod()
|
int autoSaveMethod()
|
||||||
{
|
{
|
||||||
if(changeFATInterface(METHOD_SD, SILENT))
|
ShowAction ((char*) "Attempting to determine save method...");
|
||||||
|
|
||||||
|
if(ChangeFATInterface(METHOD_SD, SILENT))
|
||||||
return METHOD_SD;
|
return METHOD_SD;
|
||||||
else if(changeFATInterface(METHOD_USB, SILENT))
|
else if(ChangeFATInterface(METHOD_USB, SILENT))
|
||||||
return METHOD_USB;
|
return METHOD_USB;
|
||||||
else if(TestCard(CARD_SLOTA, SILENT))
|
else if(TestCard(CARD_SLOTA, SILENT))
|
||||||
return METHOD_MC_SLOTA;
|
return METHOD_MC_SLOTA;
|
||||||
else if(TestCard(CARD_SLOTB, SILENT))
|
else if(TestCard(CARD_SLOTB, SILENT))
|
||||||
return METHOD_MC_SLOTB;
|
return METHOD_MC_SLOTB;
|
||||||
//else if(ConnectShare ())
|
else if(ConnectShare (SILENT))
|
||||||
// return METHOD_SMB;
|
return METHOD_SMB;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
WaitPrompt((char*) "Unable to auto-determine save method!");
|
WaitPrompt((char*) "Unable to auto-determine save method!");
|
||||||
@ -179,8 +193,6 @@ void StripExt(char* returnstring, char * inputstring)
|
|||||||
loc_dot = strrchr(returnstring,'.');
|
loc_dot = strrchr(returnstring,'.');
|
||||||
if (loc_dot != NULL)
|
if (loc_dot != NULL)
|
||||||
*loc_dot = '\0'; // strip file extension
|
*loc_dot = '\0'; // strip file extension
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
@ -190,7 +202,7 @@ void StripExt(char* returnstring, char * inputstring)
|
|||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
static void
|
static void
|
||||||
ShowFiles (int offset, int selection)
|
ShowFiles ()
|
||||||
{
|
{
|
||||||
int i, j;
|
int i, j;
|
||||||
char text[MAXPATHLEN];
|
char text[MAXPATHLEN];
|
||||||
@ -245,23 +257,6 @@ ShowFiles (int offset, int selection)
|
|||||||
showscreen ();
|
showscreen ();
|
||||||
}
|
}
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* SNESROMSOffset
|
|
||||||
*
|
|
||||||
* Function to check for and return offset to a directory called SNESROMS, if
|
|
||||||
* any
|
|
||||||
****************************************************************************/
|
|
||||||
int SNESROMSOffset()
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
|
|
||||||
for ( i = 0; i < maxfiles; i++ )
|
|
||||||
if (strcmp(filelist[i].filename, "SNESROMS") == 0)
|
|
||||||
return i;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* FileSelector
|
* FileSelector
|
||||||
*
|
*
|
||||||
@ -277,8 +272,8 @@ FileSelector (int method)
|
|||||||
int haverom = 0;
|
int haverom = 0;
|
||||||
int redraw = 1;
|
int redraw = 1;
|
||||||
int selectit = 0;
|
int selectit = 0;
|
||||||
float mag, mag2 = 0;
|
float mag, mag2;
|
||||||
u16 ang, ang2 = 0;
|
u16 ang, ang2;
|
||||||
int scroll_delay = 0;
|
int scroll_delay = 0;
|
||||||
bool move_selection = 0;
|
bool move_selection = 0;
|
||||||
#define SCROLL_INITIAL_DELAY 15
|
#define SCROLL_INITIAL_DELAY 15
|
||||||
@ -287,7 +282,7 @@ FileSelector (int method)
|
|||||||
while (haverom == 0)
|
while (haverom == 0)
|
||||||
{
|
{
|
||||||
if (redraw)
|
if (redraw)
|
||||||
ShowFiles (offset, selection);
|
ShowFiles ();
|
||||||
redraw = 0;
|
redraw = 0;
|
||||||
|
|
||||||
VIDEO_WaitVSync(); // slow things down a bit so we don't overread the pads
|
VIDEO_WaitVSync(); // slow things down a bit so we don't overread the pads
|
||||||
@ -301,6 +296,10 @@ FileSelector (int method)
|
|||||||
#else
|
#else
|
||||||
wp = 0;
|
wp = 0;
|
||||||
wh = 0;
|
wh = 0;
|
||||||
|
ang = 0;
|
||||||
|
ang2 = 0;
|
||||||
|
mag = 0;
|
||||||
|
mag2 = 0;
|
||||||
#endif
|
#endif
|
||||||
a = PAD_StickY (0);
|
a = PAD_StickY (0);
|
||||||
c = PAD_SubStickX (0);
|
c = PAD_SubStickX (0);
|
||||||
@ -310,95 +309,84 @@ FileSelector (int method)
|
|||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
/*** Check buttons, perform actions ***/
|
/*** Check buttons, perform actions ***/
|
||||||
if ( (p & PAD_BUTTON_A) || selectit || (wp & (WPAD_BUTTON_A | WPAD_CLASSIC_BUTTON_A)) )
|
if ( (p & PAD_BUTTON_A) || selectit || (wp & (WPAD_BUTTON_A | WPAD_CLASSIC_BUTTON_A)) )
|
||||||
{
|
{
|
||||||
if ( selectit )
|
if ( selectit )
|
||||||
selectit = 0;
|
selectit = 0;
|
||||||
if (filelist[selection].flags) // This is directory
|
if (filelist[selection].flags) // This is directory
|
||||||
{
|
{
|
||||||
if (method == METHOD_SD || method == METHOD_USB || method == METHOD_SMB)
|
/* update current directory and set new entry list if directory has changed */
|
||||||
{
|
int status = UpdateDirName();
|
||||||
/* update current directory and set new entry list if directory has changed */
|
if (status == 1) // ok, open directory
|
||||||
int status = UpdateDirName();
|
{
|
||||||
if (status == 1) // ok, open directory
|
switch (method)
|
||||||
{
|
{
|
||||||
if(method == METHOD_SMB)
|
case METHOD_SD:
|
||||||
maxfiles = parseSMBdirectory();
|
case METHOD_USB:
|
||||||
else
|
maxfiles = ParseFATdirectory(method);
|
||||||
maxfiles = parseFATdirectory(method);
|
break;
|
||||||
|
|
||||||
if (!maxfiles)
|
case METHOD_DVD:
|
||||||
{
|
maxfiles = ParseDVDdirectory();
|
||||||
WaitPrompt ((char*) "Error reading directory !");
|
break;
|
||||||
haverom = 1; // quit menu
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (status == -1) // directory name too long
|
|
||||||
{
|
|
||||||
haverom = 1; // quit menu
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if(method == METHOD_DVD)
|
|
||||||
{
|
|
||||||
if ( (strcmp (filelist[selection].filename, "..") == 0)
|
|
||||||
&& ((unsigned int)rootdir == filelist[selection].offset) )
|
|
||||||
return 0;
|
|
||||||
else
|
|
||||||
{
|
|
||||||
rootdir = filelist[selection].offset;
|
|
||||||
rootdirlength = filelist[selection].length;
|
|
||||||
offset = selection = 0;
|
|
||||||
maxfiles = parsedirectory ();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else // this is a file
|
|
||||||
{
|
|
||||||
rootdir = filelist[selection].offset;
|
|
||||||
rootdirlength = filelist[selection].length;
|
|
||||||
|
|
||||||
// store the filename (used for sram/freeze naming)
|
case METHOD_SMB:
|
||||||
StripExt(Memory.ROMFilename, filelist[selection].filename); // store stripped filename in Memory.ROMFilename
|
maxfiles = ParseSMBdirectory();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
switch (method)
|
if (!maxfiles)
|
||||||
{
|
{
|
||||||
case METHOD_SD:
|
WaitPrompt ((char*) "Error reading directory !");
|
||||||
case METHOD_USB:
|
haverom = 1; // quit menu
|
||||||
// Load from FAT
|
}
|
||||||
ARAM_ROMSIZE = LoadFATFile (filelist[selection].filename,
|
}
|
||||||
filelist[selection].length);
|
else if (status == -1) // directory name too long
|
||||||
break;
|
{
|
||||||
|
haverom = 1; // quit menu
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else // this is a file
|
||||||
|
{
|
||||||
|
// store the filename (w/o ext) - used for sram/freeze naming
|
||||||
|
StripExt(Memory.ROMFilename, filelist[selection].filename);
|
||||||
|
|
||||||
case METHOD_DVD:
|
ShowAction ((char *)"Loading...");
|
||||||
/*** Now load the DVD file to it's offset ***/
|
|
||||||
ARAM_ROMSIZE = LoadDVDFile (Memory.ROM);
|
switch (method)
|
||||||
break;
|
{
|
||||||
|
case METHOD_SD:
|
||||||
|
case METHOD_USB:
|
||||||
|
ARAM_ROMSIZE = LoadFATFile (filelist[selection].filename,
|
||||||
|
filelist[selection].length);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case METHOD_DVD:
|
||||||
|
ARAM_ROMSIZE = LoadDVDFile (Memory.ROM);
|
||||||
|
break;
|
||||||
|
|
||||||
case METHOD_SMB:
|
case METHOD_SMB:
|
||||||
/*** Load from SMB ***/
|
ARAM_ROMSIZE =
|
||||||
ARAM_ROMSIZE =
|
LoadSMBFile (filelist[selection].filename,
|
||||||
LoadSMBFile (filelist[selection].filename,
|
filelist[selection].length);
|
||||||
filelist[selection].length);
|
break;
|
||||||
break;
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (ARAM_ROMSIZE > 0)
|
if (ARAM_ROMSIZE > 0)
|
||||||
{
|
{
|
||||||
hasloaded = 1;
|
hasloaded = 1; // indicator for memmap.cpp
|
||||||
Memory.LoadROM ("BLANK.SMC");
|
Memory.LoadROM ("BLANK.SMC");
|
||||||
|
Memory.LoadSRAM ("BLANK");
|
||||||
Memory.LoadSRAM ("BLANK");
|
haverom = 1;
|
||||||
haverom = 1;
|
return 1;
|
||||||
|
}
|
||||||
return 1;
|
else
|
||||||
}
|
{
|
||||||
else
|
WaitPrompt((char*) "Error loading ROM!");
|
||||||
{
|
}
|
||||||
WaitPrompt((char*) "Error loading ROM!");
|
}
|
||||||
}
|
redraw = 1;
|
||||||
}
|
} // End of A
|
||||||
redraw = 1;
|
|
||||||
} // End of A
|
|
||||||
if ( (p & PAD_BUTTON_B) || (wp & (WPAD_BUTTON_B | WPAD_CLASSIC_BUTTON_B)) )
|
if ( (p & PAD_BUTTON_B) || (wp & (WPAD_BUTTON_B | WPAD_CLASSIC_BUTTON_B)) )
|
||||||
{
|
{
|
||||||
while ( (PAD_ButtonsDown(0) & PAD_BUTTON_B)
|
while ( (PAD_ButtonsDown(0) & PAD_BUTTON_B)
|
||||||
@ -509,41 +497,28 @@ FileSelector (int method)
|
|||||||
int
|
int
|
||||||
OpenDVD (int method)
|
OpenDVD (int method)
|
||||||
{
|
{
|
||||||
int romsdiroffset = 0;
|
if (!getpvd())
|
||||||
|
{
|
||||||
|
ShowAction((char*) "Loading DVD...");
|
||||||
|
DVD_Mount(); /* mount the DVD unit again */
|
||||||
|
havedir = 0; /* this may be a new DVD: content need to be parsed again */
|
||||||
|
if (!getpvd())
|
||||||
|
return 0; /* no correct ISO9660 DVD */
|
||||||
|
}
|
||||||
|
|
||||||
if (!getpvd())
|
if (havedir == 0)
|
||||||
{
|
{
|
||||||
ShowAction((char*) "Loading DVD...");
|
maxfiles = ParseDVDdirectory();
|
||||||
DVD_Mount(); /* mount the DVD unit again */
|
if (maxfiles > 0)
|
||||||
havedir = 0; /* this may be a new DVD: content need to be parsed again */
|
{
|
||||||
if (!getpvd())
|
return FileSelector (method);
|
||||||
return 0; /* no correct ISO9660 DVD */
|
havedir = 1;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
return FileSelector (method);
|
||||||
|
|
||||||
if (havedir == 0)
|
return 0;
|
||||||
{
|
|
||||||
offset = selection = 0; /* reset file selector */
|
|
||||||
|
|
||||||
if ((maxfiles = parsedirectory ()))
|
|
||||||
{
|
|
||||||
if ( romsdiroffset = SNESROMSOffset() )
|
|
||||||
{
|
|
||||||
rootdir = filelist[romsdiroffset].offset;
|
|
||||||
rootdirlength = filelist[romsdiroffset].length;
|
|
||||||
offset = selection = 0;
|
|
||||||
maxfiles = parsedirectory ();
|
|
||||||
}
|
|
||||||
|
|
||||||
int ret = FileSelector (method);
|
|
||||||
havedir = 1;
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
else
|
|
||||||
return FileSelector (method);
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
@ -555,12 +530,13 @@ int
|
|||||||
OpenSMB (int method)
|
OpenSMB (int method)
|
||||||
{
|
{
|
||||||
// Connect to network share
|
// Connect to network share
|
||||||
if(ConnectShare ())
|
if(ConnectShare (NOTSILENT))
|
||||||
{
|
{
|
||||||
// change current dir to root dir
|
// change current dir to root dir
|
||||||
sprintf(currentdir, "/%s", GCSettings.LoadFolder);
|
sprintf(currentdir, "/%s", GCSettings.LoadFolder);
|
||||||
|
|
||||||
if (maxfiles = parseSMBdirectory ())
|
maxfiles = ParseSMBdirectory ();
|
||||||
|
if (maxfiles > 0)
|
||||||
{
|
{
|
||||||
return FileSelector (method);
|
return FileSelector (method);
|
||||||
}
|
}
|
||||||
@ -582,13 +558,14 @@ OpenSMB (int method)
|
|||||||
int
|
int
|
||||||
OpenFAT (int method)
|
OpenFAT (int method)
|
||||||
{
|
{
|
||||||
if(changeFATInterface(method, NOTSILENT))
|
if(ChangeFATInterface(method, NOTSILENT))
|
||||||
{
|
{
|
||||||
// change current dir to snes roms directory
|
// change current dir to snes roms directory
|
||||||
sprintf ( currentdir, "%s/%s", ROOTFATDIR, GCSettings.LoadFolder );
|
sprintf ( currentdir, "%s/%s", ROOTFATDIR, GCSettings.LoadFolder );
|
||||||
|
|
||||||
// Parse initial root directory and get entries list
|
// Parse initial root directory and get entries list
|
||||||
if (maxfiles = parseFATdirectory (method))
|
maxfiles = ParseFATdirectory (method);
|
||||||
|
if (maxfiles > 0)
|
||||||
{
|
{
|
||||||
// Select an entry
|
// Select an entry
|
||||||
return FileSelector (method);
|
return FileSelector (method);
|
||||||
@ -634,62 +611,3 @@ OpenROM (int method)
|
|||||||
|
|
||||||
return loadROM;
|
return loadROM;
|
||||||
}
|
}
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* LoadDVDFile
|
|
||||||
* This function will load a file from DVD, in BIN, SMD or ZIP format.
|
|
||||||
* The values for offset and length are inherited from rootdir and
|
|
||||||
* rootdirlength.
|
|
||||||
*
|
|
||||||
* The buffer parameter should re-use the initial ROM buffer.
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
int
|
|
||||||
LoadDVDFile (unsigned char *buffer)
|
|
||||||
{
|
|
||||||
int offset;
|
|
||||||
int blocks;
|
|
||||||
int i;
|
|
||||||
u64 discoffset;
|
|
||||||
char readbuffer[2048];
|
|
||||||
|
|
||||||
/*** SDCard Addition ***/
|
|
||||||
if (rootdirlength == 0)
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
/*** How many 2k blocks to read ***/
|
|
||||||
blocks = rootdirlength / 2048;
|
|
||||||
offset = 0;
|
|
||||||
discoffset = rootdir;
|
|
||||||
ShowAction ((char*) "Loading...");
|
|
||||||
dvd_read (readbuffer, 2048, discoffset);
|
|
||||||
|
|
||||||
if (!IsZipFile (readbuffer))
|
|
||||||
|
|
||||||
{
|
|
||||||
for (i = 0; i < blocks; i++)
|
|
||||||
|
|
||||||
{
|
|
||||||
dvd_read (readbuffer, 2048, discoffset);
|
|
||||||
memcpy (buffer + offset, readbuffer, 2048);
|
|
||||||
offset += 2048;
|
|
||||||
discoffset += 2048;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*** And final cleanup ***/
|
|
||||||
if (rootdirlength % 2048)
|
|
||||||
|
|
||||||
{
|
|
||||||
i = rootdirlength % 2048;
|
|
||||||
dvd_read (readbuffer, 2048, discoffset);
|
|
||||||
memcpy (buffer + offset, readbuffer, i);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
else
|
|
||||||
|
|
||||||
{
|
|
||||||
return UnZipBuffer (buffer, discoffset, 1, NULL); // unzip from dvd
|
|
||||||
}
|
|
||||||
return rootdirlength;
|
|
||||||
}
|
|
||||||
|
@ -10,6 +10,9 @@
|
|||||||
#ifndef _NGCFILESEL_
|
#ifndef _NGCFILESEL_
|
||||||
#define _NGCFILESEL_
|
#define _NGCFILESEL_
|
||||||
|
|
||||||
|
#define SAVEBUFFERSIZE ((512 * 1024) + 2048 + 64 + 4 + 4)
|
||||||
|
|
||||||
|
void ClearSaveBuffer ();
|
||||||
int OpenROM (int method);
|
int OpenROM (int method);
|
||||||
int autoLoadMethod();
|
int autoLoadMethod();
|
||||||
int autoSaveMethod();
|
int autoSaveMethod();
|
||||||
|
@ -26,13 +26,14 @@
|
|||||||
#include "snapshot.h"
|
#include "snapshot.h"
|
||||||
#include "srtc.h"
|
#include "srtc.h"
|
||||||
|
|
||||||
#include "memfile.h"
|
|
||||||
#include "Snes9xGx.h"
|
#include "Snes9xGx.h"
|
||||||
|
#include "images/saveicon.h"
|
||||||
|
#include "freeze.h"
|
||||||
#include "filesel.h"
|
#include "filesel.h"
|
||||||
#include "menudraw.h"
|
#include "menudraw.h"
|
||||||
#include "smbop.h"
|
#include "smbop.h"
|
||||||
#include "fileop.h"
|
#include "fileop.h"
|
||||||
#include "mcsave.h"
|
#include "memcardop.h"
|
||||||
|
|
||||||
#define MEMBUFFER (512 * 1024)
|
#define MEMBUFFER (512 * 1024)
|
||||||
|
|
||||||
@ -40,7 +41,6 @@ extern void S9xSRTCPreSaveState ();
|
|||||||
extern void NGCFreezeStruct ();
|
extern void NGCFreezeStruct ();
|
||||||
extern bool8 S9xUnfreezeGame (const char *filename);
|
extern bool8 S9xUnfreezeGame (const char *filename);
|
||||||
extern unsigned char savebuffer[];
|
extern unsigned char savebuffer[];
|
||||||
extern SMBCONN smbconn;
|
|
||||||
|
|
||||||
static int bufoffset;
|
static int bufoffset;
|
||||||
static char membuffer[MEMBUFFER];
|
static char membuffer[MEMBUFFER];
|
||||||
@ -56,10 +56,10 @@ char freezecomment[2][32] = { {"Snes9x GX 004 Freeze"}, {"Freeze"} };
|
|||||||
int
|
int
|
||||||
GetMem (char *buffer, int len)
|
GetMem (char *buffer, int len)
|
||||||
{
|
{
|
||||||
memcpy (buffer, membuffer + bufoffset, len);
|
memcpy (buffer, membuffer + bufoffset, len);
|
||||||
bufoffset += len;
|
bufoffset += len;
|
||||||
|
|
||||||
return len;
|
return len;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -70,22 +70,17 @@ GetMem (char *buffer, int len)
|
|||||||
static void
|
static void
|
||||||
PutMem (char *buffer, int len)
|
PutMem (char *buffer, int len)
|
||||||
{
|
{
|
||||||
memcpy (membuffer + bufoffset, buffer, len);
|
memcpy (membuffer + bufoffset, buffer, len);
|
||||||
bufoffset += len;
|
bufoffset += len;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
NGCFreezeBlock (char *name, uint8 * block, int size)
|
NGCFreezeBlock (char *name, uint8 * block, int size)
|
||||||
{
|
{
|
||||||
char buffer[512];
|
char buffer[512];
|
||||||
|
sprintf (buffer, "%s:%06d:", name, size);
|
||||||
// char msg[90];
|
PutMem (buffer, strlen (buffer));
|
||||||
// sprintf (msg, "name=%s", name);
|
PutMem ((char *) block, size);
|
||||||
// WaitPrompt(msg);
|
|
||||||
|
|
||||||
sprintf (buffer, "%s:%06d:", name, size);
|
|
||||||
PutMem (buffer, strlen (buffer));
|
|
||||||
PutMem ((char *) block, size);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -131,71 +126,40 @@ NGCFreezeMemBuffer ()
|
|||||||
int
|
int
|
||||||
NGCFreezeGame (int method, bool8 silent)
|
NGCFreezeGame (int method, bool8 silent)
|
||||||
{
|
{
|
||||||
|
ShowAction ((char*) "Saving...");
|
||||||
|
|
||||||
if(method == METHOD_AUTO)
|
if(method == METHOD_AUTO)
|
||||||
method = autoSaveMethod();
|
method = autoSaveMethod();
|
||||||
|
|
||||||
char filename[1024];
|
char filename[1024];
|
||||||
SMBFILE smbfile;
|
|
||||||
FILE *handle;
|
|
||||||
int len = 0;
|
|
||||||
int wrote = 0;
|
|
||||||
int offset = 0;
|
int offset = 0;
|
||||||
|
|
||||||
char msg[100];
|
char msg[100];
|
||||||
|
|
||||||
if (method == METHOD_SD || method == METHOD_USB) // SD
|
|
||||||
{
|
|
||||||
changeFATInterface(method, NOTSILENT);
|
|
||||||
sprintf (filename, "%s/%s/%s.frz", ROOTFATDIR, GCSettings.SaveFolder, Memory.ROMFilename);
|
|
||||||
}
|
|
||||||
else if(method == METHOD_MC_SLOTA || method == METHOD_MC_SLOTB) // MC Slot A or B
|
|
||||||
{
|
|
||||||
sprintf (filename, "%s.snz", Memory.ROMFilename);
|
|
||||||
}
|
|
||||||
else if (method == METHOD_SMB) // SMB
|
|
||||||
{
|
|
||||||
sprintf (filename, "%s/%s.frz", GCSettings.SaveFolder, Memory.ROMFilename);
|
|
||||||
}
|
|
||||||
|
|
||||||
S9xSetSoundMute (TRUE);
|
S9xSetSoundMute (TRUE);
|
||||||
S9xPrepareSoundForSnapshotSave (FALSE);
|
S9xPrepareSoundForSnapshotSave (FALSE);
|
||||||
|
|
||||||
NGCFreezeMemBuffer ();
|
NGCFreezeMemBuffer (); // copy freeze mem into membuffer
|
||||||
|
memcpy (savebuffer, membuffer, bufoffset);
|
||||||
|
|
||||||
S9xPrepareSoundForSnapshotSave (TRUE);
|
S9xPrepareSoundForSnapshotSave (TRUE);
|
||||||
S9xSetSoundMute (FALSE);
|
S9xSetSoundMute (FALSE);
|
||||||
|
|
||||||
if (method == METHOD_SD || method == METHOD_USB) // FAT devices
|
if (method == METHOD_SD || method == METHOD_USB) // FAT devices
|
||||||
{
|
{
|
||||||
handle = fopen (filename, "wb");
|
if(ChangeFATInterface(method, NOTSILENT))
|
||||||
|
|
||||||
if (handle > 0)
|
|
||||||
{
|
{
|
||||||
if (!silent)
|
sprintf (filename, "%s/%s/%s.frz", ROOTFATDIR, GCSettings.SaveFolder, Memory.ROMFilename);
|
||||||
ShowAction ((char*) "Saving freeze game...");
|
offset = SaveBufferToFAT (filename, bufoffset, silent);
|
||||||
|
|
||||||
len = fwrite (membuffer, 1, bufoffset, handle);
|
|
||||||
fclose (handle);
|
|
||||||
|
|
||||||
if (len != bufoffset)
|
|
||||||
WaitPrompt((char*) "Error writing freeze file");
|
|
||||||
else if ( !silent )
|
|
||||||
{
|
|
||||||
sprintf (filename, "Written %d bytes", bufoffset);
|
|
||||||
WaitPrompt (filename);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
changeFATInterface(GCSettings.SaveMethod, NOTSILENT);
|
|
||||||
sprintf(msg, "Couldn't save to %s/%s/", ROOTFATDIR, GCSettings.SaveFolder);
|
|
||||||
WaitPrompt (msg);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (method == METHOD_SMB) // SMB
|
||||||
|
{
|
||||||
|
sprintf (filename, "%s/%s.frz", GCSettings.SaveFolder, Memory.ROMFilename);
|
||||||
|
offset = SaveBufferToSMB (filename, bufoffset, silent);
|
||||||
|
}
|
||||||
else if(method == METHOD_MC_SLOTA || method == METHOD_MC_SLOTB) // MC Slot A or B
|
else if(method == METHOD_MC_SLOTA || method == METHOD_MC_SLOTB) // MC Slot A or B
|
||||||
{
|
{
|
||||||
if (!silent)
|
sprintf (filename, "%s.snz", Memory.ROMFilename);
|
||||||
ShowAction ((char*) "Saving freeze game...");
|
|
||||||
|
|
||||||
ClearSaveBuffer ();
|
ClearSaveBuffer ();
|
||||||
|
|
||||||
@ -242,46 +206,12 @@ NGCFreezeGame (int method, bool8 silent)
|
|||||||
WaitPrompt (filename);
|
WaitPrompt (filename);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (method == METHOD_SMB) // SMB
|
|
||||||
|
if(offset > 0) // save successful!
|
||||||
{
|
{
|
||||||
smbfile = SMB_OpenFile (SMBPath(filename), SMB_OPEN_WRITING | SMB_DENY_NONE, SMB_OF_CREATE | SMB_OF_TRUNCATE, smbconn);
|
if(!silent)
|
||||||
|
WaitPrompt((char*) "Save successful");
|
||||||
if (smbfile)
|
return 1;
|
||||||
{
|
|
||||||
if (!silent)
|
|
||||||
ShowAction ((char*) "Saving freeze game...");
|
|
||||||
|
|
||||||
len = bufoffset;
|
|
||||||
offset = 0;
|
|
||||||
while (len > 0)
|
|
||||||
{
|
|
||||||
if (len > 1024)
|
|
||||||
wrote =
|
|
||||||
SMB_WriteFile ((char *) membuffer + offset, 1024, offset,
|
|
||||||
smbfile);
|
|
||||||
else
|
|
||||||
wrote =
|
|
||||||
SMB_WriteFile ((char *) membuffer + offset, len, offset,
|
|
||||||
smbfile);
|
|
||||||
|
|
||||||
offset += wrote;
|
|
||||||
len -= wrote;
|
|
||||||
}
|
|
||||||
|
|
||||||
SMB_CloseFile (smbfile);
|
|
||||||
|
|
||||||
if ( !silent )
|
|
||||||
{
|
|
||||||
sprintf (filename, "Written %d bytes", bufoffset);
|
|
||||||
WaitPrompt (filename);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
char msg[100];
|
|
||||||
sprintf(msg, "Couldn't save to SMB: %s", GCSettings.SaveFolder);
|
|
||||||
WaitPrompt (msg);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -292,35 +222,35 @@ NGCFreezeGame (int method, bool8 silent)
|
|||||||
int
|
int
|
||||||
NGCUnFreezeBlock (char *name, uint8 * block, int size)
|
NGCUnFreezeBlock (char *name, uint8 * block, int size)
|
||||||
{
|
{
|
||||||
char buffer[20], *e;
|
char buffer[20], *e;
|
||||||
int len = 0;
|
int len = 0;
|
||||||
int rem = 0;
|
int rem = 0;
|
||||||
|
|
||||||
GetMem (buffer, 11);
|
GetMem (buffer, 11);
|
||||||
|
|
||||||
if (strncmp (buffer, name, 3) != 0 || buffer[3] != ':' ||
|
if (strncmp (buffer, name, 3) != 0 || buffer[3] != ':' ||
|
||||||
buffer[10] != ':' || (len = strtol (&buffer[4], &e, 10)) == 0 ||
|
buffer[10] != ':' || (len = strtol (&buffer[4], &e, 10)) == 0 ||
|
||||||
e != buffer + 10)
|
e != buffer + 10)
|
||||||
{
|
{
|
||||||
return WRONG_FORMAT;
|
return WRONG_FORMAT;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (len > size)
|
if (len > size)
|
||||||
{
|
{
|
||||||
rem = len - size;
|
rem = len - size;
|
||||||
len = size;
|
len = size;
|
||||||
}
|
}
|
||||||
|
|
||||||
ZeroMemory (block, size);
|
ZeroMemory (block, size);
|
||||||
|
|
||||||
GetMem ((char *) block, len);
|
GetMem ((char *) block, len);
|
||||||
|
|
||||||
if (rem)
|
if (rem)
|
||||||
{
|
{
|
||||||
bufoffset += rem;
|
bufoffset += rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -329,57 +259,31 @@ NGCUnFreezeBlock (char *name, uint8 * block, int size)
|
|||||||
int
|
int
|
||||||
NGCUnfreezeGame (int method, bool8 silent)
|
NGCUnfreezeGame (int method, bool8 silent)
|
||||||
{
|
{
|
||||||
char filename[1024];
|
ShowAction ((char*) "Loading...");
|
||||||
SMBFILE smbfile;
|
char filename[1024];
|
||||||
FILE *handle;
|
int offset = 0;
|
||||||
int read = 0;
|
char msg[80];
|
||||||
int offset = 0;
|
|
||||||
char msg[80];
|
|
||||||
|
|
||||||
bufoffset = 0;
|
bufoffset = 0;
|
||||||
|
|
||||||
if(method == METHOD_AUTO)
|
if(method == METHOD_AUTO)
|
||||||
method = autoLoadMethod();
|
method = autoLoadMethod();
|
||||||
|
|
||||||
if (method == METHOD_SD || method == METHOD_USB) // SD & USB
|
if (method == METHOD_SD || method == METHOD_USB) // SD & USB
|
||||||
{
|
{
|
||||||
changeFATInterface(method, NOTSILENT);
|
if(ChangeFATInterface(method, NOTSILENT))
|
||||||
sprintf (filename, "%s/%s/%s.frz", ROOTFATDIR, GCSettings.SaveFolder, Memory.ROMFilename);
|
|
||||||
|
|
||||||
handle = fopen (filename, "rb");
|
|
||||||
|
|
||||||
if (handle > 0)
|
|
||||||
{
|
{
|
||||||
if ( !silent )
|
sprintf (filename, "%s/%s/%s.frz", ROOTFATDIR, GCSettings.SaveFolder, Memory.ROMFilename);
|
||||||
ShowAction ((char*) "Loading freeze file...");
|
offset = LoadBufferFromFAT (filename, silent);
|
||||||
|
|
||||||
offset = 0;
|
|
||||||
/*** Usual chunks into memory ***/
|
|
||||||
while ((read = fread (membuffer + offset, 1, 2048, handle)) > 0)
|
|
||||||
offset += read;
|
|
||||||
|
|
||||||
fclose (handle);
|
|
||||||
|
|
||||||
if ( !silent )
|
|
||||||
ShowAction ((char*) "Unpacking freeze file");
|
|
||||||
|
|
||||||
if (S9xUnfreezeGame ("AGAME") != SUCCESS)
|
|
||||||
{
|
|
||||||
WaitPrompt((char*) "Error thawing");
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
return 1;
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
WaitPrompt((char*) "Freeze file not found");
|
else if (method == METHOD_SMB) // Network (SMB)
|
||||||
return 0;
|
{
|
||||||
}
|
sprintf (filename, "%s/%s.frz", GCSettings.SaveFolder, Memory.ROMFilename);
|
||||||
|
offset = LoadBufferFromSMB (filename, silent);
|
||||||
|
}
|
||||||
else if(method == METHOD_MC_SLOTA || method == METHOD_MC_SLOTB) // MC in slot A or slot B
|
else if(method == METHOD_MC_SLOTA || method == METHOD_MC_SLOTB) // MC in slot A or slot B
|
||||||
{
|
{
|
||||||
if ( !silent )
|
|
||||||
ShowAction ((char*) "Loading freeze file...");
|
|
||||||
|
|
||||||
sprintf (filename, "%s.snz", Memory.ROMFilename);
|
sprintf (filename, "%s.snz", Memory.ROMFilename);
|
||||||
|
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
@ -391,9 +295,6 @@ NGCUnfreezeGame (int method, bool8 silent)
|
|||||||
|
|
||||||
if ( ret )
|
if ( ret )
|
||||||
{
|
{
|
||||||
if ( !silent )
|
|
||||||
ShowAction ((char*) "Unpacking freeze file");
|
|
||||||
|
|
||||||
// skip the saveicon and comment
|
// skip the saveicon and comment
|
||||||
offset = (sizeof(saveicon) + 64);
|
offset = (sizeof(saveicon) + 64);
|
||||||
uLongf zipsize = 0;
|
uLongf zipsize = 0;
|
||||||
@ -412,7 +313,7 @@ NGCUnfreezeGame (int method, bool8 silent)
|
|||||||
|
|
||||||
if ( err!=Z_OK )
|
if ( err!=Z_OK )
|
||||||
{
|
{
|
||||||
sprintf (msg, "unzip error %s ",zError(err));
|
sprintf (msg, "Unzip error %s ",zError(err));
|
||||||
WaitPrompt (msg);
|
WaitPrompt (msg);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -422,49 +323,22 @@ NGCUnfreezeGame (int method, bool8 silent)
|
|||||||
WaitPrompt((char*) "Unzipped size doesn't match expected size!");
|
WaitPrompt((char*) "Unzipped size doesn't match expected size!");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (S9xUnfreezeGame ("AGAME") != SUCCESS)
|
|
||||||
{
|
|
||||||
WaitPrompt((char*) "Error thawing");
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
WaitPrompt((char*) "Freeze file not found");
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
else if (method == METHOD_SMB) // Network (SMB)
|
|
||||||
{
|
|
||||||
sprintf (filename, "%s/%s.frz", GCSettings.SaveFolder, Memory.ROMFilename);
|
|
||||||
|
|
||||||
// Read the file into memory
|
if(offset > 0)
|
||||||
smbfile = SMB_OpenFile (SMBPath(filename), SMB_OPEN_READING, SMB_OF_OPEN, smbconn);
|
{
|
||||||
|
memcpy (membuffer, savebuffer, offset);
|
||||||
|
|
||||||
if (smbfile)
|
if (S9xUnfreezeGame ("AGAME") == SUCCESS)
|
||||||
{
|
return 1;
|
||||||
if ( !silent )
|
else
|
||||||
ShowAction ((char*) "Loading freeze file...");
|
WaitPrompt((char*) "Error thawing");
|
||||||
while ((read =
|
}
|
||||||
SMB_ReadFile ((char *) membuffer + offset, 1024, offset,
|
else
|
||||||
smbfile)) > 0)
|
{
|
||||||
offset += read;
|
if(!silent)
|
||||||
|
|
||||||
SMB_CloseFile (smbfile);
|
|
||||||
|
|
||||||
if ( !silent )
|
|
||||||
ShowAction ((char*) "Unpacking freeze file");
|
|
||||||
if (S9xUnfreezeGame ("AGAME") != SUCCESS)
|
|
||||||
{
|
|
||||||
WaitPrompt((char*) "Error thawing");
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if ( !silent )
|
|
||||||
{
|
|
||||||
WaitPrompt((char*) "Freeze file not found");
|
WaitPrompt((char*) "Freeze file not found");
|
||||||
return 0;
|
}
|
||||||
}
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
return 0; // if we reached here, nothing was done!
|
return 0; // if we reached here, nothing was done!
|
||||||
}
|
}
|
@ -3,12 +3,16 @@
|
|||||||
* Width : 640
|
* Width : 640
|
||||||
* Height: 480
|
* Height: 480
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#ifndef _IMGBG_
|
||||||
|
#define _IMGBG_
|
||||||
|
|
||||||
#define BG_WIDTH (640)
|
#define BG_WIDTH (640)
|
||||||
#define BG_HEIGHT (480)
|
#define BG_HEIGHT (480)
|
||||||
#define BG_RAW (614400)
|
#define BG_RAW (614400)
|
||||||
#define BG_COMPRESSED (8789)
|
#define BG_COMPRESSED (8789)
|
||||||
|
|
||||||
static unsigned char bg[]=
|
const unsigned char bg[]=
|
||||||
{
|
{
|
||||||
0x78,0x9c,0xed,0xdd,0x77,0xb0,0x94,0xf5,0xbd,0xf8,0x71,0x9d,0x4c,
|
0x78,0x9c,0xed,0xdd,0x77,0xb0,0x94,0xf5,0xbd,0xf8,0x71,0x9d,0x4c,
|
||||||
0x26,0xe3,0x24,0x93,0xdc,0xeb,0xe4,0xc6,0x4b,0x20,0x89,0xf1,0xc6,
|
0x26,0xe3,0x24,0x93,0xdc,0xeb,0xe4,0xc6,0x4b,0x20,0x89,0xf1,0xc6,
|
||||||
@ -689,3 +693,4 @@
|
|||||||
0x14,0x14
|
0x14,0x14
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#endif
|
@ -1,281 +1,139 @@
|
|||||||
/**********************************************************************************
|
/*
|
||||||
Snes9x - Portable Super Nintendo Entertainment System (TM) emulator.
|
* File : saveicon.bmp
|
||||||
|
*/
|
||||||
(c) Copyright 1996 - 2002 Gary Henderson (gary.henderson@ntlworld.com) and
|
|
||||||
Jerremy Koot (jkoot@snes9x.com)
|
#ifndef _IMGSAVEICON_
|
||||||
|
#define _IMGSAVEICON_
|
||||||
(c) Copyright 2002 - 2004 Matthew Kendora
|
|
||||||
|
const unsigned short saveicon[1024] = {
|
||||||
(c) Copyright 2002 - 2005 Peter Bortas (peter@bortas.org)
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
(c) Copyright 2004 - 2005 Joel Yliluoma (http://iki.fi/bisqwit/)
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
(c) Copyright 2001 - 2006 John Weidman (jweidman@slip.net)
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
(c) Copyright 2002 - 2006 Brad Jorsch (anomie@users.sourceforge.net),
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
funkyass (funkyass@spam.shaw.ca),
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
Kris Bleakley (codeviolation@hotmail.com),
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
Nach (n-a-c-h@users.sourceforge.net), and
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
zones (kasumitokoduck@yahoo.com)
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
BS-X C emulator code
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
(c) Copyright 2005 - 2006 Dreamer Nom,
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
zones
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
C4 x86 assembler and some C emulation code
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
(c) Copyright 2000 - 2003 _Demo_ (_demo_@zsnes.com),
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
Nach,
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
zsKnight (zsknight@zsnes.com)
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xE73F,
|
||||||
C4 C++ code
|
0xFFFF, 0xFFFF, 0xB5BF, 0x801F, 0xFFFF, 0xD29F, 0x801F, 0x801F,
|
||||||
(c) Copyright 2003 - 2006 Brad Jorsch,
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xA11E, 0x843C, 0x8439, 0x9CF7,
|
||||||
Nach
|
0x801F, 0x801F, 0x801C, 0x8018, 0x801F, 0x801F, 0x801C, 0x8018,
|
||||||
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xEB5C, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
DSP-1 emulator code
|
0x800F, 0xB9D3, 0xFFFF, 0xFFFF, 0x8013, 0x8008, 0xDAD7, 0xFFFF,
|
||||||
(c) Copyright 1998 - 2006 _Demo_,
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
Andreas Naive (andreasnaive@gmail.com)
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
Gary Henderson,
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
Ivar (ivar@snes9x.com),
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
John Weidman,
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
Kris Bleakley,
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
Matthew Kendora,
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
Nach,
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
neviksti (neviksti@hotmail.com)
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
DSP-2 emulator code
|
0xFFFF, 0x801F, 0x801F, 0x885F, 0xFFFF, 0x98D6, 0x801F, 0x801F,
|
||||||
(c) Copyright 2003 John Weidman,
|
0xFFFF, 0xFFFF, 0xFFFF, 0x843C, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
Kris Bleakley,
|
0xFBDF, 0x801E, 0x801B, 0x8017, 0x801E, 0x801B, 0x8018, 0x8015,
|
||||||
Lord Nightmare (lord_nightmare@users.sourceforge.net),
|
0x801A, 0x8018, 0x8015, 0x8011, 0x8016, 0x8014, 0x8011, 0x800D,
|
||||||
Matthew Kendora,
|
0x8012, 0x800B, 0x8848, 0xFFFF, 0x8010, 0x8009, 0x8003, 0xFFFF,
|
||||||
neviksti
|
0x800C, 0x8007, 0x8006, 0xFFFF, 0x8008, 0x8005, 0xA52E, 0xFFFF,
|
||||||
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
|
0xFFFF, 0xFFFF, 0xFBBD, 0xF1EF, 0xFFFF, 0xF508, 0xF000, 0xEC00,
|
||||||
DSP-3 emulator code
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
(c) Copyright 2003 - 2006 John Weidman,
|
0xE56B, 0xE16B, 0xE673, 0xFFFF, 0xE800, 0xDC00, 0xCC00, 0xB400,
|
||||||
Kris Bleakley,
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
Lancer,
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xDE94, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
z80 gaiden
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xEBBA,
|
||||||
DSP-4 emulator code
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
(c) Copyright 2004 - 2006 Dreamer Nom,
|
0xFFFF, 0xFFFF, 0xEFBA, 0xE378, 0xB2EB, 0x9AA4, 0x9AA5, 0x9AA5,
|
||||||
John Weidman,
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
Kris Bleakley,
|
0xE778, 0xF3BC, 0xFFFF, 0xFFFF, 0x9A84, 0x9623, 0x91E3, 0xB66C,
|
||||||
Nach,
|
0xD6BB, 0x800E, 0x800C, 0x8008, 0xFFFF, 0x8C6A, 0x8004, 0x8004,
|
||||||
z80 gaiden
|
0xFFFF, 0xFFFF, 0xB191, 0xDAD8, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
|
0x8006, 0x8004, 0xFFFF, 0xFFFF, 0x8006, 0xF39D, 0xFFFF, 0xFA94,
|
||||||
OBC1 emulator code
|
0xFFFF, 0xFFFF, 0xFFFF, 0xEC21, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
(c) Copyright 2001 - 2004 zsKnight,
|
0xF484, 0xF800, 0xF800, 0xF000, 0xF800, 0xF800, 0xFD6B, 0xF8C6,
|
||||||
pagefault (pagefault@zsnes.com),
|
0xF400, 0xF400, 0xFDEF, 0xF4A5, 0xFF18, 0xEC63, 0xE400, 0xE000,
|
||||||
Kris Bleakley,
|
0xE800, 0xE000, 0xD400, 0xC400, 0xE400, 0xE000, 0xD000, 0xC400,
|
||||||
Ported from x86 assembler to C by sanmaiwashi
|
0xE000, 0xD800, 0xCC00, 0xC000, 0xD800, 0xD000, 0xC400, 0xB800,
|
||||||
|
0xA400, 0xD673, 0xFFFF, 0xFFFF, 0xB400, 0x9000, 0xFFFF, 0xFFFF,
|
||||||
SPC7110 and RTC C++ emulator code
|
0xB000, 0x9000, 0xFFFF, 0xFFFF, 0xA800, 0x9000, 0xFFFF, 0xFFFF,
|
||||||
(c) Copyright 2002 Matthew Kendora with research by
|
0xFFFF, 0xFFFF, 0xDB75, 0x9AE4, 0xFFFF, 0xFFFF, 0x9A84, 0xA6E7,
|
||||||
zsKnight,
|
0xFFFF, 0xFFFF, 0xA1E7, 0x9604, 0xFFFF, 0xFFFF, 0xFFFF, 0x8D03,
|
||||||
John Weidman,
|
0xA707, 0xA708, 0xAF2A, 0xAF2A, 0xA6E7, 0xA2C7, 0xBF4E, 0xCB71,
|
||||||
Dark Force
|
0x9E46, 0x9E26, 0x9A25, 0x9604, 0x80E0, 0x8922, 0x8D22, 0x8D22,
|
||||||
|
0xA2C7, 0xA2A7, 0x9E66, 0x95E4, 0xA2A6, 0x9E46, 0x9E25, 0x95C4,
|
||||||
S-DD1 C emulator code
|
0x99E5, 0x95C4, 0x9163, 0x8D02, 0x88E2, 0x84A1, 0x8060, 0x8020,
|
||||||
(c) Copyright 2003 Brad Jorsch with research by
|
0x8500, 0xF7BD, 0xFFFF, 0xFFFF, 0x8901, 0xA148, 0xFFFF, 0xFFFF,
|
||||||
Andreas Naive,
|
0x8040, 0xB9ED, 0xFFFF, 0xFFFF, 0x9926, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
John Weidman
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
S-RTC C emulator code
|
0xFFFF, 0xFFFF, 0xE529, 0xD400, 0xFFFF, 0xFFFF, 0xFFFF, 0xD4C6,
|
||||||
(c) Copyright 2001-2006 byuu,
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
John Weidman
|
0xD000, 0xC400, 0xBC00, 0xB000, 0xC000, 0xB800, 0xAC00, 0xA000,
|
||||||
|
0xA800, 0xA800, 0x9C00, 0x9400, 0xC18C, 0x8C00, 0x8C00, 0x8C00,
|
||||||
ST010 C++ emulator code
|
0x9C00, 0x8C00, 0xFFFF, 0xFFFF, 0x9400, 0x8C00, 0xFFFF, 0xFFFF,
|
||||||
(c) Copyright 2003 Feather,
|
0x8800, 0xDEB5, 0xFFFF, 0xFFFF, 0xE2D6, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
John Weidman,
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
Kris Bleakley,
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
Matthew Kendora
|
0xD6D5, 0xAD8A, 0x8CC3, 0x8060, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
Super FX x86 assembler emulator code
|
0x8060, 0x90E4, 0xB1CC, 0xE759, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
(c) Copyright 1998 - 2003 _Demo_,
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFE, 0xFFFF, 0xFFFF, 0xFFFF, 0xF7AF,
|
||||||
pagefault,
|
0xFFFF, 0xFFFF, 0xFBDC, 0xF7B1, 0xFFFB, 0xFFE2, 0xFFE0, 0xFFE0,
|
||||||
zsKnight,
|
0xFFE0, 0xFFE0, 0xFFE0, 0xFFE0, 0xFFE0, 0xFFE0, 0xFFE0, 0xFFE5,
|
||||||
|
0xF38C, 0xEF6A, 0xEB4B, 0xEB4F, 0xFFE0, 0xFBC0, 0xF7A0, 0xEB40,
|
||||||
Super FX C emulator code
|
0xFFE0, 0xFFE0, 0xFBC0, 0xF7A0, 0xFFF5, 0xFFE4, 0xF380, 0xEF60,
|
||||||
(c) Copyright 1997 - 1999 Ivar,
|
0xEF76, 0xFFFF, 0xFFFF, 0xFFFF, 0xE300, 0xCE60, 0xD6AB, 0xFFFF,
|
||||||
Gary Henderson,
|
0xEB40, 0xE300, 0xCE60, 0xB180, 0xE720, 0xDEE0, 0xCE60, 0xB180,
|
||||||
John Weidman
|
0xF7BD, 0xB96B, 0xDAB4, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xB9CA, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
Sound DSP emulator code is derived from SNEeSe and OpenSPC:
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
(c) Copyright 1998 - 2003 Brad Martin
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
(c) Copyright 1998 - 2006 Charles Bilyue'
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
SH assembler code partly based on x86 assembler code
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
(c) Copyright 2002 - 2004 Marcus Comstedt (marcus@mc.pp.se)
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
|
0xFFFF, 0xFFFF, 0xFFFF, 0xF399, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
2xSaI filter
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
(c) Copyright 1999 - 2001 Derek Liauw Kie Fa
|
0xD280, 0xEB40, 0xEB40, 0xEB40, 0xDAD1, 0xAD60, 0xC200, 0xCA40,
|
||||||
|
0xFFFF, 0xF7BE, 0xBDEB, 0x98C0, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
HQ2x filter
|
0xEB40, 0xE720, 0xE300, 0xDAC0, 0xCA40, 0xC620, 0xC200, 0xBDE0,
|
||||||
(c) Copyright 2003 Maxim Stepin (maxim@hiend3d.com)
|
0x9080, 0x94A0, 0x94A0, 0x9080, 0xFBDD, 0xE738, 0xE337, 0xE738,
|
||||||
|
0xD280, 0xCA40, 0xB5A0, 0x98C0, 0xB180, 0xA100, 0x94A0, 0x9080,
|
||||||
Specific ports contains the works of other authors. See headers in
|
0x8C60, 0x9080, 0xC20C, 0xFFFF, 0xF7BD, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
individual files.
|
0xB9C9, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFE, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
Snes9x homepage: http://www.snes9x.com
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
Permission to use, copy, modify and/or distribute Snes9x in both binary
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
and source form, for non-commercial purposes, is hereby granted without
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
fee, providing that this license information and copyright notice appear
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
with all copies and any derived work.
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
This software is provided 'as-is', without any express or implied
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
warranty. In no event shall the authors be held liable for any damages
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
arising from the use of this software or it's derivatives.
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
Snes9x is freeware for PERSONAL USE only. Commercial users should
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
seek permission of the copyright holders first. Commercial use includes,
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
but is not limited to, charging money for Snes9x or software derived from
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
Snes9x, including Snes9x or derivatives in commercial game bundles, and/or
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
using Snes9x as a promotion for your commercial product.
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
The copyright holders request that bug fixes and improvements to the code
|
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||||
should be forwarded to them so everyone can benefit from the modifications
|
};
|
||||||
in future versions.
|
|
||||||
|
#endif
|
||||||
Super NES and Super Nintendo Entertainment System are trademarks of
|
|
||||||
Nintendo Co., Limited and its subsidiary companies.
|
|
||||||
**********************************************************************************/
|
|
||||||
|
|
||||||
#include "snes9xGx.h"
|
|
||||||
START_EXTERN_C
|
|
||||||
struct SGCSettings GCSettings;
|
|
||||||
bool8 isWii;
|
|
||||||
|
|
||||||
unsigned short saveicon[1024] = {
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xE73F,
|
|
||||||
0xFFFF, 0xFFFF, 0xB5BF, 0x801F, 0xFFFF, 0xD29F, 0x801F, 0x801F,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xA11E, 0x843C, 0x8439, 0x9CF7,
|
|
||||||
0x801F, 0x801F, 0x801C, 0x8018, 0x801F, 0x801F, 0x801C, 0x8018,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xEB5C, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0x800F, 0xB9D3, 0xFFFF, 0xFFFF, 0x8013, 0x8008, 0xDAD7, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0x801F, 0x801F, 0x885F, 0xFFFF, 0x98D6, 0x801F, 0x801F,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0x843C, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFBDF, 0x801E, 0x801B, 0x8017, 0x801E, 0x801B, 0x8018, 0x8015,
|
|
||||||
0x801A, 0x8018, 0x8015, 0x8011, 0x8016, 0x8014, 0x8011, 0x800D,
|
|
||||||
0x8012, 0x800B, 0x8848, 0xFFFF, 0x8010, 0x8009, 0x8003, 0xFFFF,
|
|
||||||
0x800C, 0x8007, 0x8006, 0xFFFF, 0x8008, 0x8005, 0xA52E, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFBBD, 0xF1EF, 0xFFFF, 0xF508, 0xF000, 0xEC00,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xE56B, 0xE16B, 0xE673, 0xFFFF, 0xE800, 0xDC00, 0xCC00, 0xB400,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xDE94, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xEBBA,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xEFBA, 0xE378, 0xB2EB, 0x9AA4, 0x9AA5, 0x9AA5,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xE778, 0xF3BC, 0xFFFF, 0xFFFF, 0x9A84, 0x9623, 0x91E3, 0xB66C,
|
|
||||||
0xD6BB, 0x800E, 0x800C, 0x8008, 0xFFFF, 0x8C6A, 0x8004, 0x8004,
|
|
||||||
0xFFFF, 0xFFFF, 0xB191, 0xDAD8, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0x8006, 0x8004, 0xFFFF, 0xFFFF, 0x8006, 0xF39D, 0xFFFF, 0xFA94,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xEC21, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xF484, 0xF800, 0xF800, 0xF000, 0xF800, 0xF800, 0xFD6B, 0xF8C6,
|
|
||||||
0xF400, 0xF400, 0xFDEF, 0xF4A5, 0xFF18, 0xEC63, 0xE400, 0xE000,
|
|
||||||
0xE800, 0xE000, 0xD400, 0xC400, 0xE400, 0xE000, 0xD000, 0xC400,
|
|
||||||
0xE000, 0xD800, 0xCC00, 0xC000, 0xD800, 0xD000, 0xC400, 0xB800,
|
|
||||||
0xA400, 0xD673, 0xFFFF, 0xFFFF, 0xB400, 0x9000, 0xFFFF, 0xFFFF,
|
|
||||||
0xB000, 0x9000, 0xFFFF, 0xFFFF, 0xA800, 0x9000, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xDB75, 0x9AE4, 0xFFFF, 0xFFFF, 0x9A84, 0xA6E7,
|
|
||||||
0xFFFF, 0xFFFF, 0xA1E7, 0x9604, 0xFFFF, 0xFFFF, 0xFFFF, 0x8D03,
|
|
||||||
0xA707, 0xA708, 0xAF2A, 0xAF2A, 0xA6E7, 0xA2C7, 0xBF4E, 0xCB71,
|
|
||||||
0x9E46, 0x9E26, 0x9A25, 0x9604, 0x80E0, 0x8922, 0x8D22, 0x8D22,
|
|
||||||
0xA2C7, 0xA2A7, 0x9E66, 0x95E4, 0xA2A6, 0x9E46, 0x9E25, 0x95C4,
|
|
||||||
0x99E5, 0x95C4, 0x9163, 0x8D02, 0x88E2, 0x84A1, 0x8060, 0x8020,
|
|
||||||
0x8500, 0xF7BD, 0xFFFF, 0xFFFF, 0x8901, 0xA148, 0xFFFF, 0xFFFF,
|
|
||||||
0x8040, 0xB9ED, 0xFFFF, 0xFFFF, 0x9926, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xE529, 0xD400, 0xFFFF, 0xFFFF, 0xFFFF, 0xD4C6,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xD000, 0xC400, 0xBC00, 0xB000, 0xC000, 0xB800, 0xAC00, 0xA000,
|
|
||||||
0xA800, 0xA800, 0x9C00, 0x9400, 0xC18C, 0x8C00, 0x8C00, 0x8C00,
|
|
||||||
0x9C00, 0x8C00, 0xFFFF, 0xFFFF, 0x9400, 0x8C00, 0xFFFF, 0xFFFF,
|
|
||||||
0x8800, 0xDEB5, 0xFFFF, 0xFFFF, 0xE2D6, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xD6D5, 0xAD8A, 0x8CC3, 0x8060, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0x8060, 0x90E4, 0xB1CC, 0xE759, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFE, 0xFFFF, 0xFFFF, 0xFFFF, 0xF7AF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFBDC, 0xF7B1, 0xFFFB, 0xFFE2, 0xFFE0, 0xFFE0,
|
|
||||||
0xFFE0, 0xFFE0, 0xFFE0, 0xFFE0, 0xFFE0, 0xFFE0, 0xFFE0, 0xFFE5,
|
|
||||||
0xF38C, 0xEF6A, 0xEB4B, 0xEB4F, 0xFFE0, 0xFBC0, 0xF7A0, 0xEB40,
|
|
||||||
0xFFE0, 0xFFE0, 0xFBC0, 0xF7A0, 0xFFF5, 0xFFE4, 0xF380, 0xEF60,
|
|
||||||
0xEF76, 0xFFFF, 0xFFFF, 0xFFFF, 0xE300, 0xCE60, 0xD6AB, 0xFFFF,
|
|
||||||
0xEB40, 0xE300, 0xCE60, 0xB180, 0xE720, 0xDEE0, 0xCE60, 0xB180,
|
|
||||||
0xF7BD, 0xB96B, 0xDAB4, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xB9CA, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xF399, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xD280, 0xEB40, 0xEB40, 0xEB40, 0xDAD1, 0xAD60, 0xC200, 0xCA40,
|
|
||||||
0xFFFF, 0xF7BE, 0xBDEB, 0x98C0, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xEB40, 0xE720, 0xE300, 0xDAC0, 0xCA40, 0xC620, 0xC200, 0xBDE0,
|
|
||||||
0x9080, 0x94A0, 0x94A0, 0x9080, 0xFBDD, 0xE738, 0xE337, 0xE738,
|
|
||||||
0xD280, 0xCA40, 0xB5A0, 0x98C0, 0xB180, 0xA100, 0x94A0, 0x9080,
|
|
||||||
0x8C60, 0x9080, 0xC20C, 0xFFFF, 0xF7BD, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xB9C9, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFE, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
|
||||||
};
|
|
||||||
|
|
||||||
END_EXTERN_C
|
|
||||||
|
|
@ -5,9 +5,9 @@
|
|||||||
* softdev July 2006
|
* softdev July 2006
|
||||||
* crunchy2 May-June 2007
|
* crunchy2 May-June 2007
|
||||||
*
|
*
|
||||||
* mcsave.cpp
|
* memcardop.cpp
|
||||||
*
|
*
|
||||||
* Memory Card Save Routines.
|
* Memory Card Routines.
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
#include <gccore.h>
|
#include <gccore.h>
|
||||||
#include <ogcsys.h>
|
#include <ogcsys.h>
|
||||||
@ -36,27 +36,17 @@
|
|||||||
#include "menu.h"
|
#include "menu.h"
|
||||||
#include "sram.h"
|
#include "sram.h"
|
||||||
#include "preferences.h"
|
#include "preferences.h"
|
||||||
#include "mcsave.h"
|
#include "memcardop.h"
|
||||||
|
#include "fileop.h"
|
||||||
|
|
||||||
#define VERIFBUFFERSIZE 65536
|
#define VERIFBUFFERSIZE 65536
|
||||||
static u8 SysArea[CARD_WORKAREA] ATTRIBUTE_ALIGN (32);
|
static u8 SysArea[CARD_WORKAREA] ATTRIBUTE_ALIGN (32);
|
||||||
unsigned char savebuffer[SAVEBUFFERSIZE] ATTRIBUTE_ALIGN (32);
|
extern unsigned char savebuffer[];
|
||||||
unsigned char verifbuffer[VERIFBUFFERSIZE] ATTRIBUTE_ALIGN (32);
|
unsigned char verifbuffer[VERIFBUFFERSIZE] ATTRIBUTE_ALIGN (32);
|
||||||
card_dir CardDir;
|
card_dir CardDir;
|
||||||
card_file CardFile;
|
card_file CardFile;
|
||||||
card_stat CardStatus;
|
card_stat CardStatus;
|
||||||
|
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Clear the savebuffer
|
|
||||||
****************************************************************************/
|
|
||||||
void
|
|
||||||
ClearSaveBuffer ()
|
|
||||||
{
|
|
||||||
memset (savebuffer, 0, SAVEBUFFERSIZE);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* CardFileExists
|
* CardFileExists
|
||||||
*
|
*
|
||||||
@ -145,13 +135,12 @@ int MountCard(int cslot, bool silent)
|
|||||||
else
|
else
|
||||||
WaitPrompt((char*) "Replug card in slot B!");
|
WaitPrompt((char*) "Replug card in slot B!");
|
||||||
|
|
||||||
ShowAction ((char*) "");
|
|
||||||
ret = CARD_Mount (cslot, SysArea, NULL);
|
ret = CARD_Mount (cslot, SysArea, NULL);
|
||||||
tries++;
|
tries++;
|
||||||
}
|
}
|
||||||
|
|
||||||
tries = 0;
|
tries = 0;
|
||||||
while ( tries < 5 && ret == CARD_ERROR_NOCARD )
|
while ( tries < 2 && ret == CARD_ERROR_NOCARD )
|
||||||
{
|
{
|
||||||
EXI_ProbeReset ();
|
EXI_ProbeReset ();
|
||||||
|
|
||||||
@ -159,23 +148,18 @@ int MountCard(int cslot, bool silent)
|
|||||||
ShowAction ((char*) "Mounting card...");
|
ShowAction ((char*) "Mounting card...");
|
||||||
CARD_Unmount (cslot);
|
CARD_Unmount (cslot);
|
||||||
usleep(500000); // wait half second
|
usleep(500000); // wait half second
|
||||||
ShowAction ((char*) "");
|
|
||||||
usleep(500000); // wait half second
|
|
||||||
ret = CARD_Mount (cslot, SysArea, NULL);
|
ret = CARD_Mount (cslot, SysArea, NULL);
|
||||||
tries++;
|
tries++;
|
||||||
}
|
}
|
||||||
|
|
||||||
tries = 0;
|
tries = 0;
|
||||||
while ( tries < 5 && ret == CARD_ERROR_UNLOCKED )
|
while ( tries < 3 && ret == CARD_ERROR_UNLOCKED )
|
||||||
{
|
{
|
||||||
EXI_ProbeReset ();
|
EXI_ProbeReset ();
|
||||||
|
|
||||||
if(!silent)
|
if(!silent)
|
||||||
ShowAction ((char*) "Waiting for unlock...");
|
ShowAction ((char*) "Waiting for unlock...");
|
||||||
usleep(500000); // wait half second
|
usleep(500000); // wait half second
|
||||||
if(!silent)
|
|
||||||
ShowAction ((char*) "");
|
|
||||||
usleep(500000); // wait half second
|
|
||||||
ret = CARD_Probe(cslot);
|
ret = CARD_Probe(cslot);
|
||||||
tries++;
|
tries++;
|
||||||
}
|
}
|
@ -5,18 +5,14 @@
|
|||||||
* softdev July 2006
|
* softdev July 2006
|
||||||
* crunchy2 May 2007
|
* crunchy2 May 2007
|
||||||
*
|
*
|
||||||
* mcsave.cpp
|
* memcardop.h
|
||||||
*
|
*
|
||||||
* Memory Card Save Routines.
|
* Memory Card Routines.
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
#ifndef _NGCMCSAVE_
|
#ifndef _NGCMCSAVE_
|
||||||
#define _NGCMCSAVE_
|
#define _NGCMCSAVE_
|
||||||
|
|
||||||
#define SAVEBUFFERSIZE ((512 * 1024) + 2048 + 64 + 4 + 4)
|
|
||||||
|
|
||||||
void ClearSaveBuffer ();
|
|
||||||
|
|
||||||
int VerifyMCFile (unsigned char *buf, int slot, char *filename, int datasize);
|
int VerifyMCFile (unsigned char *buf, int slot, char *filename, int datasize);
|
||||||
|
|
||||||
int LoadBufferFromMC (unsigned char *buf, int slot, char *filename, bool8 silent);
|
int LoadBufferFromMC (unsigned char *buf, int slot, char *filename, bool8 silent);
|
@ -30,13 +30,12 @@
|
|||||||
#include "snes9xGx.h"
|
#include "snes9xGx.h"
|
||||||
#include "aram.h"
|
#include "aram.h"
|
||||||
#include "video.h"
|
#include "video.h"
|
||||||
#include "mcsave.h"
|
|
||||||
#include "filesel.h"
|
#include "filesel.h"
|
||||||
#include "unzip.h"
|
#include "unzip.h"
|
||||||
#include "smbop.h"
|
#include "smbop.h"
|
||||||
#include "mcsave.h"
|
#include "memcardop.h"
|
||||||
#include "fileop.h"
|
#include "fileop.h"
|
||||||
#include "memfile.h"
|
#include "freeze.h"
|
||||||
#include "dvd.h"
|
#include "dvd.h"
|
||||||
#include "s9xconfig.h"
|
#include "s9xconfig.h"
|
||||||
#include "sram.h"
|
#include "sram.h"
|
||||||
@ -49,18 +48,23 @@ extern void DrawMenu (char items[][50], char *title, int maxitems, int selected,
|
|||||||
|
|
||||||
extern SCheatData Cheat;
|
extern SCheatData Cheat;
|
||||||
|
|
||||||
|
|
||||||
#define PSOSDLOADID 0x7c6000a6
|
|
||||||
extern int menu;
|
extern int menu;
|
||||||
extern unsigned long ARAM_ROMSIZE;
|
extern unsigned long ARAM_ROMSIZE;
|
||||||
|
|
||||||
#define SOFTRESET_ADR ((volatile u32*)0xCC003024)
|
#define SOFTRESET_ADR ((volatile u32*)0xCC003024)
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Reboot
|
* Reboot / Exit
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
void Reboot() {
|
#ifndef HW_RVL
|
||||||
|
#define PSOSDLOADID 0x7c6000a6
|
||||||
|
int *psoid = (int *) 0x80001800;
|
||||||
|
void (*PSOReload) () = (void (*)()) 0x80001800;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
void Reboot()
|
||||||
|
{
|
||||||
#ifdef HW_RVL
|
#ifdef HW_RVL
|
||||||
SYS_ResetSystem(SYS_RETURNTOMENU, 0, 0);
|
SYS_ResetSystem(SYS_RETURNTOMENU, 0, 0);
|
||||||
#else
|
#else
|
||||||
@ -132,12 +136,14 @@ PreferencesMenu ()
|
|||||||
{
|
{
|
||||||
// some load/save methods are not implemented - here's where we skip them
|
// some load/save methods are not implemented - here's where we skip them
|
||||||
|
|
||||||
#ifndef HW_RVL // GameCube mode
|
#ifndef HW_RVL
|
||||||
|
// no USB ports on GameCube
|
||||||
if(GCSettings.LoadMethod == METHOD_USB)
|
if(GCSettings.LoadMethod == METHOD_USB)
|
||||||
GCSettings.LoadMethod++;
|
GCSettings.LoadMethod++;
|
||||||
if(GCSettings.SaveMethod == METHOD_USB)
|
if(GCSettings.SaveMethod == METHOD_USB)
|
||||||
GCSettings.SaveMethod++;
|
GCSettings.SaveMethod++;
|
||||||
#else // Wii mode
|
#else
|
||||||
|
// Wii DVD access not implemented
|
||||||
if(GCSettings.LoadMethod == METHOD_DVD)
|
if(GCSettings.LoadMethod == METHOD_DVD)
|
||||||
GCSettings.LoadMethod++;
|
GCSettings.LoadMethod++;
|
||||||
#endif
|
#endif
|
||||||
@ -145,11 +151,13 @@ PreferencesMenu ()
|
|||||||
if(GCSettings.SaveMethod == METHOD_DVD) // saving to DVD is impossible
|
if(GCSettings.SaveMethod == METHOD_DVD) // saving to DVD is impossible
|
||||||
GCSettings.SaveMethod++;
|
GCSettings.SaveMethod++;
|
||||||
|
|
||||||
if(GCSettings.SaveMethod == METHOD_SMB) // disable SMB - network saving needs some work
|
#ifdef HW_RVL
|
||||||
|
// disable MC saving in Wii mode - does not work for some reason!
|
||||||
|
if(GCSettings.SaveMethod == METHOD_MC_SLOTA)
|
||||||
GCSettings.SaveMethod++;
|
GCSettings.SaveMethod++;
|
||||||
|
if(GCSettings.SaveMethod == METHOD_MC_SLOTB)
|
||||||
if(GCSettings.LoadMethod == METHOD_SMB) // disable SMB - network loading needs some work
|
GCSettings.SaveMethod++;
|
||||||
GCSettings.LoadMethod++;
|
#endif
|
||||||
|
|
||||||
// correct load/save methods out of bounds
|
// correct load/save methods out of bounds
|
||||||
if(GCSettings.LoadMethod > 4)
|
if(GCSettings.LoadMethod > 4)
|
||||||
@ -368,7 +376,7 @@ GameMenu ()
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 4: // Load SRAM
|
case 4: // Load SRAM
|
||||||
quit = retval = LoadSRAM(GCSettings.SaveMethod, SILENT);
|
quit = retval = LoadSRAM(GCSettings.SaveMethod, NOTSILENT);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 5: // Save SRAM
|
case 5: // Save SRAM
|
||||||
@ -376,7 +384,7 @@ GameMenu ()
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 6: // Load Freeze
|
case 6: // Load Freeze
|
||||||
quit = retval = NGCUnfreezeGame (GCSettings.SaveMethod, SILENT);
|
quit = retval = NGCUnfreezeGame (GCSettings.SaveMethod, NOTSILENT);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 7: // Save Freeze
|
case 7: // Save Freeze
|
||||||
@ -467,7 +475,7 @@ GetButtonMap(u16 ctrlr_type, char* btn_name)
|
|||||||
{
|
{
|
||||||
u32 pressed, previous;
|
u32 pressed, previous;
|
||||||
char temp[50] = "";
|
char temp[50] = "";
|
||||||
int k;
|
uint k;
|
||||||
pressed = 0; previous = 1;
|
pressed = 0; previous = 1;
|
||||||
|
|
||||||
switch (ctrlr_type) {
|
switch (ctrlr_type) {
|
||||||
@ -487,7 +495,7 @@ GetButtonMap(u16 ctrlr_type, char* btn_name)
|
|||||||
|
|
||||||
/*** note which button we are remapping ***/
|
/*** note which button we are remapping ***/
|
||||||
sprintf (temp, (char*)"Remapping ");
|
sprintf (temp, (char*)"Remapping ");
|
||||||
for (k=0; k<9-strlen(btn_name) ;k++) strcat(temp, " "); // add whitespace padding to align text
|
for (k=0; k<9-strlen(btn_name); k++) strcat(temp, " "); // add whitespace padding to align text
|
||||||
strncat (temp, btn_name, 9); // snes button we are remapping
|
strncat (temp, btn_name, 9); // snes button we are remapping
|
||||||
strncpy (cfg_text[0], temp, 19); // copy this all back to the text we wish to display
|
strncpy (cfg_text[0], temp, 19); // copy this all back to the text we wish to display
|
||||||
|
|
||||||
@ -531,12 +539,13 @@ ConfigureButtons (u16 ctrlr_type)
|
|||||||
int ret = 0;
|
int ret = 0;
|
||||||
int oldmenu = menu;
|
int oldmenu = menu;
|
||||||
menu = 0;
|
menu = 0;
|
||||||
char* menu_title;
|
char* menu_title = NULL;
|
||||||
u32 pressed;
|
u32 pressed;
|
||||||
|
|
||||||
unsigned int* currentpadmap;
|
unsigned int* currentpadmap = 0;
|
||||||
char temp[50] = "";
|
char temp[50] = "";
|
||||||
int i, j, k;
|
int i, j;
|
||||||
|
uint k;
|
||||||
|
|
||||||
/*** Update Menu Title (based on controller we're configuring) ***/
|
/*** Update Menu Title (based on controller we're configuring) ***/
|
||||||
switch (ctrlr_type) {
|
switch (ctrlr_type) {
|
||||||
@ -737,8 +746,6 @@ mainmenu (int selectedMenu)
|
|||||||
{
|
{
|
||||||
int quit = 0;
|
int quit = 0;
|
||||||
int ret;
|
int ret;
|
||||||
int *psoid = (int *) 0x80001800;
|
|
||||||
void (*PSOReload) () = (void (*)()) 0x80001800;
|
|
||||||
|
|
||||||
// disable game-specific menu items if a ROM isn't loaded
|
// disable game-specific menu items if a ROM isn't loaded
|
||||||
if ( ARAM_ROMSIZE == 0 )
|
if ( ARAM_ROMSIZE == 0 )
|
||||||
|
@ -25,17 +25,16 @@
|
|||||||
#include <math.h>
|
#include <math.h>
|
||||||
#include <wiiuse/wpad.h>
|
#include <wiiuse/wpad.h>
|
||||||
#include <ft2build.h>
|
#include <ft2build.h>
|
||||||
|
#include <zlib.h>
|
||||||
#include FT_FREETYPE_H
|
#include FT_FREETYPE_H
|
||||||
#include "video.h"
|
|
||||||
#include "menudraw.h"
|
|
||||||
#include "dkpro.h"
|
|
||||||
#include "snes9xGX.h"
|
|
||||||
|
|
||||||
#include "memmap.h"
|
#include "memmap.h"
|
||||||
#include "aram.h"
|
|
||||||
#include <zlib.h>
|
|
||||||
|
|
||||||
#include "gfx_bg.h"
|
#include "video.h"
|
||||||
|
#include "menudraw.h"
|
||||||
|
#include "snes9xGX.h"
|
||||||
|
#include "aram.h"
|
||||||
|
#include "images/gfx_bg.h"
|
||||||
|
|
||||||
/*** Globals ***/
|
/*** Globals ***/
|
||||||
FT_Library ftlibrary;
|
FT_Library ftlibrary;
|
||||||
@ -50,10 +49,6 @@ extern int screenheight;
|
|||||||
extern unsigned int *xfb[2];
|
extern unsigned int *xfb[2];
|
||||||
extern int whichfb;
|
extern int whichfb;
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Unpack the devkit pro logo
|
|
||||||
****************************************************************************/
|
|
||||||
static u32 *dkproraw;
|
|
||||||
/*** Permanent backdrop ***/
|
/*** Permanent backdrop ***/
|
||||||
#ifdef HW_RVL
|
#ifdef HW_RVL
|
||||||
u32 *backdrop;
|
u32 *backdrop;
|
||||||
@ -219,59 +214,6 @@ setfontcolour (u8 r, u8 g, u8 b)
|
|||||||
fontlo = fontcolour & 0xffff;
|
fontlo = fontcolour & 0xffff;
|
||||||
}
|
}
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* dkunpack
|
|
||||||
*
|
|
||||||
* Support function to expand the DevkitPro logo
|
|
||||||
****************************************************************************/
|
|
||||||
int
|
|
||||||
dkunpack ()
|
|
||||||
{
|
|
||||||
unsigned long res, inbytes, outbytes;
|
|
||||||
|
|
||||||
inbytes = dkpro_COMPRESSED;
|
|
||||||
outbytes = dkpro_RAW;
|
|
||||||
dkproraw = (u32 *) malloc (dkpro_RAW + 16);
|
|
||||||
|
|
||||||
res = uncompress ((Bytef *) dkproraw, &outbytes, (Bytef *) dkpro, inbytes);
|
|
||||||
|
|
||||||
if (res == Z_OK)
|
|
||||||
return 1;
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* showdklogo
|
|
||||||
*
|
|
||||||
* Display the DevkitPro logo
|
|
||||||
****************************************************************************/
|
|
||||||
void
|
|
||||||
showdklogo ()
|
|
||||||
{
|
|
||||||
int w, h, p, dispoffset;
|
|
||||||
p = 0;
|
|
||||||
dispoffset =
|
|
||||||
((screenheight != 480 ? 365 : 355) * 320) + ((640 - dkpro_WIDTH) >> 2);
|
|
||||||
|
|
||||||
dkunpack ();
|
|
||||||
|
|
||||||
for (h = 0; h < dkpro_HEIGHT; h++)
|
|
||||||
{
|
|
||||||
for (w = 0; w < dkpro_WIDTH >> 1; w++)
|
|
||||||
{
|
|
||||||
if (dkproraw[p] != 0x00800080)
|
|
||||||
xfb[whichfb][dispoffset + w] = dkproraw[p++];
|
|
||||||
else
|
|
||||||
p++;
|
|
||||||
}
|
|
||||||
|
|
||||||
dispoffset += 320;
|
|
||||||
}
|
|
||||||
|
|
||||||
free (dkproraw);
|
|
||||||
}
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Display credits, legal copyright and licence
|
* Display credits, legal copyright and licence
|
||||||
*
|
*
|
||||||
@ -617,10 +559,8 @@ RunMenu (char items[][50], int maxitems, char *title, int fontsize, int x)
|
|||||||
u32 p, wp;
|
u32 p, wp;
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
signed char a;
|
signed char a;
|
||||||
float mag = 0;
|
float mag, mag2;
|
||||||
float mag2 = 0;
|
u16 ang, ang2;
|
||||||
u16 ang = 0;
|
|
||||||
u16 ang2 = 0;
|
|
||||||
|
|
||||||
while (quit == 0)
|
while (quit == 0)
|
||||||
{
|
{
|
||||||
@ -636,6 +576,10 @@ RunMenu (char items[][50], int maxitems, char *title, int fontsize, int x)
|
|||||||
wpad_get_analogues(0, &mag, &ang, &mag2, &ang2); // get joystick info from wii expansions
|
wpad_get_analogues(0, &mag, &ang, &mag2, &ang2); // get joystick info from wii expansions
|
||||||
#else
|
#else
|
||||||
wp = 0;
|
wp = 0;
|
||||||
|
ang = 0;
|
||||||
|
ang2 = 0;
|
||||||
|
mag = 0;
|
||||||
|
mag2 = 0;
|
||||||
#endif
|
#endif
|
||||||
a = PAD_StickY (0);
|
a = PAD_StickY (0);
|
||||||
|
|
||||||
|
@ -14,11 +14,13 @@
|
|||||||
#include <ogcsys.h>
|
#include <ogcsys.h>
|
||||||
|
|
||||||
#include "snes9x.h"
|
#include "snes9x.h"
|
||||||
#include "snes9xGx.h"
|
|
||||||
#include "memmap.h"
|
#include "memmap.h"
|
||||||
#include "srtc.h"
|
#include "srtc.h"
|
||||||
|
|
||||||
|
#include "snes9xGx.h"
|
||||||
|
#include "images/saveicon.h"
|
||||||
#include "menudraw.h"
|
#include "menudraw.h"
|
||||||
#include "mcsave.h"
|
#include "memcardop.h"
|
||||||
#include "fileop.h"
|
#include "fileop.h"
|
||||||
#include "smbop.h"
|
#include "smbop.h"
|
||||||
#include "filesel.h"
|
#include "filesel.h"
|
||||||
@ -33,7 +35,7 @@ extern unsigned int ccpadmap[];
|
|||||||
extern unsigned int ncpadmap[];
|
extern unsigned int ncpadmap[];
|
||||||
|
|
||||||
#define PREFS_FILE_NAME "snes9xGx.prf"
|
#define PREFS_FILE_NAME "snes9xGx.prf"
|
||||||
#define PREFSVERSTRING "Snes9x GX 005a Prefs"
|
#define PREFSVERSTRING "Snes9x GX 005 Prefs"
|
||||||
|
|
||||||
char prefscomment[2][32] = { {PREFSVERSTRING}, {"Preferences"} };
|
char prefscomment[2][32] = { {PREFSVERSTRING}, {"Preferences"} };
|
||||||
|
|
||||||
@ -139,9 +141,11 @@ SavePrefs (int method, bool silent)
|
|||||||
|
|
||||||
if(method == METHOD_SD || method == METHOD_USB)
|
if(method == METHOD_SD || method == METHOD_USB)
|
||||||
{
|
{
|
||||||
changeFATInterface(GCSettings.SaveMethod, NOTSILENT);
|
if(ChangeFATInterface(method, NOTSILENT))
|
||||||
sprintf (filepath, "%s/%s/%s", ROOTFATDIR, GCSettings.SaveFolder, PREFS_FILE_NAME);
|
{
|
||||||
offset = SaveBufferToFAT (filepath, datasize, silent);
|
sprintf (filepath, "%s/%s/%s", ROOTFATDIR, GCSettings.SaveFolder, PREFS_FILE_NAME);
|
||||||
|
offset = SaveBufferToFAT (filepath, datasize, silent);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if(method == METHOD_SMB)
|
else if(method == METHOD_SMB)
|
||||||
{
|
{
|
||||||
@ -150,21 +154,18 @@ SavePrefs (int method, bool silent)
|
|||||||
}
|
}
|
||||||
else if(method == METHOD_MC_SLOTA)
|
else if(method == METHOD_MC_SLOTA)
|
||||||
{
|
{
|
||||||
offset = SaveBufferToMC (savebuffer, CARD_SLOTA, PREFS_FILE_NAME, datasize, silent);
|
offset = SaveBufferToMC (savebuffer, CARD_SLOTA, (char *)PREFS_FILE_NAME, datasize, silent);
|
||||||
}
|
}
|
||||||
else if(method == METHOD_MC_SLOTB)
|
else if(method == METHOD_MC_SLOTB)
|
||||||
{
|
{
|
||||||
offset = SaveBufferToMC (savebuffer, CARD_SLOTB, PREFS_FILE_NAME, datasize, silent);
|
offset = SaveBufferToMC (savebuffer, CARD_SLOTB, (char *)PREFS_FILE_NAME, datasize, silent);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (offset > 0)
|
if (offset > 0)
|
||||||
{
|
{
|
||||||
retval = decodePrefsData ();
|
retval = decodePrefsData ();
|
||||||
if ( !silent )
|
if ( !silent )
|
||||||
{
|
WaitPrompt ((char *)"Preferences saved");
|
||||||
sprintf (filepath, "Wrote %d bytes", offset);
|
|
||||||
WaitPrompt (filepath);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
@ -187,32 +188,31 @@ LoadPrefs (int method, bool silent)
|
|||||||
|
|
||||||
if(method == METHOD_SD || method == METHOD_USB)
|
if(method == METHOD_SD || method == METHOD_USB)
|
||||||
{
|
{
|
||||||
changeFATInterface(GCSettings.SaveMethod, NOTSILENT);
|
if(ChangeFATInterface(method, NOTSILENT))
|
||||||
sprintf (filepath, "%s/%s/%s", ROOTFATDIR, GCSettings.SaveFolder, PREFS_FILE_NAME);
|
{
|
||||||
offset = LoadBufferFromFAT (filepath, silent);
|
sprintf (filepath, "%s/%s/%s", ROOTFATDIR, GCSettings.SaveFolder, PREFS_FILE_NAME);
|
||||||
|
offset = LoadBufferFromFAT (filepath, silent);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if(method == METHOD_SMB)
|
else if(method == METHOD_SMB)
|
||||||
{
|
{
|
||||||
sprintf (filepath, "%s/%s", GCSettings.SaveFolder, PREFS_FILE_NAME);
|
sprintf (filepath, "%s/%s", GCSettings.SaveFolder, PREFS_FILE_NAME);
|
||||||
LoadBufferFromSMB (filepath, silent);
|
offset = LoadBufferFromSMB (filepath, silent);
|
||||||
}
|
}
|
||||||
else if(method == METHOD_MC_SLOTA)
|
else if(method == METHOD_MC_SLOTA)
|
||||||
{
|
{
|
||||||
offset = LoadBufferFromMC (savebuffer, CARD_SLOTA, PREFS_FILE_NAME, silent);
|
offset = LoadBufferFromMC (savebuffer, CARD_SLOTA, (char *)PREFS_FILE_NAME, silent);
|
||||||
}
|
}
|
||||||
else if(method == METHOD_MC_SLOTB)
|
else if(method == METHOD_MC_SLOTB)
|
||||||
{
|
{
|
||||||
offset = LoadBufferFromMC (savebuffer, CARD_SLOTB, PREFS_FILE_NAME, silent);
|
offset = LoadBufferFromMC (savebuffer, CARD_SLOTB, (char *)PREFS_FILE_NAME, silent);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (offset > 0)
|
if (offset > 0)
|
||||||
{
|
{
|
||||||
retval = decodePrefsData ();
|
retval = decodePrefsData ();
|
||||||
if ( !silent )
|
if ( !silent )
|
||||||
{
|
WaitPrompt((char *)"Preferences loaded");
|
||||||
sprintf (filepath, "Loaded %d bytes", offset);
|
|
||||||
WaitPrompt(filepath);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
@ -159,14 +159,20 @@
|
|||||||
#include "snes9xGX.h"
|
#include "snes9xGX.h"
|
||||||
#include "smbop.h"
|
#include "smbop.h"
|
||||||
|
|
||||||
|
START_EXTERN_C
|
||||||
|
struct SGCSettings GCSettings;
|
||||||
|
bool8 isWii;
|
||||||
|
END_EXTERN_C
|
||||||
|
|
||||||
void
|
void
|
||||||
DefaultSettings ()
|
DefaultSettings ()
|
||||||
{
|
{
|
||||||
/************** GameCube/Wii Settings *********************/
|
/************** GameCube/Wii Settings *********************/
|
||||||
GCSettings.LoadMethod = METHOD_AUTO; // Auto, SD, DVD, USB, Network (SMB)
|
GCSettings.LoadMethod = METHOD_AUTO; // Auto, SD, DVD, USB, Network (SMB)
|
||||||
sprintf (GCSettings.LoadFolder,"snes9x/roms"); // Path to game files
|
|
||||||
GCSettings.SaveMethod = METHOD_AUTO; // Auto, SD, Memory Card Slot A, Memory Card Slot B, USB, Network (SMB)
|
GCSettings.SaveMethod = METHOD_AUTO; // Auto, SD, Memory Card Slot A, Memory Card Slot B, USB, Network (SMB)
|
||||||
|
sprintf (GCSettings.LoadFolder,"snes9x/roms"); // Path to game files
|
||||||
sprintf (GCSettings.SaveFolder,"snes9x/saves"); // Path to save files
|
sprintf (GCSettings.SaveFolder,"snes9x/saves"); // Path to save files
|
||||||
|
sprintf (GCSettings.CheatFolder,"snes9x/cheats"); // Path to cheat files
|
||||||
GCSettings.AutoLoad = 1;
|
GCSettings.AutoLoad = 1;
|
||||||
GCSettings.AutoSave = 1;
|
GCSettings.AutoSave = 1;
|
||||||
|
|
||||||
|
@ -132,8 +132,8 @@
|
|||||||
Snes9x homepage: http://www.snes9x.com
|
Snes9x homepage: http://www.snes9x.com
|
||||||
|
|
||||||
Permission to use, copy, modify and/or distribute Snes9x in both binary
|
Permission to use, copy, modify and/or distribute Snes9x in both binary
|
||||||
and source form, for non-commercial purposes, is hereby granted without
|
and source form, for non-commercial purposes, is hereby granted without
|
||||||
fee, providing that this license information and copyright notice appear
|
fee, providing that this license information and copyright notice appear
|
||||||
with all copies and any derived work.
|
with all copies and any derived work.
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
|
@ -29,14 +29,22 @@
|
|||||||
#include "smbop.h"
|
#include "smbop.h"
|
||||||
#include "Snes9xGx.h"
|
#include "Snes9xGx.h"
|
||||||
|
|
||||||
|
bool networkInit = false;
|
||||||
|
bool networkShareInit = false;
|
||||||
|
unsigned int SMBTimer = 0;
|
||||||
|
#define SMBTIMEOUT ( 3600 ) // Some implementations timeout in 10 minutes
|
||||||
|
|
||||||
SMBCONN smbconn;
|
SMBCONN smbconn;
|
||||||
|
|
||||||
extern char currentdir[MAXPATHLEN];
|
|
||||||
|
|
||||||
char output[16384];
|
|
||||||
extern unsigned char savebuffer[];
|
|
||||||
#define ZIPCHUNK 16384
|
#define ZIPCHUNK 16384
|
||||||
|
|
||||||
|
extern unsigned char savebuffer[];
|
||||||
|
extern char output[16384];
|
||||||
|
extern int offset;
|
||||||
|
extern int selection;
|
||||||
|
extern char currentdir[MAXPATHLEN];
|
||||||
|
extern FILEENTRIES filelist[MAXFILES];
|
||||||
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* InitializeNetwork
|
* InitializeNetwork
|
||||||
* Initializes the Wii/GameCube network interface
|
* Initializes the Wii/GameCube network interface
|
||||||
@ -55,45 +63,55 @@ bool InitializeNetwork(bool silent)
|
|||||||
|
|
||||||
if (if_config(myIP, NULL, NULL, true) < 0)
|
if (if_config(myIP, NULL, NULL, true) < 0)
|
||||||
{
|
{
|
||||||
WaitPrompt((char*) "Error reading IP address.");
|
if(!silent)
|
||||||
|
WaitPrompt((char*) "Error reading IP address.");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if(!silent)
|
|
||||||
{
|
|
||||||
char msg[100];
|
|
||||||
sprintf(msg, "Network initialized. IP address: %s", myIP);
|
|
||||||
WaitPrompt(msg);
|
|
||||||
}
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
WaitPrompt((char*) "Unable to initialize network.");
|
if(!silent)
|
||||||
|
WaitPrompt((char*) "Unable to initialize network.");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Mount SMB Share
|
* Mount SMB Share
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
bool
|
|
||||||
ConnectShare ()
|
|
||||||
{
|
|
||||||
bool networkInit = false;
|
|
||||||
bool networkShareInit = false;
|
|
||||||
|
|
||||||
networkInit = InitializeNetwork(SILENT);
|
bool
|
||||||
|
ConnectShare (bool silent)
|
||||||
|
{
|
||||||
|
// Crashes system in GameCube mode - so disable for now
|
||||||
|
#ifdef HW_RVL // Wii mode
|
||||||
|
if(!networkInit)
|
||||||
|
networkInit = InitializeNetwork(silent);
|
||||||
|
#endif
|
||||||
|
|
||||||
if(networkInit)
|
if(networkInit)
|
||||||
{
|
{
|
||||||
ShowAction ((char*) "Connecting to network share...");
|
// connection may have expired
|
||||||
|
if (networkShareInit && SMBTimer > SMBTIMEOUT)
|
||||||
if(SMB_Connect(&smbconn, GCSettings.smbuser, GCSettings.smbpwd,
|
{
|
||||||
GCSettings.smbgcid, GCSettings.smbsvid, GCSettings.smbshare, GCSettings.smbip) == SMB_SUCCESS)
|
networkShareInit = false;
|
||||||
networkShareInit = true;
|
SMBTimer = 0;
|
||||||
|
SMB_Close(smbconn);
|
||||||
|
}
|
||||||
|
|
||||||
if(!networkShareInit)
|
if(!networkShareInit)
|
||||||
|
{
|
||||||
|
if(!silent)
|
||||||
|
ShowAction ((char*) "Connecting to network share...");
|
||||||
|
|
||||||
|
if(SMB_Connect(&smbconn, GCSettings.smbuser, GCSettings.smbpwd,
|
||||||
|
GCSettings.smbgcid, GCSettings.smbsvid, GCSettings.smbshare, GCSettings.smbip) == SMB_SUCCESS)
|
||||||
|
networkShareInit = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!networkShareInit && !silent)
|
||||||
WaitPrompt ((char*) "Failed to connect to network share.");
|
WaitPrompt ((char*) "Failed to connect to network share.");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -122,14 +140,19 @@ char * SMBPath(char * path)
|
|||||||
* Load the directory and put in the filelist array
|
* Load the directory and put in the filelist array
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
int
|
int
|
||||||
parseSMBdirectory ()
|
ParseSMBdirectory ()
|
||||||
{
|
{
|
||||||
|
if(!ConnectShare (NOTSILENT))
|
||||||
|
return 0;
|
||||||
|
|
||||||
int filecount = 0;
|
int filecount = 0;
|
||||||
char searchpath[1024];
|
char searchpath[1024];
|
||||||
|
|
||||||
SMBDIRENTRY smbdir;
|
SMBDIRENTRY smbdir;
|
||||||
|
|
||||||
if(strlen(searchpath) <= 1) // root
|
// initialize selection
|
||||||
|
selection = offset = 0;
|
||||||
|
|
||||||
|
if(strlen(currentdir) <= 1) // root
|
||||||
sprintf(searchpath, "*");
|
sprintf(searchpath, "*");
|
||||||
else
|
else
|
||||||
sprintf(searchpath, "%s/*", currentdir);
|
sprintf(searchpath, "%s/*", currentdir);
|
||||||
@ -154,7 +177,7 @@ parseSMBdirectory ()
|
|||||||
do
|
do
|
||||||
{
|
{
|
||||||
if(strcmp(smbdir.name,".") != 0 &&
|
if(strcmp(smbdir.name,".") != 0 &&
|
||||||
!(strcmp(currentdir,"/") == 0 && strcmp(smbdir.name,"..") == 0))
|
!(strlen(currentdir) <= 1 && strcmp(smbdir.name,"..") == 0))
|
||||||
{
|
{
|
||||||
memset (&filelist[filecount], 0, sizeof (FILEENTRIES));
|
memset (&filelist[filecount], 0, sizeof (FILEENTRIES));
|
||||||
filelist[filecount].length = smbdir.size_low;
|
filelist[filecount].length = smbdir.size_low;
|
||||||
@ -189,123 +212,30 @@ parseSMBdirectory ()
|
|||||||
int
|
int
|
||||||
LoadSMBFile (char *filename, int length)
|
LoadSMBFile (char *filename, int length)
|
||||||
{
|
{
|
||||||
int offset = 0;
|
|
||||||
int bytesread = 0;
|
|
||||||
char filepath[1024];
|
|
||||||
SMBFILE smbfile;
|
|
||||||
unsigned char *rbuffer;
|
unsigned char *rbuffer;
|
||||||
char zipbuffer[16384];
|
|
||||||
int pass = 0;
|
|
||||||
int zip = 0;
|
|
||||||
PKZIPHEADER pkzip;
|
|
||||||
z_stream zs;
|
|
||||||
int res, outbytes = 0;
|
|
||||||
rbuffer = (unsigned char *) Memory.ROM;
|
rbuffer = (unsigned char *) Memory.ROM;
|
||||||
int have = 0;
|
int boffset;
|
||||||
|
char filepath[MAXPATHLEN];
|
||||||
|
|
||||||
if(strcmp(currentdir,"/") == 0)
|
/* Check filename length */
|
||||||
sprintf(filepath, "/%s", filename);
|
if ((strlen(currentdir)+1+strlen(filelist[selection].filename)) < MAXPATHLEN)
|
||||||
else
|
sprintf(filepath, "%s/%s",currentdir,filelist[selection].filename);
|
||||||
sprintf(filepath, "%s/%s", currentdir, filename);
|
|
||||||
|
|
||||||
ShowAction((char *)"Loading...");
|
|
||||||
|
|
||||||
// Open the file for reading
|
|
||||||
smbfile =
|
|
||||||
SMB_OpenFile (SMBPath(filepath), SMB_OPEN_READING, SMB_OF_OPEN, smbconn);
|
|
||||||
if (smbfile)
|
|
||||||
{
|
|
||||||
while (offset < length)
|
|
||||||
{
|
|
||||||
// Don't read past end of file
|
|
||||||
if (offset + bytesread > length)
|
|
||||||
bytesread = length - offset;
|
|
||||||
else
|
|
||||||
bytesread = 16384;
|
|
||||||
|
|
||||||
SMB_ReadFile (zipbuffer, bytesread, offset, smbfile);
|
|
||||||
|
|
||||||
if (pass == 0)
|
|
||||||
{
|
|
||||||
// Is this a Zip file ?
|
|
||||||
zip = IsZipFile (zipbuffer);
|
|
||||||
if (zip)
|
|
||||||
{
|
|
||||||
memcpy (&pkzip, zipbuffer, sizeof (PKZIPHEADER));
|
|
||||||
pkzip.uncompressedSize = FLIP32 (pkzip.uncompressedSize);
|
|
||||||
memset (&zs, 0, sizeof (zs));
|
|
||||||
zs.zalloc = Z_NULL;
|
|
||||||
zs.zfree = Z_NULL;
|
|
||||||
zs.opaque = Z_NULL;
|
|
||||||
zs.avail_in = 0;
|
|
||||||
zs.next_in = Z_NULL;
|
|
||||||
res = inflateInit2 (&zs, -MAX_WBITS);
|
|
||||||
|
|
||||||
if (res != Z_OK)
|
|
||||||
{
|
|
||||||
SMB_CloseFile (smbfile);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
zs.avail_in =
|
|
||||||
16384 - (sizeof (PKZIPHEADER) +
|
|
||||||
FLIP16 (pkzip.filenameLength) +
|
|
||||||
FLIP16 (pkzip.extraDataLength));
|
|
||||||
zs.next_in =
|
|
||||||
(Bytef *) zipbuffer + (sizeof (PKZIPHEADER) +
|
|
||||||
FLIP16 (pkzip.filenameLength) +
|
|
||||||
FLIP16 (pkzip.extraDataLength));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (zip)
|
|
||||||
{
|
|
||||||
if (pass)
|
|
||||||
{
|
|
||||||
zs.avail_in = bytesread;
|
|
||||||
zs.next_in = (Bytef *) zipbuffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
do
|
|
||||||
{
|
|
||||||
zs.avail_out = ZIPCHUNK;
|
|
||||||
zs.next_out = (Bytef *) output;
|
|
||||||
|
|
||||||
res = inflate (&zs, Z_NO_FLUSH);
|
|
||||||
|
|
||||||
have = ZIPCHUNK - zs.avail_out;
|
|
||||||
|
|
||||||
if (have)
|
|
||||||
{
|
|
||||||
memcpy (rbuffer + outbytes, output, have);
|
|
||||||
outbytes += have;
|
|
||||||
}
|
|
||||||
} while (zs.avail_out == 0);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
memcpy (rbuffer + offset, zipbuffer, bytesread);
|
|
||||||
}
|
|
||||||
offset += bytesread;
|
|
||||||
|
|
||||||
pass++;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (zip)
|
|
||||||
{
|
|
||||||
inflateEnd (&zs);
|
|
||||||
offset = outbytes;
|
|
||||||
}
|
|
||||||
|
|
||||||
SMB_CloseFile (smbfile);
|
|
||||||
|
|
||||||
return offset;
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
WaitPrompt((char*) "SMB Reading Failed!");
|
WaitPrompt((char*) "Maximum filepath length reached!");
|
||||||
return 0;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
boffset = LoadBufferFromSMB(SMBPath(filepath), NOTSILENT);
|
||||||
|
|
||||||
|
if(boffset > 0)
|
||||||
|
{
|
||||||
|
if(IsZipFile ((char *)savebuffer))
|
||||||
|
return UnZipBuffer(rbuffer, savebuffer);
|
||||||
|
else
|
||||||
|
memcpy (rbuffer, savebuffer, boffset);
|
||||||
|
}
|
||||||
|
return boffset;
|
||||||
}
|
}
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
@ -314,10 +244,13 @@ LoadSMBFile (char *filename, int length)
|
|||||||
int
|
int
|
||||||
SaveBufferToSMB (char *filepath, int datasize, bool8 silent)
|
SaveBufferToSMB (char *filepath, int datasize, bool8 silent)
|
||||||
{
|
{
|
||||||
|
if(!ConnectShare (NOTSILENT))
|
||||||
|
return 0;
|
||||||
|
|
||||||
SMBFILE smbfile;
|
SMBFILE smbfile;
|
||||||
int dsize = datasize;
|
int dsize = datasize;
|
||||||
int wrote = 0;
|
int wrote = 0;
|
||||||
int offset = 0;
|
int boffset = 0;
|
||||||
|
|
||||||
smbfile =
|
smbfile =
|
||||||
SMB_OpenFile (SMBPath(filepath), SMB_OPEN_WRITING | SMB_DENY_NONE,
|
SMB_OpenFile (SMBPath(filepath), SMB_OPEN_WRITING | SMB_DENY_NONE,
|
||||||
@ -329,18 +262,18 @@ SaveBufferToSMB (char *filepath, int datasize, bool8 silent)
|
|||||||
{
|
{
|
||||||
if (dsize > 1024)
|
if (dsize > 1024)
|
||||||
wrote =
|
wrote =
|
||||||
SMB_WriteFile ((char *) savebuffer + offset, 1024, offset, smbfile);
|
SMB_WriteFile ((char *) savebuffer + boffset, 1024, boffset, smbfile);
|
||||||
else
|
else
|
||||||
wrote =
|
wrote =
|
||||||
SMB_WriteFile ((char *) savebuffer + offset, dsize, offset, smbfile);
|
SMB_WriteFile ((char *) savebuffer + boffset, dsize, boffset, smbfile);
|
||||||
|
|
||||||
offset += wrote;
|
boffset += wrote;
|
||||||
dsize -= wrote;
|
dsize -= wrote;
|
||||||
}
|
}
|
||||||
|
|
||||||
SMB_CloseFile (smbfile);
|
SMB_CloseFile (smbfile);
|
||||||
|
|
||||||
return offset;
|
return boffset;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -358,6 +291,9 @@ SaveBufferToSMB (char *filepath, int datasize, bool8 silent)
|
|||||||
int
|
int
|
||||||
LoadBufferFromSMB (char *filepath, bool8 silent)
|
LoadBufferFromSMB (char *filepath, bool8 silent)
|
||||||
{
|
{
|
||||||
|
if(!ConnectShare (NOTSILENT))
|
||||||
|
return 0;
|
||||||
|
|
||||||
SMBFILE smbfile;
|
SMBFILE smbfile;
|
||||||
int ret;
|
int ret;
|
||||||
int offset = 0;
|
int offset = 0;
|
||||||
@ -367,7 +303,7 @@ LoadBufferFromSMB (char *filepath, bool8 silent)
|
|||||||
|
|
||||||
if (!smbfile)
|
if (!smbfile)
|
||||||
{
|
{
|
||||||
if (!silent)
|
if(!silent)
|
||||||
{
|
{
|
||||||
char msg[100];
|
char msg[100];
|
||||||
sprintf(msg, "Couldn't open SMB: %s", SMBPath(filepath));
|
sprintf(msg, "Couldn't open SMB: %s", SMBPath(filepath));
|
||||||
|
@ -16,10 +16,10 @@
|
|||||||
#define _NGCSMB_
|
#define _NGCSMB_
|
||||||
|
|
||||||
bool InitializeNetwork(bool silent);
|
bool InitializeNetwork(bool silent);
|
||||||
bool ConnectShare ();
|
bool ConnectShare (bool silent);
|
||||||
char * SMBPath(char * path);
|
char * SMBPath(char * path);
|
||||||
int updateSMBdirname();
|
int UpdateSMBdirname();
|
||||||
int parseSMBdirectory ();
|
int ParseSMBdirectory ();
|
||||||
int LoadSMBFile (char *filename, int length);
|
int LoadSMBFile (char *filename, int length);
|
||||||
int LoadBufferFromSMB (char *filepath, bool8 silent);
|
int LoadBufferFromSMB (char *filepath, bool8 silent);
|
||||||
int SaveBufferToSMB (char *filepath, int datasize, bool8 silent);
|
int SaveBufferToSMB (char *filepath, int datasize, bool8 silent);
|
||||||
|
@ -187,7 +187,7 @@
|
|||||||
#include "audio.h"
|
#include "audio.h"
|
||||||
#include "menu.h"
|
#include "menu.h"
|
||||||
#include "sram.h"
|
#include "sram.h"
|
||||||
#include "memfile.h"
|
#include "freeze.h"
|
||||||
#include "preferences.h"
|
#include "preferences.h"
|
||||||
#include "gctime.h"
|
#include "gctime.h"
|
||||||
#include "button_mapping.h"
|
#include "button_mapping.h"
|
||||||
@ -320,10 +320,8 @@ decodepad (int pad)
|
|||||||
//unsigned short jp, wp; //
|
//unsigned short jp, wp; //
|
||||||
u32 jp, wp;
|
u32 jp, wp;
|
||||||
float t;
|
float t;
|
||||||
float mag = 0;
|
float mag, mag2;
|
||||||
float mag2 = 0;
|
u16 ang, ang2;
|
||||||
u16 ang = 0;
|
|
||||||
u16 ang2 = 0;
|
|
||||||
u32 exp_type;
|
u32 exp_type;
|
||||||
|
|
||||||
/*** Do analogue updates ***/
|
/*** Do analogue updates ***/
|
||||||
@ -334,7 +332,12 @@ decodepad (int pad)
|
|||||||
exp_type = wpad_get_analogues(pad, &mag, &ang, &mag2, &ang2); // get joystick info from wii expansions
|
exp_type = wpad_get_analogues(pad, &mag, &ang, &mag2, &ang2); // get joystick info from wii expansions
|
||||||
wp = WPAD_ButtonsHeld (pad); // wiimote
|
wp = WPAD_ButtonsHeld (pad); // wiimote
|
||||||
#else
|
#else
|
||||||
|
exp_type = 0;
|
||||||
wp = 0;
|
wp = 0;
|
||||||
|
ang = 0;
|
||||||
|
ang2 = 0;
|
||||||
|
mag = 0;
|
||||||
|
mag2 = 0;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/***
|
/***
|
||||||
|
@ -180,9 +180,10 @@ struct SGCSettings{
|
|||||||
uint8 AutoLoad;
|
uint8 AutoLoad;
|
||||||
uint8 AutoSave;
|
uint8 AutoSave;
|
||||||
uint8 LoadMethod; // For ROMS: Auto, SD, DVD, USB, Network (SMB)
|
uint8 LoadMethod; // For ROMS: Auto, SD, DVD, USB, Network (SMB)
|
||||||
char LoadFolder[200]; // Path to game files
|
|
||||||
uint8 SaveMethod; // For SRAM, Freeze, Prefs: Auto, SD, Memory Card Slot A, Memory Card Slot B, USB, SMB
|
uint8 SaveMethod; // For SRAM, Freeze, Prefs: Auto, SD, Memory Card Slot A, Memory Card Slot B, USB, SMB
|
||||||
|
char LoadFolder[200]; // Path to game files
|
||||||
char SaveFolder[200]; // Path to save files
|
char SaveFolder[200]; // Path to save files
|
||||||
|
char CheatFolder[200]; // Path to cheat files
|
||||||
char gcip[16];
|
char gcip[16];
|
||||||
char gwip[16];
|
char gwip[16];
|
||||||
char mask[16];
|
char mask[16];
|
||||||
@ -202,7 +203,6 @@ struct SGCSettings{
|
|||||||
|
|
||||||
START_EXTERN_C
|
START_EXTERN_C
|
||||||
extern struct SGCSettings GCSettings;
|
extern struct SGCSettings GCSettings;
|
||||||
extern unsigned short saveicon[1024];
|
|
||||||
extern bool8 isWii;
|
extern bool8 isWii;
|
||||||
|
|
||||||
extern u32 wpad_get_analogues(int pad, float* mag1, u16* ang1, float* mag2, u16* ang2);
|
extern u32 wpad_get_analogues(int pad, float* mag1, u16* ang1, float* mag2, u16* ang2);
|
||||||
|
@ -18,8 +18,9 @@
|
|||||||
#include "srtc.h"
|
#include "srtc.h"
|
||||||
|
|
||||||
#include "snes9xGx.h"
|
#include "snes9xGx.h"
|
||||||
|
#include "images/saveicon.h"
|
||||||
#include "menudraw.h"
|
#include "menudraw.h"
|
||||||
#include "mcsave.h"
|
#include "memcardop.h"
|
||||||
#include "fileop.h"
|
#include "fileop.h"
|
||||||
#include "smbop.h"
|
#include "smbop.h"
|
||||||
#include "filesel.h"
|
#include "filesel.h"
|
||||||
@ -239,6 +240,8 @@ decodesavedata (int readsize)
|
|||||||
int
|
int
|
||||||
LoadSRAM (int method, bool silent)
|
LoadSRAM (int method, bool silent)
|
||||||
{
|
{
|
||||||
|
ShowAction ((char*) "Loading...");
|
||||||
|
|
||||||
if(method == METHOD_AUTO)
|
if(method == METHOD_AUTO)
|
||||||
method = autoLoadMethod();
|
method = autoLoadMethod();
|
||||||
|
|
||||||
@ -247,7 +250,7 @@ LoadSRAM (int method, bool silent)
|
|||||||
|
|
||||||
if(method == METHOD_SD || method == METHOD_USB)
|
if(method == METHOD_SD || method == METHOD_USB)
|
||||||
{
|
{
|
||||||
changeFATInterface(method, NOTSILENT);
|
ChangeFATInterface(method, NOTSILENT);
|
||||||
sprintf (filepath, "%s/%s/%s.srm", ROOTFATDIR, GCSettings.SaveFolder, Memory.ROMFilename);
|
sprintf (filepath, "%s/%s/%s.srm", ROOTFATDIR, GCSettings.SaveFolder, Memory.ROMFilename);
|
||||||
offset = LoadBufferFromFAT (filepath, silent);
|
offset = LoadBufferFromFAT (filepath, silent);
|
||||||
}
|
}
|
||||||
@ -271,10 +274,10 @@ LoadSRAM (int method, bool silent)
|
|||||||
{
|
{
|
||||||
decodesavedata (offset);
|
decodesavedata (offset);
|
||||||
S9xSoftReset();
|
S9xSoftReset();
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// if we reached here, nothing was done!
|
||||||
if(!silent)
|
if(!silent)
|
||||||
WaitPrompt ((char*) "SRAM file not found");
|
WaitPrompt ((char*) "SRAM file not found");
|
||||||
|
|
||||||
@ -287,6 +290,8 @@ LoadSRAM (int method, bool silent)
|
|||||||
bool
|
bool
|
||||||
SaveSRAM (int method, bool silent)
|
SaveSRAM (int method, bool silent)
|
||||||
{
|
{
|
||||||
|
ShowAction ((char*) "Saving...");
|
||||||
|
|
||||||
if(method == METHOD_AUTO)
|
if(method == METHOD_AUTO)
|
||||||
method = autoSaveMethod();
|
method = autoSaveMethod();
|
||||||
|
|
||||||
@ -295,9 +300,6 @@ SaveSRAM (int method, bool silent)
|
|||||||
int datasize;
|
int datasize;
|
||||||
int offset = 0;
|
int offset = 0;
|
||||||
|
|
||||||
if (!silent)
|
|
||||||
ShowAction ((char*) "Saving SRAM...");
|
|
||||||
|
|
||||||
if(method == METHOD_MC_SLOTA || method == METHOD_MC_SLOTB)
|
if(method == METHOD_MC_SLOTA || method == METHOD_MC_SLOTB)
|
||||||
datasize = prepareMCsavedata ();
|
datasize = prepareMCsavedata ();
|
||||||
else
|
else
|
||||||
@ -307,9 +309,11 @@ SaveSRAM (int method, bool silent)
|
|||||||
{
|
{
|
||||||
if(method == METHOD_SD || method == METHOD_USB)
|
if(method == METHOD_SD || method == METHOD_USB)
|
||||||
{
|
{
|
||||||
changeFATInterface(method, NOTSILENT);
|
if(ChangeFATInterface(method, NOTSILENT))
|
||||||
sprintf (filepath, "%s/%s/%s.srm", ROOTFATDIR, GCSettings.SaveFolder, Memory.ROMFilename);
|
{
|
||||||
offset = SaveBufferToFAT (filepath, datasize, silent);
|
sprintf (filepath, "%s/%s/%s.srm", ROOTFATDIR, GCSettings.SaveFolder, Memory.ROMFilename);
|
||||||
|
offset = SaveBufferToFAT (filepath, datasize, silent);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if(method == METHOD_SMB)
|
else if(method == METHOD_SMB)
|
||||||
{
|
{
|
||||||
@ -330,10 +334,7 @@ SaveSRAM (int method, bool silent)
|
|||||||
if (offset > 0)
|
if (offset > 0)
|
||||||
{
|
{
|
||||||
if ( !silent )
|
if ( !silent )
|
||||||
{
|
WaitPrompt((char *)"Save successful");
|
||||||
sprintf (filepath, "Wrote %d bytes", offset);
|
|
||||||
WaitPrompt(filepath);
|
|
||||||
}
|
|
||||||
retval = true;
|
retval = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,556 +0,0 @@
|
|||||||
/*******************************************************************
|
|
||||||
* Image File : ..\snesGX2.bmp
|
|
||||||
* Width : 640
|
|
||||||
* Height : 480
|
|
||||||
*
|
|
||||||
* This header contains a compressed Zip image.
|
|
||||||
* Use zlib1.2.3 uncompress function to restore.
|
|
||||||
*******************************************************************/
|
|
||||||
|
|
||||||
#define tempgfx_RAW 614400
|
|
||||||
#define tempgfx_COMPRESSED 8647
|
|
||||||
#define tempgfx_WIDTH 640
|
|
||||||
#define tempgfx_HEIGHT 480
|
|
||||||
|
|
||||||
unsigned char tempgfx[8647] = {
|
|
||||||
0x78,0xda,0xed,0x9d,0xd9,0x77,0x14,0x47,0x9e,0xef,0xf9,0xdb,0xee,0xcb,0x9d,0x99,
|
|
||||||
0x3b,0x67,0x66,0x7a,0xe6,0x9c,0xdb,0xe3,0xf6,0x9d,0xde,0x6c,0xb7,0xdb,0xdd,0xee,
|
|
||||||
0xf6,0xc2,0x8e,0xa9,0x88,0x5f,0xa6,0x58,0x8d,0x31,0x60,0xcc,0x2a,0x30,0x8b,0x58,
|
|
||||||
0x2c,0x10,0x48,0x2c,0x02,0x81,0x16,0xb4,0x21,0xb4,0x21,0xc4,0x22,0x21,0xc0,0x02,
|
|
||||||
0x03,0x9e,0x87,0xee,0x73,0x6e,0x9f,0xe3,0x7e,0xe8,0x97,0x7e,0xb8,0xf7,0x17,0x51,
|
|
||||||
0x59,0xa5,0xcc,0x92,0x4a,0xca,0x12,0x2a,0x55,0x09,0x3e,0xfd,0x3d,0x9f,0x36,0x52,
|
|
||||||
0xe5,0x12,0x99,0x59,0xf9,0x51,0x44,0x46,0x64,0xe6,0x32,0x59,0x46,0x08,0x21,0x84,
|
|
||||||
0x10,0x42,0x08,0x21,0x84,0x10,0x42,0x08,0x21,0x84,0x10,0x42,0x08,0x21,0x84,0x10,
|
|
||||||
0x42,0x08,0x21,0x84,0x10,0x42,0x08,0x21,0x84,0x10,0x42,0x08,0x21,0x84,0xbc,0xa6,
|
|
||||||
0xe9,0x91,0x2b,0x72,0x46,0x8e,0xcb,0x7e,0xd9,0x47,0x08,0x21,0x65,0xc9,0x7e,0x75,
|
|
||||||
0xcc,0x19,0x75,0x4d,0x4f,0xd5,0x98,0xaf,0x5d,0xce,0xcb,0x37,0x52,0x4b,0x08,0x21,
|
|
||||||
0x8b,0x96,0x6f,0xd4,0x3b,0xed,0x15,0xb7,0x5f,0xb3,0xfa,0x98,0x10,0x42,0x2a,0x91,
|
|
||||||
0xe6,0x0a,0xba,0xef,0x96,0x5c,0x94,0x7a,0x42,0x08,0xa9,0x58,0x2e,0xaa,0x87,0x2a,
|
|
||||||
0x61,0xbf,0x6e,0xb9,0xa4,0xeb,0x26,0x84,0x90,0x4a,0xe6,0x92,0xba,0x68,0xf1,0xfb,
|
|
||||||
0x3b,0xae,0x11,0x42,0x48,0x55,0xa4,0x67,0x91,0x5b,0xbe,0xad,0x84,0x10,0x52,0x35,
|
|
||||||
0x59,0xbc,0x56,0xf0,0x90,0x74,0x48,0xdb,0xb4,0x74,0x49,0xbf,0x19,0x92,0x3b,0xe6,
|
|
||||||
0x4e,0x00,0x00,0x50,0x1e,0x86,0xd4,0x33,0x5d,0xd2,0x66,0x0b,0xfd,0xd3,0xa1,0x5e,
|
|
||||||
0x5a,0xac,0xb6,0x6f,0x47,0x41,0x3a,0x65,0x88,0x63,0x03,0x00,0x8b,0x83,0xfa,0xa6,
|
|
||||||
0x53,0x3a,0x6c,0xd2,0x42,0x8b,0xd3,0x06,0xee,0x97,0x1b,0x05,0xe9,0xb3,0x23,0xd4,
|
|
||||||
0xfb,0x00,0x60,0x11,0x19,0x91,0x3e,0x53,0x68,0xa2,0xfe,0x45,0xf0,0x5f,0xaf,0xd6,
|
|
||||||
0xf6,0xe2,0xe9,0xc7,0x7d,0x00,0x50,0x01,0xfa,0xa5,0xd3,0xc6,0x5d,0xd4,0xbb,0x28,
|
|
||||||
0xad,0xdf,0xee,0x58,0xfa,0x2c,0xc7,0x01,0x00,0x2a,0xd3,0x0e,0xee,0x33,0x71,0x1b,
|
|
||||||
0x95,0xbf,0x05,0x3c,0xa8,0xeb,0x88,0x67,0x04,0xff,0x01,0x40,0x85,0xfc,0x77,0xdb,
|
|
||||||
0x24,0x7d,0x34,0x58,0x66,0xff,0x0d,0xc8,0xcd,0x58,0x68,0xfb,0x02,0x40,0x65,0xdb,
|
|
||||||
0xc0,0x37,0x6d,0xdc,0x48,0xe5,0xee,0xfd,0xe8,0x8b,0x85,0xf1,0x2e,0x00,0x50,0xd9,
|
|
||||||
0xf1,0x30,0x7d,0x76,0xca,0x48,0xb7,0xca,0x5e,0xff,0xeb,0x8f,0x65,0x84,0xfd,0x0f,
|
|
||||||
0x00,0x15,0xed,0x07,0xee,0xb7,0x71,0x27,0x95,0xdb,0x7f,0xf1,0xb0,0xff,0x01,0xa0,
|
|
||||||
0xb2,0xd7,0x00,0x07,0x6c,0xdc,0x49,0xe5,0xee,0xff,0x88,0x87,0xfd,0x0f,0x00,0x95,
|
|
||||||
0xf5,0xdf,0xa0,0x8d,0x3b,0xa9,0xbc,0xfe,0x1b,0x49,0x84,0xfd,0x0f,0x00,0x95,0xf5,
|
|
||||||
0xdf,0xb0,0x1d,0x96,0xa9,0x94,0xd7,0x7f,0xb7,0x13,0x61,0xff,0x03,0x40,0x85,0xc7,
|
|
||||||
0xc0,0xd8,0xb8,0x93,0xa8,0xff,0x01,0xc0,0x9b,0xe3,0xbf,0x11,0x1b,0x77,0x52,0x79,
|
|
||||||
0xfd,0x77,0x27,0x19,0xf6,0x3f,0x00,0x54,0xd4,0x7f,0x77,0x6c,0xdc,0x49,0xe5,0xf5,
|
|
||||||
0xdf,0xdd,0x44,0xd8,0xff,0x73,0x1d,0x9b,0xcb,0x66,0x9b,0xac,0xb6,0xab,0x65,0xee,
|
|
||||||
0x6c,0x93,0xba,0x45,0xbb,0x97,0xe6,0xb2,0x6c,0x33,0x69,0xca,0xa4,0xa5,0xb2,0x75,
|
|
||||||
0x6e,0x8c,0xa7,0x34,0xa6,0xda,0x8e,0x6d,0xd2,0xc8,0xfd,0x40,0xb0,0xc8,0xe7,0xd8,
|
|
||||||
0x5d,0x1b,0x77,0x52,0x79,0xfd,0x77,0x2f,0x11,0xf6,0xff,0xac,0xd7,0x65,0xcd,0x9e,
|
|
||||||
0x94,0xee,0xcb,0xe5,0xa8,0x7c,0x6e,0xd3,0x7a,0xa9,0x31,0x37,0xf6,0x3c,0xa5,0x9b,
|
|
||||||
0x72,0x8e,0x1d,0x96,0x3d,0xa6,0x94,0x32,0x69,0xa9,0xec,0xee,0x12,0xb6,0xe3,0xac,
|
|
||||||
0x0c,0x99,0x63,0x5a,0xbe,0xe4,0x7a,0xaf,0xc7,0xf6,0xcb,0xf5,0x82,0xf2,0x46,0x8e,
|
|
||||||
0x9d,0x63,0x7f,0xf6,0xc9,0x61,0xb3,0x25,0xf5,0x76,0x76,0x9a,0xba,0x05,0x2a,0xc3,
|
|
||||||
0xb0,0xec,0x33,0x61,0xaa,0xf5,0xae,0xb7,0xbb,0xe2,0xeb,0x28,0xa0,0xb1,0xa0,0x3c,
|
|
||||||
0x73,0x1e,0x57,0x48,0x79,0x9e,0xdd,0xb3,0x71,0x27,0x95,0xd7,0x7f,0xf7,0x13,0x61,
|
|
||||||
0xff,0xcf,0x76,0x5c,0x9c,0x67,0x32,0xf6,0xe4,0x86,0x3b,0x99,0x3b,0x9b,0xee,0xac,
|
|
||||||
0x9f,0x8b,0xab,0xe1,0xea,0x12,0xbd,0xb4,0xdb,0xf6,0x07,0x03,0xe6,0xeb,0x12,0x1d,
|
|
||||||
0xeb,0x5c,0x96,0x09,0x4e,0x9a,0x34,0x65,0xba,0xb3,0xf1,0xea,0xfa,0xd5,0xf2,0xb9,
|
|
||||||
0xb8,0xed,0x38,0x9b,0x62,0x3b,0xce,0x06,0xae,0x2c,0x33,0x9f,0xe7,0x57,0xd5,0x8b,
|
|
||||||
0xc3,0xc1,0x6d,0x73,0x7d,0xc6,0xf2,0x6e,0xb7,0x43,0xc1,0xb0,0xb9,0x1d,0x8c,0x98,
|
|
||||||
0x19,0xc7,0xd4,0xab,0xcf,0x4c,0x49,0xfb,0xa6,0x46,0x16,0xaa,0x0c,0xfb,0x4a,0xdc,
|
|
||||||
0xbf,0x67,0xa3,0x75,0x8c,0xe8,0x72,0xa6,0x1c,0x5a,0xca,0xdf,0x1c,0x77,0x5c,0x67,
|
|
||||||
0xd9,0x17,0x15,0x19,0x63,0x7c,0xd3,0xdc,0xf4,0x74,0xeb,0xbe,0xbb,0xee,0xb9,0x22,
|
|
||||||
0x4d,0xb6,0xc9,0x73,0xce,0x9e,0x92,0x53,0x33,0x72,0x42,0x0e,0xd9,0x43,0x52,0x98,
|
|
||||||
0x13,0x05,0xd3,0x9d,0xf5,0xcb,0xb9,0xe2,0x97,0xdb,0xed,0xd7,0x73,0xbb,0xa4,0xf3,
|
|
||||||
0xec,0xbe,0x8d,0x3b,0xa9,0xbc,0xfe,0x7b,0x90,0x08,0x9e,0xbb,0x33,0xcb,0xdf,0x7b,
|
|
||||||
0xf5,0x4c,0x38,0x90,0x19,0xdf,0x38,0xbe,0x3e,0x0d,0x6d,0x81,0xfa,0x2f,0x68,0x33,
|
|
||||||
0xa9,0xa6,0xaf,0x69,0x5a,0x9f,0xd1,0xe5,0xef,0x94,0x5d,0xd6,0xb9,0xa9,0xa9,0xa6,
|
|
||||||
0x84,0x75,0xe8,0xf4,0x03,0x1b,0xd2,0x4d,0x3f,0xbe,0xa1,0x6d,0xbd,0x3b,0x23,0x53,
|
|
||||||
0x6f,0x87,0x96,0xcb,0xdb,0xa7,0x60,0x3b,0xea,0xbc,0x17,0x9b,0x6c,0xaf,0x34,0x7b,
|
|
||||||
0x0f,0xd4,0xd5,0x8c,0x67,0xe2,0xeb,0x50,0x5b,0xd9,0x16,0xe9,0x33,0x03,0xd1,0x79,
|
|
||||||
0x5f,0xb8,0x2f,0x3b,0x65,0x8d,0xce,0xbf,0xd7,0xf6,0xa4,0x2c,0xf7,0x4e,0x5d,0xde,
|
|
||||||
0x42,0x95,0xc1,0xd5,0xfd,0x52,0xed,0xaf,0x0d,0xa3,0xd1,0x3a,0x4e,0xe9,0x3a,0xfa,
|
|
||||||
0xcd,0x90,0x77,0x60,0x76,0x19,0x7b,0xfc,0xdf,0x9c,0x26,0x93,0xfe,0xb8,0xf6,0x9a,
|
|
||||||
0x5b,0xc1,0xe0,0x8c,0xfb,0xa2,0x0c,0xf7,0xcf,0xaa,0x73,0xba,0x22,0xaf,0x65,0x9d,
|
|
||||||
0xf6,0x6d,0xe4,0xa6,0xc3,0x72,0xa8,0x82,0x39,0xa5,0xe5,0x68,0xb2,0x97,0xb4,0x5c,
|
|
||||||
0x9d,0xb3,0x39,0x51,0x1e,0xd8,0xb8,0x93,0xca,0xeb,0xbf,0xb1,0x44,0xf0,0x5c,0x71,
|
|
||||||
0x76,0xe9,0xf7,0xf8,0x72,0x38,0x99,0x99,0xac,0x49,0x47,0xb7,0xf7,0x5f,0xb7,0x49,
|
|
||||||
0x3b,0xfd,0x9d,0xc0,0xf8,0xf3,0xd8,0xe8,0xba,0x4a,0x5b,0xc7,0x65,0x9b,0x76,0xfa,
|
|
||||||
0xc9,0xb0,0x3b,0xe3,0xd6,0x51,0xca,0x76,0xe4,0xda,0x95,0x89,0x79,0xc2,0x53,0x7e,
|
|
||||||
0x39,0xf5,0x92,0xf5,0x43,0x7c,0xfa,0xcb,0xde,0x19,0x9b,0xed,0x35,0xad,0xe3,0xf5,
|
|
||||||
0xca,0xc0,0x8c,0xe7,0xbc,0xdb,0x97,0x47,0x4a,0x28,0xc3,0xae,0x05,0x2c,0x83,0xf3,
|
|
||||||
0xdf,0x9d,0xd4,0xfb,0xeb,0xb2,0xae,0x43,0xe4,0x4a,0x70,0x63,0x6a,0x39,0x7a,0xfe,
|
|
||||||
0xea,0x51,0x92,0x3b,0x25,0x1d,0xd7,0x6f,0x6d,0x7b,0xd0,0xab,0x6e,0x1a,0x7e,0xf5,
|
|
||||||
0x3a,0xa0,0x3a,0xfd,0xa6,0xf4,0x78,0xbf,0x35,0x27,0xea,0x6b,0x87,0xed,0x21,0x59,
|
|
||||||
0x5a,0x39,0xa5,0xfb,0xa5,0x49,0xae,0xa9,0x0f,0x6f,0xc5,0xb6,0x6f,0xcc,0xc6,0x9d,
|
|
||||||
0x54,0x5e,0xff,0x8d,0x27,0x82,0xe7,0x8a,0xb3,0x5e,0xcf,0x9b,0xc9,0xf0,0x87,0xcc,
|
|
||||||
0x0f,0x35,0xe9,0xb8,0xe5,0xce,0xc1,0xe0,0x96,0x4d,0x3b,0xfd,0x0f,0x61,0x7d,0xf6,
|
|
||||||
0x7c,0x2e,0x79,0x1d,0x93,0x26,0xfd,0x3a,0x6e,0xf9,0x75,0x94,0xb2,0x1d,0x17,0x74,
|
|
||||||
0xbb,0xb3,0xd7,0xcb,0x2e,0x24,0xb6,0xa5,0x3e,0x72,0x52,0xa2,0xbc,0x61,0x8b,0x5f,
|
|
||||||
0xfe,0xe7,0x72,0xd2,0x9c,0x97,0x16,0xff,0xbd,0x1e,0x9e,0xe6,0xbf,0x01,0xe7,0x8f,
|
|
||||||
0x92,0xf6,0xa5,0x6b,0xe3,0x7f,0xbe,0x40,0x65,0x70,0xdb,0x32,0x56,0x53,0xda,0xba,
|
|
||||||
0xf7,0xcb,0x05,0xd3,0xaa,0x75,0xb8,0x41,0xad,0x03,0xde,0x91,0x3a,0x2d,0x7f,0x7d,
|
|
||||||
0x89,0xc7,0xf5,0x4b,0x7b,0x5e,0xcf,0xf3,0xee,0x60,0x20,0x75,0x1d,0xd0,0xb5,0x1b,
|
|
||||||
0x3b,0x7d,0x1d,0xee,0xa2,0x69,0x92,0x46,0xef,0xb8,0x63,0x33,0xb6,0x3f,0x5f,0x97,
|
|
||||||
0x9c,0xb4,0x0d,0x72,0xc9,0xb6,0xca,0xb8,0x8d,0x3b,0xa9,0xbc,0xfe,0x7b,0x98,0x08,
|
|
||||||
0x9e,0x2b,0x8e,0x3b,0xa7,0xfe,0x1c,0xfe,0xd9,0xe4,0x48,0xd7,0x17,0x32,0x64,0xe3,
|
|
||||||
0xf3,0xcc,0x4a,0x30,0xe4,0xd7,0x31,0x14,0xa4,0x9c,0x5e,0x19,0x72,0x65,0x08,0xfe,
|
|
||||||
0x3c,0xb5,0x8e,0x20,0xdd,0x75,0xa9,0xb9,0xb6,0xa3,0x2d,0x56,0x86,0x36,0xfd,0x7c,
|
|
||||||
0x8d,0x6c,0xf0,0xd3,0x34,0xc4,0xcb,0x16,0x34,0xe8,0xba,0x1a,0x12,0xdb,0xd7,0xe0,
|
|
||||||
0x97,0x65,0xec,0x16,0xf9,0xda,0x1c,0x57,0x67,0xb4,0x07,0x37,0xb5,0xdd,0x58,0x70,
|
|
||||||
0xbe,0xcb,0x55,0x9d,0x6f,0x4f,0xfa,0xfd,0x12,0x95,0x71,0x63,0xd4,0x97,0xf4,0xaa,
|
|
||||||
0x65,0x70,0xfe,0x7b,0x52,0xc2,0xba,0x2f,0xbb,0xb6,0xb7,0x1c,0x35,0x8d,0xd2,0x6e,
|
|
||||||
0xfa,0xb4,0x2d,0x3d,0x22,0x5f,0x9a,0xd2,0x8f,0x6b,0x46,0xcf,0xef,0x06,0x75,0x59,
|
|
||||||
0xef,0xb4,0xfd,0x71,0x4b,0x3d,0x77,0x43,0x3d,0x77,0x55,0xeb,0x72,0x8d,0xbe,0x1e,
|
|
||||||
0x77,0xe4,0x35,0x76,0x5c,0x9a,0x24,0x9d,0x54,0x5e,0xff,0x4d,0x24,0x82,0xe7,0x66,
|
|
||||||
0xf7,0xdf,0x8f,0xc1,0x8f,0x26,0xc7,0x5c,0xd7,0xd1,0x57,0xc8,0x4a,0xfd,0x7c,0xd4,
|
|
||||||
0xe6,0xe7,0x29,0x32,0xfd,0xd4,0xe7,0xcf,0xfd,0x3a,0x46,0x63,0xeb,0x48,0x77,0x7d,
|
|
||||||
0xfd,0xc7,0xd8,0x3a,0xf6,0xcd,0x31,0xcf,0x0a,0x9b,0x66,0x3b,0x3a,0x65,0xea,0xf3,
|
|
||||||
0x4e,0xfd,0xfc,0x13,0x59,0x1f,0xd5,0xbf,0x1a,0x6d,0x7c,0xde,0x78,0x59,0x7f,0x94,
|
|
||||||
0x46,0xbf,0xee,0x4f,0x64,0xb9,0x35,0xb2,0xc3,0x6c,0x8b,0x9c,0x39,0x53,0x9f,0xe8,
|
|
||||||
0x6a,0xd9,0x17,0x2b,0x73,0x67,0xaa,0xed,0x14,0xad,0x43,0x7d,0x55,0x62,0x19,0x8e,
|
|
||||||
0x4a,0x93,0xfa,0xaf,0x2f,0x51,0xff,0x4b,0xd3,0xff,0x11,0x5f,0x66,0xa7,0xf7,0xff,
|
|
||||||
0x97,0xf6,0xb8,0x5c,0x36,0x5d,0x5a,0x7f,0xcb,0xfa,0x6f,0xa6,0xe3,0xfa,0x3c,0x71,
|
|
||||||
0x1c,0xa6,0xca,0x38,0xea,0xcb,0xb4,0x55,0xf6,0x9a,0xd3,0x5a,0xbe,0xcb,0xd2,0xac,
|
|
||||||
0xf5,0xb9,0xf3,0x55,0x70,0x3d,0xae,0x5a,0x93,0x74,0x12,0xfe,0xab,0x9e,0xf6,0xef,
|
|
||||||
0x5f,0x82,0xbf,0xd9,0xbf,0x45,0x1c,0x98,0xe3,0x3c,0x5a,0xe5,0x3f,0x7f,0x90,0x9f,
|
|
||||||
0xfe,0x6f,0x45,0xa6,0xcf,0x7f,0x1e,0xfc,0xb7,0xff,0xfc,0x81,0x4c,0xad,0x63,0x6e,
|
|
||||||
0x2b,0xe8,0x5a,0xe4,0x2f,0xb1,0x75,0x1c,0xb0,0x73,0x4f,0xaf,0x73,0xc4,0xb6,0x63,
|
|
||||||
0x2e,0x7a,0xb4,0xdc,0x1f,0xca,0xc7,0xbe,0x3e,0xe5,0xe6,0x3d,0x23,0x33,0x4f,0x77,
|
|
||||||
0xc6,0x6f,0xdf,0x6f,0xec,0xbb,0xf2,0x91,0xb5,0xb2,0x61,0x0e,0xa7,0x1d,0x88,0x95,
|
|
||||||
0xb9,0x67,0xce,0xed,0x5c,0xa9,0x7f,0x4b,0xc4,0xfb,0xec,0x68,0x09,0x65,0xd8,0x65,
|
|
||||||
0x4e,0xc8,0x25,0xf5,0x57,0x7f,0xa2,0xcd,0x39,0xac,0xcb,0x59,0x2d,0x5b,0xa4,0x47,
|
|
||||||
0xd2,0x6d,0x7f,0xab,0xf7,0x7f,0xc6,0xee,0xd5,0xfa,0x5b,0x9b,0x5b,0x96,0xf7,0xdf,
|
|
||||||
0xf4,0xe3,0x7a,0x51,0x92,0xfb,0x6c,0xea,0xf3,0x07,0xfa,0xf9,0x87,0xf2,0xb6,0xfc,
|
|
||||||
0x41,0x8c,0x6c,0x93,0x3d,0x72,0x10,0xc7,0x55,0x8d,0xff,0x1e,0x25,0x82,0xe7,0x66,
|
|
||||||
0xef,0xff,0x68,0x96,0xbf,0xdb,0xbf,0xcf,0xc9,0x73,0x9d,0xce,0x9d,0x11,0x9f,0xe9,
|
|
||||||
0xf7,0x7e,0x22,0xf6,0x7b,0x77,0x9e,0xfc,0x93,0xfd,0x77,0xf9,0xb9,0xfd,0x40,0x7d,
|
|
||||||
0xb2,0xd2,0xf7,0x81,0xae,0x96,0xa9,0xcf,0xff,0xe4,0x7f,0x9e,0x48,0xb5,0x0e,0x47,
|
|
||||||
0x9f,0xcd,0xd6,0xe7,0x9a,0x25,0xcd,0xf4,0xcf,0x25,0x5b,0x2a,0xf5,0xb8,0xf4,0xa5,
|
|
||||||
0x5e,0xc7,0xdf,0x6d,0x9f,0x96,0xfb,0x03,0x79,0xdf,0x86,0x52,0x6b,0x0e,0xfb,0x32,
|
|
||||||
0x1f,0x9c,0x61,0x7d,0x07,0x7d,0xd9,0x7f,0x25,0x6f,0xdb,0xf7,0xb4,0x4c,0x9b,0x45,
|
|
||||||
0x4c,0x72,0xdb,0xe3,0x34,0x17,0x2c,0xa3,0xcf,0x3b,0xeb,0x5f,0xe4,0x3f,0xed,0x3b,
|
|
||||||
0xf2,0xa1,0xfd,0x54,0x56,0x39,0xc7,0x15,0x3a,0x51,0xdb,0xbf,0xbb,0x6d,0x9d,0xd6,
|
|
||||||
0xe7,0x4e,0xa7,0x2e,0x43,0xad,0x69,0x08,0x5a,0x4d,0xaf,0x24,0xfb,0x5d,0xeb,0x74,
|
|
||||||
0x59,0x5b,0xe5,0xaf,0xa9,0xb7,0xff,0xa0,0x2e,0xf3,0x5d,0xad,0x4f,0x7e,0x29,0xa7,
|
|
||||||
0xcc,0x35,0xad,0x4b,0x66,0xfd,0x57,0x78,0x5c,0xb7,0xc6,0xca,0xf3,0x57,0x75,0x75,
|
|
||||||
0xfc,0xb8,0x4e,0xe8,0xe7,0x1f,0xc8,0xbf,0xcb,0x7b,0xb2,0x56,0xbd,0xbb,0xbb,0x6a,
|
|
||||||
0xfc,0x77,0x58,0x72,0x63,0x56,0xea,0xf3,0x63,0x5f,0x2e,0xdb,0xdc,0x78,0x98,0xf6,
|
|
||||||
0xfc,0x18,0x99,0x42,0xfa,0x8a,0x5e,0xaf,0x8c,0xd3,0x96,0xed,0x7f,0xce,0xd7,0x75,
|
|
||||||
0x8f,0xa7,0xbe,0x76,0x99,0x74,0x52,0x79,0xfd,0xf7,0x38,0x11,0x3c,0x57,0x9c,0xec,
|
|
||||||
0x18,0xb3,0x27,0xf2,0xff,0x52,0xe5,0xff,0x8a,0xf8,0xf3,0x36,0x3e,0xbd,0xfb,0xf9,
|
|
||||||
0x7f,0xd9,0xb7,0xe4,0xf7,0x76,0x9d,0x6c,0x32,0xdb,0xb5,0x7e,0xe2,0x7e,0x13,0x9f,
|
|
||||||
0xa7,0x70,0x8e,0xd9,0x33,0xe0,0xea,0x73,0xb6,0x94,0x79,0x72,0xa5,0x12,0xfd,0x57,
|
|
||||||
0x29,0x6b,0xf9,0xad,0xbc,0xa7,0xe7,0xf4,0x41,0x73,0x4a,0x44,0xd7,0x57,0x3b,0xc3,
|
|
||||||
0x54,0xb5,0x3a,0xd5,0xa7,0x5a,0xc7,0xf9,0xb9,0xd6,0x15,0xc5,0xee,0x91,0x1a,0x53,
|
|
||||||
0xbc,0x54,0x57,0x24,0xb9,0x0c,0xb7,0x86,0xf7,0xec,0x4f,0xe4,0x97,0x5a,0xcf,0xb2,
|
|
||||||
0x66,0xab,0xd6,0xcf,0x02,0x37,0x46,0xa5,0x60,0xe9,0x5b,0xd4,0x67,0xf5,0x72,0xc5,
|
|
||||||
0x34,0x4b,0x90,0xb2,0x0c,0xa7,0xcd,0x55,0xe9,0x9a,0xd6,0xe7,0xea,0xfa,0xb3,0x4b,
|
|
||||||
0xdb,0xc7,0x1f,0xcb,0x7f,0x6a,0x7d,0x72,0x93,0x1c,0xd6,0xf5,0x5f,0x30,0x97,0x64,
|
|
||||||
0x93,0x9d,0x7e,0x5c,0xe3,0x3f,0x9f,0x93,0xe4,0x71,0x7d,0xe2,0xf7,0xe0,0x3f,0xcb,
|
|
||||||
0x2f,0xb5,0x1e,0xbb,0x49,0xbe,0x5a,0x14,0xff,0xd5,0x79,0xe7,0x9c,0xf1,0x4e,0xbb,
|
|
||||||
0x10,0x39,0xad,0x27,0x72,0x53,0x25,0xcf,0xa3,0x01,0x5d,0x7f,0x9b,0x1f,0x97,0xd3,
|
|
||||||
0xa0,0xe5,0x3b,0x3a,0x63,0xd9,0x93,0x4e,0x2a,0xaf,0xff,0x9e,0x24,0x82,0xe7,0x66,
|
|
||||||
0x1b,0x77,0x50,0xe7,0x7d,0xd5,0x20,0xcf,0x53,0xd5,0xb7,0xda,0xbd,0x2f,0x0b,0xeb,
|
|
||||||
0x09,0x3f,0xd1,0x3a,0xce,0x3a,0x75,0xdf,0x21,0x73,0x52,0xea,0xcd,0xab,0xd7,0xff,
|
|
||||||
0xd6,0x6a,0x3b,0xcf,0x2d,0xd7,0x97,0x2a,0xc5,0x3c,0xed,0x3a,0xad,0xf3,0x87,0xa4,
|
|
||||||
0xae,0x03,0xba,0xfa,0xdf,0xfb,0xf2,0x8e,0x35,0xd1,0x7d,0x13,0x07,0x67,0xa9,0x27,
|
|
||||||
0x7d,0xaa,0xf5,0xc4,0xb5,0xea,0xaf,0x93,0xb2,0xb9,0xe4,0xfa,0xdf,0x4f,0xb5,0xee,
|
|
||||||
0x17,0xca,0x6e,0x6d,0xe3,0x9e,0x36,0xee,0x5a,0x63,0x5f,0xc1,0xb2,0xbf,0x90,0x23,
|
|
||||||
0xe6,0x5c,0x70,0xd1,0x6c,0x4a,0x5d,0x86,0x2b,0xa6,0xbb,0xa0,0xed,0x9b,0xbb,0x8e,
|
|
||||||
0x9b,0x6e,0xff,0xfe,0x35,0xaa,0xc7,0xff,0x87,0xfc,0x83,0xfc,0x54,0x7e,0x2f,0x19,
|
|
||||||
0xdf,0x7a,0xad,0x95,0x40,0x0a,0x8f,0x6b,0x43,0x6c,0xbe,0x89,0xa8,0xee,0x9a,0xac,
|
|
||||||
0xff,0xfd,0x56,0xfe,0x51,0xfe,0x4b,0x96,0xcb,0x46,0xd9,0x25,0x07,0x16,0x68,0xec,
|
|
||||||
0x48,0xae,0xde,0x76,0xd5,0xfb,0xad,0x23,0xaa,0x77,0x2d,0xb5,0xf3,0xaa,0x4f,0x7a,
|
|
||||||
0x7d,0x1f,0xf7,0x19,0x75,0x76,0x76,0xcb,0x92,0x4e,0xc2,0x7f,0xd5,0x41,0x67,0x8a,
|
|
||||||
0x7b,0x6c,0xe3,0xd7,0x94,0x1e,0xcc,0x78,0xfd,0xef,0x7f,0xdb,0xdf,0x69,0xfd,0xc1,
|
|
||||||
0xf5,0x05,0x5e,0xd5,0xbf,0x83,0xaf,0x7e,0xfd,0xef,0x33,0xfb,0xd9,0x9c,0xd7,0xf3,
|
|
||||||
0x7b,0x0a,0xae,0x45,0x7d,0x66,0x4b,0xd9,0x8e,0x9e,0xc8,0x7f,0x19,0x71,0xe3,0xd8,
|
|
||||||
0x76,0xda,0xa2,0xd7,0x0e,0xfd,0xb5,0xc7,0x15,0x6a,0x87,0x03,0xe6,0xbc,0xd6,0x15,
|
|
||||||
0x5f,0xf5,0xfa,0x5f,0xbc,0x0c,0x07,0x7c,0x9b,0xb5,0xd6,0x9c,0xf0,0x7d,0x2a,0x69,
|
|
||||||
0xcb,0xd0,0x6e,0x6e,0x05,0xd3,0xc7,0xdb,0x25,0xf7,0xf9,0xdc,0xd7,0x71,0x3f,0x50,
|
|
||||||
0xf7,0xbd,0x23,0x9f,0x24,0x7a,0x62,0x92,0xc7,0xd5,0xda,0xff,0x8e,0x2d,0x6f,0x4b,
|
|
||||||
0xe1,0x75,0x5d,0xbf,0xcf,0x9d,0xff,0xfe,0x8f,0xba,0x79,0x83,0xec,0x2c,0xc1,0x7f,
|
|
||||||
0x47,0x7c,0xfb,0xb4,0xc1,0xb7,0x4d,0xa7,0xda,0xa4,0x43,0x0b,0xf0,0x7d,0xbe,0x6f,
|
|
||||||
0xee,0x7b,0x1e,0x98,0x87,0xe1,0x43,0xcf,0xa3,0xf0,0xbb,0xcc,0x77,0x9e,0xc9,0xcc,
|
|
||||||
0xf7,0xe1,0xf7,0x33,0xf2,0x7c,0xa6,0x31,0x4b,0xe1,0xf3,0x82,0xe9,0x9e,0xfa,0xe5,
|
|
||||||
0x3c,0x72,0xcb,0xd5,0xe5,0xbb,0xf5,0x8c,0xa6,0xae,0x63,0xdc,0xd4,0x6d,0x7c,0x62,
|
|
||||||
0xf1,0x5f,0xf5,0x91,0xe6,0x9e,0xdc,0x78,0xbf,0xe9,0xa8,0x9f,0xbe,0xb0,0x9f,0xf0,
|
|
||||||
0x2d,0xfb,0x91,0x6c,0xd7,0xba,0xc9,0x55,0xd3,0xe3,0xc7,0xc1,0x2d,0x44,0xff,0xef,
|
|
||||||
0x9c,0xa5,0xb2,0x85,0x7d,0x91,0xa5,0x6c,0x47,0xa7,0xf7,0xdf,0x7b,0x76,0x8d,0xfe,
|
|
||||||
0x77,0x87,0xfc,0x29,0xd6,0xaf,0xf9,0x27,0x73,0x3a,0xf1,0xf3,0x8f,0x66,0x87,0x4e,
|
|
||||||
0xb3,0x56,0xeb,0x89,0x8d,0x72,0xc3,0x1c,0x29,0x7a,0xef,0xf3,0x5a,0x49,0xd3,0xff,
|
|
||||||
0x1b,0x2f,0x83,0xeb,0xb3,0xb5,0xf2,0x85,0xbb,0xae,0x56,0x52,0x19,0xfa,0x63,0xf7,
|
|
||||||
0x6c,0xe4,0xee,0x8d,0x28,0xb5,0x1f,0xbf,0x48,0x0f,0x71,0xac,0xfc,0x2d,0xd3,0xfa,
|
|
||||||
0x9f,0x93,0xeb,0x70,0xfb,0xfc,0xb7,0x5a,0x87,0x2c,0xee,0xbf,0xc3,0xde,0x73,0xe7,
|
|
||||||
0xa3,0xba,0x5c,0x87,0xaf,0xc7,0xcd,0x77,0x9c,0xf4,0x3d,0xef,0xb5,0xb1,0x8c,0x73,
|
|
||||||
0xda,0x44,0x90,0x75,0xda,0xb3,0xc8,0x4d,0x3f,0x94,0x30,0xee,0x71,0xc1,0xd1,0xf5,
|
|
||||||
0x3f,0xd3,0xb2,0x3c,0xd6,0x72,0x8d,0xcd,0xe6,0x44,0xfc,0xb7,0x24,0xc6,0xff,0xcd,
|
|
||||||
0x45,0x8f,0x3f,0xaf,0x62,0xe3,0xc4,0xfc,0x3d,0x09,0x3f,0xb3,0x9f,0xc8,0x2e,0x53,
|
|
||||||
0xaf,0x75,0xbf,0x81,0x69,0xcb,0x7c,0xf2,0xea,0xe3,0xff,0xe6,0x1c,0x8b,0xd6,0x53,
|
|
||||||
0xf2,0x76,0xb4,0x79,0xff,0x2d,0xb7,0x6e,0x0c,0xef,0x8b,0xc4,0xb2,0x5c,0x3f,0xc0,
|
|
||||||
0x97,0x89,0x75,0xbf,0xf0,0xbf,0xcb,0x48,0x5d,0xd0,0x62,0xdc,0x3d,0x63,0x7d,0xea,
|
|
||||||
0xb6,0xcb,0x72,0xca,0x1c,0xd0,0xf6,0xe8,0x56,0xd9,0x68,0x36,0xca,0x46,0xbb,0x51,
|
|
||||||
0x42,0x5b,0xea,0xf8,0xbf,0x2f,0xb5,0x0c,0x2b,0xb4,0xad,0x5f,0x4a,0x19,0x0e,0x4b,
|
|
||||||
0xa3,0xbd,0xa4,0x6d,0xe0,0x0b,0xfa,0x5f,0x77,0xff,0xd7,0x37,0x91,0x6b,0xe6,0xb3,
|
|
||||||
0xfd,0xc9,0xe3,0xb8,0x69,0x1e,0xe3,0xff,0x72,0xf5,0xbf,0x8d,0xda,0xf2,0xaf,0xb3,
|
|
||||||
0x8d,0x5a,0x9f,0x6b,0x89,0xee,0x03,0xeb,0x2f,0xf9,0xbb,0x78,0x2f,0x5f,0x6f,0x7b,
|
|
||||||
0x9c,0xa8,0xaf,0xfd,0x50,0x59,0xbf,0xcd,0x83,0xef,0xc3,0x67,0x5a,0xfe,0x89,0xcc,
|
|
||||||
0x98,0x6e,0x13,0xfe,0xab,0x7e,0xff,0x95,0x72,0x6c,0xfd,0xbd,0x09,0xf1,0xfb,0x3f,
|
|
||||||
0xfc,0xbd,0xba,0xd3,0xfd,0x37,0x35,0xcf,0xd8,0x3c,0xef,0xff,0xf8,0xc1,0x94,0x7a,
|
|
||||||
0x8f,0x49,0xa9,0xdb,0xf1,0x91,0xbb,0xfe,0x56,0x70,0x9f,0xc9,0xee,0xe8,0xf7,0xbb,
|
|
||||||
0xc3,0xd8,0xfa,0xf5,0x5c,0xfc,0x42,0x7f,0x6f,0xe4,0xb4,0x69,0x55,0xd7,0xf6,0x4a,
|
|
||||||
0xb7,0xfe,0xf7,0x82,0xd6,0xd1,0x8e,0x9a,0x5a,0xd9,0xaf,0x75,0xad,0x7d,0x76,0x9f,
|
|
||||||
0xec,0x2d,0xf1,0xfe,0x0f,0xb7,0x5f,0x56,0xc8,0x72,0x5d,0x6e,0x29,0x65,0x58,0xa5,
|
|
||||||
0xad,0xe0,0xed,0xf2,0xb5,0xd6,0xb6,0x6a,0x35,0x53,0x75,0xad,0x52,0xb7,0xbf,0x65,
|
|
||||||
0xda,0x71,0xdc,0x38,0x8f,0xfb,0x3f,0x7e,0x25,0x6f,0xfb,0xfb,0x48,0x9a,0xd4,0x79,
|
|
||||||
0xe9,0xda,0xaf,0xae,0xdd,0x38,0x16,0xb8,0xb6,0xe9,0x13,0x5f,0x87,0x73,0x8e,0x7b,
|
|
||||||
0xb1,0x04,0x1d,0x57,0x4a,0xfd,0x70,0x32,0x7c,0x9c,0x79,0x18,0xe0,0xbf,0x6a,0xf5,
|
|
||||||
0x5f,0xea,0xfb,0x6c,0x6b,0xfa,0xbd,0x67,0x12,0xf7,0xff,0x16,0xf1,0xdf,0xd4,0x3c,
|
|
||||||
0x77,0x32,0xf3,0xbb,0xff,0x77,0x32,0xf5,0xf4,0xfd,0xc1,0xea,0x12,0xb7,0x63,0x32,
|
|
||||||
0xb3,0x41,0xb2,0xcf,0x80,0x19,0x4f,0xdc,0x17,0xbb,0xdf,0xb8,0x9e,0x86,0x9f,0xca,
|
|
||||||
0xa7,0xfa,0xd9,0xfe,0xc4,0xbd,0xb7,0xe3,0x81,0xbb,0x4e,0xba,0x4e,0xea,0xa5,0xd5,
|
|
||||||
0x74,0xa9,0x03,0x3b,0xf5,0xbf,0x97,0xb5,0x5d,0xd8,0x20,0xf5,0xba,0xdd,0x8e,0x33,
|
|
||||||
0x66,0x73,0x29,0xf7,0xff,0x86,0xae,0x9f,0x7c,0x85,0xcc,0x5c,0x86,0x8f,0xe5,0x7f,
|
|
||||||
0x8a,0x33,0xe0,0x4c,0x65,0x58,0x2d,0xa1,0x37,0xe0,0xfe,0x84,0x01,0x4b,0xdd,0x7e,
|
|
||||||
0x7f,0x2f,0x71,0xe2,0x38,0x6e,0x98,0xc7,0xfd,0xbf,0x6f,0xdb,0x77,0xc5,0xea,0xdf,
|
|
||||||
0x80,0x8b,0xa6,0x3b,0x18,0x9e,0xd6,0x5e,0x1d,0xcb,0x5f,0x7f,0x73,0xf5,0xb8,0x97,
|
|
||||||
0xaf,0xaf,0xe3,0xd2,0x10,0x3c,0x31,0xf8,0xaf,0x3a,0xfd,0x97,0xf6,0xd9,0x2f,0xd9,
|
|
||||||
0xe7,0x86,0x7c,0x28,0x89,0xe7,0xbf,0xf8,0xe7,0x61,0xfd,0xc2,0xae,0x94,0xdd,0xe6,
|
|
||||||
0xac,0xb4,0xe7,0xfd,0x37,0xf5,0xbc,0x91,0x81,0xf5,0xab,0xbd,0x4f,0x4a,0x7c,0xfe,
|
|
||||||
0x4b,0x38,0x9e,0xf2,0x19,0x33,0x75,0x99,0xdc,0xb5,0xa9,0xb4,0xdb,0x31,0x10,0xee,
|
|
||||||
0xf5,0xf3,0xec,0x0d,0x47,0x13,0xcf,0x8b,0x39,0xa4,0xdb,0xb7,0x52,0xcf,0xe9,0x9f,
|
|
||||||
0xca,0xbb,0xd6,0x8d,0xa8,0x3e,0x94,0x78,0xf6,0xca,0xe8,0xfa,0xbd,0xea,0xb7,0xdd,
|
|
||||||
0x7a,0xae,0xbb,0x7b,0xfe,0x6f,0x4a,0xaf,0xe9,0xd6,0x76,0x70,0x7b,0xd0,0xae,0x6d,
|
|
||||||
0xc9,0x36,0xa5,0xdd,0x5c,0x4c,0xfb,0xfc,0x97,0x0d,0x6d,0xfe,0xd9,0x2f,0x1f,0x15,
|
|
||||||
0x29,0xc3,0x72,0x6d,0x55,0xfe,0x0f,0xf9,0x89,0xb7,0xe3,0x4c,0x65,0x58,0x2b,0x9b,
|
|
||||||
0x65,0xa7,0xec,0xd5,0x36,0x67,0xd2,0x7f,0x69,0xb7,0xdf,0xd1,0x54,0xf8,0x1c,0x9f,
|
|
||||||
0xb0,0xc6,0xef,0x93,0x52,0x9e,0xff,0xf2,0x81,0xbc,0x65,0x3f,0x94,0x2d,0xa6,0x2e,
|
|
||||||
0x68,0x35,0x83,0x7a,0xbc,0x72,0xf5,0xb9,0x37,0xda,0x73,0xf8,0xef,0xb5,0xeb,0xff,
|
|
||||||
0x88,0xe7,0x37,0xf2,0xfe,0xb4,0xe9,0x3f,0x91,0xdf,0xda,0x8c,0xb6,0x03,0xcf,0xcb,
|
|
||||||
0x0d,0xef,0xbf,0xe9,0xcb,0xfc,0x83,0xd6,0x0f,0xe7,0x73,0x3d,0x3e,0x75,0xa9,0xec,
|
|
||||||
0xc7,0x25,0xce,0xb1,0x22,0xba,0x67,0xae,0x30,0xbf,0x96,0x9f,0xdb,0xf7,0x64,0xb9,
|
|
||||||
0xef,0x93,0x98,0xfe,0xe9,0x1a,0x71,0xf7,0x4b,0x5c,0xd7,0xfa,0x5f,0xbf,0x0c,0x9a,
|
|
||||||
0xc1,0x60,0x40,0xb7,0x37,0x4e,0xab,0xc9,0xa4,0x2e,0xc1,0x47,0xf2,0x4f,0xae,0xf5,
|
|
||||||
0x3b,0xc3,0xbd,0x2c,0xff,0xaa,0xb5,0xbf,0x7f,0xd6,0x5a,0xe8,0x6f,0x8a,0xdc,0xeb,
|
|
||||||
0xb2,0x22,0xaa,0x01,0x1e,0x88,0xf9,0x4f,0x16,0x60,0x2f,0xae,0x91,0x75,0x25,0x1c,
|
|
||||||
0xa3,0x3f,0xd8,0x5f,0x07,0x1f,0x9b,0x8d,0xe1,0x11,0xd3,0x12,0x0e,0x67,0x1e,0xd5,
|
|
||||||
0x3c,0xc7,0x71,0x55,0xea,0xbf,0x46,0xb9,0x68,0xaf,0xeb,0xb9,0x79,0x53,0x86,0x71,
|
|
||||||
0xde,0x3c,0xc6,0xbf,0xe4,0xf2,0xa9,0xbc,0x67,0xdf,0x91,0xdf,0xdb,0x35,0x89,0xb1,
|
|
||||||
0x26,0x2b,0xf5,0x4c,0x5e,0x65,0xb6,0xc8,0x51,0xad,0xff,0x74,0xa9,0x13,0xa6,0x2f,
|
|
||||||
0x73,0xb9,0x9e,0x2b,0xab,0x44,0x9c,0x1b,0x6c,0x5a,0x37,0xad,0x49,0x7d,0x1e,0x7e,
|
|
||||||
0xaa,0xbe,0x7a,0xc7,0xfe,0xa1,0x04,0xbf,0xae,0x90,0x3f,0xda,0x5f,0xcb,0x07,0x5a,
|
|
||||||
0xa6,0xc2,0xb5,0xfc,0xd1,0xfe,0x4e,0x59,0xab,0x75,0x1a,0x6d,0x5d,0x16,0x3c,0x4f,
|
|
||||||
0x79,0x95,0xa6,0xc6,0xee,0x95,0x6f,0xcd,0x55,0xe9,0x56,0xd7,0x25,0xfb,0x60,0x6f,
|
|
||||||
0xcb,0x4d,0xd3,0x23,0xd7,0xcc,0x05,0x6d,0xcf,0xda,0xb9,0xdd,0x21,0xbf,0x52,0xc3,
|
|
||||||
0xfd,0x8b,0xbc,0xa5,0x2d,0xdd,0x55,0x89,0x4f,0xdc,0xa8,0xe4,0x7f,0x93,0xff,0x90,
|
|
||||||
0xb7,0xe5,0x7d,0xdd,0xdf,0xeb,0x7c,0xaf,0x72,0x7c,0x5f,0xff,0x51,0xad,0xf8,0x89,
|
|
||||||
0x58,0xf9,0x5c,0xbe,0x4a,0xb4,0x80,0xf7,0x96,0x68,0x40,0xb7,0x8f,0xd7,0x26,0x8e,
|
|
||||||
0xe3,0x1a,0xbb,0x5e,0x02,0x5b,0xa3,0xf5,0xf4,0xb9,0xe7,0x5e,0xa9,0x7f,0x6f,0xfe,
|
|
||||||
0x68,0x56,0x05,0x35,0x66,0x5f,0x78,0xce,0x74,0x87,0xf7,0xb4,0x4d,0xfc,0xa2,0x4a,
|
|
||||||
0xae,0xb7,0xfd,0x90,0x1f,0xb3,0xf2,0x2c,0x3f,0xf6,0xe5,0x71,0x26,0x37,0x1e,0x66,
|
|
||||||
0x3c,0x3f,0x46,0xa6,0x90,0x7b,0x45,0xaf,0x57,0xc6,0x79,0x18,0x3c,0xd4,0x65,0x7d,
|
|
||||||
0x97,0xbf,0x76,0xf9,0x7c,0x09,0xf8,0x6f,0xa6,0xe7,0x15,0x36,0xcb,0x75,0x6d,0xbf,
|
|
||||||
0xdc,0xc4,0x81,0xfe,0xde,0xd1,0x5e,0xd3,0x1a,0x34,0x98,0x5a,0xf9,0x42,0xcf,0xf9,
|
|
||||||
0xcf,0xcc,0x1a,0x3d,0x17,0x92,0xb8,0xeb,0xee,0xab,0xcc,0x4a,0x65,0x9d,0x84,0x66,
|
|
||||||
0x87,0x1f,0xb3,0x76,0x5a,0xd9,0xaf,0x75,0xbd,0x1a,0x9d,0x67,0xab,0xd9,0x27,0xf5,
|
|
||||||
0xa6,0x45,0x97,0x33,0x1c,0x5b,0x66,0x8b,0xfe,0x6e,0x9f,0x7e,0x16,0xea,0x3c,0x5b,
|
|
||||||
0x65,0x8f,0x39,0x26,0x27,0x95,0xfd,0x66,0xbb,0xfe,0xbc,0x4e,0x97,0xb5,0xca,0xdf,
|
|
||||||
0x13,0x56,0xb8,0xae,0x35,0x7a,0x5e,0x66,0xec,0x46,0xd9,0x6e,0xf6,0xe8,0x7a,0x0e,
|
|
||||||
0xca,0x57,0xe6,0x73,0x9d,0xfe,0x33,0x59,0x33,0xad,0x5c,0xab,0xfd,0x32,0x56,0x2a,
|
|
||||||
0xeb,0x74,0x1d,0x3b,0x74,0xda,0xe3,0xe6,0x94,0xb2,0x6f,0x8e,0xed,0xc8,0xfa,0xd5,
|
|
||||||
0x18,0x77,0xef,0xfe,0x71,0x39,0xa3,0xed,0xf6,0x93,0x3a,0xef,0x76,0x9d,0x27,0xa3,
|
|
||||||
0x8e,0xde,0x68,0x77,0xca,0x37,0xa6,0x21,0xb8,0x62,0xae,0x29,0x0d,0xfa,0xef,0x9d,
|
|
||||||
0xb2,0x51,0x7f,0x9f,0xb1,0x5a,0xeb,0xd2,0x7d,0x54,0x6f,0xdc,0x33,0x9f,0x5a,0xa4,
|
|
||||||
0xc5,0x3f,0xa7,0xee,0x9c,0x7e,0x9f,0xea,0x62,0xf7,0x40,0x1d,0x54,0x13,0xed,0xd4,
|
|
||||||
0xf6,0xe9,0x7a,0xfd,0xab,0xf0,0x1b,0xf9,0x85,0x7a,0xec,0x2d,0x9f,0x9f,0xe9,0xbf,
|
|
||||||
0xb2,0xf9,0x59,0xf4,0x9b,0xb7,0xf5,0xd3,0xf7,0xd5,0x65,0x9f,0xc9,0x06,0x9d,0x7e,
|
|
||||||
0xa3,0x18,0xb5,0xdb,0xef,0xb4,0xfe,0xf9,0x0b,0xcd,0xbb,0x6a,0x48,0x77,0x9d,0x6f,
|
|
||||||
0xab,0x6c,0x53,0x42,0x6f,0xcc,0x77,0xfd,0x27,0xbf,0xd6,0x69,0x56,0xaa,0xeb,0xb2,
|
|
||||||
0xfe,0x9b,0x6a,0x01,0x1f,0xf7,0xe3,0x86,0x4f,0x5b,0xdd,0xbf,0xf6,0x0b,0xf5,0x98,
|
|
||||||
0xdb,0xbf,0xcb,0x75,0x3b,0x57,0xce,0xb2,0x8f,0x37,0xe9,0x3e,0xab,0x0d,0xea,0xcc,
|
|
||||||
0xc9,0xe0,0xb0,0xd9,0x1b,0xec,0x32,0x3b,0x83,0x7d,0xe6,0x68,0xd8,0x68,0x2e,0x87,
|
|
||||||
0x4d,0x99,0xd3,0xe1,0x41,0xf3,0x65,0xb8,0xd1,0xe8,0xa2,0x8c,0x09,0x8c,0x62,0x8d,
|
|
||||||
0x0d,0xc4,0x84,0x41,0x18,0xb1,0xd9,0xec,0x08,0x6b,0xcd,0xd9,0xb0,0xdd,0xdc,0x0e,
|
|
||||||
0x27,0x16,0xe7,0xfa,0x5e,0x34,0x26,0xef,0xa9,0xf7,0xcf,0x93,0xac,0xd3,0xa2,0xb1,
|
|
||||||
0x78,0xf7,0x2b,0x7a,0x0e,0xdd,0xd5,0xf5,0x3f,0xcc,0xb8,0x71,0x39,0x93,0xae,0x3f,
|
|
||||||
0xa7,0xaa,0xfd,0x37,0xc3,0x68,0x4c,0x3f,0x16,0xb3,0xc5,0xb6,0xaa,0x0f,0x07,0xde,
|
|
||||||
0x40,0xff,0xdd,0x0e,0xfa,0xb5,0xce,0x76,0xc5,0xd4,0x6b,0x1d,0x6e,0xbf,0xec,0x36,
|
|
||||||
0xbb,0x64,0x57,0x11,0x76,0xab,0x5b,0x0e,0x9b,0x93,0x72,0xde,0x5c,0x56,0x37,0x5c,
|
|
||||||
0x92,0xb3,0xea,0x8f,0xc3,0xe6,0x90,0x1c,0xf3,0xf7,0x70,0x65,0xef,0xc9,0x9f,0xbe,
|
|
||||||
0x4c,0x3d,0x47,0xd5,0x7b,0xf5,0xe6,0x42,0x70,0x59,0xeb,0x88,0x0d,0x3a,0xff,0x21,
|
|
||||||
0xb3,0x77,0xd6,0xf5,0x7c,0xad,0xf3,0x1c,0xf5,0xf7,0x92,0xd4,0xcb,0x09,0x73,0x58,
|
|
||||||
0x9d,0xb9,0xbb,0xe8,0xb4,0xbb,0xf4,0xb3,0x7d,0x3a,0x8d,0x7b,0x2e,0xde,0x25,0x2d,
|
|
||||||
0x57,0xb6,0x5f,0x76,0xf6,0xed,0xf8,0xca,0x7c,0x2d,0x07,0x7d,0x99,0x2e,0x6a,0x19,
|
|
||||||
0xaf,0x04,0x4d,0xbe,0x9c,0x07,0x74,0x39,0xfb,0xe5,0x88,0xce,0x7f,0xd1,0xb4,0xba,
|
|
||||||
0x3e,0x5e,0xf5,0x5c,0x83,0xfe,0xfe,0x6b,0xd9,0xac,0xee,0x5b,0x67,0x3f,0x93,0xf5,
|
|
||||||
0x5a,0xb7,0xdb,0x2c,0x3b,0xa6,0xf5,0x3e,0x4c,0xa5,0x56,0x5b,0xa5,0x7b,0x74,0x8a,
|
|
||||||
0x2d,0xea,0xa8,0xb5,0x5a,0xf3,0xd5,0x7a,0x52,0x91,0x7c,0xac,0x75,0xb0,0x75,0x3a,
|
|
||||||
0xd5,0x66,0x6d,0xcb,0x7e,0xa9,0x9e,0xdb,0xa4,0xb5,0xba,0xb5,0xfa,0xbb,0x4f,0x75,
|
|
||||||
0x2e,0xb5,0xb3,0xfe,0xbc,0x5d,0x1d,0xf7,0xb5,0xb2,0x5d,0xff,0x6d,0xf4,0x77,0xcb,
|
|
||||||
0xf5,0xb3,0x15,0x3a,0xcd,0x46,0xd9,0x69,0xbf,0x51,0xd7,0x5d,0xf2,0xcf,0xd8,0xbc,
|
|
||||||
0x69,0x86,0x24,0xdd,0x71,0xdc,0xad,0xfb,0x75,0xaf,0x3a,0xee,0x40,0x70,0xd0,0x1c,
|
|
||||||
0x0a,0xf4,0x98,0x85,0x97,0x32,0xd7,0xc3,0x1b,0xa6,0x23,0x6c,0x31,0x17,0xc2,0x06,
|
|
||||||
0x75,0x59,0xa3,0xb9,0x1a,0x76,0x9a,0xde,0xb0,0x27,0xd3,0x1e,0x36,0xeb,0xcf,0x27,
|
|
||||||
0xcd,0xf1,0xf0,0xa8,0x3a,0x71,0x3a,0xc7,0xf5,0xb3,0xb3,0x3a,0x4d,0xa7,0xb6,0x7d,
|
|
||||||
0xc7,0xc3,0xa7,0x5a,0x0f,0x7a,0xb9,0x40,0x63,0x47,0x22,0xbf,0x05,0x8f,0x32,0x51,
|
|
||||||
0x7d,0x2d,0xe3,0xfc,0xb6,0xd4,0xce,0x29,0xd7,0xff,0xe3,0xfa,0xb8,0x9f,0x86,0xcf,
|
|
||||||
0xab,0xdc,0x7f,0xd3,0xe3,0xfe,0x96,0x66,0xdb,0xcc,0x1d,0x45,0xef,0x8b,0x7e,0x9d,
|
|
||||||
0x18,0x09,0x86,0xfc,0x98,0xb6,0x16,0x3d,0xef,0xcf,0xab,0xd3,0xea,0xf3,0x7d,0x9a,
|
|
||||||
0x85,0x9c,0xd5,0xcf,0x2f,0x9a,0x96,0xa0,0x5d,0xcf,0xb3,0x2e,0xff,0x1c,0x4b,0xe7,
|
|
||||||
0x9b,0x0b,0xea,0x9d,0x16,0x9d,0xbf,0x4f,0x97,0x33,0x32,0x6d,0x99,0x97,0x4c,0x53,
|
|
||||||
0xe0,0xee,0x2f,0x6d,0x31,0x1d,0xfa,0xb3,0xeb,0x37,0xbd,0x2a,0x17,0xe6,0x58,0x4f,
|
|
||||||
0x83,0x69,0xd4,0xf9,0xae,0x04,0x2d,0xba,0xae,0x66,0x75,0xd4,0x79,0xad,0xa3,0xd5,
|
|
||||||
0x17,0x9d,0xfe,0xac,0x7e,0x7e,0x51,0x97,0xdf,0xee,0x97,0xdf,0x9e,0x62,0x3b,0xce,
|
|
||||||
0x68,0xfd,0xae,0x49,0xcb,0x7e,0xdd,0x97,0xe9,0x8a,0x4e,0x5f,0xaf,0xde,0x3b,0x24,
|
|
||||||
0xbb,0xad,0xfa,0x46,0xd9,0x6b,0xf7,0xa8,0xe1,0x0e,0x28,0x7b,0xb4,0x36,0xb7,0x4d,
|
|
||||||
0x1d,0xb5,0x41,0x6b,0x61,0x35,0x6a,0x9e,0xad,0xea,0xaa,0xaf,0x0a,0xfa,0x1e,0x92,
|
|
||||||
0xfe,0xab,0xf5,0x73,0xed,0x92,0x2f,0xd4,0x81,0x6e,0xae,0x62,0xff,0x0b,0x75,0x69,
|
|
||||||
0x5b,0xd4,0x6d,0x3b,0x65,0xb7,0xc6,0x59,0x6e,0xab,0xfe,0xa6,0x46,0x7f,0xef,0xea,
|
|
||||||
0x83,0xdb,0xf4,0xf7,0xae,0x0c,0x75,0x72,0xcc,0x9e,0x96,0x3a,0x7b,0x52,0xff,0xc6,
|
|
||||||
0xd4,0xc9,0x09,0xdb,0xa0,0xfb,0xf2,0x8a,0xb4,0x99,0x6e,0x75,0x5d,0xe1,0x33,0x58,
|
|
||||||
0xe3,0xc7,0xf1,0x42,0x70,0xde,0x34,0xea,0x36,0x5e,0xd4,0xbf,0x39,0x57,0xc2,0xab,
|
|
||||||
0xe6,0x7a,0xd8,0x9a,0x69,0x8d,0xd1,0x16,0xb6,0x67,0xba,0xc3,0xbe,0xcc,0x50,0x38,
|
|
||||||
0x92,0x19,0x09,0x07,0x33,0x37,0xd5,0x79,0xdd,0xe1,0xcd,0xcc,0x40,0xa8,0xe7,0x6e,
|
|
||||||
0xcd,0x5d,0xfd,0xdd,0x40,0xa6,0x27,0xbc,0xa1,0xd3,0x25,0xe7,0x9b,0x9a,0xff,0x86,
|
|
||||||
0xe9,0xd1,0x69,0x46,0x6b,0x1e,0x9a,0xc9,0x9a,0xef,0x33,0x2f,0x4b,0x70,0xdc,0x4b,
|
|
||||||
0xdf,0x3e,0x9d,0xf4,0x6d,0xc8,0x09,0xad,0x37,0x65,0xdb,0xa4,0xa3,0xaf,0xf1,0x39,
|
|
||||||
0x76,0x5f,0x3d,0x5e,0xb9,0xf1,0x2f,0x0b,0x71,0x5f,0xe2,0x09,0x75,0xe2,0x59,0x6d,
|
|
||||||
0xef,0x5c,0xf4,0xf7,0x5c,0xf7,0x2e,0xd0,0xfd,0x3a,0xd5,0xe2,0xbf,0xdb,0x66,0x48,
|
|
||||||
0xcf,0xa7,0x5e,0x75,0xda,0x8d,0x7c,0x7f,0xe6,0x74,0xda,0xbd,0xf7,0xba,0x75,0xba,
|
|
||||||
0x5b,0xfe,0x7a,0x7f,0x7f,0xd4,0x07,0xea,0x5c,0x58,0xf8,0x2e,0x89,0xf8,0x32,0x3b,
|
|
||||||
0x75,0x9a,0x2e,0xf7,0xae,0x08,0x9d,0xa6,0x5f,0xe7,0xcd,0xad,0xa7,0x7d,0xd6,0xf5,
|
|
||||||
0x74,0x99,0x1e,0x9d,0xa7,0x37,0xe8,0xd6,0x7f,0xdf,0x28,0x3a,0xad,0xeb,0x77,0x75,
|
|
||||||
0xde,0xeb,0x8e,0x2f,0x3f,0x98,0x79,0x3b,0xae,0x38,0x17,0xab,0xff,0xce,0x68,0x1b,
|
|
||||||
0xf9,0x78,0xf6,0xb9,0xea,0x76,0xaf,0xba,0x6c,0x8f,0xaf,0x65,0xed,0xd4,0x5a,0xdb,
|
|
||||||
0x0e,0xfd,0xff,0xaf,0xf4,0xe7,0x7d,0xde,0x6f,0x2e,0x07,0xf5,0xdf,0x7b,0x12,0x9f,
|
|
||||||
0xaa,0x1d,0xd5,0x8c,0xc5,0xfc,0x77,0x28,0x9a,0x6b,0x7f,0x6c,0xae,0x1d,0xea,0xcc,
|
|
||||||
0x64,0xb2,0xbf,0xd5,0xfa,0xb4,0x5f,0xd7,0x7e,0xcd,0x5e,0xd9,0xe7,0xcb,0x73,0x5c,
|
|
||||||
0x5d,0xd7,0x20,0x8d,0x5a,0xde,0x1b,0xd1,0xfb,0x89,0x6e,0x9b,0x61,0xdd,0xae,0x9b,
|
|
||||||
0x7e,0x3f,0x74,0x78,0x5f,0xbb,0x6d,0xed,0x57,0xd7,0xe5,0xee,0x01,0x76,0x75,0x8d,
|
|
||||||
0x71,0x3f,0xd6,0xe4,0x51,0xe6,0x89,0xb6,0x45,0x1f,0x86,0x63,0x99,0x7b,0x35,0xa3,
|
|
||||||
0x99,0x3b,0x35,0x7a,0x2c,0x8a,0x30,0xaa,0x8e,0xbb,0x1f,0x8e,0x67,0x1e,0xd6,0x4c,
|
|
||||||
0x98,0x09,0x75,0xd8,0x58,0xa8,0xf5,0x2c,0x9d,0xef,0x61,0xcd,0xe3,0xcc,0x77,0x35,
|
|
||||||
0xdf,0x65,0x1e,0xd7,0x3c,0xcc,0x8c,0x85,0xf7,0xd4,0x6f,0xa3,0x33,0xcc,0x3f,0xaa,
|
|
||||||
0xf3,0xdf,0xd3,0xcf,0x27,0x74,0x7d,0xcf,0x8a,0xd7,0xfd,0xbc,0xe7,0x5c,0x5b,0x55,
|
|
||||||
0xeb,0x72,0xc1,0xf8,0x92,0xac,0xc7,0x2d,0xdc,0x7d,0xf6,0x4b,0xdb,0x7f,0x45,0xda,
|
|
||||||
0xce,0xfe,0x79,0x14,0x4d,0xd1,0xb8,0xf7,0x1b,0xda,0x16,0xe9,0x5b,0x92,0xef,0x05,
|
|
||||||
0x1c,0xc9,0x9e,0x67,0xc1,0x60,0x41,0x7f,0xe6,0x74,0x06,0x83,0xec,0x7b,0xc3,0x6e,
|
|
||||||
0x7b,0x86,0xd5,0x71,0xae,0x1f,0x74,0x70,0xda,0xbb,0xc4,0xe2,0xcb,0x1c,0xf4,0x0c,
|
|
||||||
0x47,0xf3,0xb8,0xdf,0x0d,0xcd,0xb9,0x9e,0x01,0x9d,0xc7,0xbd,0xe7,0xcc,0x4d,0x3b,
|
|
||||||
0x98,0x72,0xda,0xdc,0xf2,0x7b,0xd4,0x11,0x1d,0xd2,0x6c,0x9a,0xe5,0x9c,0xd6,0x0d,
|
|
||||||
0xdd,0x35,0xb1,0x63,0x76,0xbf,0x4c,0x8f,0xb3,0x58,0x36,0x07,0x0a,0x7e,0x5b,0x1b,
|
|
||||||
0xb5,0x6e,0x73,0x0e,0x2c,0xf6,0x79,0x71,0x03,0xd6,0xfa,0xe5,0xee,0x2f,0x92,0x23,
|
|
||||||
0x72,0x4c,0xbe,0x55,0xcf,0x5d,0xd6,0xef,0x4d,0x87,0x96,0xf7,0x56,0x62,0x3b,0x73,
|
|
||||||
0xfb,0x38,0xbb,0x3f,0x73,0xfb,0x31,0xfb,0xb9,0xfb,0xfd,0xdd,0xf0,0xbe,0x99,0x08,
|
|
||||||
0x1f,0x6b,0xdb,0xea,0x59,0x41,0xbd,0xeb,0xa5,0xfe,0xfc,0xdc,0xdf,0x7f,0xf0,0xb4,
|
|
||||||
0xe6,0xe9,0x9c,0xf8,0xfb,0xc7,0x6a,0xb2,0x3c,0xd3,0x79,0x1c,0xee,0xdf,0xcf,0x6b,
|
|
||||||
0x5e,0x28,0xd9,0x7b,0x5e,0x67,0x9b,0x3f,0x7b,0xfd,0xdf,0xad,0xf3,0xa5,0xff,0xb7,
|
|
||||||
0xaf,0xcf,0x45,0xf7,0x81,0xdd,0xe3,0xba,0xfa,0x1b,0xe0,0xbf,0xa2,0xcf,0xfc,0x97,
|
|
||||||
0xec,0xfb,0xf2,0x2e,0xfa,0xfb,0xbb,0x7b,0xdd,0x35,0x1a,0xbe,0x03,0x0b,0xf8,0x5d,
|
|
||||||
0x1a,0xf0,0xf7,0x92,0x76,0xf8,0xba,0xb8,0xab,0xd3,0x35,0xd9,0x7a,0x7f,0xaf,0xe9,
|
|
||||||
0x37,0x55,0xf7,0x8c,0xf5,0x6f,0xb4,0x5c,0xa7,0xfd,0xf3,0x4c,0x72,0xed,0x86,0xf4,
|
|
||||||
0xef,0x4a,0x8b,0xfa,0x1b,0xcd,0x93,0xe8,0x5e,0xd7,0x97,0x55,0xd0,0xbf,0xfa,0x32,
|
|
||||||
0x5f,0xa7,0xd3,0x7a,0x66,0x30,0xa6,0x75,0xba,0xbb,0x7c,0x1f,0xab,0xdc,0x7f,0xad,
|
|
||||||
0xd2,0xa2,0xdf,0xbf,0xb3,0x55,0xf0,0x0e,0x82,0x63,0xb1,0xe7,0xfb,0x64,0xdd,0xd8,
|
|
||||||
0x1a,0x3d,0xdf,0x67,0x84,0xef,0x48,0xec,0xbb,0x72,0xcb,0xef,0x93,0xde,0xe8,0x99,
|
|
||||||
0x95,0x57,0xfd,0xfe,0x6a,0xa8,0xfa,0x77,0xe5,0x1c,0x8f,0xae,0x91,0x5c,0x8e,0x9e,
|
|
||||||
0xdb,0x94,0xfe,0x1e,0xd8,0xd1,0xe8,0xde,0xd7,0x89,0x4c,0xf5,0x8c,0x21,0x7e,0x11,
|
|
||||||
0xdd,0xc7,0xfa,0x9d,0xef,0x87,0x78,0xa0,0x2e,0xbe,0xcb,0x77,0x73,0x49,0xfa,0xaf,
|
|
||||||
0xf0,0x59,0x34,0xdd,0xd1,0x3b,0xf6,0xbe,0x95,0x93,0x55,0x76,0x2e,0xe5,0xde,0xb9,
|
|
||||||
0xdc,0x18,0x3d,0xb7,0xf6,0x6a,0xf4,0x8c,0xc7,0x1b,0xd1,0x33,0x1e,0x6f,0x2d,0xf1,
|
|
||||||
0xef,0xc1,0x48,0xfe,0x39,0xba,0xed,0x91,0xdb,0x92,0xef,0xa6,0x3e,0xb6,0x44,0xde,
|
|
||||||
0x91,0x53,0xa7,0x7f,0xc7,0xea,0xfd,0x31,0xba,0x16,0x8d,0xa3,0x1a,0x92,0x52,0xc6,
|
|
||||||
0x4a,0x8c,0xa9,0xeb,0x1e,0x99,0xec,0x3d,0xfe,0xcf,0xab,0xa2,0x4e,0xe7,0xc6,0xca,
|
|
||||||
0x3d,0xc9,0x8e,0x27,0xc9,0xbc,0xde,0x7d,0x11,0x6f,0xb8,0xff,0xa6,0x31,0xac,0xe7,
|
|
||||||
0x63,0x87,0x7f,0x56,0x61,0x63,0xf6,0x79,0xd6,0x4b,0xe4,0x1d,0xa3,0xb9,0xf7,0xd2,
|
|
||||||
0x9f,0x89,0x5c,0xe9,0x68,0xce,0x3f,0xe7,0x3b,0x4b,0x57,0x91,0x67,0x7d,0x67,0x19,
|
|
||||||
0x2a,0xa1,0xad,0x59,0x9c,0xb6,0xfc,0xfa,0xae,0xf9,0xe7,0x82,0x67,0xcb,0xd2,0x90,
|
|
||||||
0x2f,0xdf,0x29,0x7b,0x64,0xc9,0xbe,0xb3,0xe1,0xb8,0xcd,0xbe,0xcb,0x75,0xea,0xfa,
|
|
||||||
0x6e,0x69,0xcf,0x19,0x76,0xcf,0x34,0x19,0x57,0xd7,0x3d,0x56,0xd7,0xb9,0xeb,0x65,
|
|
||||||
0x2f,0xaa,0xc6,0x75,0x8f,0xa3,0xb1,0xc0,0x5c,0xa7,0x7b,0xfd,0xfd,0x97,0x1d,0x2b,
|
|
||||||
0x39,0x96,0xba,0x8f,0xdd,0x3d,0x4f,0x2d,0xdb,0x66,0x76,0x6d,0xae,0x93,0x6f,0xf8,
|
|
||||||
0x7b,0xfb,0xde,0x84,0x1c,0x97,0xb8,0xe7,0x3a,0xe6,0xf1,0x3c,0xf5,0x51,0x75,0xc9,
|
|
||||||
0x83,0x68,0x0c,0xec,0x77,0x55,0xf2,0xdc,0xa6,0x17,0xd1,0x58,0x3a,0x75,0x9d,0x1b,
|
|
||||||
0x63,0x92,0xc1,0x75,0x6f,0xa6,0xff,0x66,0x7a,0x5e,0xe1,0xa3,0xe8,0x9a,0x46,0xfa,
|
|
||||||
0xe7,0x59,0x67,0xdf,0x67,0xda,0xe2,0xeb,0x37,0xbc,0xcf,0x74,0x69,0xe6,0x98,0x1e,
|
|
||||||
0xb7,0xd3,0xaf,0xe4,0xb9,0x5c,0xbf,0xc4,0x78,0xf4,0x6c,0x93,0xc9,0x62,0xcf,0x0f,
|
|
||||||
0xae,0x80,0xeb,0x26,0xa3,0xef,0xf5,0x18,0xd7,0xea,0xf0,0x5f,0x31,0xff,0x4d,0xe3,
|
|
||||||
0x65,0x34,0x16,0xd3,0xf5,0x67,0x95,0xf8,0xbd,0x91,0x21,0xff,0x1c,0x10,0xd7,0xf6,
|
|
||||||
0xbb,0xa8,0xe7,0xd4,0x59,0xf5,0xe2,0x89,0xd7,0xfa,0x5d,0xf6,0x4b,0x25,0x27,0xf2,
|
|
||||||
0x9e,0xbb,0x9a,0x7f,0xbe,0xfa,0xc8,0xfc,0x3c,0xe7,0xea,0x74,0xbe,0xbf,0xf3,0x59,
|
|
||||||
0x55,0xb4,0x5f,0x1d,0xcf,0x73,0xae,0xd3,0xb2,0xa9,0xeb,0x32,0xa3,0xf8,0x05,0xff,
|
|
||||||
0xcd,0xdb,0x7f,0x33,0x7f,0xbf,0x7c,0x9b,0x79,0xde,0x63,0x36,0xfb,0xf4,0x7c,0xbb,
|
|
||||||
0xa1,0x5e,0x6c,0xf1,0xd7,0xc3,0x4e,0x15,0x7d,0x27,0x14,0x79,0x95,0xbe,0xd6,0x53,
|
|
||||||
0x72,0x2e,0xef,0xb8,0xeb,0xd2,0xed,0xaf,0x47,0xde,0x9e,0xe7,0xbd,0x4a,0xee,0x99,
|
|
||||||
0x9c,0xd9,0xb6,0xeb,0xb3,0xaa,0xe8,0x93,0x88,0xdf,0x0f,0x96,0x1b,0x57,0xf7,0xa0,
|
|
||||||
0x94,0x77,0x4e,0x00,0xfe,0x9b,0xa7,0xff,0x8a,0x39,0xf1,0x69,0xb6,0x8f,0xcc,0xd7,
|
|
||||||
0x13,0xe7,0xd7,0x47,0x36,0xe8,0xcf,0xd1,0x2e,0x7f,0xbe,0x66,0xdd,0xd8,0x18,0xf5,
|
|
||||||
0x11,0x1c,0xc6,0x69,0x33,0xbc,0xc3,0xb5,0x3e,0xea,0xd7,0xb9,0xe2,0xfb,0x75,0x3a,
|
|
||||||
0x5f,0xf1,0x3d,0x39,0xf7,0xb2,0xd7,0xe8,0xdc,0x7d,0x99,0x51,0x7f,0x44,0x15,0x3d,
|
|
||||||
0xb3,0x29,0x7c,0x19,0x8d,0x37,0x71,0x7f,0x77,0x1f,0x9a,0x37,0xfa,0x5e,0x09,0xfc,
|
|
||||||
0x57,0x75,0xfe,0x2b,0xfe,0x9d,0x5d,0xc0,0x71,0xef,0xd2,0x17,0xf5,0xa9,0xb6,0x46,
|
|
||||||
0x7d,0xaa,0x97,0xa2,0xfe,0xd4,0xb3,0x51,0x5f,0x6a,0xdd,0x92,0x6f,0x5b,0x1f,0x8b,
|
|
||||||
0x7c,0xff,0x6d,0xd4,0x4f,0xdc,0x1c,0xf5,0x1d,0x77,0x2d,0xe0,0x38,0xc8,0xc8,0x73,
|
|
||||||
0x99,0xec,0x33,0xd6,0x27,0xab,0xef,0x99,0x9c,0xfe,0x39,0x26,0x93,0xd1,0x7d,0x61,
|
|
||||||
0xae,0x5f,0x8e,0x31,0xc4,0xf8,0x6f,0x09,0xfa,0xaf,0x28,0xb9,0xf7,0xe5,0x65,0x9f,
|
|
||||||
0xd1,0x73,0xbf,0x0c,0xd7,0xa3,0xa7,0xc6,0x9f,0x74,0xc6,0xc6,0xbb,0x34,0x9b,0xa9,
|
|
||||||
0xb1,0x30,0x8e,0x7a,0x7b,0x2a,0x36,0x0e,0xa5,0x90,0x74,0x6d,0xf2,0xa3,0x32,0xdb,
|
|
||||||
0x32,0x72,0xef,0x31,0xcc,0xd2,0x92,0x1f,0x7f,0xd3,0x1a,0x1b,0x23,0xd3,0xbf,0xe0,
|
|
||||||
0xdf,0xa7,0xbb,0xf9,0x6b,0x73,0xd9,0xb1,0x25,0xb9,0x77,0x81,0x55,0xdf,0x33,0xd6,
|
|
||||||
0x5f,0xe6,0x9f,0x43,0x97,0x6b,0x37,0xe0,0x02,0xfc,0xb7,0xb8,0xfe,0x7b,0x18,0x4e,
|
|
||||||
0x44,0xed,0x9d,0x97,0x55,0x30,0xa6,0xbe,0xf0,0xf9,0x65,0xf7,0x69,0xeb,0xcc,0x38,
|
|
||||||
0x6e,0xce,0xed,0x97,0xf8,0x3b,0x5c,0x27,0xab,0xfe,0x5d,0x39,0x05,0xe3,0x4d,0x18,
|
|
||||||
0x5b,0x07,0x55,0x38,0xfe,0x39,0x7b,0x0d,0xe8,0x71,0x54,0x67,0xa8,0xbe,0x76,0x51,
|
|
||||||
0xee,0xfe,0xca,0xa9,0x67,0xa0,0x65,0xc7,0x2e,0x16,0x7f,0x46,0xed,0x52,0x22,0xf7,
|
|
||||||
0x1c,0xdd,0xf1,0xe8,0x79,0xbc,0xc9,0x77,0x53,0xbf,0x58,0x22,0xef,0xf4,0x7a,0x9e,
|
|
||||||
0xbf,0x37,0x6c,0x42,0x5d,0x47,0xbf,0x04,0x2c,0xdd,0xfb,0x3f,0xdc,0xbd,0x97,0xe3,
|
|
||||||
0xd1,0xb5,0xa2,0xa5,0xf3,0x2e,0xbe,0xc2,0xf7,0xd2,0x7f,0x97,0x7b,0xce,0x50,0xe4,
|
|
||||||
0x95,0x6c,0xdd,0x72,0x2c,0x73,0xbf,0xe8,0xf3,0xbe,0xd3,0xb6,0xc9,0xef,0x9a,0xd9,
|
|
||||||
0x96,0x71,0xdf,0xb7,0x41,0xb3,0xeb,0x9b,0xc8,0x97,0x23,0x3b,0x2e,0x2e,0x57,0xc6,
|
|
||||||
0x97,0x4b,0xf6,0xbd,0x0d,0x09,0xcf,0xf9,0xeb,0xbb,0xb4,0x5f,0xe1,0xf5,0xf2,0x5f,
|
|
||||||
0xb1,0x67,0xb7,0x4e,0x98,0xaa,0xbc,0x76,0x0e,0x65,0xa8,0xcf,0xbd,0x48,0x78,0x2e,
|
|
||||||
0xfb,0xcc,0x61,0xce,0x59,0x78,0x33,0xfd,0x57,0x74,0x8c,0x58,0xbe,0x8e,0xc3,0xfb,
|
|
||||||
0x4c,0x5f,0x13,0xcf,0x51,0x9f,0x03,0xfc,0x37,0x6f,0x46,0xb3,0xcf,0x68,0x0b,0xb3,
|
|
||||||
0xcf,0x68,0x7b,0x5a,0x25,0xf7,0x42,0xe1,0xb9,0xa9,0x76,0xeb,0xa3,0xfc,0xf3,0xd5,
|
|
||||||
0x39,0x07,0x01,0xff,0x2d,0xd6,0xf3,0xfe,0xb3,0xcf,0x38,0x9a,0xc8,0xbf,0x13,0xfa,
|
|
||||||
0x05,0x5e,0x5a,0xf0,0x7b,0xc0,0x72,0xef,0x90,0x70,0x8e,0xcb,0xbd,0x07,0x8c,0x7e,
|
|
||||||
0x08,0xc0,0x7f,0xd5,0xfa,0xfe,0xf3,0x6c,0x5f,0xc2,0x98,0xef,0x33,0x98,0x88,0xfa,
|
|
||||||
0x3e,0xbf,0xe7,0x1a,0x63,0xd1,0x77,0xb8,0x3e,0x4d,0xf4,0xeb,0x8c,0xbd,0xf6,0xef,
|
|
||||||
0xc9,0x01,0xfc,0xf7,0x3a,0xfb,0xaf,0xb4,0x71,0x6f,0xb9,0xb1,0xbd,0xd9,0xb1,0x8b,
|
|
||||||
0xdf,0x57,0xd7,0xfd,0x5a,0xaf,0x30,0x46,0x2e,0xfe,0x6e,0x6a,0x37,0x56,0x2e,0x72,
|
|
||||||
0x5b,0x86,0x71,0x90,0x80,0xff,0xde,0x64,0xff,0x95,0x3e,0x8e,0x2e,0xdb,0xce,0xce,
|
|
||||||
0xfb,0x32,0x36,0x16,0x26,0xee,0xcd,0x99,0x79,0x51,0xc2,0x98,0xed,0xe2,0x4c,0xc6,
|
|
||||||
0xd6,0x37,0x31,0x35,0xfe,0x26,0x36,0x46,0x86,0x71,0xc0,0x80,0xff,0xf0,0x1f,0x00,
|
|
||||||
0xe0,0x3f,0xfc,0x07,0x00,0xf8,0x0f,0xff,0x01,0x00,0xfe,0xc3,0x7f,0x00,0x80,0xff,
|
|
||||||
0xf0,0x1f,0x00,0xe0,0x3f,0xfc,0x07,0x00,0xf8,0x0f,0xff,0x01,0x00,0xfe,0xc3,0x7f,
|
|
||||||
0x00,0x80,0xff,0xf0,0x1f,0x00,0xe0,0x3f,0xfc,0x07,0x00,0xf8,0x0f,0xff,0x01,0x00,
|
|
||||||
0xfe,0xc3,0x7f,0x00,0x80,0xff,0xf0,0x1f,0x00,0xe0,0x3f,0x00,0x00,0xfc,0x07,0x00,
|
|
||||||
0x80,0xff,0x00,0x00,0xf0,0x1f,0x00,0x00,0xfe,0x03,0x00,0xc0,0x7f,0x00,0x00,0xf8,
|
|
||||||
0x0f,0x00,0x00,0xff,0x01,0x00,0xe0,0x3f,0x00,0x00,0xfc,0x07,0x00,0x80,0xff,0x00,
|
|
||||||
0x00,0xf0,0x1f,0x00,0x00,0xfe,0x03,0x00,0xfc,0x87,0xff,0x00,0x00,0xff,0xe1,0x3f,
|
|
||||||
0x00,0xc0,0x7f,0xf8,0x0f,0x00,0xf0,0x1f,0xfe,0x03,0x00,0xfc,0x87,0xff,0x00,0x00,
|
|
||||||
0xff,0xe1,0x3f,0x00,0xc0,0x7f,0xf8,0x0f,0x00,0xf0,0x1f,0xfe,0x03,0x00,0xfc,0x87,
|
|
||||||
0xff,0x00,0x00,0xff,0xe1,0x3f,0x00,0xc0,0x7f,0xf8,0x0f,0x00,0xf0,0x1f,0xfe,0x03,
|
|
||||||
0x00,0xfc,0xc7,0xfe,0x07,0x00,0xfc,0x07,0x00,0x80,0xff,0x00,0x00,0xf0,0x1f,0x00,
|
|
||||||
0x00,0xfe,0x03,0x00,0xc0,0x7f,0x00,0x00,0xf8,0x0f,0x00,0x00,0xff,0x01,0x00,0xe0,
|
|
||||||
0x3f,0x00,0x00,0xfc,0x07,0x00,0x80,0xff,0x00,0x00,0xf0,0x1f,0x00,0x00,0xfe,0x03,
|
|
||||||
0x00,0xc0,0x7f,0x00,0x80,0xff,0xf0,0x1f,0x00,0xe0,0x3f,0xfc,0x07,0x00,0xf8,0x0f,
|
|
||||||
0xff,0x01,0x00,0xfe,0xc3,0x7f,0x00,0x80,0xff,0xf0,0x1f,0x00,0xe0,0x3f,0xfc,0x07,
|
|
||||||
0x00,0xf8,0x0f,0xff,0x01,0x00,0xfe,0xc3,0x7f,0x00,0x80,0xff,0xf0,0x1f,0x00,0xe0,
|
|
||||||
0x3f,0xfc,0x07,0x00,0xf8,0x0f,0xff,0x01,0x00,0xfe,0xc3,0x7f,0x00,0x80,0xff,0xd8,
|
|
||||||
0xff,0x00,0x80,0xff,0x00,0x00,0xf0,0x1f,0x00,0x00,0xfe,0x03,0x00,0xc0,0x7f,0x00,
|
|
||||||
0x00,0xf8,0x0f,0x00,0x00,0xff,0x01,0x00,0xe0,0x3f,0x00,0x00,0xfc,0x07,0x00,0x80,
|
|
||||||
0xff,0x00,0x00,0xf0,0x1f,0x00,0x00,0xfe,0x03,0x00,0xc0,0x7f,0x00,0x00,0xf8,0x0f,
|
|
||||||
0x00,0xf0,0x1f,0xfe,0x03,0x00,0xfc,0x87,0xff,0x00,0x00,0xff,0xe1,0x3f,0x00,0xc0,
|
|
||||||
0x7f,0xf8,0x0f,0x00,0xf0,0x1f,0xfe,0x03,0x00,0xfc,0x87,0xff,0x00,0x00,0xff,0xe1,
|
|
||||||
0x3f,0x00,0xc0,0x7f,0xf8,0x0f,0x00,0xf0,0x1f,0xfe,0x03,0x00,0xfc,0x87,0xff,0x00,
|
|
||||||
0x00,0xff,0xe1,0x3f,0x00,0xc0,0x7f,0xf8,0x0f,0x00,0xf0,0x1f,0x00,0x00,0xfe,0x03,
|
|
||||||
0x00,0xc0,0x7f,0x00,0x00,0xf8,0x0f,0x00,0x00,0xff,0x01,0x00,0xe0,0x3f,0x00,0x00,
|
|
||||||
0xfc,0x07,0x00,0x80,0xff,0x00,0x00,0xf0,0x1f,0x00,0x00,0xfe,0x03,0x00,0xc0,0x7f,
|
|
||||||
0x00,0x00,0xf8,0x0f,0x00,0x00,0xff,0x01,0x00,0xe0,0x3f,0x00,0xc0,0x7f,0xf8,0x0f,
|
|
||||||
0x00,0xf0,0x1f,0xfe,0x03,0x00,0xfc,0x87,0xff,0x00,0x00,0xff,0xe1,0x3f,0x00,0xc0,
|
|
||||||
0x7f,0xf8,0x0f,0x00,0xf0,0x1f,0xfe,0x03,0x00,0xfc,0x87,0xff,0x00,0x00,0xff,0xe1,
|
|
||||||
0x3f,0x00,0xc0,0x7f,0xf8,0x0f,0x00,0xf0,0x1f,0xfe,0x03,0x00,0xfc,0x87,0xff,0x00,
|
|
||||||
0x00,0xff,0xe1,0x3f,0x00,0xc0,0x7f,0x00,0x00,0xf8,0x0f,0x00,0x00,0xff,0x01,0x00,
|
|
||||||
0xe0,0x3f,0x00,0x00,0xfc,0x07,0x00,0x80,0xff,0x00,0x00,0x96,0xb6,0xff,0x86,0xf1,
|
|
||||||
0x1f,0x00,0x50,0xff,0x03,0x00,0xc0,0x7f,0x00,0x00,0xf8,0x0f,0x00,0x00,0xff,0x01,
|
|
||||||
0x00,0xe0,0x3f,0x00,0x00,0xfc,0x07,0x00,0x80,0xff,0x00,0x00,0xf0,0x1f,0x00,0x00,
|
|
||||||
0xfe,0x03,0x00,0xc0,0x7f,0x00,0x00,0xf8,0x0f,0x00,0x00,0xff,0x01,0x00,0xe0,0x3f,
|
|
||||||
0x00,0xc0,0x7f,0xf8,0x0f,0x00,0xf0,0x1f,0xfe,0x03,0x00,0xfc,0x87,0xff,0x00,0x00,
|
|
||||||
0xff,0xe1,0x3f,0x00,0xc0,0x7f,0xf8,0x0f,0x00,0xf0,0x1f,0xfe,0x03,0x00,0xfc,0x87,
|
|
||||||
0xff,0x00,0x00,0xff,0xe1,0x3f,0x00,0xc0,0x7f,0xf8,0x0f,0x00,0xf0,0x1f,0xfe,0x03,
|
|
||||||
0x00,0xfc,0x87,0xff,0x00,0x00,0xff,0xe1,0x3f,0x00,0xc0,0x7f,0xec,0x7f,0x00,0xc0,
|
|
||||||
0x7f,0x00,0x00,0xf8,0x0f,0x00,0x00,0xff,0x01,0x00,0xe0,0x3f,0x00,0x00,0xfc,0x07,
|
|
||||||
0x00,0x80,0xff,0x00,0x00,0xf0,0x1f,0x00,0x00,0xfe,0x03,0x00,0xc0,0x7f,0x00,0x00,
|
|
||||||
0xf8,0x0f,0x00,0x00,0xff,0x01,0x00,0xe0,0x3f,0x00,0x00,0xfc,0x07,0x00,0xf8,0x0f,
|
|
||||||
0xff,0x01,0x00,0xfe,0xc3,0x7f,0x00,0x80,0xff,0xf0,0x1f,0x00,0xe0,0x3f,0xfc,0x07,
|
|
||||||
0x00,0xf8,0x0f,0xff,0x01,0x00,0xfe,0xc3,0x7f,0x00,0x80,0xff,0xf0,0x1f,0x00,0xe0,
|
|
||||||
0x3f,0xfc,0x07,0x00,0xf8,0x0f,0xff,0x01,0x00,0xfe,0xc3,0x7f,0x00,0x80,0xff,0xf0,
|
|
||||||
0x1f,0x00,0xe0,0x3f,0xfc,0x07,0x00,0xf8,0x8f,0xfd,0x0f,0x00,0xf8,0x0f,0x00,0x00,
|
|
||||||
0xff,0x01,0x00,0xe0,0x3f,0x00,0x00,0xfc,0x07,0x00,0x80,0xff,0x00,0x00,0xf0,0x1f,
|
|
||||||
0x00,0x00,0xfe,0x03,0x00,0xc0,0x7f,0x00,0x00,0xf8,0x0f,0x00,0x00,0xff,0x01,0x00,
|
|
||||||
0xe0,0x3f,0x00,0x00,0xfc,0x07,0x00,0x80,0xff,0x00,0x00,0xff,0xe1,0x3f,0x00,0xc0,
|
|
||||||
0x7f,0xf8,0x0f,0x00,0xf0,0x1f,0xfe,0x03,0x00,0xfc,0x87,0xff,0x00,0x00,0xff,0xe1,
|
|
||||||
0x3f,0x00,0xc0,0x7f,0xf8,0x0f,0x00,0xf0,0x1f,0xfe,0x03,0x00,0xfc,0x87,0xff,0x00,
|
|
||||||
0x00,0xff,0xe1,0x3f,0x00,0xc0,0x7f,0xf8,0x0f,0x00,0xf0,0x1f,0xfe,0x03,0x00,0xfc,
|
|
||||||
0x87,0xff,0x00,0x00,0xff,0x01,0x00,0xe0,0x3f,0x00,0x00,0xfc,0x07,0x00,0x80,0xff,
|
|
||||||
0x00,0x00,0xf0,0x1f,0x00,0x00,0xfe,0x03,0x00,0xc0,0x7f,0x00,0x00,0xf8,0x0f,0x00,
|
|
||||||
0x00,0xff,0x01,0x00,0xe0,0x3f,0x00,0x00,0xfc,0x07,0x00,0x80,0xff,0x00,0x00,0xf0,
|
|
||||||
0x1f,0x00,0x00,0xfe,0x03,0x00,0xfc,0x87,0xff,0x00,0x00,0xff,0xe1,0x3f,0x00,0xc0,
|
|
||||||
0x7f,0xf8,0x0f,0x00,0xf0,0x1f,0xfe,0x03,0x00,0xfc,0x87,0xff,0x00,0x00,0xff,0xe1,
|
|
||||||
0x3f,0x00,0xc0,0x7f,0xf8,0x0f,0x00,0xf0,0x1f,0xfe,0x03,0x00,0xfc,0x87,0xff,0x00,
|
|
||||||
0x00,0xff,0xe1,0x3f,0x00,0xc0,0x7f,0xf8,0x0f,0x00,0xf0,0x1f,0xfe,0x03,0x00,0xfc,
|
|
||||||
0x07,0x00,0x80,0xff,0x00,0x00,0xf0,0x1f,0x00,0x00,0xfe,0x03,0x00,0xc0,0x7f,0x00,
|
|
||||||
0x00,0xf8,0x0f,0x00,0x00,0xff,0x01,0x00,0xe0,0x3f,0x00,0x00,0xfc,0x07,0x00,0x80,
|
|
||||||
0xff,0x00,0x00,0xf0,0x1f,0x00,0x00,0xfe,0x03,0x00,0xc0,0x7f,0x00,0x80,0xff,0xf0,
|
|
||||||
0x1f,0x00,0xe0,0x3f,0xfc,0x07,0x00,0xf8,0x0f,0xff,0x01,0x00,0xfe,0xc3,0x7f,0x00,
|
|
||||||
0x80,0xff,0xf0,0x1f,0x00,0xe0,0x3f,0xfc,0x07,0x00,0xf8,0x0f,0xff,0x01,0x00,0xfe,
|
|
||||||
0xc3,0x7f,0x00,0x80,0xff,0xf0,0x1f,0x00,0xe0,0x3f,0xfc,0x07,0x00,0xf8,0x0f,0xff,
|
|
||||||
0x01,0x00,0xfe,0xc3,0x7f,0x00,0x80,0xff,0xf0,0x1f,0x00,0xe0,0x3f,0x00,0x00,0xfc,
|
|
||||||
0x07,0x00,0x80,0xff,0x00,0x00,0xf0,0x1f,0x00,0x00,0xfe,0x03,0x00,0xc0,0x7f,0x00,
|
|
||||||
0x00,0xf8,0x0f,0x00,0x00,0xff,0x01,0x00,0xe0,0x3f,0x00,0x00,0xfc,0x07,0x00,0x80,
|
|
||||||
0xff,0x00,0x00,0xf0,0x1f,0x00,0x00,0xfe,0x03,0x00,0xfc,0x87,0xff,0x00,0x00,0xff,
|
|
||||||
0xe1,0x3f,0x00,0xc0,0x7f,0xf8,0x0f,0x00,0xf0,0x1f,0xfe,0x03,0x00,0xfc,0x87,0xff,
|
|
||||||
0x00,0x00,0xff,0xe1,0x3f,0x00,0xc0,0x7f,0xf8,0x0f,0x00,0xf0,0x1f,0xfe,0x03,0x00,
|
|
||||||
0xfc,0x87,0xff,0x00,0x00,0xff,0xe1,0x3f,0x00,0xc0,0x7f,0xf8,0x0f,0x00,0xf0,0x1f,
|
|
||||||
0xfe,0x03,0x00,0xfc,0xc7,0xfe,0x07,0x00,0xfc,0x07,0x00,0x80,0xff,0x00,0x00,0xf0,
|
|
||||||
0x1f,0x00,0x00,0xfe,0x03,0x00,0xc0,0x7f,0x00,0x00,0xf8,0x0f,0x00,0x00,0xff,0x01,
|
|
||||||
0x00,0xe0,0x3f,0x00,0x00,0xfc,0x07,0x00,0x80,0xff,0x00,0x00,0xf0,0x1f,0x00,0x00,
|
|
||||||
0xfe,0x03,0x00,0xc0,0x7f,0x00,0x80,0xff,0xf0,0x1f,0x00,0xe0,0x3f,0xfc,0x07,0x00,
|
|
||||||
0xf8,0x0f,0xff,0x01,0x00,0xfe,0xc3,0x7f,0x00,0x80,0xff,0xf0,0x1f,0x00,0xe0,0x3f,
|
|
||||||
0xfc,0x07,0x00,0xf8,0x0f,0xff,0x01,0x00,0xfe,0xc3,0x7f,0x00,0x80,0xff,0xf0,0x1f,
|
|
||||||
0x00,0xe0,0x3f,0xfc,0x07,0x00,0xf8,0x0f,0xff,0x01,0x00,0xfe,0xc3,0x7f,0x00,0x80,
|
|
||||||
0xff,0xd8,0xff,0x00,0x80,0xff,0x00,0x00,0xf0,0x1f,0x00,0x00,0xfe,0x03,0x00,0xc0,
|
|
||||||
0x7f,0x00,0x00,0xf8,0x0f,0x00,0x00,0xff,0x01,0x00,0xe0,0x3f,0x00,0x00,0xfc,0x07,
|
|
||||||
0x00,0x80,0xff,0x00,0x00,0xf0,0x1f,0x00,0x00,0xfe,0x03,0x00,0xc0,0x7f,0x00,0x00,
|
|
||||||
0xf8,0x0f,0x00,0xf0,0x1f,0xfe,0x03,0x00,0xfc,0x87,0xff,0x00,0x00,0xff,0xe1,0x3f,
|
|
||||||
0x00,0xc0,0x7f,0xf8,0x0f,0x00,0xf0,0x1f,0xfe,0x03,0x00,0xfc,0x87,0xff,0x00,0x00,
|
|
||||||
0xff,0xe1,0x3f,0x00,0xc0,0x7f,0xf8,0x0f,0x00,0xf0,0x1f,0xfe,0x03,0x00,0xfc,0x87,
|
|
||||||
0xff,0x00,0x00,0xff,0xe1,0x3f,0x00,0xc0,0x7f,0xf8,0x0f,0x00,0xf0,0x1f,0x00,0x00,
|
|
||||||
0xfe,0x03,0x00,0xc0,0x7f,0x00,0x00,0xf8,0x0f,0x00,0x00,0xff,0x01,0x00,0xe0,0x3f,
|
|
||||||
0x00,0x00,0xfc,0x07,0x00,0x80,0xff,0x00,0x00,0xf0,0x1f,0x00,0x00,0xfe,0x03,0x00,
|
|
||||||
0xc0,0x7f,0x00,0x00,0xf8,0x0f,0x00,0x00,0xff,0x01,0x00,0xe0,0x3f,0x00,0xc0,0x7f,
|
|
||||||
0xf8,0x0f,0x00,0xf0,0x1f,0xfe,0x03,0x00,0xfc,0x87,0xff,0x00,0x00,0xff,0xe1,0x3f,
|
|
||||||
0x00,0xc0,0x7f,0xf8,0x0f,0x00,0xf0,0x1f,0xfe,0x03,0x00,0xfc,0x87,0xff,0x00,0x00,
|
|
||||||
0xff,0x95,0xe0,0xbf,0x11,0x19,0x31,0x00,0x00,0x95,0xa3,0x82,0xfe,0x0b,0x74,0xfd,
|
|
||||||
0x00,0x00,0x95,0x62,0x51,0xfd,0xf7,0x38,0x11,0xf6,0x3f,0x00,0x54,0xd6,0x7f,0x8f,
|
|
||||||
0x6d,0xdc,0x49,0xe5,0xf5,0xdf,0xa3,0x44,0xa8,0x7b,0x03,0x40,0x65,0x79,0x64,0xe3,
|
|
||||||
0x4e,0x2a,0xaf,0xff,0x26,0x12,0xb9,0x1d,0xdc,0x36,0x00,0x00,0x15,0x43,0x26,0x6c,
|
|
||||||
0xdc,0x49,0xf8,0x0f,0x00,0xf0,0x5f,0x39,0xf2,0x30,0x91,0xdb,0xe2,0xd6,0x0f,0x00,
|
|
||||||
0x50,0x29,0x1e,0xda,0xb8,0x93,0xca,0xeb,0xbf,0xf1,0x44,0x86,0x83,0x61,0x03,0x00,
|
|
||||||
0x50,0x31,0x64,0xdc,0xc6,0x9d,0x54,0x5e,0xff,0x8d,0x25,0x32,0x2c,0x6e,0xfd,0x00,
|
|
||||||
0x00,0x95,0x62,0xcc,0xc6,0x9d,0x54,0x5e,0xff,0x3d,0x48,0x64,0x48,0x86,0x0c,0x00,
|
|
||||||
0x40,0xe5,0x78,0x60,0xe3,0x4e,0x2a,0xaf,0xff,0xee,0x27,0xc2,0xbe,0x07,0x80,0xca,
|
|
||||||
0x72,0xdf,0xc6,0x9d,0x54,0x5e,0xff,0xdd,0x4b,0x64,0x50,0x06,0x0d,0x00,0x40,0xe5,
|
|
||||||
0xb8,0x67,0xe3,0x4e,0x2a,0xaf,0xff,0xee,0x26,0xa2,0xeb,0xb7,0x00,0x00,0x95,0xe3,
|
|
||||||
0xae,0x8d,0x3b,0xa9,0xbc,0xfe,0xbb,0x93,0xc8,0x80,0x0c,0x18,0x00,0x80,0xca,0x71,
|
|
||||||
0xc7,0xc6,0x9d,0x54,0x5e,0xff,0x8d,0x24,0xa2,0xeb,0xb7,0x00,0x00,0x95,0x63,0xc4,
|
|
||||||
0xc6,0x9d,0x54,0x5e,0xff,0xdd,0x4e,0xa4,0x5f,0xfa,0x0d,0x00,0x40,0xe5,0xb8,0x6d,
|
|
||||||
0xe3,0x4e,0x5a,0x64,0xff,0x59,0x00,0x80,0xca,0x31,0x6c,0x87,0x65,0x2a,0xe5,0xf5,
|
|
||||||
0xdf,0x60,0x22,0xb7,0xe4,0x96,0x05,0x00,0xa8,0x1c,0xbe,0x1f,0x24,0x9f,0xf2,0xfa,
|
|
||||||
0x6f,0x20,0x11,0xf6,0x3d,0x00,0x54,0x16,0x7f,0x1d,0x30,0x6f,0xa4,0x72,0xfb,0xaf,
|
|
||||||
0x3f,0x96,0x3e,0xe9,0xb3,0x00,0x00,0x95,0xc3,0xb7,0x83,0xa3,0x74,0x95,0xd9,0x7f,
|
|
||||||
0xde,0x79,0xf1,0xb0,0xff,0x01,0xa0,0xd2,0x44,0xb9,0x5a,0xf6,0xfa,0xdf,0xcd,0x64,
|
|
||||||
0x2c,0x00,0x40,0x85,0x89,0x72,0xae,0xec,0xfd,0x1f,0x3d,0x89,0xb0,0xef,0x01,0xa0,
|
|
||||||
0x72,0x24,0x7d,0x54,0x57,0x66,0xff,0x2d,0xd3,0x75,0x74,0xc7,0xd2,0x23,0xbd,0xd2,
|
|
||||||
0x6b,0x01,0x00,0x16,0x9f,0x1e,0x1b,0xb7,0x51,0x67,0xd9,0xed,0xb7,0x4c,0x7d,0xd7,
|
|
||||||
0x99,0x48,0x37,0xc7,0x01,0x00,0x2a,0x80,0x1a,0xcf,0xc6,0x5d,0x74,0x69,0x11,0xfc,
|
|
||||||
0xd7,0x2f,0x37,0x0a,0xd2,0xe5,0xea,0xa0,0x00,0x00,0x8b,0x48,0x97,0x2d,0x34,0xd1,
|
|
||||||
0xa9,0x45,0xf0,0x9f,0x6b,0x01,0x77,0x14,0xe4,0x86,0x74,0x73,0x3c,0x00,0x60,0x91,
|
|
||||||
0xe8,0x56,0xf7,0x15,0x5a,0xe8,0xc2,0xa2,0xd8,0x6f,0x99,0x0c,0xe9,0xba,0xda,0xa6,
|
|
||||||
0xa5,0x43,0x7d,0xdc,0xcd,0xb1,0x01,0x80,0x32,0xd2,0x2d,0x5d,0xce,0x3f,0xb6,0xd0,
|
|
||||||
0x3f,0x2d,0x8b,0x64,0x3f,0x97,0x5b,0xd2,0x4a,0x08,0x21,0x55,0x93,0x93,0x8b,0xe8,
|
|
||||||
0xbf,0x65,0xd2,0x2d,0xd7,0x08,0x21,0xa4,0x2a,0x72,0x76,0x51,0xed,0xe7,0xd2,0x21,
|
|
||||||
0x17,0x09,0x21,0xa4,0xe2,0x39,0xbd,0xe8,0xf6,0x73,0xe9,0x92,0x0b,0x52,0x4f,0x08,
|
|
||||||
0x21,0x15,0xcb,0x29,0x39,0x22,0xb5,0x15,0xf1,0x9f,0x4b,0xb3,0x1c,0x27,0x84,0x90,
|
|
||||||
0x8a,0xe4,0x88,0x1c,0xd2,0x2c,0xab,0x60,0xda,0xe5,0x9c,0x1c,0x56,0x03,0x13,0x42,
|
|
||||||
0xc8,0xe2,0xc5,0x99,0xef,0xb0,0xcf,0xb2,0x8a,0xa7,0x5b,0xae,0x68,0x5d,0xf4,0x98,
|
|
||||||
0xec,0x23,0x84,0x90,0xb2,0xe5,0x80,0x1c,0xf4,0xde,0x3b,0x92,0xcf,0x32,0x42,0x08,
|
|
||||||
0x21,0x84,0x10,0x42,0x08,0x21,0x84,0x10,0x42,0x08,0x21,0x84,0x10,0x42,0x08,0x21,
|
|
||||||
0x84,0x10,0x42,0x08,0x21,0x84,0x10,0x42,0x08,0x21,0x84,0x10,0x42,0x08,0x21,0x84,
|
|
||||||
0x10,0x42,0x08,0x21,0x84,0x10,0x42,0x08,0x21,0x84,0x10,0x42,0x08,0x21,0x84,0x54,
|
|
||||||
0x79,0xfe,0x3f,0x57,0x9d,0xaa,0x31};
|
|
@ -29,25 +29,25 @@
|
|||||||
u32
|
u32
|
||||||
FLIP32 (u32 b)
|
FLIP32 (u32 b)
|
||||||
{
|
{
|
||||||
unsigned int c;
|
unsigned int c;
|
||||||
|
|
||||||
c = (b & 0xff000000) >> 24;
|
c = (b & 0xff000000) >> 24;
|
||||||
c |= (b & 0xff0000) >> 8;
|
c |= (b & 0xff0000) >> 8;
|
||||||
c |= (b & 0xff00) << 8;
|
c |= (b & 0xff00) << 8;
|
||||||
c |= (b & 0xff) << 24;
|
c |= (b & 0xff) << 24;
|
||||||
|
|
||||||
return c;
|
return c;
|
||||||
}
|
}
|
||||||
|
|
||||||
u16
|
u16
|
||||||
FLIP16 (u16 b)
|
FLIP16 (u16 b)
|
||||||
{
|
{
|
||||||
u16 c;
|
u16 c;
|
||||||
|
|
||||||
c = (b & 0xff00) >> 8;
|
c = (b & 0xff00) >> 8;
|
||||||
c |= (b & 0xff) << 8;
|
c |= (b & 0xff) << 8;
|
||||||
|
|
||||||
return c;
|
return c;
|
||||||
}
|
}
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
@ -58,14 +58,14 @@ FLIP16 (u16 b)
|
|||||||
int
|
int
|
||||||
IsZipFile (char *buffer)
|
IsZipFile (char *buffer)
|
||||||
{
|
{
|
||||||
unsigned int *check;
|
unsigned int *check;
|
||||||
|
|
||||||
check = (unsigned int *) buffer;
|
check = (unsigned int *) buffer;
|
||||||
|
|
||||||
if (check[0] == PKZIPID)
|
if (check[0] == PKZIPID)
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
@ -73,112 +73,134 @@ IsZipFile (char *buffer)
|
|||||||
*
|
*
|
||||||
* It should be noted that there is a limit of 5MB total size for any ROM
|
* It should be noted that there is a limit of 5MB total size for any ROM
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
int
|
unsigned char * uzipbuffer;
|
||||||
UnZipBuffer (unsigned char *outbuffer, u64 discoffset, short where, FILE* filehandle)
|
|
||||||
|
int UnZipBuffer(unsigned char *outbuffer, unsigned char *inbuffer)
|
||||||
{
|
{
|
||||||
PKZIPHEADER pkzip;
|
uzipbuffer = inbuffer;
|
||||||
int zipoffset = 0;
|
return UnZipBuffer(outbuffer, 0, 2, NULL);
|
||||||
int zipchunk = 0;
|
}
|
||||||
char out[ZIPCHUNK];
|
|
||||||
z_stream zs;
|
int
|
||||||
int res;
|
UnZipBuffer (unsigned char *outbuffer, u64 inoffset, short where, FILE* filehandle)
|
||||||
int bufferoffset = 0;
|
{
|
||||||
int have = 0;
|
PKZIPHEADER pkzip;
|
||||||
char readbuffer[2048];
|
int zipoffset = 0;
|
||||||
char msg[128];
|
int zipchunk = 0;
|
||||||
|
char out[ZIPCHUNK];
|
||||||
|
z_stream zs;
|
||||||
|
int res;
|
||||||
|
int bufferoffset = 0;
|
||||||
|
int have = 0;
|
||||||
|
char readbuffer[2048];
|
||||||
|
char msg[128];
|
||||||
|
|
||||||
/*** Read Zip Header ***/
|
/*** Read Zip Header ***/
|
||||||
switch (where) {
|
switch (where)
|
||||||
case 0: // SD Card
|
{
|
||||||
|
case 0: // SD Card
|
||||||
fseek(filehandle, 0, SEEK_SET);
|
fseek(filehandle, 0, SEEK_SET);
|
||||||
fread (readbuffer, 1, 2048, filehandle); break;
|
fread (readbuffer, 1, 2048, filehandle);
|
||||||
case 1: // DVD
|
break;
|
||||||
dvd_read (readbuffer, 2048, discoffset); break;
|
|
||||||
}
|
case 1: // DVD
|
||||||
|
dvd_read (readbuffer, 2048, inoffset);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 2: // From buffer
|
||||||
|
memcpy(readbuffer, uzipbuffer, 2048);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
/*** Copy PKZip header to local, used as info ***/
|
/*** Copy PKZip header to local, used as info ***/
|
||||||
memcpy (&pkzip, readbuffer, sizeof (PKZIPHEADER));
|
memcpy (&pkzip, readbuffer, sizeof (PKZIPHEADER));
|
||||||
|
|
||||||
pkzip.uncompressedSize = FLIP32 (pkzip.uncompressedSize);
|
pkzip.uncompressedSize = FLIP32 (pkzip.uncompressedSize);
|
||||||
|
|
||||||
sprintf (msg, "Unzipping %d bytes ... Wait",
|
sprintf (msg, "Unzipping %d bytes ... Wait",
|
||||||
pkzip.uncompressedSize);
|
pkzip.uncompressedSize);
|
||||||
ShowAction (msg);
|
ShowAction (msg);
|
||||||
|
|
||||||
/*** Prepare the zip stream ***/
|
/*** Prepare the zip stream ***/
|
||||||
memset (&zs, 0, sizeof (z_stream));
|
memset (&zs, 0, sizeof (z_stream));
|
||||||
zs.zalloc = Z_NULL;
|
zs.zalloc = Z_NULL;
|
||||||
zs.zfree = Z_NULL;
|
zs.zfree = Z_NULL;
|
||||||
zs.opaque = Z_NULL;
|
zs.opaque = Z_NULL;
|
||||||
zs.avail_in = 0;
|
zs.avail_in = 0;
|
||||||
zs.next_in = Z_NULL;
|
zs.next_in = Z_NULL;
|
||||||
res = inflateInit2 (&zs, -MAX_WBITS);
|
res = inflateInit2 (&zs, -MAX_WBITS);
|
||||||
|
|
||||||
if (res != Z_OK)
|
if (res != Z_OK)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
/*** Set ZipChunk for first pass ***/
|
/*** Set ZipChunk for first pass ***/
|
||||||
zipoffset =
|
zipoffset =
|
||||||
(sizeof (PKZIPHEADER) + FLIP16 (pkzip.filenameLength) +
|
(sizeof (PKZIPHEADER) + FLIP16 (pkzip.filenameLength) +
|
||||||
FLIP16 (pkzip.extraDataLength));
|
FLIP16 (pkzip.extraDataLength));
|
||||||
zipchunk = ZIPCHUNK - zipoffset;
|
zipchunk = ZIPCHUNK - zipoffset;
|
||||||
|
|
||||||
/*** Now do it! ***/
|
/*** Now do it! ***/
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
zs.avail_in = zipchunk;
|
zs.avail_in = zipchunk;
|
||||||
zs.next_in = (Bytef *) & readbuffer[zipoffset];
|
zs.next_in = (Bytef *) & readbuffer[zipoffset];
|
||||||
|
|
||||||
/*** Now inflate until input buffer is exhausted ***/
|
/*** Now inflate until input buffer is exhausted ***/
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
zs.avail_out = ZIPCHUNK;
|
zs.avail_out = ZIPCHUNK;
|
||||||
zs.next_out = (Bytef *) & out;
|
zs.next_out = (Bytef *) & out;
|
||||||
|
|
||||||
res = inflate (&zs, Z_NO_FLUSH);
|
res = inflate (&zs, Z_NO_FLUSH);
|
||||||
|
|
||||||
if (res == Z_MEM_ERROR)
|
if (res == Z_MEM_ERROR)
|
||||||
{
|
{
|
||||||
inflateEnd (&zs);
|
inflateEnd (&zs);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
have = ZIPCHUNK - zs.avail_out;
|
have = ZIPCHUNK - zs.avail_out;
|
||||||
if (have)
|
if (have)
|
||||||
{
|
{
|
||||||
/*** Copy to normal block buffer ***/
|
/*** Copy to normal block buffer ***/
|
||||||
memcpy (&outbuffer[bufferoffset], &out, have);
|
memcpy (&outbuffer[bufferoffset], &out, have);
|
||||||
bufferoffset += have;
|
bufferoffset += have;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
while (zs.avail_out == 0);
|
||||||
while (zs.avail_out == 0);
|
|
||||||
|
|
||||||
/*** Readup the next 2k block ***/
|
/*** Readup the next 2k block ***/
|
||||||
zipoffset = 0;
|
zipoffset = 0;
|
||||||
zipchunk = ZIPCHUNK;
|
zipchunk = ZIPCHUNK;
|
||||||
|
|
||||||
switch (where) {
|
switch (where)
|
||||||
case 0: // SD Card
|
{
|
||||||
fread (readbuffer, 1, 2048, filehandle); break;
|
case 0: // SD Card
|
||||||
case 1: // DVD
|
fread (readbuffer, 1, 2048, filehandle);
|
||||||
discoffset += 2048;
|
break;
|
||||||
dvd_read (readbuffer, 2048, discoffset); break;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
case 1: // DVD
|
||||||
while (res != Z_STREAM_END);
|
inoffset += 2048;
|
||||||
|
dvd_read (readbuffer, 2048, inoffset);
|
||||||
|
break;
|
||||||
|
|
||||||
inflateEnd (&zs);
|
case 2: // From buffer
|
||||||
|
inoffset += 2048;
|
||||||
|
memcpy(readbuffer, uzipbuffer+inoffset, 2048);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
while (res != Z_STREAM_END);
|
||||||
|
|
||||||
if (res == Z_STREAM_END)
|
inflateEnd (&zs);
|
||||||
{
|
|
||||||
if (pkzip.uncompressedSize == (u32) bufferoffset)
|
|
||||||
return bufferoffset;
|
|
||||||
else
|
|
||||||
return pkzip.uncompressedSize;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
if (res == Z_STREAM_END)
|
||||||
|
{
|
||||||
|
if (pkzip.uncompressedSize == (u32) bufferoffset)
|
||||||
|
return bufferoffset;
|
||||||
|
else
|
||||||
|
return pkzip.uncompressedSize;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Snes9x 1.50
|
* Snes9x 1.50
|
||||||
*
|
*
|
||||||
* Nintendo Gamecube Unzip - borrowed from the GPP
|
* Nintendo Gamecube Unzip - borrowed from the GPP
|
||||||
*
|
*
|
||||||
@ -9,6 +9,7 @@
|
|||||||
#define _UNZIP_
|
#define _UNZIP_
|
||||||
|
|
||||||
extern int IsZipFile (char *buffer);
|
extern int IsZipFile (char *buffer);
|
||||||
|
int UnZipBuffer(unsigned char *outbuffer, unsigned char *inbuffer);
|
||||||
int UnZipBuffer (unsigned char *outbuffer, u64 discoffset, short where, FILE* filehandle);
|
int UnZipBuffer (unsigned char *outbuffer, u64 discoffset, short where, FILE* filehandle);
|
||||||
/*
|
/*
|
||||||
* Zip file header definition
|
* Zip file header definition
|
||||||
|
@ -18,19 +18,8 @@
|
|||||||
#include <wiiuse/wpad.h>
|
#include <wiiuse/wpad.h>
|
||||||
#include "snes9x.h"
|
#include "snes9x.h"
|
||||||
#include "memmap.h"
|
#include "memmap.h"
|
||||||
//#include "debug.h"
|
|
||||||
//#include "cpuexec.h"
|
|
||||||
//#include "ppu.h"
|
|
||||||
//#include "apu.h"
|
|
||||||
//#include "display.h"
|
|
||||||
//#include "gfx.h"
|
|
||||||
//#include "soundux.h"
|
|
||||||
//#include "spc700.h"
|
|
||||||
//#include "spc7110.h"
|
|
||||||
//#include "controls.h"
|
|
||||||
#include "aram.h"
|
#include "aram.h"
|
||||||
#include "snes9xGX.h"
|
#include "snes9xGX.h"
|
||||||
//#include "video.h"
|
|
||||||
|
|
||||||
/*** Snes9x GFX Buffer ***/
|
/*** Snes9x GFX Buffer ***/
|
||||||
static unsigned char snes9xgfx[1024 * 512 * 2];
|
static unsigned char snes9xgfx[1024 * 512 * 2];
|
||||||
@ -162,8 +151,7 @@ copy_to_xfb (u32 arg)
|
|||||||
}
|
}
|
||||||
|
|
||||||
FrameTimer++;
|
FrameTimer++;
|
||||||
//SMBTimer++;
|
SMBTimer++;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
@ -295,11 +283,6 @@ InitGCVideo ()
|
|||||||
|
|
||||||
VIDEO_Init ();
|
VIDEO_Init ();
|
||||||
PAD_Init ();
|
PAD_Init ();
|
||||||
//DVD_Init ();
|
|
||||||
|
|
||||||
/*** Check to see if this is a GC or a Wii ***/
|
|
||||||
// int driveid = dvd_driveid();
|
|
||||||
// bool8 isWii = !((driveid == 4) || (driveid == 6) || (driveid == 8));
|
|
||||||
|
|
||||||
AUDIO_Init (NULL);
|
AUDIO_Init (NULL);
|
||||||
AR_Init (NULL, 0);
|
AR_Init (NULL, 0);
|
||||||
|
@ -176,7 +176,7 @@
|
|||||||
#include "spc7110.h"
|
#include "spc7110.h"
|
||||||
#include "movie.h"
|
#include "movie.h"
|
||||||
#include "controls.h"
|
#include "controls.h"
|
||||||
#include "memfile.h"
|
#include "freeze.h"
|
||||||
#include "gccore.h"
|
#include "gccore.h"
|
||||||
#include "menudraw.h"
|
#include "menudraw.h"
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user