New version of Franky example code

Armando has send us a new version of the Franky example code. the following routines are new or changed:
  • checkfranky changed: New version of detect routine of Franky.
  • checkrefresh: (Thanks to MKII for this code). Check if Franky card is PAL or NTSC (50 or 60hz). hz var is 1 if franky is NTSC and 0 if Franky is PAL. This code is very important for coders to control music replayers. This has to be tested with NTSC Franky cards.
  • keyint flag. You can control the interrupt with this flag. If you want the KEYINT BIOS routine enabled put value != 0 in this var.
The code and rom can be downloaded here:  fsc2v2.zip

Philips Music Module Expander installation manual now online

We announced earlier that we would make the Philips Music Expander available again. This excellent upgrade PCB for your Philips Music Module will turn it into a Panasonic MSX Audio compatible device. With support for the MSX Audio Basic (which you can also use to play FM-PAC basic listings on) and with 256KB sample ram included.

Philips Music Module Expander

The manual with detailed instructions how to mount the expander PCB in 12 easy steps is now online. Please check the MSX Audio Extension Upgrade Manual v1d

Sample code for Franky available

As reported earlier, Kralizec is busy with porting existing games to Franky. Kralizec also started with making code to support MSX compatible screen mode2 on Franky. We asked Armando (main coder) if it would be possible to share his code with the rest of us. Luckely Armando agreed.

His code detects if Franky is present and does all the initializations to ready the Franky screen mode (MSX screen 2 compatible mode).  Also included is the compiled rom file. You need a tool like loadrom for MSX-DOS to load the 32kb rom. The rom first detects if Franky is present, initialize Franky and then shows a snapshot of Arkanoid on Franky and at the same time shows a color rotation on MSX (on the Franky VDP interrupt). Feel free to download, study and use for your existing or new productions. Thank you Armando!

Link to Franky Example code (zip file)

To execute the example rom you need a tool like loadrom which can be downloaded here:

Link to loadrom (lzh file, can be unpacked with Winrar under Windows)

For your convenience we also put the Sega loader tool online:

Link to Sega Loader (zip file)

36th MSX users meeting in Barcelona a succes!

We attended the 36th users meeting of AAMSX in Barcelona.

AAMSX kindly provided a stand and a couple of monitors for us so that we could show our Franky cartridge with the latest converted software. Luckily we managed to assemble our first batch of Franky cardridges on time for the meeting. And, to our surprise, all Franky cartridges we brought with us were sold! We even got to take pre-orders (we do our best to send these to you in the coming days).

Our participation resulted in given support from the following Spanish developers: Relevo Software, Nerlaska Studios, Z80ST Software and Kralizec. Z80ST software ported their new game Qbiqs live at the meeting to Franky, which is of course quite an achievement.

Kralizec will adapt  one of their great productions to Mode4 on Franky, great news indeed. The other developers will port existing code or -hopefully- build in support for Franky in their new productions.  All in all the MSX meeting was vibrant and crowded. Refreshing!

Also, we had a late dinner afterwards (and with late I mean very late 😉 with most of the active meeting crew and active Spanish developers. We really had a great time.  Our hosts took care of everything, even the massive bill afterwards. A big thank you for that! We owe you ;-).

We hope to be there next time. Barcelona is always a great place to stay. Also on Sundays. See below..

We even managed to get two Sega Master System consoles (pretty wrecked on the outside) on a flea market. They will probably get a new life soon…

Design considerations – part 2

In our earlier post we explained a little about all the choices that have to be made when developing new hardware for MSX. One of those choices was whether we  should support input connectors on Franky for the MSX video output signals. After looking at all the options, we decided not to support this functionality. Let me explain this decision. First of all, there are a lot of MSX computers which have different types of output signals. We can simply not support all (TV PAL/ TV NTSC/RGB/CVBS). Second, space on the Franky PCB itself is limited (take a look at the earlier posted photo of the Franky PCB).  Third, all that extra logic to reroute input signals not only costs money in terms of electronic parts and thus the final sale price, but also makes the design even more complex than it already is. And bigger and more complex designs are more vulnerable for errors, during assembling and operation.

Now, before everybody start throwing tomatoes; we did include one thing and that might also solve a lot of problems regarding your monitor setup, namely the inclusion of a PAL/NTSC encoder for CVBS (composite) output . If you have a TV or monitor with support for switchable RGB and CVBS input signals (Like most TV’s have, and for example the Philips CM 8833 MSX monitor) you can connect your MSX to RGB and Franky to the CVBS input signals (or vice versa) and there you go.

Another option is to buy an external switch box for video signals. There’s one lying here, it costs about 15 euros  and it eats multiple SCART and CVBS input/output signals.

Franky Box Art -W.I.P.

It’t not finished yet and might be changed completely, but here’s a peek. Inspired by a 1931 lobby card and a poster of Frankenstein the movie, I think it fits perfectly. Take a look. Franky is redrawn in Japanese Super Deformed style. Everything is made with Adobe Photoshop, converted with Vector Magic and then imported in Adobe Illustrator. This version took about 10 hours.

Franky box art

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 😉