MIDIcar - Independent MIDI device for Atari XE
Posted: 15 April 2022, 06:57 - Fri
Introduction
I would like to present new device for Atari XE series which can play/record MIDI files on Atari 8-bit computer. Idea was taken from Mytek's SIO2MIDI (https://ataribits.weebly.com/midi.html) but I decided to use CART/ECI port for communication with MIDI devices because in case I may use SIO independently for load/save data during MIDI working. Using CART/ECI provide possibility to use Atari as MIDI sequencer with direct access to FDD (SIO) and/or other mass storage device, for example with AVG CART (CART/ECI).
Project was made as Free Hardware under Creative Commons BY-NC-SA 4.0.This means - you can do it yourself, for private use. Commercial use is possible after obtaining the authors' consent.
This is the next project created as part of the activities of PTODT (Polskie Towarzystwo Ochrony Dziedzictwa Technicznego, which means the Polish Society for the Protection of Technical Heritage), founded for the protection of technical heritage, especially in the field of informatics and computers.
MIDIcar is hardware which can nothing without software... best player I ever seen was written by PeBe: https://github.com/GSoftwareDevelopment/MIDICar-Player
Notice:
This device is still under development. Please read whole information carefully. If you plan to do device by your own hand, please use newest revision as possible. Now it's 1.0.5 which is free of some minor issues on PCB.
Change log:
1. MIDIcar v1.0 - first issue
2. MIDIcar v1.0.1 - added polygons
3. MIDIcar v1.0.2 - added correct polygons (connected to GND), Added good power distribution wiring.
4. MIDIcar v1.0.3 - removed bad connection between /RST and /RTS
5. MIDIcar v1.0.4 - added full address decoder for D5xx/D1xx (avoid issue with mixed decoders from Atari and MIDIcar)
6. MIDIcar v1.0.5 - removed bad wiring between RD4 and RD5 on the PCB - now each cartridge can run with MIDIcar together.
7. MIDIcar v1.0/1.0.1 PBI - first issue of MC PBI version.
8. MIDIcar Vertical v1.0 PBI and CART/ECI universal version based on mezzanine board (CAUTION! New version of mezzanine was added as attachment, the previously one has really dangerous bug!)
9. MIDIcar for 1090 v.1.0 - MIDI device for 1090XL board.
10. Universal version based on mezzanine board for XE computers (attached)
Features:
- possibility to play external MIDI source like MIDI keyboard or synthesizer,
- MIDI IN/MIDI OUT LED indicators on board,
- serial communication with 31250 b/s, 125 kb/s or 2mb/s with PC (using e.g. FT232 dongle),
- fully transparent for other cartridges/interfaces (based on D1XX/D5XX address decoder),
- equipped with S2 DREAMBLASTER is ready to play (similar like SIO2MIDI,
Revision 1.0
First issue of MIDIcar v1.0 is dedicated for Atari XE series but I’ll prepare version for XL series as soon as possible,
The first whole MIDI file played on MIDIcar (PeBe's player): https://www.youtube.com/watch?v=oDyei72TeGE
According to ABBUC HSC 2022 event I'll share more details after competition...
Following topic: https://abbuc.de/forum/viewtopic.php?f=3&t=639
Unfortunately, first release has two bugs on PCB layer:
1. bad crossed lines on audio channels output,
2. polygon was not connected to GND - so more noises might going to audio output
Revision 1.0.1
New revision (1.0.1) has been designed which eliminates the problem with audio and polygon connections:
Parallel, my colleague Kkrys made prototype case for MIDIcar. It was first shown on Lost Party 2022 (Licheń Stary, Poland).
The next photo shown that it's possible use MIDIcar with external memory expansion (512kb in case) so you don't need to modify stock Atari to enjoy most midi files
But I was still missing something... MIDIcar was great at playing files loaded from the SIO device, but it didn't want to work with AVG, SIDE2 and my favorite IDEplus. And the worst thing is that I had no idea why this was happening... I ruled out conflicts on the address bus because the devices have different register addresses... I came to the conclusion that the problem is in... insufficient power supply due to the thickness of the traces on the PCB. This is how revision 1.0.3 was born.
Revision 1.0.2
Only better power distribution and signals was added...
Unfortunately, the problem has not gone away. I was able to play files from SIO and IDE2ECI without any problems. IDEplus and other devices were not cooperating... until finally, I found the (partial) cause... it turned out that I had mistakenly connected the /RTS (ready to send) signal of the MC6850 to the /RST (reset) signal, which caused the MC6850 to keep a permanent RESET on other devices. The fix is very easy... just leave the 5th pin of the MC6850 up and not connected. Of course, revision 1.0.3 will be made
Now, IDEplus is working perfectly. SIDE2 and AVG (my favorite!) not yet but I'm still working on that.
Short test MIDcar under SpartaDosX and IDE+: https://www.youtube.com/watch?v=h5Pq4HO0sL0
Revision 1.0.3 - 1.0.5
Finally I found the bug which was responsible for not working with SIDE2 and AVGCART. it was short circuit between RD4 and RD5 signals... so, the solution is very easy, just cut one wiring between RD4 and RD5 pins on PCB ( close to CART slot):
Revision 1.0 PBI
Actually it's pretty the same as v1.0.4 but regarding of lack of internal decoder for D1/D5 page additional parts were placed on PCB. The same approach will be use in CART/ECI version (fully separately decoder for D1/D5).
PBI version is equipped with additional power socket realized by standard DC-5 plug (+5V on center pin) - this is not needed if you have Atari 600XL or modified Atari 800XL (power mod on PBI) - pin 47 or 48 shall provide the power. You may configure how to power MC by dedicated jumpers on J9. Please use it with careful!
You may use MC-PBI with the same mass storage devices as MC-CART/ECI, It was tested with IDE2+, AVG and other... MIDIcar Vertical v1.0 PBI and CART/ECI
I decided to standardize MIDIcar for XL/XE and created a vertical version - the same PCB for both. There is only one difference - the mezzanine board depends on the CART/ECI or PBI slot. This solution opens up a standard connection to any new device for every XL/XE. Just use the appropriate mezzanine. Schematics and gerbers for MIDIcar Vertical and both mezzanines can be found in the attachments.
I would like to present new device for Atari XE series which can play/record MIDI files on Atari 8-bit computer. Idea was taken from Mytek's SIO2MIDI (https://ataribits.weebly.com/midi.html) but I decided to use CART/ECI port for communication with MIDI devices because in case I may use SIO independently for load/save data during MIDI working. Using CART/ECI provide possibility to use Atari as MIDI sequencer with direct access to FDD (SIO) and/or other mass storage device, for example with AVG CART (CART/ECI).
Project was made as Free Hardware under Creative Commons BY-NC-SA 4.0.This means - you can do it yourself, for private use. Commercial use is possible after obtaining the authors' consent.
This is the next project created as part of the activities of PTODT (Polskie Towarzystwo Ochrony Dziedzictwa Technicznego, which means the Polish Society for the Protection of Technical Heritage), founded for the protection of technical heritage, especially in the field of informatics and computers.
MIDIcar is hardware which can nothing without software... best player I ever seen was written by PeBe: https://github.com/GSoftwareDevelopment/MIDICar-Player
Notice:
This device is still under development. Please read whole information carefully. If you plan to do device by your own hand, please use newest revision as possible. Now it's 1.0.5 which is free of some minor issues on PCB.
Change log:
1. MIDIcar v1.0 - first issue
2. MIDIcar v1.0.1 - added polygons
3. MIDIcar v1.0.2 - added correct polygons (connected to GND), Added good power distribution wiring.
4. MIDIcar v1.0.3 - removed bad connection between /RST and /RTS
5. MIDIcar v1.0.4 - added full address decoder for D5xx/D1xx (avoid issue with mixed decoders from Atari and MIDIcar)
6. MIDIcar v1.0.5 - removed bad wiring between RD4 and RD5 on the PCB - now each cartridge can run with MIDIcar together.
7. MIDIcar v1.0/1.0.1 PBI - first issue of MC PBI version.
8. MIDIcar Vertical v1.0 PBI and CART/ECI universal version based on mezzanine board (CAUTION! New version of mezzanine was added as attachment, the previously one has really dangerous bug!)
9. MIDIcar for 1090 v.1.0 - MIDI device for 1090XL board.
10. Universal version based on mezzanine board for XE computers (attached)
Features:
- possibility to play external MIDI source like MIDI keyboard or synthesizer,
- MIDI IN/MIDI OUT LED indicators on board,
- serial communication with 31250 b/s, 125 kb/s or 2mb/s with PC (using e.g. FT232 dongle),
- fully transparent for other cartridges/interfaces (based on D1XX/D5XX address decoder),
- equipped with S2 DREAMBLASTER is ready to play (similar like SIO2MIDI,
Revision 1.0
First issue of MIDIcar v1.0 is dedicated for Atari XE series but I’ll prepare version for XL series as soon as possible,
The first whole MIDI file played on MIDIcar (PeBe's player): https://www.youtube.com/watch?v=oDyei72TeGE
According to ABBUC HSC 2022 event I'll share more details after competition...
Following topic: https://abbuc.de/forum/viewtopic.php?f=3&t=639
Unfortunately, first release has two bugs on PCB layer:
1. bad crossed lines on audio channels output,
2. polygon was not connected to GND - so more noises might going to audio output
Revision 1.0.1
New revision (1.0.1) has been designed which eliminates the problem with audio and polygon connections:
Parallel, my colleague Kkrys made prototype case for MIDIcar. It was first shown on Lost Party 2022 (Licheń Stary, Poland).
The next photo shown that it's possible use MIDIcar with external memory expansion (512kb in case) so you don't need to modify stock Atari to enjoy most midi files
But I was still missing something... MIDIcar was great at playing files loaded from the SIO device, but it didn't want to work with AVG, SIDE2 and my favorite IDEplus. And the worst thing is that I had no idea why this was happening... I ruled out conflicts on the address bus because the devices have different register addresses... I came to the conclusion that the problem is in... insufficient power supply due to the thickness of the traces on the PCB. This is how revision 1.0.3 was born.
Revision 1.0.2
Only better power distribution and signals was added...
Unfortunately, the problem has not gone away. I was able to play files from SIO and IDE2ECI without any problems. IDEplus and other devices were not cooperating... until finally, I found the (partial) cause... it turned out that I had mistakenly connected the /RTS (ready to send) signal of the MC6850 to the /RST (reset) signal, which caused the MC6850 to keep a permanent RESET on other devices. The fix is very easy... just leave the 5th pin of the MC6850 up and not connected. Of course, revision 1.0.3 will be made
Now, IDEplus is working perfectly. SIDE2 and AVG (my favorite!) not yet but I'm still working on that.
Short test MIDcar under SpartaDosX and IDE+: https://www.youtube.com/watch?v=h5Pq4HO0sL0
Revision 1.0.3 - 1.0.5
Finally I found the bug which was responsible for not working with SIDE2 and AVGCART. it was short circuit between RD4 and RD5 signals... so, the solution is very easy, just cut one wiring between RD4 and RD5 pins on PCB ( close to CART slot):
Revision 1.0 PBI
Actually it's pretty the same as v1.0.4 but regarding of lack of internal decoder for D1/D5 page additional parts were placed on PCB. The same approach will be use in CART/ECI version (fully separately decoder for D1/D5).
PBI version is equipped with additional power socket realized by standard DC-5 plug (+5V on center pin) - this is not needed if you have Atari 600XL or modified Atari 800XL (power mod on PBI) - pin 47 or 48 shall provide the power. You may configure how to power MC by dedicated jumpers on J9. Please use it with careful!
You may use MC-PBI with the same mass storage devices as MC-CART/ECI, It was tested with IDE2+, AVG and other... MIDIcar Vertical v1.0 PBI and CART/ECI
I decided to standardize MIDIcar for XL/XE and created a vertical version - the same PCB for both. There is only one difference - the mezzanine board depends on the CART/ECI or PBI slot. This solution opens up a standard connection to any new device for every XL/XE. Just use the appropriate mezzanine. Schematics and gerbers for MIDIcar Vertical and both mezzanines can be found in the attachments.