TL;DR: How fast can you throw samples at $4011?
Howdy, everyone!
Long-time lurker, first-time poster here!
I'm not sure whether I'm posting this in the right place or not, but I'm certainly a Newbie, so...
You know, I've seen some really impressive demos of what you can do by messing around with the $4011 register, but most of them don't seem to be very practical for real-world uses because of memory/timing limitations and whatnot.
But, you know, I was just wondering... it's 2016, can't we just make a really clever mapper?
Okay... bear with me...
Let's say our Hypothetical Super Mapper™ is generating the 6502's code in real time, using immediate LDA and absolute STA to throw samples at $4011. That would Hypothetically™ mean playing a sample would take 6 CPU cycles, correct?
Well, let's ignore a bunch of technical details I'm totally not aware of that probably make this way more difficult than it sounds and say we're just reproducing audio all of the time. 1.789773 MHZ / 6 gives us a sample rate of roughly 298296hz!
Yeah, that might not sound like a useful sample rate, but... WHAT IF WE OVERSAMPLE??! I'm not sure whether my math is right or not (hint: it probably isn't), but 298296hz / 44100hz gives us roughly 6.76, which should be more than enough to add an extra bit of resolution, right?
So, I guess the only thing in question is how fast can $4011 reproduce samples? Is there a physical limit for that on the APU's hardware? Am I crazy?
Thanks in advance!
Howdy, everyone!
Long-time lurker, first-time poster here!
I'm not sure whether I'm posting this in the right place or not, but I'm certainly a Newbie, so...
You know, I've seen some really impressive demos of what you can do by messing around with the $4011 register, but most of them don't seem to be very practical for real-world uses because of memory/timing limitations and whatnot.
But, you know, I was just wondering... it's 2016, can't we just make a really clever mapper?
Okay... bear with me...
Let's say our Hypothetical Super Mapper™ is generating the 6502's code in real time, using immediate LDA and absolute STA to throw samples at $4011. That would Hypothetically™ mean playing a sample would take 6 CPU cycles, correct?
Well, let's ignore a bunch of technical details I'm totally not aware of that probably make this way more difficult than it sounds and say we're just reproducing audio all of the time. 1.789773 MHZ / 6 gives us a sample rate of roughly 298296hz!
Yeah, that might not sound like a useful sample rate, but... WHAT IF WE OVERSAMPLE??! I'm not sure whether my math is right or not (hint: it probably isn't), but 298296hz / 44100hz gives us roughly 6.76, which should be more than enough to add an extra bit of resolution, right?
So, I guess the only thing in question is how fast can $4011 reproduce samples? Is there a physical limit for that on the APU's hardware? Am I crazy?
Thanks in advance!