Jump to content
IGNORED

MIDI Interface


ivop

Recommended Posts

Love your case.When you will send me 3d cad file.I can do xe air stripes and text on it.I am cad engineer...

 

Thanks. I appreciate the offer, but part of the reason I'm doing this project is that I want to learn to do it myself and I'm actually enjoying working with and learning how to use FreeCAD. I'm planning on changing the shapes of the holes a little. Not sure if I want air stripes, as that would allow dust to get inside the enclosure. But, when everything is finished, I will put everything, all design files and all source code of utilities on github, so nothing is stopping others from modifying it or designing their own enclosure :) Yesterday, I also heard of people that want to build it in a casing of their own, so without enclosure will also be an option.

 

here is a video showing a demonstration of the interface

 

https://www.youtube.com/watch?v=y8IV_fsTP5Y

 

Thanks Nir, for putting this up on YouTube! :)

Edited by ivop
Link to comment
Share on other sites

Now, let's write some games to use this. How much less CPU time does this require as compared to hammering PoKey with data? I would actually like to see a mixture of native PoKey for sound effects and some music, with the rest handled by MIDI.

 

I guess it time to come out of the shadow with a project I planned to do since end of 2009:

 

post-7778-0-77151800-1509388332_thumb.png

The "Alive" sound board was/is planned to be an extension for the A8, interfacing a Midi-Wave-Table chip.

It does not have any midi ports, since the sole purpose is the replay of music, while POKEY should be used (like you thought too) for the SFX.

 

My original plan was to interface the PBI since the design should be programmer/system friendly as possible:

The board carries own memory and a controller which offers high-level replay features. So you could fill the ram with (compressed) midi-data and just send a command e.g. to replay the music without further intervention of the 6502 CPU.

 

Why?

- (good sounding) Midi-data takes quite a lot of space (in our dimensions), which I don't like to cut-off the main memory for replay

- replay of Midi-data with a baud rate of 31250 (twice std. disk IO speed!) via SIO needs quite a bit of CPU time, making the targeted scenario "Music for Games" very tight...

 

Now ivop overtook me quite elegant with his wave-table daughter board socket and I'm a bit in a dilemma, esp. while I ordered already a good chunk of wave table chips in 2010 (there was a three-digit minimum order on this part - not that cheep).

To say it clear: I do not intent to disturb his project or form some kind of competition to his board. My board is nothing I can deliver e.g. this year and it is not intended to have Midi-ports.

 

I only "fear" a hardware fragmentation for games with Midi-music if a range of wave table chips has to be supported. I "planned" more THE standard wave table device for the A8, and even all of them (more or less) support GM (General Midi) they sound different which is unfavourable for a musician or game designer which likes to target a specific sound.

 

So I thought about joint efforts: What if I "only" create a Midi daughter board with "my" chips, containing the replay controller and own memory and this can be plugged into his device?

Operation (load memory, play, pause, stop, set song pointer etc.) could be ensured via Midi-SysEx data and the 6502 could perform other tasks during replay.

The only drawback I see, is the (in this case) slow memory transfer (31250 baud) to the board. (ivop: Is a faster clock possible with your design?)

 

I would have then also some minor wishes for the board design, but I'm more interested in a general discussion now!

Edited by Irgendwer
  • Like 4
Link to comment
Share on other sites

Now ivop overtook me quite elegant with his wave-table daughter board socket and I'm a bit in a dilemma, esp. while I ordered already a good chunk of wave table chips in 2010 (there was a three-digit minimum order on this part - not that cheep).

To say it clear: I do not intent to disturb his project or form some kind of competition to his board. My board is nothing I can deliver e.g. this year and it is not intended to have Midi-ports.

I understand your dilemma as I have had my own project ideas surpassed by other people's projects in the past.

 

