Page 1 of 1
DMC Sample Addressing
Posted: Tue Sep 13, 2011 7:37 pm
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?
Re: DMC Sample Addressing
Posted: Tue Sep 13, 2011 8:17 pm
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.
Posted: Tue Sep 13, 2011 8:28 pm
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.
Posted: Wed Sep 14, 2011 4:45 am
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.
Posted: Thu Sep 15, 2011 9:04 am
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).