From 19dfb38262cb15ddae54186d2f0b4d920651294b Mon Sep 17 00:00:00 2001 From: dwsJason Date: Sat, 18 Aug 2018 20:05:59 -0400 Subject: [PATCH] Fixes for the Hall of Fame, Direct Export the Xrick Splash into a C1 so that B2S doesn't screw up the palette, now we can see the the compiled tiles render --- asm/drawtile.s | 15 ++++++-- bin/xrick2png/source/xrick2png.c | 62 +++++++++++++++++++++++++++++++ data.bat | 25 +------------ data/pics/img_splash.c1 | Bin 0 -> 32768 bytes data/pics/splash.c1 | Bin 0 -> 32768 bytes include/system.h | 4 +- src/draw.c | 7 +++- src/sysvid.c | 15 ++++---- 8 files changed, 90 insertions(+), 38 deletions(-) create mode 100644 data/pics/img_splash.c1 create mode 100644 data/pics/splash.c1 diff --git a/asm/drawtile.s b/asm/drawtile.s index b5a22a4..541f5e3 100644 --- a/asm/drawtile.s +++ b/asm/drawtile.s @@ -19,7 +19,7 @@ iOffset equ 5 iTileNo equ 7 phb - + lda iOffset,s tay lda iTileNo,s @@ -28,20 +28,26 @@ iTileNo equ 7 anop ; adjust the stack anop ; Copy the Return address - lda 1,s - sta iTileNo-2,s lda 3,s sta iTileNo,s + lda 1,s + sta iTileNo-2,s + pla lda #$0101 sta 1,s plb plb -TILEBANK gequ * +TILEBANK2 entry + lda >$880005,x + sta >TILEBANK+1 + +TILEBANK entry jsl >$880000 plb + rtl *------------------------------------------------------------------------------- @@ -53,6 +59,7 @@ iBank equ 4 sep #$30 lda iBank,s sta >TILEBANK+3 + sta >TILEBANK2+3 rep #$30 lda 2,s sta iBank,s diff --git a/bin/xrick2png/source/xrick2png.c b/bin/xrick2png/source/xrick2png.c index 12e3ea1..efa6e9d 100644 --- a/bin/xrick2png/source/xrick2png.c +++ b/bin/xrick2png/source/xrick2png.c @@ -69,6 +69,67 @@ void savePixelsGS(MYBMP *pBitmap, const char* pFilename) } } +// +// +// +void savePixelsGSc1(MYBMP *pBitmap, const char* pFilename) +{ + FILE* gsfile = fopen( pFilename, "wb" ); + + if (gsfile) + { + unsigned char* pPixels = pBitmap->map; + + for (int y = 0; y < pBitmap->height; ++y) + { + for (int x = 0; x < pBitmap->width; x+=2) + { + unsigned char* pPixel = pPixels + (y*pBitmap->width) + x; + + unsigned char GS_PIXEL = 0; + GS_PIXEL = (pPixel[0] << 4) | (pPixel[1] & 0xF); + putc(GS_PIXEL, gsfile); + } + } + + for (int idx = 0; idx < 256; ++idx) + { + putc(0, gsfile); // SCBs + Screen holes + } + + for (int palnum = 0; palnum < 16; ++palnum) + { + for (int idx = 0; idx < 16; idx++) + { + u16 pixel = 0; + + u16 red = pBitmap->palette[ (idx * 3)+0 ]; + u16 green = pBitmap->palette[ (idx * 3)+1 ]; + u16 blue = pBitmap->palette[ (idx * 3)+2 ]; + + red>>=4; + green>>=4; + blue>>=4; + + pixel |= red << 8; + pixel |= green << 4; + pixel |= blue; + + putc(pixel & 0xff, gsfile); + putc(pixel >> 8, gsfile); + } + } + + fclose(gsfile); + } + else + { + fprintf(stderr,"\nERROR Unable to create output file: %s\n", pFilename); + exit(1); + } +} + + // // Save the RawBMP Data as a PNG // @@ -412,6 +473,7 @@ int main(int argc, char **argv) pBitmap = loadPic( pic_splash, 320, 200 ); savePng(pBitmap, "splash.png"); + savePixelsGSc1(pBitmap, "splash.c1"); pBitmap = loadImage( IMG_SPLASH ); savePng(pBitmap, "img_splash.png"); diff --git a/data.bat b/data.bat index 49570b8..1a35fe0 100644 --- a/data.bat +++ b/data.bat @@ -6,32 +6,11 @@ rem echo Y |del data.lib -if exist "bmp" ( - echo Y |del bmp\* - rmdir bmp -) - -rem -rem bmp directory if it doesn't exist -rem -if not exist "bmp" ( - mkdir bmp -) - -rem -rem convert all the pngs to bmp -rem -png2bmp -D bmp data\pics\*.png -rem -rem for now just convert the splash screen, to GS format -rem -b2s bmp\splash.bmp -b2s bmp\img_splash16.bmp rem rem Compress the title page rem -lz4 -c2 bmp\splash.SHR#C10000 data\splash.lz4 -lz4 -c2 bmp\img_splash16.SHR#C10000 data\img_splash16.lz4 +lz4 -c2 data\pics\splash.c1 data\splash.lz4 +lz4 -c2 data\pics\img_splash.c1 data\img_splash16.lz4 rem rem Hall of Fame rem diff --git a/data/pics/img_splash.c1 b/data/pics/img_splash.c1 new file mode 100644 index 0000000000000000000000000000000000000000..b97626e6323211421a06c6670cfbcbea33ec9855 GIT binary patch literal 32768 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 E0V935LjV8( literal 0 HcmV?d00001 diff --git a/data/pics/splash.c1 b/data/pics/splash.c1 new file mode 100644 index 0000000000000000000000000000000000000000..7b1584e1fd826fc6cbd45a95c2a8492dae62bf7f GIT binary patch literal 32768 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 I53JAs0ln;uBme*a literal 0 HcmV?d00001 diff --git a/include/system.h b/include/system.h index af0e0b7..350b6a7 100644 --- a/include/system.h +++ b/include/system.h @@ -88,7 +88,7 @@ extern void sys_sleep(int); */ #define SYSVID_ZOOM 2 #define SYSVID_MAXZOOM 4 -#ifdef GS +#ifdef IIGS #define SYSVID_WIDTH 160 #else #define SYSVID_WIDTH 320 @@ -180,7 +180,7 @@ extern volatile unsigned long* tick; // GS Rendering Stuff extern void SetTileBank(short bank); -extern void DrawTile(short offset, short tileNo); +extern void DrawTile(int offset, int tileNo); // ADB Support Code extern char KeyArray[128]; diff --git a/src/draw.c b/src/draw.c index 82a90df..c21a6a1 100644 --- a/src/draw.c +++ b/src/draw.c @@ -111,7 +111,7 @@ static U8 *fb; /* frame buffer pointer */ void draw_setfb(U16 x, U16 y) { -#ifdef GSGFX +#ifdef IIGS fb = sysvid_fb + (x>>1) + (y * SYSVID_WIDTH); #else fb = sysvid_fb + x + y * SYSVID_WIDTH; @@ -242,7 +242,10 @@ draw_tile(U8 tileNumber) int tileNo = (draw_tilesBank*256)+tileNumber; - DrawTile((short)fb,tileNo); + //printf("fb=%04x tileNo=%04x\n", (int)fb, tileNo); + //sys_sleep(1000); // Wait 1 second + + DrawTile(((int)fb),tileNo); fb += 4; /* next tile */ #else diff --git a/src/sysvid.c b/src/sysvid.c index 9761bb1..cc44195 100644 --- a/src/sysvid.c +++ b/src/sysvid.c @@ -226,8 +226,8 @@ sysvid_init(void) { #ifdef IIGS handle hndl; // "generic memory handle" - void* directPageHandle; - void* tilesPageHandle; + U32* directPageHandle; + U32* tilesPageHandle; // PushLong #0 ;/* Ask Shadowing Screen ($8000 bytes from $01/2000)*/ // PushLong #$8000 @@ -270,7 +270,7 @@ sysvid_init(void) // Allocate Some Direct Page memory printf("Allocate Direct Page space 512 bytes\n"); - directPageHandle = NewHandle( 0x200, userid(), 0xC005, 0 ); + directPageHandle = (U32*)NewHandle( 0x200, userid(), 0xC005, 0 ); if (toolerror()) { printf("Unable to allocate 512 bytes Direct Page\n"); @@ -282,7 +282,7 @@ sysvid_init(void) //BlitFieldHndl = NewHandle(0x10000, userid(), 0xC014, 0); printf("Allocate Bank for 8x8 Tiles\n"); - tilesPageHandle = NewHandle(0x10000, userid(), 0xC014, 0); + tilesPageHandle = (U32*)NewHandle(0x10000, userid(), 0xC014, 0); if (toolerror()) { printf("Unable to allocate 64k Tiles Bank\n"); @@ -291,13 +291,14 @@ sysvid_init(void) exit(1); } printf("SUCCESS\n"); - SetTileBank(((U8*)*tilesPageHandle)[2]); + SetTileBank((*tilesPageHandle)>>16); + 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 @@ -505,7 +506,7 @@ sysvid_clear(void) #ifndef IIGS memset(sysvid_fb, 0, SYSVID_WIDTH * SYSVID_HEIGHT); #else - size_t length = SYSVID_WIDTH /2 * SYSVID_HEIGHT; + size_t length = SYSVID_WIDTH * SYSVID_HEIGHT; //printf("sysvid_clear: target = %08p\n", sysvid_fb); //printf("sysvid_clear: length = %08p\n", length); //sys_sleep(10000);