diff --git a/demos/chrisv/.gitignore b/demos/chrisv/.gitignore new file mode 100644 index 0000000..1d083a2 --- /dev/null +++ b/demos/chrisv/.gitignore @@ -0,0 +1,5 @@ +App +main +*.root +*.sym +*.a \ No newline at end of file diff --git a/demos/chrisv/_FileInformation.txt b/demos/chrisv/_FileInformation.txt new file mode 100644 index 0000000..73c1cca --- /dev/null +++ b/demos/chrisv/_FileInformation.txt @@ -0,0 +1 @@ +App=Type(B3),AuxType(0000),VersionCreate(70),MinVersion(BE),Access(E3) \ No newline at end of file diff --git a/demos/chrisv/assets/tileset.png b/demos/chrisv/assets/tileset.png new file mode 100644 index 0000000..0825ec2 Binary files /dev/null and b/demos/chrisv/assets/tileset.png differ diff --git a/demos/chrisv/build-image.bat b/demos/chrisv/build-image.bat new file mode 100644 index 0000000..7f043ec --- /dev/null +++ b/demos/chrisv/build-image.bat @@ -0,0 +1,17 @@ +echo off + +REM Copy all of the assets into the ProDOS image for emulator testing +REM +REM Pass the path of the Cadius tool as the first argument (%1) + +set CADIUS="%1" +set IMAGE="..\\..\\emu\\Target.2mg" +set FOLDER="/GTEDEV/ChrisV" + +REM Cadius does not overwrite files, so clear the root folder first +%CADIUS% DELETEFOLDER %IMAGE% %FOLDER% +%CADIUS% CREATEFOLDER %IMAGE% %FOLDER% + +REM Now copy files and folders as needed +%CADIUS% ADDFILE %IMAGE% %FOLDER% .\App +%CADIUS% ADDFILE %IMAGE% %FOLDER% ..\..\src\Tool160 \ No newline at end of file diff --git a/demos/chrisv/gte.h b/demos/chrisv/gte.h new file mode 100644 index 0000000..a83f30c --- /dev/null +++ b/demos/chrisv/gte.h @@ -0,0 +1,122 @@ +/* ******************************************************************** + + GTE is copyright Lucas Scharenbroich and licensed under the Apache-2.0 + License. + + The following GTE function definitions are taken from the GTE Toolbox + documentation: + https://lscharen.github.io/iigs-game-engine/toolboxref.html + + And from the GTE Macros: + https://github.com/lscharen/iigs-game-engine/blob/d7be9f1be44748b0180c930b1f90b144cda661ea/macros/GTE.Macs.s + + The contents of this file are a derivite work from GTE intended to + ease the process of calling GTE / Tool 160 from ORCA/C and are believed + to be permitted under the terms of the Apache-2.0 License. + + ********************************************************************* */ + +#ifndef _GTE_HEADER_INCLUDE_ +#define _GTE_HEADER_INCLUDE_ + +#include + +/* + GTE_IS_SYSTEM_TOOLS_INSTALL is a boolean toggle for controlling what the application assumes about the location of the GTE tool. + + If GTE is installed in System:Tools, GTE_IS_SYSTEM_TOOLS_INSTALL must be defined. + Otherwise, GTE_IS_SYSTEM_TOOLS_INSTALL must be undefined. + + This will control which header file is used as well as the calls used to load the tool during application startup. +*/ +// #define GTE_IS_SYSTEM_TOOLS_INSTALL 1 + +#ifdef GTE_IS_SYSTEM_TOOLS_INSTALL +#define tool_dispatcher dispatcher +#else +#define tool_dispatcher 0xE10008L +#endif // GTE_IS_SYSTEM_TOOLS_INSTALL + +/* GTE Housekeeping Routines */ +extern pascal void GTEBootInit(void) inline(0x01A0, tool_dispatcher); +extern pascal void GTEStartUp(Word dPageAddr, Word capFlags, Word userID) inline(0x02A0, tool_dispatcher); +extern pascal void GTEShutDown(void) inline(0x03A0, tool_dispatcher); +extern pascal Word GTEVersion(void) inline(0x04A0, tool_dispatcher); +extern pascal void GTEReset(void) inline(0x05A0, tool_dispatcher); +extern pascal Word GTEStatus(void) inline(0x06A0, tool_dispatcher); + + +/* GTE Sprite Routines */ +extern pascal void GTECreateSpriteStamp(Word spriteDescriptor, Word vBuffAddr) inline(0x0FA0, tool_dispatcher); +extern pascal void GTEAddSprite(Word spriteSlot, Word spriteFlags, Word vBuffAddr, Word x, Word y) inline(0x10A0, tool_dispatcher); +extern pascal void GTEMoveSprite(Word spriteSlot, Word x, Word y) inline(0x11A0, tool_dispatcher); +extern pascal void GTEUpdateSprite(Word spriteSlot, Word spriteFlags, Word vBuffAddr) inline(0x12A0, tool_dispatcher); +extern pascal void GTERemoveSprite(Word spriteSlot) inline(0x13A0, tool_dispatcher); + + +/* GTE Tile Routines */ +extern pascal void GTELoadTileSet(Pointer tileSetPtr) inline(0x0EA0, tool_dispatcher); +extern pascal void GTEFillTileStore(Word tileID) inline(0x25A0, tool_dispatcher); +extern pascal void GTESetTile(Word xTile, Word yTile, Word tileID) inline(0x0BA0, tool_dispatcher); + +/* GTE Primary Background Routines */ +extern pascal void GTESetBG0Origin(Word x, Word y) inline(0x0CA0, tool_dispatcher); +extern pascal void GTERender(Word flags) inline(0x0DA0, tool_dispatcher); + + +/* GTE Global State Functions */ +extern pascal void GTESetScreenMode(Word width, Word height) inline(0x0AA0, tool_dispatcher); +extern pascal void GTESetPalette(Word palNum, Pointer palettePtr) inline(0x16A0, tool_dispatcher); + + +/* GTE Misc. Functions */ +extern pascal Word GTEReadControl(void) inline(0x09A0, tool_dispatcher); +extern pascal Word GTEGetSeconds(void) inline(0x14A0, tool_dispatcher); + +/* ReadControl return value bits */ +#define PAD_BUTTON_B 0x0100 +#define PAD_BUTTON_A 0x0200 +#define PAD_KEY_DOWN 0x0400 + +/* GTE EngineMode definitions */ +#define ENGINE_MODE_TWO_LAYER 0x0001 +#define ENGINE_MODE_DYN_TILES 0x0002 +#define ENGINE_MODE_BNK0_BUFF 0x0004 +#define ENGINE_MODE_USER_TOOL 0x8000 /* Communicate if GTE is loaded as a system tool, or a user tool */ + +/* GTE Render Flags */ +#define RENDER_ALT_BG1 0x0001 +#define RENDER_BG1_HORZ_OFFSET 0x0002 +#define RENDER_BG1_VERT_OFFSET 0x0004 +#define RENDER_BG1_ROTATION 0x0008 + +/* GTE Tile Constants */ +#define TILE_PRIORITY_BIT 0x4000 /* Put tile on top of sprite */ +#define TILE_FRINGE_BIT 0x2000 /* Unused */ +#define TILE_SOLID_BIT 0x1000 /* Hint bit used in TWO_LAYER_MODE to optimize rendering */ +#define TILE_DYN_BIT 0x0800 /* Is this a Dynamic Tile? */ +#define TILE_VFLIP_BIT 0x0400 +#define TILE_HFLIP_BIT 0x0200 +#define TILE_ID_MASK 0x01FF +#define TILE_CTRL_MASK 0xFE00 + +/* GTE Sprite Constants */ +#define GTE_SPRITE_HIDE 0x2000 +#define GTE_SPRITE_16X16 0x1800 +#define GTE_SPRITE_16X8 0x1000 +#define GTE_SPRITE_8X16 0x0800 +#define GTE_SPRITE_8X8 0x0000 +#define GTE_SPRITE_VFLIP 0x0400 +#define GTE_SPRITE_HFLIP 0x0200 + + +/* GTE Sprint Stamp Storage Parameters */ +#define GTE_VBUFF_STRIDE_BYTES (12 * 4) /* Each line has 4 slots of 16 pixels + 8 buffer pixels */ +#define GTE_VBUFF_TILE_ROW_BYTES (8 * GTE_VBUFF_STRIDE_BYTES) /* Each row is comprised of 8 lines */ +#define GTE_VBUFF_TILE_COL_BYTES (4) +#define GTE_VBUFF_SPRITE_STEP (GTE_VBUFF_TILE_ROW_BYTES*3) /* Allocate space for 16 rows + 8 rows of buffer */ +#define GTE_VBUFF_SPRITE_START (GTE_VBUFF_TILE_ROW_BYTES+4) /* Start at an offset so $0000 can be used as an empty value */ +#define GTE_VBUFF_SLOT_COUNT (48) /* Have space for this many stamps */ + + +#endif /* _GTE_HEADER_INCLUDE_ */ \ No newline at end of file diff --git a/demos/chrisv/package.json b/demos/chrisv/package.json new file mode 100644 index 0000000..6ed1a9d --- /dev/null +++ b/demos/chrisv/package.json @@ -0,0 +1,21 @@ +{ + "name": "chrisv-c-demo", + "version": "1.0.0", + "description": "Using GTE from C", + "main": "index.js", + "config": { + "merlin32": "C:\\Programs\\IIgsXDev\\bin\\Merlin32-1.1.10.exe", + "cadius": "C:\\Programs\\IIgsXDev\\bin\\Cadius.exe", + "gsport": "C:\\Programs\\gsport\\gsport_0.31\\GSPort.exe", + "macros": "../../macros", + "crossrunner": "C:\\Programs\\Crossrunner\\Crossrunner.exe" + }, + "scripts": { + "gsport": "%npm_package_config_gsport%", + "test": "npm run build && build-image.bat %npm_package_config_cadius% && %npm_package_config_gsport%", + "build": "npm run build:tool && npm run build:sys16", + "build:sys16": "iix compile tileData.c test.c && iix -DKeepType=S16 link test tileData keep=App", + "build:tool": "%npm_package_config_merlin32% -V %npm_package_config_macros% ../../src/Master.s", + "debug": "%npm_package_config_crossrunner% ./App -Debug -CompatibilityLayer" + } + } \ No newline at end of file diff --git a/demos/chrisv/test.c b/demos/chrisv/test.c new file mode 100644 index 0000000..08e8b65 --- /dev/null +++ b/demos/chrisv/test.c @@ -0,0 +1,117 @@ +#include +#include +#include +#include +#include +#include + +/* #define GTE_IS_SYSTEM_TOOLS_INSTALL 1 */ +#include "gte.h" + +#ifdef GTE_IS_SYSTEM_TOOLS_INSTALL +#define ENGINE_STARTUP_MODE 0x0000 +#else +#define ENGINE_STARTUP_MODE ENGINE_MODE_USER_TOOL +#endif + +/* toolbox fail handler */ +#define TOOLFAIL(string) if (toolerror()) SysFailMgr(toolerror(), "\p" string "\n\r Error Code -> $"); + +/* path to the local GTE toolset */ +Str32 toolPath = {9, "1/Tool160" }; + +/* Helper function to load GTE as a user tool or system tool */ +#ifdef GTE_IS_SYSTEM_TOOLS_INSTALL +void LoadGTEToolSet(Word unused) { + LoadOneTool(160, 0); + TOOLFAIL("Unable to load GTE toolset"); +} +#else +void LoadGTEToolSet(Word userId) { + InitialLoadOutputRec loadRec; + + // Load the tool from the local directory + loadRec = InitialLoad(userId, (Pointer) (&toolPath), 1); + TOOLFAIL("Unable to load Tool160 from local path"); + + // Install the tool using the user tool vector + SetTSPtr(0x8000, 160, loadRec.startAddr); + TOOLFAIL("Could not install tool"); +} +#endif // GTE_IS_SYSTEM_TOOLS_INSTALL + +#ifdef GTE_IS_SYSTEM_TOOLS_INSTALL +void UnloadGTEToolSet() { + UnloadOneTool(160); + TOOLFAIL("Unable to unload GTE toolset"); +} +#else +void UnloadGTEToolSet() { +} +#endif // GTE_IS_SYSTEM_TOOLS_INSTALL + +void main(void) { + char i; + Word userId; + Word controlMask, keyPress; + Handle dpHandle; + Word dpAddr; + extern Pointer tiles; + extern Pointer tilesPalette; + int a, b; + + TLStartUp(); + /* Get the program memory ID */ + userId = MMStartUp(); + MTStartUp(); + + dpHandle = NewHandle(0x200L, userId, attrBank + attrPage + attrFixed + attrLocked + attrNoCross, 0); + TOOLFAIL("Could not allocate direct page memory for GTE"); + dpAddr = (Word) (*dpHandle); + + printf("dpAddr: %x\n", (int)dpAddr); + printf("engineMode: %x", (int)ENGINE_STARTUP_MODE); + + GTEStartUp(dpAddr, (Word) ENGINE_STARTUP_MODE, userId); + goto out; + /* + GTESetScreenMode(160, 200); + GTESetPalette(0, tilesPalette); + GTELoadTileSet(tiles); + + GTEFillTileStore(1); + GTERender(0); + + for (a = 3; a < 18; a++) { + GTESetTile(5, a, a); + } + GTESetTile(1, 0, 34); + GTESetTile(2, 0, 33); + GTERender(0); + + GTESetTile(0, 3, 3); + GTESetTile(0, 4, 4); + for (b = 4; b < 6; b++) { + for (a = 1; a < 10; a++) { + GTESetBG0Origin(a, b); + i = (((b - 1) * 10) + a) | TILE_SOLID_BIT | TILE_HFLIP_BIT; + GTESetTile(a, b, i); + GTERender(0); + } + } + */ + + do { + controlMask = GTEReadControl(); + keyPress = controlMask & 0x007F; + } while (toupper(keyPress) != 'Q'); + +out: + GTEShutDown(); + UnloadGTEToolSet(); + + DisposeHandle(dpHandle); + MTShutDown(); + MMShutDown(userId); + TLShutDown(); +} diff --git a/demos/chrisv/tileData.c b/demos/chrisv/tileData.c new file mode 100644 index 0000000..322fb82 --- /dev/null +++ b/demos/chrisv/tileData.c @@ -0,0 +1,1874 @@ +/* startIndex = 0 */ +/* Palette */ +#include + +Word tilesPalette[16] = { + 0x0000,0x0CCC,0x0841,0x04DF,0x072C,0x000F,0x0080,0x0F70,0x0D00,0x0940,0x0FA9,0x0FF0,0x00E0,0x0DAF,0x078F,0x0FFF + //0x0000,0x0000,0x0FFF,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000 + //0x068F,0x0456,0x0E30,0x0870,0x0E51,0x00A0,0x02E3,0x0F93,0x0BF1,0x0FA4,0x0FD7,0x0F59,0x0000,0x01CE,0x0EDA,0x0EEE +}; + +long tiles[] = { +/* Reserved space (tile 0 is special...) */ + 0x00000000L,0x00000000L,0x00000000L,0x00000000L, + 0x00000000L,0x00000000L,0x00000000L,0x00000000L, + 0x00000000L,0x00000000L,0x00000000L,0x00000000L, + 0x00000000L,0x00000000L,0x00000000L,0x00000000L, + 0x00000000L,0x00000000L,0x00000000L,0x00000000L, + 0x00000000L,0x00000000L,0x00000000L,0x00000000L, + 0x00000000L,0x00000000L,0x00000000L,0x00000000L, + 0x00000000L,0x00000000L,0x00000000L,0x00000000L, + +/* Tile ID 1 - From image coordinates 0, 0*/ + 0x00000000, + 0x01012010, + 0x01001000, + 0x02101210, + 0x00002200, + 0x01010120, + 0x02120010, + 0x00110200, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + + 0x00000000, + 0x01021010, + 0x00010010, + 0x01210120, + 0x00220000, + 0x02101010, + 0x01002120, + 0x00201100, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + +/* Tile ID 2 - From image coordinates 8, 0*/ + 0x00000000, + 0x01011010, + 0x03000103, + 0x00130001, + 0x01001103, + 0x00013103, + 0x01010301, + 0x00000000, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + + 0x00000000, + 0x01011010, + 0x30100030, + 0x10003100, + 0x30110010, + 0x30131000, + 0x10301010, + 0x00000000, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + +/* Tile ID 3 - From image coordinates 16, 0*/ + 0x00000000, + 0x01010310, + 0x01010000, + 0x00030131, + 0x31010110, + 0x01310010, + 0x00030100, + 0x00000000, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + + 0x00000000, + 0x01301010, + 0x00001010, + 0x13103000, + 0x01101013, + 0x01001310, + 0x00103000, + 0x00000000, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + +/* Tile ID 4 - From image coordinates 24, 0*/ + 0x00000000, + 0x10101031, + 0x10303000, + 0x10001010, + 0x00103030, + 0x30311010, + 0x10100010, + 0x00000000, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + + 0x00000000, + 0x13010101, + 0x00030301, + 0x01010001, + 0x03030100, + 0x01011303, + 0x01000101, + 0x00000000, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + +/* Tile ID 5 - From image coordinates 32, 0*/ + 0x00000000, + 0x01010130, + 0x03030000, + 0x11010313, + 0x31010100, + 0x00030103, + 0x13101001, + 0x00000000, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + + 0x00000000, + 0x03101010, + 0x00003030, + 0x31301011, + 0x00101013, + 0x30103000, + 0x10010131, + 0x00000000, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + +/* Tile ID 6 - From image coordinates 40, 0*/ + 0x00000000, + 0x10101030, + 0x10000100, + 0x10100310, + 0x00030100, + 0x10110100, + 0x00300030, + 0x00000000, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + + 0x00000000, + 0x03010101, + 0x00100001, + 0x01300101, + 0x00103000, + 0x00101101, + 0x03000300, + 0x00000000, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + +/* Tile ID 7 - From image coordinates 48, 0*/ + 0x00000000, + 0x01013010, + 0x01001000, + 0x03101310, + 0x00003300, + 0x01010130, + 0x03130010, + 0x00000000, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + + 0x00000000, + 0x01031010, + 0x00010010, + 0x01310130, + 0x00330000, + 0x03101010, + 0x01003130, + 0x00000000, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + +/* Tile ID 8 - From image coordinates 56, 0*/ + 0x00000000, + 0x01013010, + 0x01001000, + 0x03101310, + 0x00003300, + 0x01010130, + 0x03130010, + 0x00000000, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + + 0x00000000, + 0x01031010, + 0x00010010, + 0x01310130, + 0x00330000, + 0x03101010, + 0x01003130, + 0x00000000, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + +/* Tile ID 9 - From image coordinates 64, 0*/ + 0x00000000, + 0x00000000, + 0x22222222, + 0x44444444, + 0x55555555, + 0x66666666, + 0x77777777, + 0x88888888, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + + 0x00000000, + 0x00000000, + 0x22222222, + 0x44444444, + 0x55555555, + 0x66666666, + 0x77777777, + 0x88888888, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + +/* Tile ID 10 - From image coordinates 72, 0*/ + 0x00000000, + 0x00000000, + 0x22222222, + 0x44444444, + 0x55555555, + 0x66666666, + 0x77777777, + 0x88888888, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + + 0x00000000, + 0x00000000, + 0x22222222, + 0x44444444, + 0x55555555, + 0x66666666, + 0x77777777, + 0x88888888, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + +/* Tile ID 11 - From image coordinates 0, 8*/ + 0x02210100, + 0x01102010, + 0x00101000, + 0x02101210, + 0x00010000, + 0x01010130, + 0x02120010, + 0x01113010, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + + 0x00101220, + 0x01020110, + 0x00010100, + 0x01210120, + 0x00001000, + 0x03101010, + 0x01002120, + 0x01031110, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + +/* Tile ID 12 - From image coordinates 8, 8*/ + 0x00000000, + 0x01011010, + 0x03000130, + 0x00130000, + 0x01001030, + 0x00013010, + 0x01010300, + 0x00000000, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + + 0x00000000, + 0x01011010, + 0x03100030, + 0x00003100, + 0x03010010, + 0x01031000, + 0x00301010, + 0x00000000, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + +/* Tile ID 13 - From image coordinates 16, 8*/ + 0x31313131, + 0x13131313, + 0x22222222, + 0x27722772, + 0x22277227, + 0x22222222, + 0x31313131, + 0x13131313, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + + 0x13131313, + 0x31313131, + 0x22222222, + 0x27722772, + 0x72277222, + 0x22222222, + 0x13131313, + 0x31313131, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + +/* Tile ID 14 - From image coordinates 24, 8*/ + 0x31313131, + 0x13131313, + 0x22222222, + 0x27722772, + 0x72277227, + 0x22222222, + 0x31313131, + 0x13131313, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + + 0x13131313, + 0x31313131, + 0x22222222, + 0x27722772, + 0x72277227, + 0x22222222, + 0x13131313, + 0x31313131, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + +/* Tile ID 15 - From image coordinates 32, 8*/ + 0x31313131, + 0x13131313, + 0x22222222, + 0x27722772, + 0x72277222, + 0x22222222, + 0x31313131, + 0x13131313, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + + 0x13131313, + 0x31313131, + 0x22222222, + 0x27722772, + 0x22277227, + 0x22222222, + 0x13131313, + 0x31313131, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + +/* Tile ID 16 - From image coordinates 40, 8*/ + 0x00000000, + 0x01101030, + 0x03000100, + 0x01100310, + 0x00030000, + 0x03110100, + 0x01300030, + 0x00000000, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + + 0x00000000, + 0x03010110, + 0x00100030, + 0x01300110, + 0x00003000, + 0x00101130, + 0x03000310, + 0x00000000, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + +/* Tile ID 17 - From image coordinates 48, 8*/ + 0x31999931, + 0x13997913, + 0x31997931, + 0x13979913, + 0x31979931, + 0x13997913, + 0x31997931, + 0x13979913, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + + 0x13999913, + 0x31979931, + 0x13979913, + 0x31997931, + 0x13997913, + 0x31979931, + 0x13979913, + 0x31997931, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + +/* Tile ID 18 - From image coordinates 56, 8*/ + 0x31033031, + 0x13033013, + 0x31033031, + 0x13033013, + 0x31033031, + 0x13033013, + 0x31033031, + 0x13033013, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + + 0x13033013, + 0x31033031, + 0x13033013, + 0x31033031, + 0x13033013, + 0x31033031, + 0x13033013, + 0x31033031, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + +/* Tile ID 19 - From image coordinates 64, 8*/ + 0xaaaaaaaa, + 0xbbbbbbbb, + 0xcccccccc, + 0x33333333, + 0xdddddddd, + 0xeeeeeeee, + 0x11111111, + 0xffffffff, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + + 0xaaaaaaaa, + 0xbbbbbbbb, + 0xcccccccc, + 0x33333333, + 0xdddddddd, + 0xeeeeeeee, + 0x11111111, + 0xffffffff, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + +/* Tile ID 20 - From image coordinates 72, 8*/ + 0xaaaaaaaa, + 0xbbbbbbbb, + 0xcccccccc, + 0x33333333, + 0xdddddddd, + 0xeeeeeeee, + 0x11111111, + 0xffffffff, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + + 0xaaaaaaaa, + 0xbbbbbbbb, + 0xcccccccc, + 0x33333333, + 0xdddddddd, + 0xeeeeeeee, + 0x11111111, + 0xffffffff, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + +/* Tile ID 21 - From image coordinates 0, 16*/ + 0x00031100, + 0x01013010, + 0x01001000, + 0x03101310, + 0x00000100, + 0x01010130, + 0x03130110, + 0x01101300, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + + 0x00113000, + 0x01031010, + 0x00010010, + 0x01310130, + 0x00100000, + 0x03101010, + 0x01103130, + 0x00310110, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + +/* Tile ID 22 - From image coordinates 8, 16*/ + 0x00000000, + 0x01011010, + 0x03000130, + 0x00130000, + 0x01001030, + 0x00013010, + 0x01010300, + 0x00000000, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + + 0x00000000, + 0x01011010, + 0x03100030, + 0x00003100, + 0x03010010, + 0x01031000, + 0x00301010, + 0x00000000, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + +/* Tile ID 23 - From image coordinates 16, 16*/ + 0x31313131, + 0x13131313, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x31313131, + 0x13131313, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + + 0x13131313, + 0x31313131, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x13131313, + 0x31313131, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + +/* Tile ID 24 - From image coordinates 24, 16*/ + 0x31313131, + 0x13131313, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x31313131, + 0x13131313, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + + 0x13131313, + 0x31313131, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x13131313, + 0x31313131, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + +/* Tile ID 25 - From image coordinates 32, 16*/ + 0x31313131, + 0x13131313, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x31313131, + 0x13131313, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + + 0x13131313, + 0x31313131, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x13131313, + 0x31313131, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + +/* Tile ID 26 - From image coordinates 40, 16*/ + 0x00000000, + 0x01101030, + 0x03000100, + 0x01100310, + 0x00030000, + 0x03110100, + 0x01300030, + 0x00000000, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + + 0x00000000, + 0x03010110, + 0x00100030, + 0x01300110, + 0x00003000, + 0x00101130, + 0x03000310, + 0x00000000, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + +/* Tile ID 27 - From image coordinates 48, 16*/ + 0x31979931, + 0x13997913, + 0x31997931, + 0x13979913, + 0x31979931, + 0x13997913, + 0x31997931, + 0x13979913, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + + 0x13997913, + 0x31979931, + 0x13979913, + 0x31997931, + 0x13997913, + 0x31979931, + 0x13979913, + 0x31997931, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + +/* Tile ID 28 - From image coordinates 56, 16*/ + 0x31033031, + 0x13033013, + 0x31033031, + 0x13033013, + 0x31033031, + 0x13033013, + 0x31033031, + 0x13033013, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + + 0x13033013, + 0x31033031, + 0x13033013, + 0x31033031, + 0x13033013, + 0x31033031, + 0x13033013, + 0x31033031, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + +/* Tile ID 29 - From image coordinates 64, 16*/ + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + +/* Tile ID 30 - From image coordinates 72, 16*/ + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + +/* Tile ID 31 - From image coordinates 0, 24*/ + 0x00011010, + 0x01013010, + 0x01001000, + 0x03101310, + 0x00100000, + 0x01010130, + 0x03130010, + 0x01010300, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + + 0x01011000, + 0x01031010, + 0x00010010, + 0x01310130, + 0x00000100, + 0x03101010, + 0x01003130, + 0x00301010, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + +/* Tile ID 32 - From image coordinates 8, 24*/ + 0x00000000, + 0x01013010, + 0x01001000, + 0x03101310, + 0x00003300, + 0x01010130, + 0x03130010, + 0x00000000, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + + 0x00000000, + 0x01031010, + 0x00010010, + 0x01310130, + 0x00330000, + 0x03101010, + 0x01003130, + 0x00000000, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + +/* Tile ID 33 - From image coordinates 16, 24*/ + 0x00000077, + 0x00007776, + 0x00077666, + 0x00776666, + 0x07766676, + 0x07766676, + 0x77766666, + 0x77776666, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + + 0x77000000, + 0x67770000, + 0x66677000, + 0x66667700, + 0x67666770, + 0x67666770, + 0x66666777, + 0x66667777, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + +/* Tile ID 34 - From image coordinates 24, 24*/ + 0x77000000, + 0x77770000, + 0x66777000, + 0x66667700, + 0x76667770, + 0x77777770, + 0x77777777, + 0x66777777, + + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + + 0x00000077, + 0x00007777, + 0x00077766, + 0x00776666, + 0x07776667, + 0x07777777, + 0x77777777, + 0x77777766, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + +/* Tile ID 35 - From image coordinates 32, 24*/ + 0x00000088, + 0x00008888, + 0x000888ff, + 0x00888fff, + 0x0888fff8, + 0x0888fff8, + 0x88888888, + 0x8888888f, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + + 0x88000000, + 0x88880000, + 0xff888000, + 0xfff88800, + 0x8fff8880, + 0x8fff8880, + 0x88888888, + 0xf8888888, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + +/* Tile ID 36 - From image coordinates 40, 24*/ + 0x88000000, + 0x88880000, + 0xff888000, + 0xfff88800, + 0x8fff8880, + 0x8fff8880, + 0xffff8888, + 0xfff88888, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + + 0x00000088, + 0x00008888, + 0x000888ff, + 0x00888fff, + 0x0888fff8, + 0x0888fff8, + 0x8888ffff, + 0x88888fff, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + +/* Tile ID 37 - From image coordinates 48, 24*/ + 0x31979931, + 0x13997913, + 0x31997931, + 0x13979913, + 0x31979931, + 0x13997913, + 0x31997931, + 0x13999913, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + + 0x13997913, + 0x31979931, + 0x13979913, + 0x31997931, + 0x13997913, + 0x31979931, + 0x13979913, + 0x31999931, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + +/* Tile ID 38 - From image coordinates 56, 24*/ + 0x31033031, + 0x13033013, + 0x31033031, + 0x13033013, + 0x31033031, + 0x13033013, + 0x31033031, + 0x13033013, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + + 0x13033013, + 0x31033031, + 0x13033013, + 0x31033031, + 0x13033013, + 0x31033031, + 0x13033013, + 0x31033031, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + +/* Tile ID 39 - From image coordinates 64, 24*/ + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + +/* Tile ID 40 - From image coordinates 72, 24*/ + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + +/* Tile ID 41 - From image coordinates 0, 32*/ + 0x00310110, + 0x01013010, + 0x01001000, + 0x03101310, + 0x03030100, + 0x01010130, + 0x03130010, + 0x00000000, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + + 0x01101300, + 0x01031010, + 0x00010010, + 0x01310130, + 0x00103030, + 0x03101010, + 0x01003130, + 0x00000000, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + +/* Tile ID 42 - From image coordinates 8, 32*/ + 0x31313131, + 0x13131313, + 0x31313131, + 0x13131313, + 0x31313131, + 0x13131313, + 0x31313131, + 0x13131313, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + + 0x13131313, + 0x31313131, + 0x13131313, + 0x31313131, + 0x13131313, + 0x31313131, + 0x13131313, + 0x31313131, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + +/* Tile ID 43 - From image coordinates 16, 32*/ + 0x77777666, + 0x77777776, + 0x07777776, + 0x07766676, + 0x00776666, + 0x00077666, + 0x00007776, + 0x00000077, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + + 0x66677777, + 0x67777777, + 0x67777770, + 0x67666770, + 0x66667700, + 0x66677000, + 0x67770000, + 0x77000000, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + +/* Tile ID 44 - From image coordinates 24, 32*/ + 0x66677777, + 0x66667777, + 0x76667770, + 0x76667770, + 0x66677700, + 0x66777000, + 0x77770000, + 0x77000000, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + + 0x77777666, + 0x77776666, + 0x07776667, + 0x07776667, + 0x00777666, + 0x00077766, + 0x00007777, + 0x00000077, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + +/* Tile ID 45 - From image coordinates 32, 32*/ + 0x888888ff, + 0x888888ff, + 0x08888888, + 0x088888ff, + 0x008888ff, + 0x000888ff, + 0x00008888, + 0x00000088, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + + 0xff888888, + 0xff888888, + 0x88888880, + 0xff888880, + 0xff888800, + 0xff888000, + 0x88880000, + 0x88000000, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + +/* Tile ID 46 - From image coordinates 40, 32*/ + 0xff888888, + 0xf8888888, + 0x88888880, + 0xf8888880, + 0xf8888800, + 0xf8888000, + 0x88880000, + 0x88000000, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + + 0x888888ff, + 0x8888888f, + 0x08888888, + 0x0888888f, + 0x0088888f, + 0x0008888f, + 0x00008888, + 0x00000088, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + +/* Tile ID 47 - From image coordinates 48, 32*/ + 0x00000000, + 0x01013010, + 0x01001000, + 0x03101310, + 0x03030100, + 0x01010130, + 0x03130010, + 0x00000000, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + + 0x00000000, + 0x01031010, + 0x00010010, + 0x01310130, + 0x00103030, + 0x03101010, + 0x01003130, + 0x00000000, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + +/* Tile ID 48 - From image coordinates 56, 32*/ + 0x00000000, + 0x01013010, + 0x01001000, + 0x03101310, + 0x03030100, + 0x01010130, + 0x03130010, + 0x00000000, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + + 0x00000000, + 0x01031010, + 0x00010010, + 0x01310130, + 0x00103030, + 0x03101010, + 0x01003130, + 0x00000000, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + +/* Tile ID 49 - From image coordinates 64, 32*/ + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + +/* Tile ID 50 - From image coordinates 72, 32*/ + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + +}; + + diff --git a/src/Tool.s b/src/Tool.s index dae5db3..548783d 100644 --- a/src/Tool.s +++ b/src/Tool.s @@ -183,7 +183,9 @@ _TSShutDown jsr _CoreShutDown ; Shut down the library plb - pea $8000 + lda EngineMode + and #$8000 + pha pei ToolNum pea $0000 ; Set WAP to null pea $0000