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 😉

Advertisements

9 thoughts on “Design considerations – part 1

  1. Personally I’m not so much interested in the SID either, for various reasons. First of all, I know that it can be quite hard to source a good amount of working SID chips. Buying them on ebay (sometimes for more than 20 euro each) is kind of risky since counterfeit “fake” SIDs are floating around that are just other chips with the same pin configuration and a new label, and the original chips are prone to breaking – I’d rather not have the future of this project rely on the availability a quirky old chip that has long since outlived its service life and wasn’t very reliable to begin with.

    Then on the less practical side of thing – I love the SID sound, and I guess that’s partly why I’m involved with the C64 scene, but I don’t think it’s for the MSX – when I think of MSX I think of the simple PSG and FM-PAC or SCC. I guess it’s a pretty stubborn view of things 🙂

    The best solution (in my quite hardware-illiterate opinion of course) would be to have a heavy FPGA on board and make the thing as modular as possible. I know that there is an FPGA implementation of the OPLL, and SCC shouldn’t be too hard if it doesn’t exist yet. I think (from rumors) that proper SID implementations with digitally modeled filters are coming along soon, too.

  2. Manual Pazos is busy with designing a FPGA card with support for SCC emulation and probably other soundcards in the future. SID emulation projects in FPGA are not finished yet, and the versions that are costs to much to implement in hardware. Besides, current designers are not willing to share their FPGA code. We managed to stock up 25 SID chips already so we stick to that. We have no plans to implement support for other sound chips. SID support on MSX hasn’t been done yet. We like that challenge. Other cards with support for the mentioned chips are already available.

  3. Any new guesses how much SID ONLY version will cost? (Yeah, only sid, without sms stuff, though then I can´t get another PSG…)

    Will it be in cartridge form or card?

    If it will be card, I guess I´ll have to open my MSX2 for that?

    That´s why I prefer cartridge version. 🙂 I don´t mind if it´s “oversized” when compared to original msx cartridges. 🙂

  4. We are busy with developing new stuff, but because of the greater costs it’s yet unclear whether these products will ever go into production. For SID support you need a CLPD or, in our case a FPGA. Not only to make it possible to establish a write and read buffer for the SID, but also to generate the 1Mhz clock that the SID needs to operate (as opposed to the MSX clock). With card we mean cartridge here. We’re just to lazy to write it in full. 🙂

  5. Thanks for your reply! 🙂 It was a relief to hear that card=cartridge! 😉 Yes, I will be waiting any news about hopefully possible SID cartridge. 🙂 But…. I guess you´ll have to think new name for it as it is not Franky anymore if it don´t have SMS stuff inside anymore….. HMMMMM….. SID cartridge name has to have something SID related in it… or then not…. 😛

  6. As explained earlier there is not and will not be a seperate sid project. We are busy with developing a new cartridge, but this expansion will also hold a sega vdp, fpga and 16MB ram.

    Please note that smd pcb production costs are high, so is the FPGA. It’s totally nosense to make a complex pcb with powerful FPGA for a SID only. Futhermore, total costs of adding the memory and sega vdp are low, comparing to the total costs of production.

    The costs are in the FPGA, complex pcb layout and also because smd components are used that must be soldered by machines. Not in the VDP or memory.

  7. Ok. Once upon a time there was some talk about MSX-BASIC extension for SID. I will hope there will still be possibility to get MSX-BASIC extension for easy SID programming. 🙂 I know almost nothing about machine code, so if there ain´t coming such BASIC extension, there´s no hope for me to use SID.

    I also hope, that it would be easy to play .SID files from disk drive. MSX Sidplay is existing already as you know very well. 😉

    There´s no hope for playing PSG(s) and SID at the same time?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s