universal2600 Posted March 4, 2013 Share Posted March 4, 2013 Hello i was wondering if i can use either a pic16LF84A or pic24F08KA101 micro-controller to gain midi control over a atari 2600 tia chip to have it play notes (and possibly display visuals)? the whole interface would be controlled by usb. I also should have a Coolrunner II cpld if should need any extra logic components. the pic16LF84A is a 18 pin pdip with a max clock speed of 20MHz and the pic24F08KA101 is in a 20 pin pdip package and can achieve a max clock of 32MHz. so is this possible using either chip to do this if not which PIC microcontroller would be suitable for this project? any help will be appreciated thanks Quote Link to comment Share on other sites More sharing options...
SeaGtGruff Posted March 4, 2013 Share Posted March 4, 2013 I can't offer any hardware or technical help, but there has been at least one MIDI interface for the 2600-- possibly two, although I can't find any solid information about the second one. I think the schematics and such for the first one (which is listed in the AtariAge store) were posted on the guy's web site after he decided to discontinue selling it-- if you search for MIDI and Atari 2600 together you should be able to find it. That interface used a standard MIDI plug, then connected to the 2600 via the two controller ports, since the two joysticks are read from the same address and by reading the two joystick inputs together you get an 8-bit value ranging from 0 to 255. Quote Link to comment Share on other sites More sharing options...
universal2600 Posted March 4, 2013 Author Share Posted March 4, 2013 (edited) I can't offer any hardware or technical help, but there has been at least one MIDI interface for the 2600-- possibly two, although I can't find any solid information about the second one. I think the schematics and such for the first one (which is listed in the AtariAge store) were posted on the guy's web site after he decided to discontinue selling it-- if you search for MIDI and Atari 2600 together you should be able to find it. That interface used a standard MIDI plug, then connected to the 2600 via the two controller ports, since the two joysticks are read from the same address and by reading the two joystick inputs together you get an 8-bit value ranging from 0 to 255. Thanks for the reply but is it possible to control the tia directly using a PIC + cpld + a pc usb port (maybe lpt or rs232)? Edited March 4, 2013 by universal2600 Quote Link to comment Share on other sites More sharing options...
dsc Posted March 4, 2013 Share Posted March 4, 2013 This might help! Little Scale just unveiled this. http://chipmusic.org/forums/topic/10345/a26f-atari-2600-midi-music-interface/ Quote Link to comment Share on other sites More sharing options...
universal2600 Posted March 4, 2013 Author Share Posted March 4, 2013 This might help! Little Scale just unveiled this. http://chipmusic.org...usic-interface/ Thanks but it still requires a 2600 system i only have the chips no system Quote Link to comment Share on other sites More sharing options...
SeaGtGruff Posted March 4, 2013 Share Posted March 4, 2013 Thanks for the reply but is it possible to control the tia directly using a PIC + cpld + a pc usb port (maybe lpt or rs232)? I honestly don't know how to answer that-- it's way beyond my limited area of expertise! Quote Link to comment Share on other sites More sharing options...
BigO Posted March 4, 2013 Share Posted March 4, 2013 Seems like it should be possible. I skimmed through this document. If I were attacking this problem, I'd study this document in detail. http://www.atarihq.com/danb/files/stella.pdf Quote Link to comment Share on other sites More sharing options...
SeaGtGruff Posted March 6, 2013 Share Posted March 6, 2013 Thanks but it still requires a 2600 system i only have the chips no system If all you have are the chips then I'm not sure how you'll do it. The TIA (NTSC version) requires (expects) the following inputs to be connected to the following pins: Ground -- connected to pins 1, 21*, 22, and 24* (see Note 1) +5 volts power -- connected to pins 20 and 23 Color delay -- connected to pin 10 Oscillator signal -- connected to pin 11 (see Note 2) Data bit 0 -- connected to pin 14 Data bit 1 -- connected to pin 15 Data bit 2 -- connected to pin 16 Data bit 3 -- connected to pin 17 Data bit 4 -- connected to pin 18 Data bit 5 -- connected to pin 19 Data bit 6 -- connected to pin 33 Data bit 7 -- connected to pin 34 R/W signal -- connected to pin 25 PHI-2 clock signal -- connected to pin 26 (see Note 3) Address bit 0 -- connected to pin 32 Address bit 1 -- connected to pin 31 Address bit 2 -- connected to pin 30 Address bit 3 -- connected to pin 29 Address bit 4 -- connected to pin 28 Address bit 5 -- connected to pin 27 Input bit 0 -- connected to pin 40 Input bit 1 -- connected to pin 39 Input bit 2 -- connected to pin 38 Input bit 3 -- connected to pin 37 Input bit 4 -- connected to pin 36 Input bit 5 -- connected to pin 35 Note 1: Pins 21 and 24 are chip selects connected to two of the 6507's address lines, but if you aren't using a 6507 and have the TIA connected to something else, you could just connect these two pins to ground so the TIA will always be ready to receive instructions. Note 2: For normal operation the oscillator cycle should be 3579575 Hz. If you use a different ocillator rate it will affect the rates of the TIA's two audio clocks. Note 3: The oscillator signal is "divided by 3" to produce the PHI-0 clock signal, which the TIA sends to the 6507 via pin 4, then the 6507 sends back the PHI-2 clock signal via pin 26. So in addition to feeding an oscillator signal to pin 11, you'll also need to feed a PHI-2 clock signal to pin 26, with PHI-2 being one-third the rate of the oscillator. You should be able to ignore pin 10 (color delay) and pins 40 through 35 (the input bits), since they have no relation to the audio circuitry. And if you're going to always be writing to the TIA instead of reading from it, then you might be able to connect pin 25 (R/W) to ground so it's always set to write (I think). However, you'll need to use the address pins and data pins to set the TIA's internal audio registers to the values you want. If you're wanting to produce your own waveforms instead of having the TIA generate them, you should set AUDC0 and AUDC1 to 0, which will tell the TIA to output a steady stream of 1s for the audio bits. Then you would need to repeatedly set the AUDV0 and AUDV1 registers to form your own waves by varying the volume. On the other hand, if you're wanting the TIA to generate the waveforms then you'll need to use AUDC0 and AUDC1 to select the desired waveforms, use AUDF0 and AUDF1 to select the desired frequencies, and use AUDV0 and AUDV1 to select the desired volumes. The only way to set these registers is to send the appropriate address values over the address lines and send the desired data values over the data lines. Presumably the only output pins you'll be interested in are pins 13 and 12 (AU0 and AU1, the two audio outputs). In the console these go to a modulator. Quote Link to comment Share on other sites More sharing options...
Van Posted July 9, 2013 Share Posted July 9, 2013 Hi universal2600, Here you go, http://midibox.org/forums/topic/18032-midibox-tia-atari-2600-synth/ This just posted a month ago. MidiBoxTIA Antichambre is still developing it, but as-is it's functional, main control is via midi. Yogi Quote Link to comment Share on other sites More sharing options...
Antichambre Posted July 9, 2013 Share Posted July 9, 2013 (edited) @Yogi Thank you, You're everywhere! Nice! @Universal2600, Yogi is true this hardsynth is functional, the things i still develop are optional functions like wavetables(for drum kit and internal sequencer) and sampling. All other still works. You can make your own circuit, and find all the information and method to build it here : http://www.midibox.o...?id=midibox_tia, when it's done you will find some tools to test it then ask me for the firmware, it's a beta version and I have not yet published it. Or you can wait for the next pcb run, and own your cartridge cased version midi synth. Here a demo: You will hear that TIA responds to note, velocity and full ADSR etc... It's a real complete synth which responds to a lot of Midi CC# too. Transpose, portamento, LFOs, enveloppes and many more. Not only pushing values in the limited TIA registers, the PIC firmware is a full midi and synth engine. So a full synth features. http://youtu.be/X_zqexm03XY Edited July 9, 2013 by Antichambre 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.
Note: Your post will require moderator approval before it will be visible.