When people say peripherals they tend to mean controllers and similar things, though I suppose it is accurate enough here. What you want more classed as addons or maybe expansions.
Still. Most pre PS1 stuff will be coded in assembly. No real way around that, some made proof of concept compilers for various flavours of C but proof of concept is the operative word -- to do anything more than something you might get on a C64 it is going to have to be assembly.
To that end one tends to go looking for hardware documentation. Emulators are a good start for this for older devices, in the case of the more obscure stuff (and certainly any arcade boards) I would probably first go to MAME
https://github.com/mamedev/mame/blo...40fcde97ca9468559/src/mame/machine/megacd.cpp
https://github.com/mamedev/mame/blo...0fcde97ca9468559/src/mame/machine/mega32x.cpp
Not as clear cut as some of the documentation of hardware I have seen for the arcades but more than nothing.
ROM hackers also want such info so they can have some good stuff. For whatever reason though Sega stuff of that era does not receive as much attention as the NES and SNES, and addons that failed like the megadrive ones even less so.
Though in this case there are some manuals
http://www.romhacking.net/?page=doc...=&perpage=20&level=&title=&desc=&docsearch=Go
http://www.romhacking.net/?page=doc...=&perpage=20&level=&title=&desc=&docsearch=Go
I should probably throw in the following while I am at it, I know you said no official stuff but it does have some useful info never the less
Writing code then will be so much assembly. There are debugging emulators for the megadrive/genesis but they are not so nice as the NES, SNES, GBA and even DS equivalents, though can certainly get stuff done (you will be able to set breakpoints, step through code, view contents of memory and registers...). I don't know what goes. Where you may also want to look at tool assisted speedrun (also known as TAS) circles as those people also need to manipulate things on a frame by frame basis, as well as often being able to speak to the emulator with the Lua programming language if you wanted to construct some more advanced debugging/testing routines. Certainly if I find myself looking at a new system and don't have something like FCEUX or no$gba to play with then TAS folks usually allow me to get where I am going.
The 32x apparently uses a SuperH/SH-2 chip, and apparently there are nice open source implementations of it as of a few years ago (patents expired for it) and go by the name J2. To that end you might find something of interest there
http://j-core.org/
The segacd is just a more conventional 68K which is used everywhere and was one of the main embedded processors... everywhere.