The absolute minimum you need in order to get started:
1) A test platform - this can be a real Saturn with commslink (requires a commslink card
in your PC (requires an ISA slot, sadly) and a commslink-equipped cheat cart
in the Saturn) or an emulator (can't find good emu links at the moment). If you're not troubled by landfills taking over the planet, you could also just burn every new version of your code to CD-R and use a modboard or the swap trick to boot them.
2) A SuperH assembler/linker. GNU binutils
can function in this capacity, though it has a couple syntax peculiarities. If you want to build and use a GNU toolchain on a Windows OS, Cygwin
is your gift and your curse. Prebuilt binaries of an older official Sega build of GCC/binutils are floating around, though I'm not sure if they're on a stable web site at this time.
3) Knowledge of the Saturn architecture. Some of the manuals can be found at this place
, but for those to be useful you'll need a Saturn memory map. A basic one can be found here
, or you can try to find the SCU manual, which also contains a memory map.
If you want to use C, you could build a SuperH cross-gcc (which is what Sega provided to developers). As for libraries, the official one (called SGL) is floating around, but can be difficult to get since nobody seems to want to put them on stable web space...