DMC Sample Addressing

Discuss NSF files, FamiTracker, MML tools, or anything else related to NES music.

Moderator: Moderators

Post Reply
User avatar
bigjt_2
Posts: 82
Joined: Wed Feb 10, 2010 4:00 pm
Location: Indianapolis, IN

DMC Sample Addressing

Post by bigjt_2 »

Is it possible to place a sample somewhere between $8000-$BFFF? Everything I'm reading seems to suggest that when you write to $4012, it only starts at $C000 and you increment by 64bytes for each hex value you add (ex. $00=$C000, $01=$C040, $02=$C080, etc.) Is there some method for writing to $4012 where it will load a sample from somewhere in the lower 16K of PRG instead of the higher 16K?
User avatar
thefox
Posts: 3139
Joined: Mon Jan 03, 2005 10:36 am
Location: Tampere, Finland
Contact:

Re: DMC Sample Addressing

Post by thefox »

bigjt_2 wrote:Is it possible to place a sample somewhere between $8000-$BFFF?
It's possible to place it there but not play it back, hehe. ;) But yeah, you're right, $C000-FFFF only.

Technically the APU does wrap around to $8000 when it reaches $FFFF, but that hardly helps as you'd have to play through the interrupt vectors (highest starting address is $FFC0) and even then you could only access the first 4K or so at $8000.
User avatar
bigjt_2
Posts: 82
Joined: Wed Feb 10, 2010 4:00 pm
Location: Indianapolis, IN

Post by bigjt_2 »

Yikes, I was afraid of that. Was just playing around with a test and got a sample to play stored at $E000. Learned something for the future if nothing else. Thanks for the answer, thefox.
tepples
Posts: 22345
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Post by tepples »

What mapper were you planning to use for your project? UNROM (Crazy Climber version) can switch $C000-$FFFF, MMC1 has a mode to switch $C000-$FFFF, and MMC3 can switch $C000-$DFFF and $A000-$BFFF independently.
Denine
Posts: 397
Joined: Wed Feb 17, 2010 5:42 pm

Post by Denine »

MMC5 can use a sample placed at $8000-$BFFF.It operates in the same way as regular, except that all 8 bits are used (Instead of 7).
Post Reply