Jump to content
ivop

MIDI Interface

Recommended Posts

7 hours ago, mytek said:

Just no love for the PICs I guess :_( .

I don’t really think that’s it, either. They support something like 1,000+ different PIC models already, just not the ones you use. I really don’t get it.

 

A few weeks ago, I experimented with the (confusing, poorly implemented and entirely unclear) process of defining my own chip in the TL866 software. I picked a chip very similar to the PIC16F1847 and set as much stuff as I could figure out. I set the programmer to ignore the chip ID and just write the hext file for the TKII firmware. It reported that the process worked but it would only work for DIP chips in the ZIF socket. I could not figure out how to use the ICSP pins on the TL866 to program my 576NUC+ beta board, with its SMD PIC. I’m not 100% sure the DIP programmed correctly - I’d have had to disassemble my XEL or XLD to check it, but it *seemed* to work at least for DIPs.  

  • Like 1

Share this post


Link to post
Share on other sites

I did program my SIO2MIDI with the TL866ii. Then I used the interface when playing MidiMaze without a problem.

 

Edited by manterola
  • Like 3
  • Thanks 1

Share this post


Link to post
Share on other sites
On 12/2/2020 at 6:21 AM, mytek said:

Unfortunately neither the K150 or the TL866 will flash the PICs that I commonly use in my projects. However I always provide the means to do so with your A8 via the JOY2PIC and Atari flashers. Also the PICkit series programmers will do the trick, and go for cheap on eBay.

 

I can understand why the K150 doesn't support a lot of the PICs that came out in the last decade, but the TL866 really has no excuse since it looks to be actively supported with new firmware releases on a regular basis. Just no love for the PICs I guess :_( .

 

While waiting for the PICKit I experimented a little bit. The results are attached.

I"m not asking for flashing and testing, but maybe you could take a look if this makes sense at all (I tried to follow your instructions).

PIC_MIDI.zip

  • Like 1

Share this post


Link to post
Share on other sites
On 12/2/2020 at 10:34 AM, TheMontezuma said:

I decided to order a PICKIT3 clone: https://de.aliexpress.com/item/1005001524913262.html

I want to experiment with the boot up "tune", perhaps change it to something more Atari like, or perhaps deactivate it completely.

You'll need to go to Microchip's site to get the supporting program. What you are really looking for is a program within the MPLAB-X download called IPE (Integrated Programming Environment). That is all that is required to flash chips. The rest of the package is for the IDE that allows for full code development. I'm not sure if the IPE can be downloaded independently, but it might be worth checking into.

 

  • Like 1

Share this post


Link to post
Share on other sites
22 minutes ago, TheMontezuma said:

While waiting for the PICKit I experimented a little bit. The results are attached.

I"m not asking for flashing and testing, but maybe you could take a look if this makes sense at all (I tried to follow your instructions).

PIC_MIDI.zip 6.78 kB · 2 downloads

Unfortunately I won't get a chance to test this for a bit (need to find the time to unbutton my XLD and reprogram the PIC). However I did take a listen to the tune in VLC, and the M_U_L_E  theme seems suitable as a power-up intro. Curious as to how it will sound going through the S2 synth 🤔 - I guess it depends a lot on which voicing got used.

 

Anyway nice to see someone picking up my original project and putting their coding skills to use :) .

 

  • Like 1

Share this post


Link to post
Share on other sites
55 minutes ago, mytek said:

Curious as to how it will sound going through the S2 synth 🤔 - I guess it depends a lot on which voicing got used.

 

Anyway nice to see someone picking up my original project and putting their coding skills to use :) .

 

I'm also curious :)

 

I found an interesting article (in polish) about making music "covers" of the Atari chip tunes:

The author (Gades) created a few of them:

 

 

He used the tunes from the http://asma.atari.org/ archive and converted them to MIDI files (using the tools he wrote).

The MIDI files were generated automatically, so it can happen that you need to apply some manual work to them.

But the goal of these MIDI files was not to listen to them, but to use them as a base for creating music covers.

Here is Gades' pre-converted collection of the MIDI files:

https://atarionline.pl/pliki/gades_asma_38_mid2.zip

 

This is where I found the M_U_L_E MIDI file :)

 

Edited by TheMontezuma
  • Like 2
  • Thanks 1

Share this post


Link to post
Share on other sites
On 12/3/2020 at 7:50 PM, mytek said:

You'll need to go to Microchip's site to get the supporting program. What you are really looking for is a program within the MPLAB-X download called IPE (Integrated Programming Environment). That is all that is required to flash chips. The rest of the package is for the IDE that allows for full code development. I'm not sure if the IPE can be downloaded independently, but it might be worth checking into.

 

Today my programmer arrived. You saved my time (and disk space) with the info that I only need IPE. Thanks! 👍

 

I watched the video with some hints on programming:

 

 

and changed the power settings accordingly:

 

pic.jpg.8d16d55fb5d41d6c283a1ee2cb45d364.jpg

 

Now everything worked and I was able to program the PIC.

The hex file I prepared with the MULE theme worked! However the music is very silent in the first phase and louder in the second phase.

One would need to tweak the MIDI file a little bit...

