In "Sakura Wars: Columns 2", this included archived DLC, as well as a fully unlocked save (thus giving access to all extra content the game offers).

In "Cool Cool Toon", we'll be shipping a fully unlocked save, as well as other things, like an archive of the old Dricas website, and more.
Skip to the 3 minute and 44 second mark.
https://youtu.be/flB0JXJPibU
However, did you know that any internet-enabled game, even if that just means a built-in web browser, actually checks for the presence of preconfigured ISP settings before allowing the player to access that internet content? This makes perfect sense, as there'd be no real reason for a player to try and make use of such features without their Dreamcast having an internet connection.
However, for my translation patches, all content is baked directly onto the disc itself (or disc image, rather). As a result, I want to ensure that nobody out there is unable to enjoy that bonus material, meaning I had to start looking at how to remove that ISP settings-check.
The simplest of the two methods, which I used for "Sakura Wars: Columns 2", involves searching for the byte string 41474553 (ASCII for SEGA) in a disassembler, like Ghidra. Next, identify any functions reading in that string until you find one that looks like this...

The hack here is simple, and only requires forcing the function to return 0x0, as seen below.

I have found this function in other internet-enabled games, but haven't yet extensively tested modifying this function in anything but "Sakura Wars: Columns 2".
The next method, which I used for "Cool Cool Toon", is slightly more involved, but should at least somewhat fun for you to read about!

In the Dreamcast BIOS at address 0x8c0000b8, there are SH4 assembly instructions to iterate through various parts of the flashrom, namely the ISP settings. In a disassembler, you'll find numerous references to this address...

The screenshot above is one such example. As we can see, 0x8c0000b8 isn't the flashrom address, but rather the address in the BIOS where actual code lives that DOES access the flashrom.
I was able to learn more about how this works by analyzing the source code for KalistiOS, which does the same thing to access those network settings: https://github.com/KallistiOS/KallistiO ... flashrom.c
For this game, there are four functions identical to the one shown in the above screenshot. Each of the four is called numerous times from other parts of the code. After each of those calls, there's a cmp/eq for -1...

So by simply forcing each of those four functions to return 0x0, the code no longer jumps to the instructions stored in the BIOS, and thus does not execute code to look in the flashrom for network settings. Instead, it just returns 0x0.