I only "fear" a hardware fragmentation for games with Midi-music if a range of wave table chips has to be supported. I "planned" more THE standard wave table device for the A8, and even all of them (more or less) support GM (General Midi) they sound different which is unfavourable for a musician or game designer which likes to target a specific sound.

 

I guess that's a matter of taste :) Some people actually like the different characters of the different Wave Blaster boards, even if the songs were not specifically written with that timbre in mind.

 

So I thought about joint efforts: What if I "only" create a Midi daughter board with "my" chips, containing the replay controller and own memory and this can be plugged into his device?

Operation (load memory, play, pause, stop, set song pointer etc.) could be ensured via Midi-SysEx data and the 6502 could perform other tasks during replay.

The only drawback I see, is the (in this case) slow memory transfer (31250 baud) to the board. (ivop: Is a faster clock possible with your design?)

 

I would have then also some minor wishes for the board design, but I'm more interested in a general discussion now!

 

I like the idea of another daughterboard that can autonomously play a MIDI song. A higher bitrate is no problem as it is just the Pokey data-out line that's connected to TTL MIDI-IN on the Wave Blaster port. If your board can process a high bitrate stream, the Atari can send it. Other MIDI devices will just ignore the stream.

 

What minor wishes for the board design do you have?

 

That sounds great (as long it remains compatible with my MIDI port MT-32).

 

In other words, there needs to be a way of switching between internal synth card and external MIDI device.

 

There is a jumper for that, switching between MIDI-OUT connected to Wave Blaster, MIDI-IN connected to Wave Blaster (for stand-alone operation as a sound module for a keyboard) or nothing connected to the WB. Default is expected to be connected to MIDI-OUT (i.e. the Atari can play music). You do not need to disconnect it though. That's the nice part of MIDI. You can just connect your MT-32 to MIDI-OUT while the Wave Blaster daughterboard is also connected. As long as you don't connect an amp to audio-out, you just won't hear that it's also playing the same stuff your MT-32 is.

 

If you see both modules feature wise on the same level, you are right.

 

I fully understand your daughterboard will be more expensive and being able to play on itself once it is loaded with data. BTW there could be a larger market for your board if you target the Wave Blaster port standard. It wouldn't surprise me if retro MIDI and Sound Blaster / Wave Blaster aficionados will be interested in buying your board, too!

 

 

  • Like 2
Link to comment
Share on other sites

I understand your dilemma as I have had my own project ideas surpassed by other people's projects in the past.

 

Let's form a support group... ;) ...I really appreciate your understanding as my intention isn't to derail your thread.

 

 

I like the idea of another daughterboard that can autonomously play a MIDI song. A higher bitrate is no problem as it is just the Pokey data-out line that's connected to TTL MIDI-IN on the Wave Blaster port. If your board can process a high bitrate stream, the Atari can send it. Other MIDI devices will just ignore the stream.

 

Sounds good! Estimation of the highest stable transfer rate would be interesting.

 

 

What minor wishes for the board design do you have?

 

  • mix down of stereo out to mono and put this signal to AUDIO-IN of the SIO port. This way you don't need necessarily additional amp/speakers
  • atari-audio (mono?) in (Cinch?) to be routed to the daughter board inputs you already support (if you are really enthusiastic you could leave space for a "Philips TDA3810" allowing to convert the mono signal to pseudo stereo in single POKEY case)
  • I guess a switch or something is needed to prevent feedback if "atari-audio out" is given back via "SIO-AUDIO-IN" (ext. AMP/monitor speakers)
  • covering your following idea: the S2 as daughter-board for my "stand-alone-player", you have to reserve space for one cascading step: Alive plugs into your port, S2 plugs into the Alive board (my board should not exceed the size of the S2 board in height or dimension one step away):

_________ <- S2

__||_______ <- Alive

..___||_________ <- your Midi interface

 

If any of the requests sounds silly (you like to use an external mixer for the A8-audio and Midi audio anyway) - no problem, drop my request, these are just the things which would match to my target specification as the chip I have here allows e.g. mixing of an external audio source...

 

