From c3bd1d2e831e3e5cb0e1cc0bffc6eb9f29a94932 Mon Sep 17 00:00:00 2001 From: Rayyan Ansari Date: Fri, 2 Sep 2022 11:47:12 +0100 Subject: Fix reading banner from homebrew ROMs Some homebrew ROMs do not have a banner, and use a null value to indicate this. Do not attempt to read the banner when this is the case. --- src/NDSCart.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/NDSCart.cpp b/src/NDSCart.cpp index a6e16df..35418eb 100644 --- a/src/NDSCart.cpp +++ b/src/NDSCart.cpp @@ -1602,7 +1602,15 @@ bool LoadROM(const u8* romdata, u32 romlen) memcpy(CartROM, romdata, romlen); memcpy(&Header, CartROM, sizeof(Header)); - memcpy(&Banner, CartROM + Header.BannerOffset, sizeof(Banner)); + + if (!Header.BannerOffset) + { + memset(&Banner, 0, sizeof(Banner)); + } + else + { + memcpy(&Banner, CartROM + Header.BannerOffset, sizeof(Banner)); + } printf("Game code: %.4s\n", Header.GameCode); -- cgit v1.2.3