Implement DMA, more SPC opcodes, and more stuff.

SMW now writes graphics to VRAM. They don't look right, though.