Login
Back to forumReply to this topicGo to last reply

Posted By

sabe
on 2023-02-26
06:45:50
 Midi Expansion For The Plus/4!

Chizman has made a MIDI OUT expansion card based on Arduino Nano. Have a look at the demo on the hardware section here.

Posted By

Retroshire
on 2023-02-27
06:46:29
 Re: Midi Expansion For The Plus/4!

Awesome!

Posted By

MMS
on 2023-02-27
12:59:46
 Re: Midi Expansion For The Plus/4!

This is crazy good news! I will surely build one.

Too bad, that Chizman do not want to be rich by selling these cards in that fancy black housing.
Maybe he dislikes the Ferraris? happy

Posted By

Csabo
on 2023-02-27
16:08:49
 Re: Midi Expansion For The Plus/4!

I know this was tongue-in-cheek, but there's a world of difference between building one prototype for yourself, and setting up a shop to sell your stuff over the internet. Is the interest even there (to build more than a handful of these)?

It's definitely a cool gadget, though it probably won't have widespread software support.

Posted By

MMS
on 2023-02-28
13:58:59
 Re: Midi Expansion For The Plus/4!

Well, producing better sound than C64 is a kind of >25 years old dream of this scene :⁠-⁠)
SID card is a valid add-on we deserved, but this one is a must have.
BTW i just found my old Covox card too :⁠-⁠)

Posted By

MIK
on 2023-03-01
10:14:07
 Re: Midi Expansion For The Plus/4!

Very cool stuff like this can be made today, just I can't help but feel today that Plus/4's are too fragile to burn away playing midi tunes when an Amiga or PC are more suited to this type of thing.

If only it was the 1990's. This would of been ACE back then.

Awesome achievement though!! happy

Posted By

MMS
on 2023-03-01
13:16:40
 Re: Midi Expansion For The Plus/4!

@MIK
Well, I know that there are several MIDI expansions available for C64, but they mainly use it to connect Midi keyboard to produce SID music, in the way Hermit defined it.
I am not aware of any C64 demo using MIDI as a background musical, so it could.be groundbreaking at the next Árok in Wild category...

Posted By

SukkoPera
on 2023-03-01
18:23:28
 Re: Midi Expansion For The Plus/4!

Well, if anyone wants a cleaner board... happy

PS: I can also easily add MIDI IN capability if that sounds useful!



Posted By

MIK
on 2023-03-02
02:25:54
 Re: Midi Expansion For The Plus/4!

@MMS the only thing to remember, anything that makes use of General Midi should work fine for both keyboard and midi file. With 1980's keyboards the tune should work but your find the midi voices maybe wrong... I like to think the 80's midi keyboards were synths back then as voice 01 could be anything lol, General Midi turned all the midi synths into Keyboards ha!

It's doable on a 1980's keyboard mind just by changing the voices of the midi tune to match what you think it should be. happy


Midi out/in would be very neat with some cool software to go with it. If I knew how to code I'd make the Yamaha PSS480, PSS580, PSS680 and PSS780 the keyboards of choice for Plus/4 as they are cheap to obtain and they all have programable FM chip's onboard. grin

Posted By

MMS
on 2023-03-02
13:05:41
 Re: Midi Expansion For The Plus/4!

@MIK
Well the 80s synth have the same problem as Adlib, SB and C64 Sound Expander cards. The use the Yamaha FM chipset and it is quite complex to program to get a decend sound.
With General MIDI modules you may have some differences due to smaller or bigger banks in ROM, but you just need the note and the instrument. Sure, it cannot create such ADSR extravaganza, well recognizeable, unique sounds as SID, SB or Moog, but you can focus more on the music OR in this case to have music at all.
Sure Roland and other similar Midi modules are not cheap, but there were some simplier, more affordanle models with decent sound, like Yamahs MU10 or 15. Few years ago xou could get then for 70-80€. Unfortunately due to retro collection habit their price also doubled.

Posted By

SukkoPera
on 2023-03-03
04:50:03
 Re: Midi Expansion For The Plus/4!

I've been studying a bit how this thing works: it can work in two modes: serial or parallel, depending on the ACIA RTS pin.