I fully understand your daughterboard will be more expensive and being able to play on itself once it is loaded with data. BTW there could be a larger market for your board if you target the Wave Blaster port standard. It wouldn't surprise me if retro MIDI and Sound Blaster / Wave Blaster aficionados will be interested in buying your board, too!

 

You're maybe right. Let's see what the future will bring...

Edited by Irgendwer
  • Like 1
Link to comment
Share on other sites

Let's form a support group... ;) ...I really appreciate your understanding as my intention isn't to derail your thread.

The appreciation is likewise.

 

Sounds good! Estimation of the highest stable transfer rate would be interesting.

I think it will be around 80kbit. Or maybe with high speed Schmitt-triggers on the receiving end it could be higher. I've seen a prototype externally clocked SIO device managing around 250kbit that way on a stock 800XL (with the caps in place).

 

  • mix down of stereo out to mono and put this signal to AUDIO-IN of the SIO port. This way you don't need necessarily additional amp/speakers

This is something I actually had originally planned, but have totally forgotten about once I had the external speakers connected. :sleep:

Do you think two series polarized capacitors and two series resistors will suffice? Or do we need something more elaborate? I do not want the mono channel to leak into the stereo channels.

The connection to SIO Audio In will have a jumper, so it can be disabled (and to avoid the loop you mentioned).

 

 

  • atari-audio (mono?) in (Cinch?) to be routed to the daughter board inputs you already support (if you are really enthusiastic you could leave space for a "Philips TDA3810" allowing to convert the mono signal to pseudo stereo in single POKEY case)

 

There's already audio in L/R on the pin header on the right side which is routed to the Wave Blaster port. Wouldn't that be enough? The optional "up-mixing" to stereo could be done on the Alive board.

 

 

  • covering your following idea: the S2 as daughter-board for my "stand-alone-player", you have to reserve space for one cascading step: Alive plugs into your port, S2 plugs into the Alive board (my board should not exceed the size of the S2 board in height or dimension one step away):
_________ <- S2

__||_______ <- Alive

..___||_________ <- your Midi interface

 

If any of the requests sounds silly (you like to use an external mixer for the A8-audio and Midi audio anyway) - no problem, drop my request, these are just the things which would match to my target specification as the chip I have here allows e.g. mixing of an external audio source...

 

I already added extra space in the enclosure for future upgrades, but can always add another centimeter :) I guess it would be nice if a sufficiently heightened PCB could span the whole 10x5 area even if it had all ICs socketed.

Edited by ivop
  • Like 2
Link to comment
Share on other sites

This is something I actually had originally planned, but have totally forgotten about once I had the external speakers connected. :sleep:

Do you think two series polarized capacitors and two series resistors will suffice? Or do we need something more elaborate? I do not want the mono channel to leak into the stereo channels.

The connection to SIO Audio In will have a jumper, so it can be disabled (and to avoid the loop you mentioned).

 

I have not really an idea what you plan with the capacitors, since for a really simple solution the resistors should suffice. A head-phone jack instead of the Cinch outputs would now really come handy, as the switch inside it could detect the external plug and switch the SIO port connection off... - but I'm fine with the jumper too.

 

 

There's already audio in L/R on the pin header on the right side which is routed to the Wave Blaster port. Wouldn't that be enough? The optional "up-mixing" to stereo could be done on the Alive board.

 

It's sufficient if an external plug is drilled into the case and connected to the header. I only thought about a "ready-to-use" port on the PCB, but understand it would raises the costs now.

 

 

I already added extra space in the enclosure for future upgrades, but can always add another centimeter :) I guess it would be nice if a sufficiently heightened PCB could span the whole 10x5 area even if it had all ICs socketed.

 

Cool. That should be more than enough. Of course I am also in for a board and parts (even I have a MIDI-Mate already here).

  • Like 1
Link to comment
Share on other sites

