Offline
Los Angeles


Info from the site:

What is MidiJoy?

MidiJoy is a software/interface combination that allows you to use your Atari or Commodore homecomputer as a musical instrument. The idea is based on the Atari 2600-PC-Interface created by Sebastian Tomczak and was expanded to suit the extended capabilities of the 8-Bit homecomputers.
The interface part emulates a USB-Midi (serial Midi is optional) device that can be accessed by any kind of instrument as well as sequencer software on a PC or Mac that can output Midi data (e.g. Ableton Live or Aria Maestosa). The MidiJoy software receives these data from the interface via the joystick ports and plays them on the POKEY (or SID or TIA) sound-chip. In contrast to most SIO-based Midi interfaces, a MidiJoy-driven Atari can bei used as a live instrument in real time with up to four sound channels simultaneously. At the same time, all POKEY parameters (AUDCTL, AUDC1-4) can be changed on-the-fly fly as well as activation of ADSR envelopes. Music input can be recorded and saved to disk for later usage - even in your own programs/games.
For limitations of the Commodore and VCS 2600 version please see the info at the bottom of this page.

The source code for the Teensy microcontroller (an Arduino offspring) on the interface is available as open source as the basic idea is based on Sebastian Tomczak's interface. The adapted code is very simple and just converts incoming Midi data into bit combinations that are sent to the Atari or C64 via its joystick ports. The MidiJoy software on the Atari/C64 end then plays the incoming notes live.
On the Atari, MidiJoy makes full use of the capabilities of the POKEY sound chip and thus partly extends the features of the Atari 2600-interface: Instead of just two voices with a 32-pitch range of the TIA, MidiJoy enables you to make full use of four voices spanning four octaves. Two 16-bit channels are also possible, and with corresponding POKEY frequencies, a much larger range of sounds can be created. The playback of samples - such as with the original interface - is on the development roadmap of MidiJoy.


What is MidiJoy NOT?

The device has some limitations due to the fact that I want it to run on several 8-Bit systems and thus have to make some compromises:

Due to the limited input pins available on standard joysticks, there can only be 10 bits of data transmitted at the same time (for each port 4 directions and 1 fire button). This requires limiting data to max. 4 voices (2 bit), volume and pitch differentiation (1 bit) and 127 note values (7 bit). Stuffing more information into these bit is simply not possible unless I would break compatibility with common joystick port design.
For the same reason, it is not possible to transmit more Midi information than pitch and volume, including their respective data values. Therefore, complex Midi CC messages, pitch bend in cents or controlling other aspects of the sound chip etc. cannot be realized via Midi messages but would have to be incorporated in the MidiJoy software and controlled from the computer keyboard (as the MidiJoy software for the Atari does).
The MidiJoy software also does not support playback of samples due to the reasons stated above. However, it is possible to use the device itself with the firmware of Sebastian Tomczak which needs to be modified slightly. Then not only his VCS 2600 player can be used, but also two adaptations I wrote for the Atari XL/XE as well as the C64. Continue here if this is what you are looking for.
In case you are disappointed now about the features of MidiJoy, you might be interested in this project which directly plays on the soundchips of the Atari, C64, VCS2600 etc. However, bear in mind that you need to obtain these soundchips first, it does not work

http://www.phobotron.de/midijoy_en.html

Enjoy~!

Last edited by 8bitweapon (Jan 7, 2015 3:58 am)

Offline
matt's mind

thanks for the post!

here are two other threads on the MIDIJOY interface:
http://chipmusic.org/forums/topic/15713 … available/
http://chipmusic.org/forums/topic/15172 … interface/

i'm going to close this one to try to keep the info contained to those two that are already established.  smile