mapper: rename the mapper macros, and only include overlay sections that we are actually using right now
This commit is contained in:
parent
4e26ce7a55
commit
ee40696470
6 changed files with 27 additions and 20 deletions
2
Makefile
2
Makefile
|
@ -123,7 +123,7 @@ all: $(TARGET)
|
||||||
$(TARGET): $(DEPS) $(OBJS) $(LIBS)
|
$(TARGET): $(DEPS) $(OBJS) $(LIBS)
|
||||||
${CC} $(CFLAGS) $(TMPFLAGS) $(INCCMD) -c ${F256}/f256lib/f256.c -o $(OBJDIR)/f256.o > $(LSTDIR)/$*.lst
|
${CC} $(CFLAGS) $(TMPFLAGS) $(INCCMD) -c ${F256}/f256lib/f256.c -o $(OBJDIR)/f256.o > $(LSTDIR)/$*.lst
|
||||||
$(LD) -o $@ $(addprefix $(OBJDIR)/,$(OBJS)) $(LIBS) $(LDFLAGS)
|
$(LD) -o $@ $(addprefix $(OBJDIR)/,$(OBJS)) $(LIBS) $(LDFLAGS)
|
||||||
llvm-objdump -d --print-imm-hex $(TARGET).elf > $(TARGET).lst
|
llvm-objdump --syms -d --print-imm-hex $(TARGET).elf > $(TARGET).lst
|
||||||
|
|
||||||
# Object Rules
|
# Object Rules
|
||||||
|
|
||||||
|
|
11
rickjr.ld
11
rickjr.ld
|
@ -107,15 +107,18 @@ OUTPUT_FORMAT {
|
||||||
TRIM(block8)
|
TRIM(block8)
|
||||||
|
|
||||||
/* block9 */
|
/* block9 */
|
||||||
/*
|
|
||||||
SHORT(ORIGIN(block9))
|
SHORT(ORIGIN(block9))
|
||||||
BYTE(9/8)
|
BYTE(9/8) /* block#/8 = the actual system high byte */
|
||||||
SHORT(end_block9 - __block9_lma)
|
SHORT(end_block9 - __block9_lma)
|
||||||
TRIM(block9)
|
TRIM(block9)
|
||||||
*/
|
|
||||||
|
/* block10 */
|
||||||
|
SHORT(ORIGIN(block10))
|
||||||
|
BYTE(10/8) /* block#/8 = the actual system high byte */
|
||||||
|
SHORT(end_block10 - __block10_lma)
|
||||||
|
TRIM(block10)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
TRIM(block10)
|
|
||||||
TRIM(block11)
|
TRIM(block11)
|
||||||
TRIM(block12)
|
TRIM(block12)
|
||||||
TRIM(block13)
|
TRIM(block13)
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
segment "dat";
|
segment "dat";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
RO_BLOCK(10) entdata_t ent_entdata[ENT_NBR_ENTDATA] = {
|
DATA_BLOCK(10) entdata_t ent_entdata[ENT_NBR_ENTDATA] = {
|
||||||
{0000, 0000, 000000, 000000, 0000, 0000, 0x00},
|
{0000, 0000, 000000, 000000, 0000, 0000, 0x00},
|
||||||
{0x18, 0x15, 000000, 000000, 0000, 0000, 0x00},
|
{0x18, 0x15, 000000, 000000, 0000, 0000, 0x00},
|
||||||
{0000, 0000, 000000, 000000, 0000, 0000, 0x00},
|
{0000, 0000, 000000, 000000, 0000, 0000, 0x00},
|
||||||
|
@ -101,7 +101,7 @@ RO_BLOCK(10) entdata_t ent_entdata[ENT_NBR_ENTDATA] = {
|
||||||
{0x18, 0x10, 0x000c, 0x0005, 0x04, 0x04, 0x14},
|
{0x18, 0x10, 0x000c, 0x0005, 0x04, 0x04, 0x14},
|
||||||
};
|
};
|
||||||
|
|
||||||
RO_BLOCK(10) U8 ent_sprseq[ENT_NBR_SPRSEQ] = {
|
DATA_BLOCK(10) U8 ent_sprseq[ENT_NBR_SPRSEQ] = {
|
||||||
0000, 0x01, 0000, 0x02, 0x05, 0x03, 0x04, 0x03,
|
0000, 0x01, 0000, 0x02, 0x05, 0x03, 0x04, 0x03,
|
||||||
0x65, 0xff, 0x66, 0xff, 0x55, 0xff, 0000, 0x56,
|
0x65, 0xff, 0x66, 0xff, 0x55, 0xff, 0000, 0x56,
|
||||||
0xff, 0000, 0x57, 0xff, 0000, 0x58, 0x59, 0xff,
|
0xff, 0000, 0x57, 0xff, 0000, 0x58, 0x59, 0xff,
|
||||||
|
@ -122,7 +122,7 @@ RO_BLOCK(10) U8 ent_sprseq[ENT_NBR_SPRSEQ] = {
|
||||||
0xff, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xff, 0x00,
|
0xff, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xff, 0x00,
|
||||||
};
|
};
|
||||||
|
|
||||||
RO_BLOCK(10) mvstep_t ent_mvstep[ENT_NBR_MVSTEP] = {
|
DATA_BLOCK(10) mvstep_t ent_mvstep[ENT_NBR_MVSTEP] = {
|
||||||
{ 0x10, 0, 0 } ,
|
{ 0x10, 0, 0 } ,
|
||||||
{ 0x0c, 0, 4 } ,
|
{ 0x0c, 0, 4 } ,
|
||||||
{ 0xfa, 0, 0 } ,
|
{ 0xfa, 0, 0 } ,
|
||||||
|
|
|
@ -19,7 +19,7 @@ segment "dat";
|
||||||
#include "system.h"
|
#include "system.h"
|
||||||
#include "maps.h"
|
#include "maps.h"
|
||||||
|
|
||||||
RO_BLOCK(11) map_t map_maps[MAP_NBR_MAPS] = {
|
DATA_BLOCK(9) map_t map_maps[MAP_NBR_MAPS] = {
|
||||||
#ifdef IIGS
|
#ifdef IIGS
|
||||||
{0x0008, 0x008b, 0x0008, 000000, &samerica_lz4},
|
{0x0008, 0x008b, 0x0008, 000000, &samerica_lz4},
|
||||||
{0x0008, 0x008b, 0x0068, 0x0009, &egypt_lz4},
|
{0x0008, 0x008b, 0x0068, 0x0009, &egypt_lz4},
|
||||||
|
@ -35,7 +35,7 @@ RO_BLOCK(11) map_t map_maps[MAP_NBR_MAPS] = {
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
RO_BLOCK(11) submap_t map_submaps[MAP_NBR_SUBMAPS] = {
|
DATA_BLOCK(9) submap_t map_submaps[MAP_NBR_SUBMAPS] = {
|
||||||
{000000, 000000, 000000, 000000},
|
{000000, 000000, 000000, 000000},
|
||||||
{000000, 0x0078, 0x0003, 0x0005},
|
{000000, 0x0078, 0x0003, 0x0005},
|
||||||
{000000, 0x0150, 0x0006, 0x0011},
|
{000000, 0x0150, 0x0006, 0x0011},
|
||||||
|
@ -85,7 +85,7 @@ RO_BLOCK(11) submap_t map_submaps[MAP_NBR_SUBMAPS] = {
|
||||||
{0x0001, 0x1f5a, 0x0096, 0x0202},
|
{0x0001, 0x1f5a, 0x0096, 0x0202},
|
||||||
};
|
};
|
||||||
|
|
||||||
RO_BLOCK(11) connect_t map_connect[MAP_NBR_CONNECT] = {
|
DATA_BLOCK(9) connect_t map_connect[MAP_NBR_CONNECT] = {
|
||||||
|
|
||||||
/* map 0 */
|
/* map 0 */
|
||||||
|
|
||||||
|
@ -1322,7 +1322,7 @@ U8 map_bnums[MAP_NBR_BNUMS] = {
|
||||||
0xc0, 0xc0, 0000, 0000, 0000, 0000, 0000, 0000,
|
0xc0, 0xc0, 0000, 0000, 0000, 0000, 0000, 0000,
|
||||||
};
|
};
|
||||||
|
|
||||||
RO_BLOCK(11) block_t map_blocks[MAP_NBR_BLOCKS] = {
|
DATA_BLOCK(9) block_t map_blocks[MAP_NBR_BLOCKS] = {
|
||||||
{0000, 0000, 0000, 0000, 0000, 0000, 0000, 0000,
|
{0000, 0000, 0000, 0000, 0000, 0000, 0000, 0000,
|
||||||
0000, 0000, 0000, 0000, 0000, 0000, 0000, 0000},
|
0000, 0000, 0000, 0000, 0000, 0000, 0000, 0000},
|
||||||
{0x29, 0x2a, 0x2d, 0x2e, 0x2b, 0x2c, 0x2f, 0x30,
|
{0x29, 0x2a, 0x2d, 0x2e, 0x2b, 0x2c, 0x2f, 0x30,
|
||||||
|
@ -1837,7 +1837,7 @@ RO_BLOCK(11) block_t map_blocks[MAP_NBR_BLOCKS] = {
|
||||||
0x22, 0x2d, 0x2e, 0xe7, 0x28, 0x2b, 0x2c, 0xea},
|
0x22, 0x2d, 0x2e, 0xe7, 0x28, 0x2b, 0x2c, 0xea},
|
||||||
};
|
};
|
||||||
|
|
||||||
RO_BLOCK(11) mark_t map_marks[MAP_NBR_MARKS] = {
|
DATA_BLOCK(9) mark_t map_marks[MAP_NBR_MARKS] = {
|
||||||
{0x18, 0x16, 0000, 0x08, 0x08}, /* 0 */
|
{0x18, 0x16, 0000, 0x08, 0x08}, /* 0 */
|
||||||
{0x18, 0x2a, 0x88, 0x01, 0x28},
|
{0x18, 0x2a, 0x88, 0x01, 0x28},
|
||||||
{0x38, 0x04, 0xf0, 0x15, 0x29},
|
{0x38, 0x04, 0xf0, 0x15, 0x29},
|
||||||
|
@ -2363,7 +2363,7 @@ RO_BLOCK(11) mark_t map_marks[MAP_NBR_MARKS] = {
|
||||||
{0xff, 0000, 0000, 0000, 0000},
|
{0xff, 0000, 0000, 0000, 0000},
|
||||||
};
|
};
|
||||||
|
|
||||||
RO_BLOCK(11) U8 map_eflg_c[MAP_NBR_EFLGC] = {
|
DATA_BLOCK(9) U8 map_eflg_c[MAP_NBR_EFLGC] = {
|
||||||
0x4d, 0000, 0x0e, 0x02, 0x04, 0x04, 0x57, 0x08,
|
0x4d, 0000, 0x0e, 0x02, 0x04, 0x04, 0x57, 0x08,
|
||||||
0x08, 0x18, 0x03, 0x68, 0x3b, 0x48, 0x04, 0x80,
|
0x08, 0x18, 0x03, 0x68, 0x3b, 0x48, 0x04, 0x80,
|
||||||
0x37, 0000, 0x04, 0x02, 0x04, 0x04, 0x90, 0x08,
|
0x37, 0000, 0x04, 0x02, 0x04, 0x04, 0x90, 0x08,
|
||||||
|
|
|
@ -14,12 +14,12 @@
|
||||||
$$JGA TODO, sort out how to mark an entire file
|
$$JGA TODO, sort out how to mark an entire file
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define RAM_BLOCK(index) __attribute__((noinline, section(".block"#index)))
|
#define CODE_BLOCK(index) __attribute__((noinline, section(".block"#index)))
|
||||||
#define RO_BLOCK(index) __attribute__((section(".block"#index)))
|
#define DATA_BLOCK(index) __attribute__((section(".block"#index)))
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
#define RAM_BLOCK(index)
|
#define CODE_BLOCK(index)
|
||||||
#define RO_BLOCK(index)
|
#define DATA_BLOCK(index)
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -14,9 +14,13 @@ segment "screen";
|
||||||
|
|
||||||
extern char credits_lz4;
|
extern char credits_lz4;
|
||||||
|
|
||||||
RAM_BLOCK(8) void scr_credit()
|
CODE_BLOCK(8) void scr_credit()
|
||||||
{
|
{
|
||||||
*((char*)0xC000) = 0;
|
#ifdef F256
|
||||||
|
//$$JGA TODO - fix this
|
||||||
|
*((char*)0x300) = 0;
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef IIGS
|
#ifdef IIGS
|
||||||
// Keep the Screen on
|
// Keep the Screen on
|
||||||
*VIDEO_REGISTER|=0xC0;
|
*VIDEO_REGISTER|=0xC0;
|
||||||
|
|
Loading…
Add table
Reference in a new issue