I have not really an idea what you plan with the capacitors, since for a really simple solution the resistors should suffice. A head-phone jack instead of the Cinch outputs would now really come handy, as the switch inside it could detect the external plug and switch the SIO port connection off... - but I'm fine with the jumper too.

 

Good idea, and only requires one smaller hole in the panel verses the two larger ones required by the RCA (Cinch) jacks presently proposed. 3.5 mm to RCA adapter cables are easily gotten and fairly inexpensive.

 

3-5mm-Stereo-Mini-Plug-to-Dual-RCA-Jack-1a5283de-5917-4ba0-bdeb-519f96a424b5_1.4

- Michael

  • Like 2
Link to comment
Share on other sites

I have not really an idea what you plan with the capacitors, since for a really simple solution the resistors should suffice. A head-phone jack instead of the Cinch outputs would now really come handy, as the switch inside it could detect the external plug and switch the SIO port connection off... - but I'm fine with the jumper too.

 

OK I'll go for the two series resistors and "tie" them together. Think I'll put two jumpers after the resistors, but before SIO Audio In. That way it can be totally disconnected without any possible signal leakage between left and right.

As for the headphone jack, I really dislike them. They always break, start crackling, one channel becomes grounded, et cetera. But to be of help to those that really want one instead of the cinch connectors, I'm planning to add two holes for audio in and audio out. All four holes (cinch and 3.5mm) will be printed in such a way that they seem almost closed, but can be opened up real easy with a box cutter. Think four arcs that just not touch each other at the ends, if that makes sense. Difficult to describe :) Anyway, pre-assembled boxes will have the cinch connectors (I have already a batch coming in) but the 3.5mm jacks could be added if somebody wants to. DIY-ers can do whatever they want with their kit :)

 

 

It's sufficient if an external plug is drilled into the case and connected to the header. I only thought about a "ready-to-use" port on the PCB, but understand it would raises the costs now.

 

See above, the hole will already be there and can be opened if needed. Diameter of 6mm is most common for chassis mount IIRC.

 

Regards,

Ivo

 

  • Like 1
Link to comment
Share on other sites

Hello Ivo

 

Wouldn't it be easier and nicer looking, if you would make the wall of the housing thinner in places where the holes can be made? You say: "... in such a way that they seem almost closed". That would mean that you'll always see where that holes would be. And you're never sure, how nice the edges of the small openings would look. If you'd make the walls thinner (on the edge of where the holes would be, so there would only be a ring (visible only from the inside of the housing) that's less thick than the rest of the housing), you'd a) not see where the unused holes are and b) pressing the material out to create the holes would be very easy. Any rough edges that would appear after you'd press out the center of the hole would be covered by the connector (cinch or headphone) you insert into the hole.

 

Sincerely

 

Mathy

  • Like 1
Link to comment
Share on other sites

Minimum wall thickness is 1mm with the guy that has done my snes2joy prototype (coming in this afternoon if all goes well!). I'm not sure if that's thin enough to easily push the material out. Also, the cinch connectors are PCB mounted and have no ring to cover possible rough edges. But I will look into it. Just having a hard time googling for optional holes in 3D modelling, what's best practice...

Link to comment
Share on other sites

Question about the technical,side: will any MIDI keyboard or module work ?

 

Even though I've owned an ST since the mid 80's I never actually used MIDI myself so I know how it can sound but for the rest I'm a NOOB :)

 

If it works with any MIDI module, I want one interface please :)

Link to comment
Share on other sites

Every MIDI keyboard or module should work. But if your keyboard/module is from before the General MIDI (GM) standard was devised, changes are that patch numbers do not correspond to the "correct" instruments. So playing an old pre-GM .mid file on GM hardware (e.g. Dream Blaster S2) will probably result in wrong instruments and similar when playing a new GM .mid file on an old keyboard (e.g. Yamaha PSS PortaSound series) that does not know about GM.

Link to comment
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...