Hello, I might be completely off base here since I've never seen anyone else do this, but from what I've gathered the SGB is just a full Gameboy shoved in a cartridge and all the SNES is doing is processing the video and sound, and even then people have pro sound mods for SGB. So my question is ultimately, is there a reason you couldn't just pro sound an SBG and provide power to it and then use it as a headless synth? And if that is possible are there additional hoops to jump through? Just curious
Yes, there are a few extra hoops you would need to jump. The SGB depends on the code running on the SNES to start the CPU, as well as the SNES for generating a clock signal. Actually, it's a little dance back and forth. The hardware interface for this is described here:
https://problemkaputt.de/fullsnes.htm#s pergameboy
You need to either activate the GB CPU using port 6003 as described in the link, or tie the reset line for the GB CPU high to allow it to run. However, tying the reset line high also makes it impossible to use that SGB as a regular SGB, because it relies on the software being able to reset the CPU.
SGB1 relies on the SNES's clock to generate a CPU clock for the GB CPU. SGB2 has its own clock crystal, but the same 6003 register has a speed setting which may be set wrong on startup, with no SGB firmware to set it correctly. You could possibly disconnect the clock lines from the ICD2 chip and use a clock crystal donated from a DMG instead. Such a mod has been done previously to restore the correct CPU speed and sound pitch so it's probably documented somewhere online.
Another little wrinkle is that the boot ROM of the SGB CPU, unlike the DMG CPU and all others, doesn't check the if the ROM header is valid. On the SGB CPU, the ROM header is instead transferred to the SNES side and validated there. So if you make your own software, it should probably do some validation so it doesn't crash. Especially important if's handling any kind of save data.
Another thing to consider, how would you get input to the SGB? You would need even more modding if you wanted to add buttons. You could do something like an internal Arduinoboy mod for receiving MIDI though.
Is it all worth it? You decide.
Yes, there are a few extra hoops you would need to jump. The SGB depends on the code running on the SNES to start the CPU, as well as the SNES for generating a clock signal. Actually, it's a little dance back and forth. The hardware interface for this is described here:
https://problemkaputt.de/fullsnes.htm#s pergameboy
You need to either activate the GB CPU using port 6003 as described in the link, or tie the reset line for the GB CPU high to allow it to run. However, tying the reset line high also makes it impossible to use that SGB as a regular SGB, because it relies on the software being able to reset the CPU.
SGB1 relies on the SNES's clock to generate a CPU clock for the GB CPU. SGB2 has its own clock crystal, but the same 6003 register has a speed setting which may be set wrong on startup, with no SGB firmware to set it correctly. You could possibly disconnect the clock lines from the ICD2 chip and use a clock crystal donated from a DMG instead. Such a mod has been done previously to restore the correct CPU speed and sound pitch so it's probably documented somewhere online.
Another little wrinkle is that the boot ROM of the SGB CPU, unlike the DMG CPU and all others, doesn't check the if the ROM header is valid. On the SGB CPU, the ROM header is instead transferred to the SNES side and validated there. So if you make your own software, it should probably do some validation so it doesn't crash. Especially important if's handling any kind of save data.
Another thing to consider, how would you get input to the SGB? You would need even more modding if you wanted to add buttons. You could do something like an internal Arduinoboy mod for receiving MIDI though.
Is it all worth it? You decide.
Wow, there were definitely a lot more factors than I originally thought, it's really interesting how that all interacts and other online info sources kind of mislead a bit by making it sound like the SNES is just doing basic video and audio. The intent would be attaching an Arduinoboy and using it as a synth which would make it less expensive than a whole Gameboy and also make me feel better about not gutting an original Gameboy for an internal application. Thanks a lot for the deep dive and for responding, I don't think I'd be able to pull it off based on the info you gave which is a bit of a shame...but maybe someday in the future I'll be able to tackle some more complex mods to achieve this. In the meantime I guess I'll just keep a new bookmark and a deeper understanding into the super Gameboy. Thanks again!