So, the only way to copy memory from RAM to VRAM is to use the provided DMA unit? (No shock, if so. Just asking.) And is the RAM address a byte address while the VRAM address is a word address?
Also: It would seem to make sense to me, ignorant as I am, that there is no need to copy from VRAM to RAM. Is that correct? Does the DMA work in only one direction?
You can write to $2118/2119 directly to send data to VRAM (to the VRAM word address stored in $2116-2117) but there is usually no need to, since often data written to VRAM (such as graphics) is usually large enough that writing to the DMA registers is better. (DMA takes more setup, but can write faster than manual loops)
I recall one game I hacked, Magna Braban, doing that for the graphics decompression routine. Maybe they did that for some kind of intentional timing delay. As I recall, converting from an iterative loop to a DMA routine caused it to break, at least maybe on better emulators (than the ZSNES and SNES9X which were out at the time the translation patch was originally created).
But one game I remember is a famously shitty game called Maka-maka.
They had the concept of DMA completely backwards, they set up DMA writes to write a single byte at a time to WRAM (not even VRAM, the console RAM) while they used manual loops (not even the CPU's block-write instructions) to copy 64K at a time.
This results in a cartridge game that has even worse load times the some of the famously slow early CD-based games.
And the out-of-battle spell menu ignores which character the player selects from the character-select menu and only allows the main protagonist to chose spells.
To release an RPG with such a basic functionality as casting spells outside of battle broken is astounding.
The credits are apparently broken too, but we almost have to wonder the programmers purposely glitched it to kind of Alan-Smithee themselves.