From b5eaaaeab26ec4991debaebda7aa984f8b483a72 Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Tue, 2 Nov 2021 21:18:53 +1000 Subject: [PATCH] Use ld's fill command instead of doing it manually with mkrom --- ld/pd.ld | 7 +++++++ tools/mkrom/main.c | 1 - tools/mkrom/mkrom.h | 1 - tools/mkrom/pack.c | 21 --------------------- 4 files changed, 7 insertions(+), 23 deletions(-) diff --git a/ld/pd.ld b/ld/pd.ld index 69a1ab818..726f56c06 100644 --- a/ld/pd.ld +++ b/ld/pd.ld @@ -636,6 +636,13 @@ SECTIONS _accessingpakSegmentRomEnd = 0; #endif + .fill : AT(__rompos) + { + FILL(0xff); + . = 0x02000000 - __rompos - 1; + BYTE(0xff); + } + /DISCARD/ : { * (.MIPS.abiflags); * (.options); diff --git a/tools/mkrom/main.c b/tools/mkrom/main.c index a4928478b..6d7e265a4 100644 --- a/tools/mkrom/main.c +++ b/tools/mkrom/main.c @@ -63,7 +63,6 @@ int main(int argc, char **argv) pack_lib(); pack_data(); pack_game(); - pack_fill(); rom_update_crc(); diff --git a/tools/mkrom/mkrom.h b/tools/mkrom/mkrom.h index d070b455f..e6c6657ab 100644 --- a/tools/mkrom/mkrom.h +++ b/tools/mkrom/mkrom.h @@ -71,7 +71,6 @@ bool map_get_segment_rompos(char *funcname, uint32_t *start, uint32_t *end); void pack_lib(void); void pack_data(void); void pack_game(void); -void pack_fill(void); void piracy_patch(void); diff --git a/tools/mkrom/pack.c b/tools/mkrom/pack.c index 7767b5810..e2fb441b6 100644 --- a/tools/mkrom/pack.c +++ b/tools/mkrom/pack.c @@ -134,24 +134,3 @@ void pack_lib(void) free(buffer); } - -/** - * Fill from the end of the last segment to the end of the ROM with 0xff. - */ -void pack_fill(void) -{ - uint32_t offset; - - map_get_segment_rompos("accessingpak", NULL, &offset); - - if (offset == 0) { - // We're probably building ntsc-beta, which doesn't have the - // accessingpak segment. - map_get_segment_rompos("copyright", NULL, &offset); - } - - while (offset < 1024 * 1024 * 32) { - state.rom[offset] = 0xff; - offset++; - } -}