Page 1 of 1

[Split Thread] newer NES2SNES conversions and Tileset DMA

Posted: Sun Sep 25, 2011 11:29 am
by Hamtaro126
Dwedit wrote:If you used a VT-03-based hardware clone with cartridge slot, then you wouldn't be the only one with that console. You also haven't done anything yourself either :)
Split from original thread,

On the SNES PPU, they use Words for Nametables, not Bytes like on the NES, Because of the new Attributes. Also they use DMA.

I wish it was easy transferring SMBDIS's Metatile routine to make two bytes availible instead of one for 2x2 tilesets, Is there a recommended DMA Method for this?

I am new to SNES, but since the 65816 is better than 6502, Figure it still is good to try!

to Dwedit: The reason is that I was experimenting with the NES, before I did anything, Hacking was my favorite thing, I need to try to step it up.

Posted: Sun Sep 25, 2011 12:46 pm
by psycopathicteen
"Is there a recommended DMA Method for this?"

Yes. The V-RAM is composed of 2 RAM chips each with an 8-bit bus. The sPPU fetches from both banks at once, but there is a way to update both banks seperately.

The V-RAM data port is 2 bytes, $2118 and $2119. Writing to $2118 updates the byte in "bank A" at the address written in $2116/$2117. Whereas writing to $2119 updates the byte in "bank B" at the address written in $2116/$2117.

All you have to do is set $2115 to "increment $2116/$2117 when writing to $2118," and set up an 8-bit DMA to $2118.

Posted: Mon Sep 26, 2011 10:42 am
by mic_
What the OP wants (as I understand it) is to expand 8-bit nametable data to 16-bit nametable data (e.g. by writing zeroes to the high byte of each word).

You have two options: either change the data so that it contains the high bytes as well, or write the data to the PPU using a loop instead of DMA (if it's fast enough for the NES it surely is fast enough for the SNES).

Posted: Mon Sep 26, 2011 12:17 pm
by psycopathicteen
Is the OP, trying to run an NES emulator on the SNES, or just one game? If he is just trying to emulate SMB, then he can use 16x16 tile mode, as appose to 8x8 tile mode.

Posted: Mon Sep 26, 2011 5:58 pm
by Hamtaro126
psycopathicteen wrote:Is the OP, trying to run an NES emulator on the SNES, or just one game? If he is just trying to emulate SMB, then he can use 16x16 tile mode, as appose to 8x8 tile mode.
SMB1 is what I am emulating, and later, other games!