Then I flashed the "silent" version of the software and verified that there is no boot-up theme, but I can still play MIDI sounds with a MIDI Player.

 

Share this post


Link to post
Share on other sites
13 minutes ago, TheMontezuma said:

Today my programmer arrived. You saved my time (and disk space) with the info that I only need IPE. Thanks! 👍

Your very welcome, glad i could help :) .

 

14 minutes ago, TheMontezuma said:

Then I flashed the "silent" version of the software and verified that there is no boot-up theme, but I can still play MIDI sounds with a MIDI Player.

So what is the "silent" version? Is it a modification of the original source with a recompile, or something else? At any rate I probably should include such a thing in the download for people that don't wish to have the start-up sound.

Share this post


Link to post
Share on other sites
13 hours ago, mytek said:

So what is the "silent" version? Is it a modification of the original source with a recompile, or something else? At any rate I probably should include such a thing in the download for people that don't wish to have the start-up sound.

Yes, I basically commented out the code related to the start-up sound and recompiled it.

Attached is the gcb file and all compiler generated files.

MIDIctrl_PIC12F1572_NO_INTRO.zip

  • Thanks 1

Share this post


Link to post
Share on other sites

I've built a set of all three interfaces. SIO2MIDI (connected to a Roland SC88 Pro) and MIDI XEL are working great and I'm having great fun with them. The MIDI XEL II is working fine the S2 on board but is giving me no MIDI out when switching the S2 to off. I've checked all traces and parts of main and interface pcb but couldn't find any issue. What I'm missing here?

Share this post


Link to post
Share on other sites

Hi @mytek,

Realise I'm a bit late to the party but I've just discovered this thread!

 

I am very interested in the SIO2MIDI interface, I had a few questions:

 

* I saw mentioned that as it uses the Motor control line it can have an issue with having a cassette on the SIO bus. Is this true? Even if I am not using the cassette? I have a FujiNet (which has cassette support) and was wondering if I would need to unplug the FujiNet to use the SIO2MIDI? or is it enough to simply not be using the tape function at the same time as using the SIO2MIDI?

 

* The main reason I want the SIO2MIDI is to play the Atati's internal Pokey chip from an external MIDI keyboard. Do you know if anyone wrong software to do this? If not, do you have an example code of how to read/write to the SIO2MIDI, and I could give writing a Pokey player a go

 

Thanks

Guy

 

 

Share this post


Link to post
Share on other sites
45 minutes ago, gwpt said:

* I saw mentioned that as it uses the Motor control line it can have an issue with having a cassette on the SIO bus. Is this true? Even if I am not using the cassette?

If the cassette is plugged in but isn't going to be used, then I suppose there wouldn't be any issues. And then if you do want to use the cassette to load a program, just disconnect the SIO2MIDI while that's happening.

 

45 minutes ago, gwpt said:

I have a FujiNet (which has cassette support) and was wondering if I would need to unplug the FujiNet to use the SIO2MIDI? or is it enough to simply not be using the tape function at the same time as using the SIO2MIDI?

That I can't answer since I just started playing around with FujiNet today. Perhaps someone more in the know can answer that.

 

45 minutes ago, gwpt said:

* The main reason I want the SIO2MIDI is to play the Atati's internal Pokey chip from an external MIDI keyboard. Do you know if anyone wrong software to do this? If not, do you have an example code of how to read/write to the SIO2MIDI, and I could give writing a Pokey player a go

Sounds like an interesting project. As for software to interpret the MIDI data coming from your MIDI keyboard, that I don't have. However @ivop wrote a program that might be a good starting point for you. Off the top of my head I believe it was called MIDIMON.

 

Share this post


Link to post
Share on other sites
15 minutes ago, mytek said:

If the cassette is plugged in but isn't going to be used, then I suppose there wouldn't be any issues. And then if you do want to use the cassette to load a program, just disconnect the SIO2MIDI while that's happening.

 

I was hoping to mount the SIO2MIDI internally.. so unplugging would be difficult. I suppose if I just put a switch on the Motor Control line, that would be the same thing as unplugging?

 

Thanks for the info, I found the midimon sourse, so I will have a look at that :)

Share this post


Link to post
Share on other sites
5 minutes ago, gwpt said:

I was hoping to mount the SIO2MIDI internally.. so unplugging would be difficult. I suppose if I just put a switch on the Motor Control line, that would be the same thing as unplugging?

Yep that should do it.

 

5 minutes ago, gwpt said:

Thanks for the info, I found the midimon sourse, so I will have a look at that :)

Cool glad you found that :)

Share this post


Link to post
Share on other sites
Posted (edited)

Hello Guy

 

1 hour ago, gwpt said:

* The main reason I want the SIO2MIDI is to play the Atati's internal Pokey chip from an external MIDI keyboard. Do you know if anyone wrong software to do this?

 

What you are looking for is MIDIJoy by @freetz.  He designed the hardware and the software.

 

Sincerely

 

Mathy

 

Edited by Mathy

Share this post


Link to post
Share on other sites
58 minutes ago, Mathy said:

Hello Guy

 

 

