From 5ecc2034c818c43935724d84cbe8454c9232154b Mon Sep 17 00:00:00 2001 From: dwsJason Date: Fri, 17 Aug 2018 23:34:35 -0400 Subject: [PATCH] import: add compiled in tile data, patch in a way to call it --- asm/drawtile.s | 65 +++++++++++++++++++++++++++++++++++++++++++++++ data.bat | 3 +++ data/tiles.lz4 | Bin 0 -> 27642 bytes include/system.h | 8 ++++++ src/draw.c | 17 ++++++++----- src/sysvid.c | 19 ++++++++++++-- 6 files changed, 104 insertions(+), 8 deletions(-) create mode 100644 asm/drawtile.s create mode 100644 data/tiles.lz4 diff --git a/asm/drawtile.s b/asm/drawtile.s new file mode 100644 index 0000000..b5a22a4 --- /dev/null +++ b/asm/drawtile.s @@ -0,0 +1,65 @@ +* +* ORCA/M Format!! +* Thunk from C to compiled draw things +* + case on + longa on + longi on + +Dummy3 start ASMCODE + end + +* +* void DrawTile(short offset, short tileNo) +* + +DrawTile start ASMCODE + +iOffset equ 5 +iTileNo equ 7 + + phb + + lda iOffset,s + tay + lda iTileNo,s + asl A + tax ; jmp table offset in x + + anop ; adjust the stack + anop ; Copy the Return address + lda 1,s + sta iTileNo-2,s + lda 3,s + sta iTileNo,s + pla + + lda #$0101 + sta 1,s + plb + plb +TILEBANK gequ * + jsl >$880000 + + plb + rtl + +*------------------------------------------------------------------------------- + end + +SetTileBank start ASMCODE + +iBank equ 4 + sep #$30 + lda iBank,s + sta >TILEBANK+3 + rep #$30 + lda 2,s + sta iBank,s + lda 1,s + sta iBank-1,s + pla + rtl + +*------------------------------------------------------------------------------- + end diff --git a/data.bat b/data.bat index 59187a2..49570b8 100644 --- a/data.bat +++ b/data.bat @@ -42,10 +42,13 @@ rem iix mkobj splash_lz4 data:splash.lz4 data:splash.a iix mkobj img_splash_lz4 data:img_splash16.lz4 data:img_splash.a iix mkobj pic_haf_lz4 data:pic_haf.lz4 data:pic_haf.a +iix mkobj tiles_lz4 data:tiles.lz4 data:tiles.a rem rem Create Static Linked Binary data library rem iix makelib -P data.lib +data\splash.a iix makelib -P data.lib +data\img_splash.a iix makelib -P data.lib +data\pic_haf.a +iix makelib -P data.lib +data\tiles.a + diff --git a/data/tiles.lz4 b/data/tiles.lz4 new file mode 100644 index 0000000000000000000000000000000000000000..987a22cce6a51613cea297013cbaafeb9045bdf4 GIT binary patch literal 27642 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 GE&m6xa4(zy literal 0 HcmV?d00001 diff --git a/include/system.h b/include/system.h index f5fb414..af0e0b7 100644 --- a/include/system.h +++ b/include/system.h @@ -88,7 +88,11 @@ extern void sys_sleep(int); */ #define SYSVID_ZOOM 2 #define SYSVID_MAXZOOM 4 +#ifdef GS +#define SYSVID_WIDTH 160 +#else #define SYSVID_WIDTH 320 +#endif #define SYSVID_HEIGHT 200 extern void sysvid_init(void); @@ -174,6 +178,10 @@ extern void sysjoy_shutdown(void); extern int LZ4_Unpack(char* pDest, char* pPackedSource); extern volatile unsigned long* tick; +// GS Rendering Stuff +extern void SetTileBank(short bank); +extern void DrawTile(short offset, short tileNo); + // ADB Support Code extern char KeyArray[128]; extern void RemoveKeyboardDriver(); diff --git a/src/draw.c b/src/draw.c index 0937c0b..82a90df 100644 --- a/src/draw.c +++ b/src/draw.c @@ -111,8 +111,8 @@ static U8 *fb; /* frame buffer pointer */ void draw_setfb(U16 x, U16 y) { -#ifdef IIGS - fb = sysvid_fb + x + y * (SYSVID_WIDTH/2); +#ifdef GSGFX + fb = sysvid_fb + (x>>1) + (y * SYSVID_WIDTH); #else fb = sysvid_fb + x + y * SYSVID_WIDTH; #endif @@ -237,6 +237,15 @@ draw_tilesSubList() void draw_tile(U8 tileNumber) { +#ifdef GFXGS + //$$JGA TODO convert to ASM + + int tileNo = (draw_tilesBank*256)+tileNumber; + + DrawTile((short)fb,tileNo); + + fb += 4; /* next tile */ +#else U8 i, k, *f; #ifdef GFXPC @@ -274,10 +283,6 @@ draw_tile(U8 tileNumber) } -#ifdef GFXGS -// fix crash I hope - fb += 4; /* next tile */ -#else fb += 8; /* next tile */ #endif } diff --git a/src/sysvid.c b/src/sysvid.c index 53ae772..9761bb1 100644 --- a/src/sysvid.c +++ b/src/sysvid.c @@ -52,6 +52,7 @@ static SDL_Surface *screen; #ifdef IIGS volatile char *VIDEO_REGISTER = (char*)0xC029; volatile char *SHADOW_REGISTER = (char*)0xC035; +extern U8 tiles_lz4; #endif static U32 videoFlags; @@ -225,7 +226,8 @@ sysvid_init(void) { #ifdef IIGS handle hndl; // "generic memory handle" - void *directPageHandle; + void* directPageHandle; + void* tilesPageHandle; // PushLong #0 ;/* Ask Shadowing Screen ($8000 bytes from $01/2000)*/ // PushLong #$8000 @@ -279,10 +281,23 @@ sysvid_init(void) printf("SUCCESS\n"); //BlitFieldHndl = NewHandle(0x10000, userid(), 0xC014, 0); + printf("Allocate Bank for 8x8 Tiles\n"); + tilesPageHandle = NewHandle(0x10000, userid(), 0xC014, 0); + if (toolerror()) + { + printf("Unable to allocate 64k Tiles Bank\n"); + printf("Game can't run\n"); + sys_sleep(5000); // Wait 5 seconds + exit(1); + } + printf("SUCCESS\n"); + SetTileBank(((U8*)*tilesPageHandle)[2]); + LZ4_Unpack((char*)*tilesPageHandle, &tiles_lz4); + sysvid_fb = (U8*)0x12000; // SHR ON - *VIDEO_REGISTER|=0xC0; + //*VIDEO_REGISTER|=0xC0; // ENABLE Shadowing of SHR *SHADOW_REGISTER&=~0x08; // Shadow Enable