From 0279da40c17884e8a44d199eb1219c3a3df670a2 Mon Sep 17 00:00:00 2001 From: "JASON-6700K\\jandersen" Date: Sun, 28 Jan 2024 11:57:03 -0500 Subject: [PATCH] rickjr: import credit screen data, update the mapper function to use the f256lib to map in high memory --- Makefile | 2 +- data/credits.256 | Bin 0 -> 5078 bytes data/credits.png | Bin 0 -> 4657 bytes src/dat_spritesJR.c | 15 +++++++++------ src/mapper.h | 4 ++++ src/scr_credit.c | 2 +- 6 files changed, 15 insertions(+), 8 deletions(-) create mode 100644 data/credits.256 create mode 100644 data/credits.png diff --git a/Makefile b/Makefile index fce8edc..32b042e 100644 --- a/Makefile +++ b/Makefile @@ -29,7 +29,7 @@ F256 = $(HOME)/code/f256 #SYSLIBDIR = $(SYSTEM)/lib #SYSINCDIR = $(SYSTEM)/include -TMPFLAGS = -D F256=1 -include src/mapper.h -Wno-unknown-pragmas +TMPFLAGS = -D F256=1 -include src/mapper.h -include blocks.h -Wno-unknown-pragmas INCCMD = -I$(SYSINCDIR) diff --git a/data/credits.256 b/data/credits.256 new file mode 100644 index 0000000000000000000000000000000000000000..0e77fc384f276fa290af518e85e8652764112ea1 GIT binary patch literal 5078 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 Dwey6a literal 0 HcmV?d00001 diff --git a/data/credits.png b/data/credits.png new file mode 100644 index 0000000000000000000000000000000000000000..2a3e28d74e6f505b88ceef378b2571b292d6e736 GIT binary patch literal 4657 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 A1^@s6 literal 0 HcmV?d00001 diff --git a/src/dat_spritesJR.c b/src/dat_spritesJR.c index 2a2781c..b4aef5b 100644 --- a/src/dat_spritesJR.c +++ b/src/dat_spritesJR.c @@ -18,12 +18,6 @@ #define STR2(x) #x #define STR(x) STR2(x) -//#ifdef _WIN32 -//#define INCBIN_SECTION ".rdata, \"dr\"" -//#else -//#define INCBIN_SECTION ".rodata" -//#endif - // this aligns start address to 16 and terminates byte array with explict 0 // which is not really needed, feel free to change it to whatever you want/need #define INCBIN(INCBIN_SECTION, name, file) \ @@ -41,9 +35,18 @@ extern __attribute__((aligned(16))) const char incbin_ ## name ## _start[]; \ extern const char incbin_ ## name ## _end[] +// Credits/Jr Title +INCBIN(".binarydata.credits", credits_256, "data/credits.256"); +// Title Page INCBIN(".binarydata.splash", splash_256, "data/splash.256"); +// Map Tiles INCBIN(".binarydata.tiles", tiles_256, "data/tiles_data.256"); +// Sprite Frames (32x32 sprites) INCBIN(".binarydata.sprites", sprites_256, "data/sprites_data.256"); +// Hall of Fame +INCBIN(".binarydata.haf", haf_256, "data/haf.256"); +// Congrats +INCBIN(".binarydata.haf", congrats_256, "data/congrats.256"); #endif /* GFXF256 */ diff --git a/src/mapper.h b/src/mapper.h index 400b983..afcfd7c 100644 --- a/src/mapper.h +++ b/src/mapper.h @@ -17,9 +17,13 @@ $$JGA TODO, sort out how to mark an entire file #define CODE_BLOCK(index) __attribute__((noinline, section(".block"#index))) #define DATA_BLOCK(index) __attribute__((section(".block"#index))) +#define PAGEIN(_function_BLOCK) POKE(SWAP_SLOT, _function_BLOCK) + #else #define CODE_BLOCK(index) #define DATA_BLOCK(index) +#define PAGEIN(_function_) + #endif diff --git a/src/scr_credit.c b/src/scr_credit.c index 87bc625..4fa4c07 100644 --- a/src/scr_credit.c +++ b/src/scr_credit.c @@ -25,7 +25,7 @@ CODE_BLOCK(8) void scr_credit() //$$JGA TODO - fix this *((char*)0x200) = (char)(((long)(&incbin_sprites_256_start))); *((char*)0x201) = (char)(((long)(&incbin_sprites_256_start))>>8); -// *((char*)0x202) = (char)(((long)(&incbin_sprites_256_start_high))>>16); + *((char*)0x202) = incbin_sprites_256_start_high; *((char*)0x203) = scr_credit_BLOCK; // *((char*)0x203) = (char)(((long)(__block23_lma_high))>>8); #endif