What the NES Would Sound Like if it Were an Atari 2600
Moderator: Moderators
What the NES Would Sound Like if it Were an Atari 2600
Well I got bored last night and decided to hook up the TIA audio block to my NES FPGA and play some games and music and record the results. Not much more to say than that. So here it is.
http://blog.kevtris.org/blogfiles/nes2600.mp3
Sounds are from:
1) Super Mario Bros
2) Super Mario Bros 2
3) Megaman 2 (Metalman stage)
4) Neotoxin (track 10h)
5) Super Mario Bros 3
http://blog.kevtris.org/blogfiles/nes2600.mp3
Sounds are from:
1) Super Mario Bros
2) Super Mario Bros 2
3) Megaman 2 (Metalman stage)
4) Neotoxin (track 10h)
5) Super Mario Bros 3
/* this is a comment */
The SMB2 underground theme through your emulated 2600 sort of reminds me of how I imagined it might sound on the Game Boy (with abuse of the Game Boy's looped noise pitches, which are very close to C-D-F-G#).
I imagine this isn't without the TIA's limitation on simultaneous channels or period granularity.
I imagine this isn't without the TIA's limitation on simultaneous channels or period granularity.
Good old Bregalad, thinking that everything that isn't 100% to his liking is crap...
I think it sounds pretty good. I didn't understand what exactly happened here though... How did you get NES code to interact with the TIA? Are you performing some sort of on-the-fly conversion of 2A03 registers to TIA registers or are you just making the NES channels as limited as Atari channels?
Anyway, it sounds pretty good for an Atari 2600 (although I guess there are more than 2 channels there), and makes us imagine what could have been done on the 2600 if ROM space wasn't so scarce. I have heard some pretty impressive new compositions for the 2600, and I imagine that the NES tunes could sound very decent if someone adapted them manually while taking the hardware limitations into consideration.
I think it sounds pretty good. I didn't understand what exactly happened here though... How did you get NES code to interact with the TIA? Are you performing some sort of on-the-fly conversion of 2A03 registers to TIA registers or are you just making the NES channels as limited as Atari channels?
Anyway, it sounds pretty good for an Atari 2600 (although I guess there are more than 2 channels there), and makes us imagine what could have been done on the 2600 if ROM space wasn't so scarce. I have heard some pretty impressive new compositions for the 2600, and I imagine that the NES tunes could sound very decent if someone adapted them manually while taking the hardware limitations into consideration.
Correct, what I did was took the NES divider outputs for the squares and triangle, and fed them into the TIA block from the FPGA 2600 I made. The output of the NES' dividers then clocks the TIA block.tepples wrote:The SMB2 underground theme through your emulated 2600 sort of reminds me of how I imagined it might sound on the Game Boy (with abuse of the Game Boy's looped noise pitches, which are very close to C-D-F-G#).
I imagine this isn't without the TIA's limitation on simultaneous channels or period granularity.
It still retains the TIA's 5 bit divider which I used to try and tweak pitches so they were mostly in tune with each other.
Not surprisingly, I mapped the registers at 2600h in the address space, hehe. You can control the "distortion type" and the divider which gives some control of pitch relative to the other channels. It's also possible to swap between the original NES channel and the TIA version.
The two squares just take the output of the divider directly and volume is still controlled by the volume hardware on the NES stuff.
Triangle is a bit different, and there's a fixed volume register you can write to. Otherwise that channel overpowers the other two.
Noise and DPCM are unaffected.
In total then there's three "TIA like" channels.
/* this is a comment */
That'd be pretty easy to do. I suspect it'd work if you did it like this:tepples wrote:I wonder what kind of decoder it'd take to put the TIA at $4600 as a Famicom expansion sound chip.
Connect M2 to the TIA's clock in, then A0-A5 and D0-D7 to the usual places.
you'd also connect M2 to the phi2 input on the TIA.
Then, you get a few chip enables. 1 positive, 3 negative. To put it in at say, 4800 you have to decode A11-A15 in the pattern 11001 (A15 being inverted on the cart port as /CE to the PRG ROM). A 74138 would do. A, B, C inputs would be A13-15 respectively, /E1 would connect to A12, /E2 to ground, and +E3 to A11.
Output 6 would connect to /CE on the TIA with the other 3 TIA chip enables grounded and/or pulled to VCC to enable them permanently.
The only thing I'd be worried about would be the 1.78MHz clock on the inputs vs. the 1.19MHz it's used to, but I highly doubt it'd be a problem since most of the video stuff runs at 3.579MHz anyways.
/* this is a comment */
-
Hamburgler
- Posts: 36
- Joined: Wed Jul 04, 2007 8:40 am
- Jedi QuestMaster
- Posts: 603
- Joined: Thu Sep 07, 2006 1:08 pm
- Location: United States
- Contact:
- Hamtaro126
- Posts: 786
- Joined: Thu Jan 19, 2006 5:08 pm
Re: What the NES Would Sound Like if it Were an Atari 2600
Can there be a way to test it myself, I wanted to do it, But if you had posted what you did in a schematic/pinout format (Nesdev Wiki comes to mind), maybe I can make it myself, I have a regular NES to hack if you care,kevtris wrote:Well I got bored last night and decided to hook up the TIA audio block to my NES FPGA and play some games and music and record the results. Not much more to say than that.
AKA SmilyMZX/AtariHacker.
- Theta_Frost
- Posts: 3
- Joined: Tue Dec 28, 2010 2:51 pm
- Location: Wisconsin
If someone actually did this that would be awesome. I'd love to build a cartridge with a TIA built in! The sound example is wonderful!kevtris wrote:That'd be pretty easy to do. I suspect it'd work if you did it like this:tepples wrote:I wonder what kind of decoder it'd take to put the TIA at $4600 as a Famicom expansion sound chip.
Connect M2 to the TIA's clock in, then A0-A5 and D0-D7 to the usual places.
you'd also connect M2 to the phi2 input on the TIA.
Then, you get a few chip enables. 1 positive, 3 negative. To put it in at say, 4800 you have to decode A11-A15 in the pattern 11001 (A15 being inverted on the cart port as /CE to the PRG ROM). A 74138 would do. A, B, C inputs would be A13-15 respectively, /E1 would connect to A12, /E2 to ground, and +E3 to A11.
Output 6 would connect to /CE on the TIA with the other 3 TIA chip enables grounded and/or pulled to VCC to enable them permanently.
The only thing I'd be worried about would be the 1.78MHz clock on the inputs vs. the 1.19MHz it's used to, but I highly doubt it'd be a problem since most of the video stuff runs at 3.579MHz anyways.