small note: S-DD1 stopped to work in rev 7652 due to the changes in snes_dma (i.e. moving some variables to the state class instead of directly accessing RAM)

Since I was not able to find the exact piece of code which was causing the regression, and I'm busy as hell at work, I simply reverted the function to read from snes_ram (+ a bunch of cosmetic changes). This should not introduce new regressions, but if there are any, please simply choose which snes_dma causes less damage and use that version. I hope to have some more time in the next days to find the proper solution...

EDIT: ok, I'm dumb...

the problems were caused by these lines:

Code
		if ((offset >= 0x4300 && offset < 0x4380) ||
		   (offset >= 0x4800 && offset < 0x4808))
		{
			sdd1_mmio_write(space, (UINT32)offset, data);
			return;
		}

i.e. DMA addresses use sdd1_write instead of writing to the state variables... I'm going to fix this later tonight when I'm at home (hopefully)...