SNES DMA data write modes

Discussion in 'Nintendo Game Development' started by kammedo, Mar 19, 2007.

  1. kammedo

    kammedo and the lost N64 Hardware Docs

    Joined:
    Sep 24, 2004
    Messages:
    2,138
    Likes Received:
    12
    I still dont recognize (and I must admit I feel ashamed about this being like 10 years on SNES ASM) how the 32x32 etc write modes of the SNES DMA work : does for example transfer mode $1 (that is, a 1 to register $2115) cause the VRAM address pointer to be increased by a step of 32 for the next 32 times? Thus repeating the same value on 32 different locations?

    Thanks for the help!!
     
  2. Calpis

    Calpis Champion of the Forum

    Joined:
    Mar 13, 2004
    Messages:
    5,906
    Likes Received:
    21
    Why don't you go to a SNES technical forum to ask all these SNES questions?

    Try Zsnes, Snes9x and NESdev boards.
     
  3. kammedo

    kammedo and the lost N64 Hardware Docs

    Joined:
    Sep 24, 2004
    Messages:
    2,138
    Likes Received:
    12
    Because I trust more you guys than those over there at ZSNES of course :lol:
    EDIT : besides, I dont want to set up a mess, but I thought this would be a dev discussion forum?
     
    Last edited: Mar 20, 2007
  4. Alchy

    Alchy Illustrious Member

    Joined:
    Apr 6, 2004
    Messages:
    6,216
    Likes Received:
    19
    Seems pretty on-topic to me, and these technical threads are often interesting even if I can't understand any of the ASM stuff.
     
  5. Calpis

    Calpis Champion of the Forum

    Joined:
    Mar 13, 2004
    Messages:
    5,906
    Likes Received:
    21
    They aren't about general dev hardware at all but SNESdev technicalities which can only be answered by SNESdevers. It appears as if few to none are currently active on this board.

    I know for a fact Snes9x/ZSnes/Nesdev will be a better place to ask because those are active communities with a wealth of knowledge regarding SNES and some talented people who continue to strive for low-level SNES knowledge.

    Anyways, though I am not very familiar with SNES, I believe I can answer the simple question. DMA copies pages or segments of memory, not a single byte to multiple addresses. When you write a page to a DMA register, which increments 32 every write, it will write source+0 to dest+0, source+1 to dest+32, source+3 to dest+64 etc.

    I assume the specific SNES application is for DMAing a nametable column.
     
  6. kammedo

    kammedo and the lost N64 Hardware Docs

    Joined:
    Sep 24, 2004
    Messages:
    2,138
    Likes Received:
    12
    Or for interleaving / deinterleaving memory.
     
    Last edited: Mar 20, 2007
  7. Calpis

    Calpis Champion of the Forum

    Joined:
    Mar 13, 2004
    Messages:
    5,906
    Likes Received:
    21
    Huh? What do you mean by interleaving memory? Interleaving swaps pages/words of memory around which is definitely not what DMA is for. Interleaving of SNES ROMs is done to resolve hardware constraints.
     
sonicdude10
Draft saved Draft deleted
Insert every image as a...
  1.  0%

Share This Page