unsocial Posted May 25, 2005 Report Share Posted May 25, 2005 We already have the SID...what about the 2A03?I've been thinking about this for some time already, but since im no programming/electronics guru i cant do much about it myself. The idea is to make a NES(2A03) module on the MIDIbox style to be used together with the CORE module, making it looking very similar to the MIDIbox SID. Looking at the 2A03 pinout http://nesdev.parodius.com/2A03_pinout.txt looks like it wont be hard to implement (electronically), since we can get the 5V from the CORE and we could reuse the NES crystal for clock, and maybe use joysticks to tweak parameters?On the programming side, i have no idea how hard it would be to interface MIOS with the 2A03, maybe this can be useful http://nesdev.parodius.com/NESSOUND.txt MIDI implementations for the NES already exists......http://www.wayfar.net/ but i dont like the way it works, i would like to be able to gearup the MBSID + MBNES + MBSEQ for complete cheese madness :)So, what do you guys think? Im dreaming too much or is it simple and easy to do? Quote Link to comment Share on other sites More sharing options...
cheater Posted May 26, 2005 Report Share Posted May 26, 2005 It's not gonna run away. You have plenty of time to learn 8) Quote Link to comment Share on other sites More sharing options...
srmaietta Posted May 26, 2005 Report Share Posted May 26, 2005 Yes, check out littlesounddj.com and nanoloop.comthese are both gameboy synth/trackers.. Ive got littlesound DJ. lots of noisy fun, nailing those nintendo classics!!~Steve Quote Link to comment Share on other sites More sharing options...
AndrewMartens Posted May 30, 2005 Report Share Posted May 30, 2005 We already have the SID...what about the 2A03?I'm not sure if you've run across my Ten Million Projects for old video/computer sound chips that I've been occasionally mentioning around here. I've got potential ideas for POKEY, AY-3-891x (YM2149), etc. Those chips are generally quite straightforward because they are single-chip audio generators. You stuff some data in the registers, you get some sound output - just like the SID. There's programming to do, but the only major things that go onto a PCB are some shift registers, the sound chip itself, and an output buffer. Essentially one can steal much of the circuitry from the MBHP_SID.The 2A03 is unfortunately a completely different beast. I read up on it a while back when I was going to use the 2C02 (PPU) as the graphics chip in a homebrew Z80 computer. While the previously-mentioned chips are standalone audio generators, in the 2A03 the audio circuitry is just part of a modified 6502 CPU. IIRC the sound registers can only be accessed by the 2A03 itself. As you can imagine, this presents a few problems.A basic sound-generating system based on the 2A03 would need (at the bare minimum) the 2A03 and a parallel EEPROM (8kB would be more than enough, 2kB should be fine), and a 2kB SRAM wouldn't hurt. There's also other support circuitry (power supply, clock / crystal, audio output amp, etc.), but we'll just ignore that since it's trivial for the sake of this discussion. Essentially what you need to build is a small single-board computer with some firmware that would read in note data (from shared RAM, or a serial link, etc.) and pass that on to the audio registers.The hypothetical "MBHP_NES" machine would probably require some shared memory between the 2A03 and the PIC. One could still use a shift register connection from the CORE module, but the "NES" module itself would be rather complex - at least compared to the SID module. Not only would you need at least three major chips (2A03, ROM, RAM), you would either need some kind of bus arbiter to allow access to the RAM (by the CORE module, via the shift registers or whatnot), or a dual-port RAM that can be accessed without any bus contention issues.Such a thing is definitely possible, but due to the integrated nature of the 2A03, using it with MIOS is far more complicated than for most of the other old sound chips. Quote Link to comment Share on other sites More sharing options...
dirge Posted August 13, 2005 Report Share Posted August 13, 2005 Sorry to bring up this kinda old thread, but i'd just like to say that this would be a dream come true to have this and the SNES as self-contained synthesizers with banksticks. the NES (as well as the SNES) is the reason i got into synthesizers.i just bought the MIDINES from wayfar.net (waiting for it to get here), but that doesn't seem like it has patch storage. are there any projects, midibox or not, that have the 2A03 as a self-contained synth? i know that there was one a few years ago that got to the point of making the pcbs... (http://web.archive.org/web/20030805180424/http://greybox.norfair.org/) Quote Link to comment Share on other sites More sharing options...
RowanHall Posted September 4, 2005 Report Share Posted September 4, 2005 has your midines arrived yet? i'm anxious to hear what its like! would like to get some info from users before i go and source a ntsc nes! :) Quote Link to comment Share on other sites More sharing options...
Milkmansound Posted September 8, 2005 Report Share Posted September 8, 2005 well, the midines does not really need patch storage - there are no filters, no LFO's... its very very basic synthesis - what do you need to save? Its all right there - the only thing worth saving are the volume modulations and pitch stuff, but even that is not really worth it. I think the midines is a great toy to play with - its great to get as much music to pump out of the NES as possible - but its not exactly as inspiring as the SID, because its basically 2 square oscs, 1 tri osc, some noise, and a few 8 bit samples that the dude stuffed in there as a bonus. The absence of filters and LFO's make it impossible to lose that "NES" sound - which is something that I like about my midines. Listen to one of the songs I made on it, and there is no doubt that its a NES!http://www.milkmansound.com/audio/nes2.mp3 Quote Link to comment Share on other sites More sharing options...
Phattline Posted September 17, 2005 Report Share Posted September 17, 2005 Not maybe, i midibox NES, maybay the orginal board of the nes with some modifications, and the Midibox "only" figurin note gate and controller Midi data chanche in the NES language, and storage this the controll data in the 24LC256 or somthing as a patch maybe the switching between the patches needs some deleay couse the NES? is to slow, but he how care...Its just a idiea :-\ Quote Link to comment Share on other sites More sharing options...
cheater Posted September 18, 2005 Report Share Posted September 18, 2005 this could be nice with a wavetable for each oscillator. perhaps even a one- or two-index wavetable. You coul always add LFOs in the Midibox part of it.... Further, analog filters are successful (look at the new MB SID thingie :) ). Analog ADSRs are easy to make, too.8) :D Quote Link to comment Share on other sites More sharing options...
Phattline Posted September 18, 2005 Report Share Posted September 18, 2005 Im, ready to spend my time in such a project, but not in the sample section- i dont interestet in it- and its to complicatet,, i think the synth section is enough, but before some nes must come to me home, I dont know what i must lurn bevor: 6502 language or how to programm a pic..... Quote Link to comment Share on other sites More sharing options...
Davo Posted September 21, 2005 Report Share Posted September 21, 2005 I think I might have a solution: a Z180 single board computer. Take a look here: (http://members.iinet.net.au/~daveb/p112/p112.html). I've made a new batch of these boards with the original designer's blessing and am selling them as complete kits. The original audience is old computer buffs, but it seems to have the kind of power and versatility you guys are talking about for controlling the 2A03. Quote Link to comment Share on other sites More sharing options...
Phattline Posted September 21, 2005 Report Share Posted September 21, 2005 I think I might have a solution: a Z180 single board computer. Take a look here: (http://members.iinet.net.au/~daveb/p112/p112.html). I've made a new batch of these boards with the original designer's blessing and am selling them as complete kits. The original audience is old computer buffs, but it seems to have the kind of power and versatility you guys are talking about for controlling the 2A03.Whats the price? (fully stuffed) or the board?But I think it could run also when we reuse the whole NES board (the whole computer) and give the NEs the sound information not about a Rom (catrige) we replace the catrige with the pic 18 instead (or a combination of both- or over the controller board with some modification)I think it should be DIY, but when the price for a single computer like above is cheaper....) Quote Link to comment Share on other sites More sharing options...
Davo Posted September 21, 2005 Report Share Posted September 21, 2005 They're $120 for a complete kit. That gets you a board, components, 64K SRAM, two serial port pigtails, a boot floppy, and two CDs full of utilities, apps, info, docs, etc. The price includes shipping in the US. All surface-mount soldering (two qfp chips and three discretes) is already done for you.The whole NES approach also sounds viable, particularly if the second edition of the NES is used for space-saving purposes. I understand that it lacks RCA jacks, but I'm sure one can find the audio signal somewhere inside. The cartridge-based synth discussed earlier is nice and elegant, but its requirement of a TV is a big turnoff. Quote Link to comment Share on other sites More sharing options...
Phattline Posted September 21, 2005 Report Share Posted September 21, 2005 2A03 internal hardware port mapThe sound hardware internal to the 2A03 has been designated these special memory addresses in the 6502's memory map.$4000-$4003 Rectangle wave 1 (The bits between, are for chanching the sound....)$4004-$4007 Rectangle wave 2 (nearly identical to first)$4008-$400B Triangle$400C-$400F Noise$4010 DMC play mode and DMA frequency$4011 DMC delta counter$4012 DMC play code's starting address$4013 DMC length of play code$4014 transfer 256 bytes from written page to $2004$4015r Channel enable / length/frame counter status$4017 frame counter controlNote: $4015 is the only R/W register here. All others do not respond to read cycles. Reads from $4016 and $4017 are decoded inside the 2A03, and those signals are available externally. Writes to bits D0-D2 of $4016 updates an internal 3-bit latch, with the status of those bits available externally.e.g.:+--------------+|Register set 1|+--------------+$4000(rct1)/$4004(rct2)/$400C(noise) bits---------------------------------------0-3 volume / envelope decay rate4 envelope decay disable5 length counter clock disable / envelope decay looping enable6-7 duty cycle type (unused on noise channel)all instructions where any $nn,X and $nnnn,X addressing mode rows intersect with opcode columns 82 and A2, use the Y register for indexing*2A03 pinings*The net is full with this information (above) but nobody can tell me on witch input i should send this information.I think about on data bus D0 -D7 the d0 - D-7 are going directly to the programm rom of the catrige> i hang :( ___ ___ |* \/ |ROUT <01] [40< VCCCOUT <02] [39> $4016W.0/RES >03] [38> $4016W.1A0 <04] [37> $4016W.2A1 <05] [36> /$4016RA2 <06] [35> /$4017RA3 <07] [34> R/WA4 <08] [33< /NMIA5 <09] [32< /IRQA6 <10] 2A03 [31> PHI2A7 <11] [30< ---A8 <12] [29< CLKA9 <13] [28] D0A10 <14] [27] D1A11 <15] [26] D2A12 <16] [25] D3A13 <17] [24] D4A14 <18] [23] D5A15 <19] [22] D6VEE >20] [21] D7 |________|ROUT: audio out -> rectangle wave outCOUT: audio out -> triangle + noise /RES: hard reset on zero (conect to ground, when want to reset?)A0-A15: the 6502's address bus output pins.VEE, VCC: Power -> ground + +5VDC D0-D7: the 6502's data bus.CLK: Masterclock input line (236250/11 KHz)---: wire to ground -> unknown functionalityPHI2: Divedet by 12 Clock 1.79 MHz output./IRQ: interrupts the 6502 when this pin is set to zero while the 6502's internal interrupt mask flag is 0./NMI: NMI's the 6502 on a negative edge signal transition (1->0).R/W: direction of 6502's data bus (0=write;1=read)./$4017R: goes active (zero) when A0-A15 = $4017, R/W = 0, and PHI2 = 1. This informs an external 3-state inverter to throw controller port data onto the D0-D7 lines./$4016R: goes active (zero) when A0-A15 = $4016, R/W = 0, and PHI2 = 1.$4016W.0, $4016W.1, $4016W.2: these signals represent the real-time status of a 3 bit writable register located at $4016 in the 6502 memory map. In NES/FC consoles, $4016W.0 is used as a strobe line for the CMOS 4021 shift register used inside NES/FC controllers Quote Link to comment Share on other sites More sharing options...
Dr.Wily Posted October 19, 2006 Report Share Posted October 19, 2006 (edited) I would to up this topic, MidiBox NES APU is a very good idea, and for example I would to show you what kind of music NES is able to produce. This music is make without any treatments or filters. It run on real NES (MP3 is record from a PAL NES) . MP3 for direct listening : http://wellby.dyndns.org/dnl/gk/snd/dl.mp3 NSF dump format : http://wellby.dyndns.org/dnl/gk/snd/dead_lock.nsf NSF player for listening NSF : http://wellby.dyndns.org/dnl/gk/snd/virtuansf1015.rar Edited January 17, 2017 by Dr.Wily Quote Link to comment Share on other sites More sharing options...
Jaicen Posted October 20, 2006 Report Share Posted October 20, 2006 That sounds brilliant!I'm guessing it's been heavily multi-tracked? Even so, I had no idea that the NES could produce such convincing tones. Personally, given the complexity of interfacing the 2A03, i'd stick with NES VST's rather than desing a new MBHP app for it. That said, an MBHP interface that plugs into the cart port, similar to the MIDINES, (But better obviously) could be an option. Actually, that's what I want for the GAMEBOY, but that's a whole other story! Quote Link to comment Share on other sites More sharing options...
bill Posted October 20, 2006 Report Share Posted October 20, 2006 Actually, that's what I want for the GAMEBOY, but that's a whole other story!To get the best sounds out of the gameboy, i think you should use a tracker better than midi.It's like for the TB303, a part of it's legendary sound came from the way it's sequencer works ! Quote Link to comment Share on other sites More sharing options...
carsten_the_dane Posted October 20, 2006 Report Share Posted October 20, 2006 What would you gain from using the NES chip instead of the SID?If you use midiNES or program the NES yourself, you only have 2 osc, 1 sample and 1 noise channel. Same goes for the C64 (which, as far as i know, only offers 3 channels). But when the SID is freed from its 4 bit restrain of the c64, it can sounds like something completely else.Dont, get me wrong, this is a question, not a shoot down: If you do the same with the NES chip. what have you gained, will it sound different from the SID, considering that it basically can do the same?/carstenPS: it would be really cool if you could use the sample part of the NES and create granular synthesis. ::) Quote Link to comment Share on other sites More sharing options...
cheater Posted October 22, 2006 Report Share Posted October 22, 2006 I think there are several things that make the NES sound chip interesting:1. simple= little resources needed to control the synthesis options2. digitally controlled= cool stuff possible like wavetables and whatnot= easier connection to the MB= doesn't break in a live situation3. the "sound"= let's not get too carried away with that, but considering most of those chips have had full-time use for 10 years at the least (and some might be 20 years old), i think they CAN have gained a nice, burned-through, sound. I think this small imprint time left on a chip is something that could be interesting to some people.4. very cheap= build 20 of these and you got yourself a 100-oscillator rig= perhaps you could come up with a chained design where you could use as many NES "modules" as you'd want5. with a NES you get not only the chip, but also other parts= the famicom had microphones in the controllers= you get a "vintage analog output stage" you can use later when the audio chip is gone from the NES6. sampling= DCO waveforms= wavetable waveforms= if the chip reads the samples from SRAM, you could edit the sample continuously, easily make wavetables, etc Quote Link to comment Share on other sites More sharing options...
cheater Posted October 22, 2006 Report Share Posted October 22, 2006 Some research on the 2A03 revealed this.The Ricoh 5A22 is the microprocessor CPU produced by Ricoh for the Super Nintendo Entertainment System (SNES) video game console. The 5A22 is based around the 16-bit CMD/GTE 65c816, itself a version of the WDC 65C816 (used in the Apple IIGS personal computer).All of the above mentioned processors are based on the MOS Technology 6502 family of processors.In addition to the 65C816 CPU core, the 5A22 contains support hardware, including:Controller port interface circuits Circuitry for generating NMI interrupts on Vblank Circuitry for generating PSG sound with included 2A03 core Circuitry for generating IRQ interrupts on screen positions A DMA unit, supporting two primary modes: General DMA, for block transfers at a rate of 2.68MB/s Hblank DMA, for transferring small data sets at the end of each scanline outside of the active display period Multiplication and division registers So, am I right to think that 5A22 = 2A03 + easier interfacing + bonus stuff? Quote Link to comment Share on other sites More sharing options...
carsten_the_dane Posted October 23, 2006 Report Share Posted October 23, 2006 Interesting points. I have some further questions.1. Isnt wavetables possible with the SID, or is it only some kind off semi-feature?2. Does the SID break in live situations?3. With continues edit of a sample, wouldnt granular synthesis be possible. I was actually only kidding about this in my first remark. I would guess it would use to much RAM.?I have a remark too. "Cheater" asks about the difference between the NES and SNES chips. Well, one advantage for the SNES (atleast where i live) is that it is far easier to get hold off, and far cheaper in the fleemarkets than the NES. Other than that, i dont know anything about the difference in the technology./carstenI think there are several things that make the NES sound chip interesting:1. simple= little resources needed to control the synthesis options2. digitally controlled= cool stuff possible like wavetables and whatnot= easier connection to the MB= doesn't break in a live situation3. the "sound"= let's not get too carried away with that, but considering most of those chips have had full-time use for 10 years at the least (and some might be 20 years old), i think they CAN have gained a nice, burned-through, sound. I think this small imprint time left on a chip is something that could be interesting to some people.4. very cheap= build 20 of these and you got yourself a 100-oscillator rig= perhaps you could come up with a chained design where you could use as many NES "modules" as you'd want5. with a NES you get not only the chip, but also other parts= the famicom had microphones in the controllers= you get a "vintage analog output stage" you can use later when the audio chip is gone from the NES6. sampling= DCO waveforms= wavetable waveforms= if the chip reads the samples from SRAM, you could edit the sample continuously, easily make wavetables, etc Quote Link to comment Share on other sites More sharing options...
Dr.Wily Posted October 23, 2006 Report Share Posted October 23, 2006 So, am I right to think that 5A22 = 2A03 + easier interfacing + bonus stuff?Humm.. No bonus to use SNES chip instead orriginal 2a03. The 2a03 is just a 6502 with some custom sound capability. In first SNES chip was designed for a retro compatibility with NES games, but Nintendo gave up the project of using NES game on SNES. But luckily 65c816 CPU kept all core of the 2a03.Some very few games use PSG fonction of the 2a03 (Super Gameby use it). But SNES APU is totaly separate from the rest of the SNES componment (it has its own bus and work without any other CPU). The 2a03's sound is produce by 65c816 not by SNES APU. Thus is no advantage (or disavantage) to use SNES CPU.Jaiced ---> I'm guessing it's been heavily multi-tracked?Multii tracked ? What do you mean ? This music run on real hardware (MP3 in this thread was recorded from a PAL NES) Quote Link to comment Share on other sites More sharing options...
cheater Posted October 23, 2006 Report Share Posted October 23, 2006 About the multitracking:No, the mp3 was recorded live from a single NESabout the SNES:some linkshttp://en.wikipedia.org/wiki/Snes - lists what the SNES audio subsystem can do:Sound Controller Chip: 8-bit Sony SPC700 CPU for controlling the DSP chips independent of the main 5A22 CPU. The main CPU communicates with this sound controller through a set of four memory mapped registers. Clock Speed: 1.024 MHz. Sound RAM: 64 kB shared between SPC700 and S-SMP. Memory Cycle Time: 279 milliseconds Main Sound Chip : Sony S-SMP Hardware ADPCM decompression 8-channel PCM Hardware sound effects: Pitch modulation 8-tap FIR filter (typically used for reverberation) ADSR and 'GAIN' (discretely controlled) volume envelopes Polyphony of 8 notes per voice SFx sound chip : Sony\Nintendo S-DSP 3-channel PCM Second Order Low-pass Filter, one for each channel, for improved quality of low-frequency (bass) tones. Pulse Code Modulator: 16-bit ADPCM (if programmer uses 4-bit compressed ADPCM samples, expanded to 16-bit resolution, processed with an additional 4-point Gaussian sound interpolation). Although the SNES is normally only able to output stereo sound, a few games (such as Jurassic Park) use Dolby Pro-Logic to create surround sound embedded in the stereo sound signals. Note - while not directly related to SNES hardware, the standard extension for SNES audio subsystem state files saved by emulators is .SPC, a format used by SPC players. http://www.gamesx.com/wiki/doku.php?id=schematics:how_sound_on_the_snes_worksThe SNES’ sound module consist of: (1) the sound engine: SPC700 8-bit CPU above and DSP unit below, both designed and manufactured by Sony (2): 9112 32k SRAM manufactured by Sharp (3): D6376 2 channel 16-bit DAC manufactured by NEC (4): 9124 32k SRAM manufactured by Hitachi (5): 2904 Dual Op-Amp manufactured by JRC (6): I/O connector to the mainboard This device was designed by Nintendo and manufactured by Mitsumi. So, reassuming... nothing very interesting in the SNES over a NES. You get a PCM wave mixer, that's all. I think there are better ways to do PCM mixing nowadays (chips that are better, cheaper, easier to program, thru-hole, and so on...).Supposedly there's also an 8-tap FIR filter which can be used, for example, for reverbs. Wonder what the possibilities of that are (I don't expect much from that, though). Quote Link to comment Share on other sites More sharing options...
cheater Posted October 23, 2006 Report Share Posted October 23, 2006 What IS interesting in the SNES is the graphics chip. Wonder if that could be used somehow for some live stuff or a GUI... what do you think guys?Perhaps some other video chips from other old computers/consoles could be used.What do you think? Quote Link to comment Share on other sites More sharing options...
leaphion Posted November 26, 2006 Report Share Posted November 26, 2006 Is this topic possibly dead? Because this would be rather perfectly the thing I'm looking for! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.