I dream of a device that can MIDI sequence a NES and the VRC6 channels... a man can dream.. a man can dream..
Still, I'm wondering why I haven't seen a midi->SNES on the internet yet while searching for a midines/chip maestro replacement...
If I remember correctly the SNES used entirely Sound sample playback rather than and designated synth chip, however I could be wrong. Creating a musical cartridge would require a huge amount of samples to be loaded onto a cartridge if we planned on making varied music. It is still something I have been dreaming about for years though.
nordloef wrote:Where did you get the midines 2? Didn't even know that it was released.
The Electronic Bay. eBay
I'm guessing that it's not technically a "MidiNES 2" cause the missing chips like ciclone and functionality like midi out. It's just the name of the PCB board revision. As always I could be wrong.
I believe that the majority of circulating cartridges have the labelling "MIDINES 2" which may refer only to the board revision and not the ROM revision. The CICLONE is not an improvement nor does it add functionality. It is a replacement for the 6113B CIC chip that was being cannibalized from official NES cartridges. I do however suspect that there is another unreleased version that utilized the rest of the IC's since one such public photograph shows the "MIDINES 2009" board with all chips populated, including the second 62256 or FRAM. "DJ Mode" as mentioned above could potentially be an alternate booting ROM which requires the buffered inputs to switch between ROM banks.
....tried explaining "gates" to me and why it seems impossible to improve a chip maestro, thanks to anyone who's got time an enthusiasm to make a midi to nes cartridge a reality.
Still, I'm wondering why I haven't seen a midi->SNES on the internet yet while searching for a midines/chip maestro replacement...
Just wanted to add that the CMaestro can be upgraded with improvements to the Arduino code, within the limits of the ATmega168 (would have been nice to see a better/bigger chip). In the end the design of the 2A03 interface is rather good, simple and minimalist.The loop is as fast as possible on the 2A03; no overhead for reading ports/video/saving variables: just keep poking values into the PSG.
IMO for a chipmusic setup, having the NES trying to do video or anything else beside sound is a drawback. Using a coprocessor allows for some very interesting effects and note handling at a much higher speed then the 2A03 could ever manage. For comparison, there are a few around here that will testify to the differences between a C64 and a SammichSID; both use a SID chip but one uses a 6502@1MHz and the other a PIC@40MHz.
As to SNES it's a DSP sample player at heart, so in and of itself doesn't have a unique sound quality. I think that most people rip the SNES game samples and compose on a PC. It's hard to beat the functionality of the PC.
Yogi
.
So I broke out a pencil and paper to decode the Tsundere (Chip Maestro) state machine.
Background of the state machine interface
There are 3 reg that are connected to the 2A03 Data bus. The first holds the bit pattern from the SM, the other two are loaded by the Arduino and are labeled DATA and ADDRESS.
There are also 3 outputs labeled EN1-3. They control which reg outputs to the Data bus as well as signaling the Arduino as to the current cycle we are in.. EN1 controls the first reg, EN2 controls the DATA reg and EN3 controls the ADDRESS reg.
The inputs to the SM are A0-2 from the 2A03, the R/W line drives the changes to the SM.
The generated loop code:
xx00 A0 ;LDY imd, EN1 active
xx01 <DATA> ;content in DATA reg, EN2 active
xx02 8C ;STY abs, EN1 active
xx03 <ADDRESS> ;contents of ADDRESS reg, EN3 active
xx04 40 ; other half of address generated by SM, EN1 active
; The hex address ends up as 40<ADDRESS>
xx05 00 ; NOP, EN1 active
: :
xx07 00 ; NOP, EN1 active
At this point A0-2 reset to 000, restarting the SM. 12 cycle.
This runs till PWR down or a reset. Very clever!
Yogi
Last edited by yogi (Oct 30, 2013 7:31 pm)
I did some digging and you sir, are correct. The very early MIDINES cartridges used the Squeedo flash cartridge; "squeedo" of course referring to the custom memory mapper and circuit board by Memblers Industries. The content of the above mentioned PIC happens to belong to Memblers, not Wayfar. There is little information on the Squeedo cartridge besides some changelogs from Memblers himself and some sample mp3s. Memblers is not wayfar (by far) and I suppose I ought to contact him about Squeedo....
I found some useful information about the ownership of the code present in the midines.
I supplied x|k/wayfar with a bunch of bare Squeedo PCBs, he wrote all his own code for midines and assembled those, so it doesn't use any of the Squeedo firmware and bootloader. And yeah, like you noticed it has less RAM and no RS232 transceiver.
I'm walking away from this for the time being. Someone give me a nudge when it settles down a bit (and if you still need my involvement).
Thanks for your input Neil, perhaps in the future you could share a little of your knowledge about the APU. I for one would very much like to see a Midi interface happen, and where as a basic design is possible such as the Chip Maestro, I envision a a far more feature rich controller.
For my part, a PIC or ARM based system seems doable at a HW level, but a knowledge of the 'tricks' that make the APU sit-up and speak are beyond my kin. The key is the modulation and envelop handling which you are a master of.
Yogi
^ these may be of some interest if you aren't familiar
http://caitsith2.com/snes/apu.htm
http://www.raphnet.net/electronique/sne
apu_en.php
For any Midiboxers out here, this blogger has a veriation on the Tsundere/Chip Maestro interface that seems perfect for a MIOS core
http://shiftmore.blogspot.com/2012/11/a
art-i.html
Food for thought
Yogi
Wow. That's exactly what I meant when I made my first suggestion.
For any Midiboxers out here, this blogger has a veriation on the Tsundere/Chip Maestro interface that seems perfect for a MIOS core
http://shiftmore.blogspot.com/2012/11/a art-i.html
Food for thought
Yogi
I think there was some work a while ago posted on the MidiBox blog about an NES synth. It harvested the actual 2A03 off the mainboard though (much like how MBSID does). Since it's not socketed, that makes me nervous.
I think just having a MIDI clock sync solution would be pretty huge as then NSF players and trackers can use that for their BPM. That doesn't necessarily allow for full on live play but it means the NES could then be sync'd to the same MIDI clock everything else might be using.
MidiBox already has lovely MIDI support (obviously) though for just interpreting MIDI clock and sending pulses, I wouldn't imagine the piece would be so difficult. Modifying, say, an NSF player to respond to the signal - that's not something I have even begun to figure out.
I think there was some work a while ago posted on the MidiBox blog about an NES synth. It harvested the actual 2A03 off the mainboard though (much like how MBSID does). Since it's not socketed, that makes me nervous.
Not sure on the 2A03, but remember there is a SNES APU page on the MB wiki. The Chip Maestro's proof of concept design takes this route. I'm playing with this idea, but the major drawback is as you say, sourcing the 2A03. Mike's Arcade Chips has them for $25, but i've found NES' @ Goodwill for about that price, so it boils down to skill level VS cost I guess.
The other downside is no DPCM channel
I think just having a MIDI clock sync solution would be pretty huge as then NSF players and trackers can use that for their BPM. That doesn't necessarily allow for full on live play but it means the NES could then be sync'd to the same MIDI clock everything else might be using.
Neil Baldwin has been working with NInsturments on this. Very exciting! http://blog.ntrq.net/?p=589
http://www.ninstrument.com/?page_id=783
MidiBox already has lovely MIDI support (obviously) though for just interpreting MIDI clock and sending pulses, I wouldn't imagine the piece would be so difficult. Modifying, say, an NSF player to respond to the signal - that's not something I have even begun to figure out.
At a hardware level, I could see a MB core connected to the player2 port; just needs mapping, Midi to button press sort of thing and have the core aware of the NES' reads. I have seen the Arduino connected to the NES like this, but no MIDI support.
Yogi
Oh snap! I forgot about that project. Does PULSAR support clock sync with MCTRL yet? That's just about a "problem? solved!" solution for me if so!
Valid point about DPCM. I don't know the capabilities of PULSAR, but being able to sync an NSF lets you use DPCM in that context. I think Batsy Adams' sync experiments used the PowerPak's NSF player - he just added sync.
All that said, in terms of an interface, where MidiBox can be nice, I would say, is with the USB MIDI stuff it can now do via CORE32. I'm trying to move away from using a laptop during a live show instead, I'm trying to build and, if need be, augment the MidiBox MIDIO128 to serve as our MIDI playback/sync device. However, I'm in the minority Having MIDI over USB is pretty glorious. Plus the new CORE32 boards can do routing and stuff. There's plenty of power there to handle sync to the NES plus likely most of the core MidiBox functions.
I think Batsy Adams' sync experiments used the PowerPak's NSF player - he just added sync.
I know he did a syncable version of vegaplay (Unreleased ). Is that the experiment you speak of?
@m00dwg
I don't know if Neil's latest Public release does, but Ninstruments does offer a sync enabled Pulsar cart/MCTRL bundle, as well as PR8, NESK-1, GlitchNES and Lightwall cart bundle options. (wow I kind of sound like a salesman) So there is a working system here and now.
@m00dwg
I don't know if Neil's latest Public release does, but Ninstruments does offer a sync enabled Pulsar cart/MCTRL bundle, as well as PR8, NESK-1, GlitchNES and Lightwall cart bundle options. (wow I kind of sound like a salesman) So there is a working system here and now.
Just to clarify, I spoke with Neil yesterday and he hopes to have more time to work with me and MCTRL. So far PR8 is the only software title of his that has a direct MCTRL version. That is not to say we will not work on other titles, just need more time from both of us to finish. I have to say I use my Cirklon with the MCTRL version of PR8 and it is sooooooo nice to have direct step sync. Super clean and very usable, Now I sound like the salesman