What you are looking for is MIDIJoy by @freetz.  He designed the hardware and the software.

 

Sincerely

 

Mathy

 

Thanks @Mathy

I actually have just built one of those too :) 

I wanted to go the SIO path, so as to be able to mount it internally, and potientally have more options (i.e. CC messages to control the Pokey). Which I don't think you can do with Midi Joy.

Still just invesitgating at this point

Share this post


Link to post
Share on other sites
Posted (edited)
11 hours ago, gwpt said:

Thanks @Mathy

I actually have just built one of those too :) 

I wanted to go the SIO path, so as to be able to mount it internally, and potientally have more options (i.e. CC messages to control the Pokey). Which I don't think you can do with Midi Joy.

Still just invesitgating at this point

Note that with a single Pokey, you lose two channels (channel 3+4) for MIDI communication. A stereo upgrade would be needed to reach at least the channel count of MIDIjoy. But it's a nice project. Something I was considering doing myself somewhere in the future, but there are so many other projects :) Good you already found the midimon source code. I agree with MyTek that it could function as a starting point. Rip-out the printing part and start playing pokey notes instead ;)

Edited by ivop
  • Like 3

Share this post


Link to post
Share on other sites
On 3/5/2021 at 6:36 PM, gwpt said:

* The main reason I want the SIO2MIDI is to play the Atati's internal Pokey chip from an external MIDI keyboard. Do you know if anyone wrong software to do this? If not, do you have an example code of how to read/write to the SIO2MIDI, and I could give writing a Pokey player a go

It has been my impression that the SIO port uses the Pokey chip for timing and that getting sound out of it while transferring data will be difficult if not next to impossible.

 

I've experimented with the Arduino/MIDI shield that works like the MIDIJOY but uses the Cassette Motor control for timing.  I got it to the point that the Atari could play one note and then used multitrack recording software to combine them.  

 

 an MP3 example can be found here. A journey to Bach's Invention 1 and other miscellaneous updates - Out of the Pack - AtariAge Forums.

 

Share this post


Link to post
Share on other sites

I'm trying to get a MIDI XEL II working with my Atari800, just bought from brewing academy.  I just wire the SIO cable to the same labeled pins, right?  Or does anything have to go between the Atari Data IN and the DI connector on the device? It can float, right, for when other stuff is using the bus?  I thought I hooked it up correctly, but it's stopping anything else on my SIO bus from working when I do. Going to check once again to make sure everything is right. I do see the LED go on with the motor command, so at least I didn't wire it backwards.

Share this post


Link to post
Share on other sites
23 hours ago, cathrynm said:

I'm trying to get a MIDI XEL II working with my Atari800, just bought from brewing academy.

I'm going to ping @MacRorie so that he can be a part of this convo.

 

23 hours ago, cathrynm said:

I just wire the SIO cable to the same labeled pins, right?  Or does anything have to go between the Atari Data IN and the DI connector on the device? It can float, right, for when other stuff is using the bus?  I thought I hooked it up correctly, but it's stopping anything else on my SIO bus from working when I do. Going to check once again to make sure everything is right. I do see the LED go on with the motor command, so at least I didn't wire it backwards.

Yes it is a pin-for-pin connection between the MIDI board (J1) and the XEL (J5).

 

MIDI_XEL_SIO_INTFC.png.399cf52ba1baf7111ba61df3de5d5dcf.png

 

XEL_SIO.png.eb557f49d13d5826da13627734bc4f5b.png

 

The Cassette Motor Control is what connects the MIDI controller to the SIO bus. If the Motor Control is inactive, then the MIDI controller's SIO connections will float and not load down the bus - no diode required.

 

Basically this just works assuming that all is well with your MIDI XEL II. One thing that can be verified, is to remove the MIDI's PIC chip and see if you are still seeing SIO contention. If you are, then something might be shorted or going to the wrong place.

 

  • Like 2

Share this post


Link to post
Share on other sites
On 8/1/2021 at 9:42 PM, mytek said:

I'm going to ping @MacRorie so that he can be a part of this convo.

 

Yes it is a pin-for-pin connection between the MIDI board (J1) and the XEL (J5).

 

 

 

 

 

The Cassette Motor Control is what connects the MIDI controller to the SIO bus. If the Motor Control is inactive, then the MIDI controller's SIO connections will float and not load down the bus - no diode required.

 

Basically this just works assuming that all is well with your MIDI XEL II. One thing that can be verified, is to remove the MIDI's PIC chip and see if you are still seeing SIO contention. If you are, then something might be shorted or going to the wrong place.

 

May I ask why you got an XEL II (ostensibly for the 1088XEL) for the 800 and not just the external MIDI interface?

Share this post


Link to post
Share on other sites
55 minutes ago, MacRorie said:

May I ask why you got an XEL II (ostensibly for the 1088XEL) for the 800 and not just the external MIDI interface?

Opps I totally missed that detail. Here I thought the target was a 1088XEL not an Atari 800. Silly me ;-)

Share this post


Link to post
Share on other sites

Yeah, that's it. Honest, I was just confused about which midi interface worked with what. I'm sorting this out brewingacademy right now.

Share this post


Link to post
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...