redacted173 / sd2snes

SD card based multi-purpose cartridge for the SNES
http://sd2snes.de
GNU General Public License v2.0
79 stars 2 forks source link

Feature request: change default SGB colour palette. #16

Closed wezlyons closed 4 years ago

wezlyons commented 4 years ago

Currently the SGB defaults to colour palette A1 when starting a gameboy game. Could it be possible to add the option to change the default palette to one of the user's preference in the .cfg file?

bulrog461 commented 4 years ago

This likely requires a ips patch to the bios. If this is easy to do, would it be possible to include the ability to select Type A control style as default?

redacted173 commented 4 years ago

Unfortunately, I know very little about the bios (sgb2_snes.bin) and am not good with SNES rom hacking. I also feel patching rom hacks inside the firmware is bad for several reasons. The best place to put these types of changes is the same as other SNES rom hacks: in the file itself. If you search for SNES rom hacking you will find forums that can either teach you how to make the changes or find someone with the skills to make you a hack. Maybe someone can create a bios editor for customizations?

In-game hooks (and associated features) will automatically be disabled if a hacked sgb2_snes.bin file is found. You can override that behavior with the SGBBiosOverride config option. But you are on your own with debugging any problems in this mode.

Of course someone can also clone the SGB repo and add their own changes to do what you want.

Good luck with your changes!

wezlyons commented 4 years ago

No problem, thanks for the response. Thanks for the great work with the firmware too.

redacted173 commented 4 years ago

The following links may help.

Disassembly of bios. From the comments it looks like it's not finished, but still very useful for someone who wants to create a rom hack. https://github.com/ISSOtm/sgb-bios

palette related state in WRAM: https://github.com/ISSOtm/sgb-bios/blob/30c747c76169e35ac596e9e7780f64b1c8e6334f/src/wram.asm#L208

button swap state in WRAM: https://github.com/ISSOtm/sgb-bios/blob/30c747c76169e35ac596e9e7780f64b1c8e6334f/src/wram.asm#L175

wezlyons commented 4 years ago

Thanks, I'll have a look.