MIDI-PAC Prototype

Two days ago our prototype PCB’s for the MIDI-PAC came in from China. Shipping took much longer than expected so unfortunately we can not show a working product yet at the Dutch MSX fair in Nijmegen tomorrow. We made some pictures of the first assembled board, cartridge and art for the cartridge so you can at least have a sneak peak:

MIDI-PAC Proto Front


We keep you posted about our developments. Now it’s time to work on the software again!


Design considerations – part 1

We’ve had a lot of positive responses and we thank you for that, it makes us go further with developing the final product. At this moment the CLPD (kind of FPGA) design is being made for the interface logic to the memory mapper and the SID sound-chip. The sid won’t be a big problem in terms of design, but the memory mapper will. Basically because our designers have little knowledge of building a memory mapper compatible with msx and up, and to control it by the CLPD. This might take a while. People asked us about a couple of things, of which a few I will try to answer here:

Why not using a OPLL instead of a SID? Well, basically because OPLL implementations have already been done and are available. Also, we want this card to be both appealing to gamers, and chip-tune enthusiasts. Buy one, get two (or three when the memory mapper design has been made) will do better we think. Maybe in the future there will be room for extra functionality or maybe even new hardware, but for now we want to stuck with our idea’s and finish what we have started. Changing designs and functionality to often will result in none-completed projects.

We also have a few other challenges and each choice we make to solve them, will have an impact on the other challenges present. Let’s look at a few.

The connectors

Of course we need connectors to provide interfacing. Let’s name them. The first connector(s) we need is to connect Franky to your monitor. We want provide output to RGB, but also, for those without RGB,  PAL/NTSC Composite  out. Also, because Franky has it’s own PSG, you’d also want to have an audio output for the PSG. The final product will also have a SID sound-chip and you guessed it right, this also needs an audio output. This mean the following in terms of signals:

  1. Red
  2. Green
  3. Blue
  4. Horizontal Sync
  5. Vertical Sync
  6. RGB Ground
  7. Sega PSG Audio out
  8. Sega PSG Audio Ground
  9. Composite out
  10. Composite ground
  11. SID audio out
  12. SID Ground

Ok. So we need a connector, or connectors to facilitate these output signals. We are limited by a few factors:

  1. Available casing types for the PCB (Will it fit in the casing?)
  2. Size of the connector(s)  (How many space will it take on the PCB?)
  3. Amount of connectors (How many space will those together take on the PCB?)
  4. Price of connector(s) (More connectors: more expensive design. The same counts for the different types of connectors available)
  5. Usability ; common type of not?/ standards/ availability/durability. For example S-Video(s-vhs/ mini din) connector pins tends to break often. Let alone SCART connectors .
  6. Last but not less important: The complexity of connecting the connector to the casing and/or the PCB. If we choose a solution, for example a 8 pin DIN for (Japanese) type RGB output, we have to think of an option to stick it to the cartridge case, and then -because the connector is too large to fit on the PCB itself- custom solder all the wires to the PCB. Apart from the time needed to do all those loose wires and the space needed in the casing, we only have a solution for the RGB signals and not for the rest of the needed signals like audio out and so on!!

If this is not complex enough, people told us they also want only one solution for connecting them msx’s to their monitor.  Ok. But what do we need then? Let’s look at some MSX machines and their output signals. We have MSX1 machines with SCART, with Japanese 8 pin DIN (RGB), with DIN with only A/V signals, with A/V signals and PAL or NTSC, with SCART output, but then only the composite output signals connected to the SCART (no RGB)

So our input connector needs the following:

  1. MSX host Red
  2. MSX host Green
  3. MSX host Blue
  4. MSX host Horizontal Sync
  5. MSX host Vertical Sync
  6. MSX host RGB ground
  7. MSX host Audio out
  8. MSX host Audio out ground
  9. MSX host Composite out
  10. MSX host Composite ground
  11. SID Soundchip Audio In (Yes we want to make use of a feature that is not used by the C64, but is part of the SID design: the possibility to send Audio into the SID and then use the SID as an effect processor for things like realtime controlled effects on PSG or other inserted sound extensions)
  12. SID Soundchip Audio in ground

The only durable connector on the market today that can facility the output signals mentioned, is available and can be soldered directly to the PCB and fits in a Moonsound type casing, is the 15 Pin VGA connector used in the One Chip MSX. We need two, also one for the input signals (if we are going to support all those). Sadly, this connector is not available as a male connector. We could of course use another type of connector for the input signals, but other types are bigger (so less space on the PCB for our other things) and we loose a possible discount option if we order bigger amounts of the same type of components needed for Franky.

15 Pin VGA connector

To eliminate part of people’s pain to obtain cables necessary to use with Franky, we are looking into the option to make the output connector compatible with the cables that are used for the one chip MSX for RGB and audio out. These cables are being made and available today. Cables differ from 15 pin to SCART/Audio and from 15 pin to Japanese 8 pin DIN RGB.

However, the OCM used seperate ground signals for Red, Green and Blue (it also uses CSynch for real VGA monitors, but we are not going to use that signal because it would require a lot more logic).  Luckely we have a 15 pin connector so the output will then be like this in the second step (in random order):

  1. Red
  2. R Ground
  3. Green
  4. G Ground
  5. Blue
  6. B ground
  7. Horizontal Sync
  8. Vertical Sync
  9. Sega PSG Audio out
  10. Sega PSG ground
  11. Composite out
  12. Composite ground
  13. Sid audio out
  14. Sid audio ground
  15. Empty

Looks solved right? No, not really. Remember: we also have the input connector. One of the inputs to that connector is the MSX audio in (with ground). Now, where are we going to put the audio output of the MSX? I mean, we have two psg’s, one in the MSX and one in the Sega VDP. It would be nice if we output those audio signals on different connectors so you have one ” real” stereo PSG.

But then, where to connect the SID  signal? On both the Sega audio and MSX audio output? But then we loose the option to feed the Sega audio output  to the SID, because the SID audio output is already connected to the Sega Audio Output. We don’t want to loop back the audio feed..

We are probably going to use the AD725 PAL/ NTSC encoder chip (it’s used on the protype as can be seen in the video clip). This chip also support S-Video (old name S-VHS) output. But, those are four extra signals (Y ground, C ground, Y (luminance+sync) and C (crominance). We don’t have enough connectors left! Besides, if we want to implement a seperatie S-Video out connector: that won’t fit in a cartridge case if we want to place it on the PCB. Apart from the extra assembly work, component costs and PCB space eating, it’s also not very durable. At least, not in my personal experience 😉

Another thing to consider is interference. the more signals out and in, the more chance things will likely effect one another.

Let’s say we implement two VGA type connectors and forget S-Video. For the output you can buy or use the RGB cables made for the One Chip MSX. For the input connector, if we are going to provide inputs for sound and video, it is going to be a real challenge to come up with a cable that connects to that tiny VGA connector. And because everyone uses different types of MSX’s, everyone needs different cables. We simply can’t provide all those cables with the final product. You also have to consider that cheapest option of obtaining a OCM RGB cable is about 15 euros without shipping. Another one for the input connector and our product just expanded in costs by 30 euros minimum.

I don’t think we are going to provide cables with the final product out of the box.  We might offer the output cable in different flavors as an additional service through one of our suppliers.

I’ll keep the stories about SMS1 versus SMS2 vdp, SID’s on 9 volt and 12 volt, CLPD versus FPGA, Memory mapper VS standard memory, DIP versus SMD and NTSC versus PAL B/G/M, for another time 😉