Serial (RTS=1) just uses the ACIA to transfer bytes to the Arduino at 19200 bps. Now, as far as the Arduino is concerned, MIDI is basically a serial port running at 31250 bps, all the Arduino does is relay data over that, one byte at a time. Of course the real maximum bitrate end to end is still 19200 bps. The Arduino here uses its HW serial port for MIDI output and a SW implementation on the +4 side. This would probably work better the other way round, or by using another chip that has 2 HW serials, such as an ATmega328PB or even a Raspberry Pico (not Pi!), but in the latter case some level translation would also need to be done.

Parallel (RTS=0) transfers data through the 6529 port, 8 bits at a time, using some serial signals for coordination (DTR=clock, DSR=busy). This has the potential to be much faster but the way the Arduino reads the incoming data probably acts as a bottleneck, still achieving under 30000 bps if my calculations are correct. Luckily it can easily be optimized, I will provide code for that.

Adding MIDI IN would be easy for the serial case, but it would still be limited by the slow serial link, while it would be a lot trickier in the parallel case.

One thing that is not clear to me is how to turn a MIDI file into something usable on the +4. There's a midiconv program in the package but it's windows-only and has no sources, so I'm not sure what it does.

Posted By

MMS
on 2023-03-03
14:48:51
 Re: Midi Expansion For The Plus/4!

@Sukkopera
Nice board! Still available at the mentioned Github?

Posted By

SukkoPera
on 2023-03-03
16:48:41
 Re: Midi Expansion For The Plus/4!

Well, it's not yet public as I'd like to test it first (I literally designed it the other day), but if you want I can send the project to you or I can add you to the still-private GitHub project if you have an account.

I'm working on improving the project though. I have added MIDI-over-USB capability since I didn't have a keyboard handy and I wanted to see how well it works happy. Not bad for a couple of hours' work, given that until this morning I didn't even know anything about the MIDI protocol!



The board can be redesigned with an Arduino Micro in place of the Nano, which costs just a couple of Euros more and would make this possible.

Posted By

MMS
on 2023-03-04
11:38:13
 Re: Midi Expansion For The Plus/4!

No pressure i was just curious happy

USB is a nice add-on, as the latest midi devices use it instead of the classic midi DIN connector, and the usage of a (free) VST will be possible instead of the pricey real MIDI HW

Posted By

SukkoPera
on 2023-03-04
09:32:51
 Re: Midi Expansion For The Plus/4!

OK, I'm going to design the new Micro-based board now. It will be fully compatible with the original project and have USB and MIDI IN, just in case.

In the meantime I have added supports for all MIDI events, program/control changes make everything sound better happy.



Posted By

MMS
on 2023-03-04
11:33:34
 Re: Midi Expansion For The Plus/4!

16 channels yay happy

Posted By

MIK
on 2023-03-04
12:10:48
 Re: Midi Expansion For The Plus/4!

The Dream Team grin

It's a Yamaha PSS480. Does not have General Midi meaning the voices would be wrong and would need tweaking, unless the midi tune was made for this keyboard....
Nice colour though. wink



Posted By

SukkoPera
on 2023-03-05
03:48:52
 Re: Midi Expansion For The Plus/4!

Well, if MIDI can handle 16 channels with 31250 bps, it means it needs about 1953 bps per channel. We have 19200 bps, which divided by 1953 makes 9.84. That means means we should have bandwidth for 9-10 channels.

I have noticed that the MIDI data I get from the C16 is full of SongPosition messages: these aren't much useful in our case and could probably be stripped out and save some bandwidth. It could also make more use of Running Statuses maybe, I don't know happy.

In the meantime I have completed the Micro-based board but Chizman has contacted me with a request, let's start from scratch wink.



Posted By

MIK
on 2023-03-05
09:27:19
 Re: Midi Expansion For The Plus/4!

The older the keyboard the less notes can be played at once so that is an added limitation to think about.

Yamaha PSS 480/680 allow a maximum of 12 notes to be played at once
A Korg M1 I think was 32 notes
Early 2000's keyboards were around 64 notes
And today the amount of notes allowed could be 128~256 notes at once.



Back to topReply to this topic


Copyright © Plus/4 World Team, 2001-2024. Support Plus/4 World on Patreon