2A03 dmc question

Includes Atari 2600, Nintendo 8-bit, Sega Master System, MSX and more!

Moderator: Moderators

Post Reply
klopfenpop
Posts: 5
Joined: Sun Oct 11, 2009 7:45 pm

2A03 dmc question

Post by klopfenpop »

I'm trying to figure out how to stream live audio through the direct memory access channel of the 2a03 (nes sound processor). I'm trying to make a guitar pedal that will process the incoming audio signal through the dmc and bitcrush it. I know I'll have to convert the audio to data, but I don't what kind of data the 2a03 read.

Also, I know that the dmc channel requires a data address to play a sample, as well as a length of time to continue playing it. Is it possible to mount my stream at a particular data address and point the dmc there and have remain on? Basically, I just need someway to get the dma channel to process a live audio signal that starts out analog?
marshallh
Moderator
Posts: 2986
Joined: Sat Sep 10, 2005 2:17 pm
360 GamerTag: marshallh
Location: here and there
Contact:

Re: 2A03 dmc question

Post by marshallh »

Sounds possible, you will have to write some 6502 assembly and get it running on the NES (by burning an eeprom possibly).

I don't know about the specifics, but if you do want to input analog, you'll need an ADC. You can map the output into cart space. I believe the pcm channel is 1bit so you could point it at the 6 or 7th MSB if you were using an 8-bit ADC.


Much easier would be to use a simple microcontroller which already has an ADC and you can develop for much easier. You will still be able to make it sound crappy (which is what you're going to get anyway).
Image
klopfenpop
Posts: 5
Joined: Sun Oct 11, 2009 7:45 pm

Re: 2A03 dmc question

Post by klopfenpop »

Awesome! Thank you so much for all that helpful info. I'll have to wade through a lot of it with some wiki cross reference, but in the meantime I have a few more quick questions.

So 6502 assembly is the language it needs? I assume EEPROM is the medium that you can write 6502 on?

I'm planning on taking it out of the NES unit and just using the chip. Will that make it easier if I can find the correct ADC or will I still need to program something no matter what if I use the 2a03?
Last edited by klopfenpop on Tue Oct 13, 2009 2:46 pm, edited 1 time in total.
Post Reply