Subscribe via RSS

Microtek MDC-1 Parallel Port Camera

This thing just looks cool! Advertised as 'really simple to use' since it only needs your parallel port, it's a true-colour 640x480 webcam for the Windows Millenium era. Well, I say Win ME, but I could be wrong... the drivers I found are for ME though, so it definitely hung around.

DSC01526

It has a lengthy cable with a little bit of 'interesting' at the end. Sure, you have the parallel port.. which we're expecting.. but then you have an 'adapter' that has male PS/2 on one end and a female AT keyboard connector on the rear. Wait... so... If my PC has an AT Keyboard port, I'm screwed because this has male PS/2... BUT I can plug my keyboard in to the back of it? Vice-versa, if I only have PS/2 ports, I then need an AT Keyboard? The only real answer to this is that it came with two converters... Of which I happened to find in my box'o'junk!

DSC01527

So, in my AT case, I converted the AT to PS/2, plugged in the webcam and then plugged in ANOTHER AT to PS/2 to connect my keyboard! Hooked together...

DSC01538

We have power!

DSC01531

Software

Thanks to webarchive, the original page for the camera is here. Unfortunately, the snapshot they've taken doesn't include drivers. Regardless of the list of files here, they all seem to be for their scanners. Fortunately, Driverguide has a Windows Millenium Driver for the MDC-1.

Downloading and installing was simple enough on Windows 98 SE. The software needed a reboot and then I had a program folder with Camera Test in it... sure! Why not?

DSC01534 DSC01535 DSC01536

Nice... it just worked perfectly. Terrible in low-light, but that's to be expected!

DSC01537

For those running open source software, you may be in luck. Is this a Linux Driver? Is this the same one? Maybe this?

Looks like they made sequels: Microtek Eyestar 2? And a USB version also.

Filed under: Retro No Comments
11Dec/170

Revolution 3D – Ticket To Ride – AGP Graphics Card

I didn't even know this company existed. I've recently acquired a box'o'crap and there was a really strange-looking AGP graphics card in it.

DSC01471

DSC01472 DSC01477 DSC01484

DSC01478

Turns out it's a Number Nine Visual Technology Ticket To Ride Revolution 3D AGP Graphics Card with 8mb of WRAM? There's more information on it here at the VGA Museum. Vogon's Driver Library has the drivers for it for Windows 9x! (Note that they're always in 7-zip format, so get the Windows 9x version of that here.) Here's Wikipedia's data on Number Nine Visual Technologies.

They actually used Beatles lyrics/song-titles for the names of their chipsets/cards. How very random. The card used the IBM RAMDAC and had WRAM ... of which I'm still trying to understand.

Wait... woah... the wayback machine not only has the original Number Nine Technologies website saved, but you can even download the original HawkEye drivers for this card!

DSC01490

So, crap 3D game performance and 'very good' 2D performance/image quality. The card has a 'VGA Enable' on it, so I assume, like early 3dfx cards, you could have this as a secondary and only use it when the application required it. Which is interesting; if the 3D is crap.. then you'd have a second monitor for crap-ness. Instead they supposedly actually were good enough for their 2D!?

Here's a demo of the 3D performance... browse right to the end to see Unreal. Here's a review of it on Tom's Hardware, pitted against a few other cards of its time. All under Windows 95! Shock, it didn't score good at all for 3D... but for 2D it wiped the field.

VC Collection (Russian) has a review of the card. I was happy to see it not coming last! Then I realised that it was being compared against an S3 Virge DX!

Installation

Software was instead pulled from vogons and running setup produced the following...

DSC01420 DSC01421 DSC01422

Wait, what? Setup won't actually install the drivers? It'll just install the control panel? Time to fight through Device Manager...

DSC01425 DSC01426 DSC01427

And, of course, it wouldn't be Windows 98SE without a reboot...

DSC01429

The desktop then rendered beautifully over VGA at 1600x1200.

DSC01434

Games!

Screamer ran very nicely... but this isn't a true 3D game. It has it's own engine and just renders as standard 2D.

DSC01442

DSC01454 DSC01455 DSC01457

DSC01459

Quake 2 was a different story. It ran 'OK' at 320x240. 'Sluggish' at 640x480 and 'Useless' at 800x600.

DSC01493

But that was to be expected as this is not a powerful 3D card!

Filed under: Retro No Comments
30Nov/170

Wavetables – PRO32AW

Whilst in Thailand I picked up an ISA card with a daughterboard. It was part of a collection of crap from a market where the SIMMs and card were rusting and .. well ... I took a punt!

DSC01437

DSC01439

Turns out the card was an ESS1868, but the daughterboard was an Avance PRO32AW! Talk about lipstick-on-a-pig! I suppose someone wanted the cheapest SB16 experience with a 'better' MIDI quality? It seems this is a clone of a AdMOS Adwave 32, down to just a simple text modification on the PCB. There's a site (Japanese) here that mentions this fact.

The Wavetable module plugs on the header on the sound card and (usually) then disables midi-out on the joystick port.

DSC01440

DSC01441

After a lot of tinkering, I worked out the following. To get a wavetable to work, you need to adjust the IDSP/ADSP jumpers.. where ADSP seems to be the additional DSP card. If you don't have jumpers (The ESS1868 didn't ... and my Vibra 16S/C also didn't), then you'll probably find a new Gameport Joystick detected when Windows loads... unfortunately, this will conflict with your original joystick port.

To correctly install a wavetable under windows, your best option is to entirely delete the soundcard from windows first! Remove everything from device manager (especially the Gameport Joystick!) and then shut the machine down. In this state, the card will be found a-new when windows loads and you shouldn't get resource conflicts. It seems that jumperless sound-cards disable the joystick output when a wavetable is added and then re-route the midi messages to the wavetable. The main confusing part was that the new 'Gameport Joystick' used the exact same addresses and resources as the conflicting port!

After getting it all to work, I managed to pass the audio through my laptop and record the output of each piece of hardware. Here's the source file from Mr Trachtman's Archive.

Here's the basic ESFM Synth:

Here's the Vibra 16 FM Synth:

And then the PRO32AW wavetable:

And then my beautiful Roland Sound Canvas SC-55.

And finally, a friend's Yamaha PSR (Thanks Nathan!)


...Muhahaha...

I found the wavetable sound to be much better than the internal FM synth on the ESS1868. I actually don't mind the wavetable when compared to the SC-55, but was definitely hoping that the SC-55 would come out on top.

I wonder how I replace the soundfonts!?

Filed under: Retro No Comments
20Oct/170

Cheap Chinese Gotek Floppy Emulator

It was always going to be too good to be true. I was buying other shit on eBay and found that they also had Goteks. For around AUD$12 I couldn't resist.

For those that don't know, the Gotek is a famous device in the Amiga world for emulating the floppy drive. It's the same size as a normal drive and has the same mounting holes. On the front is (usually) a USB slot, LCD display, buttons and activity lights. The goal is to have numbered disk images on your USB key and swap through them like a jukebox.

As soon as I opened my parcel, I realised I'd bought somewhat of a reduced version. No display, no buttons...

DSC00440

Ok, off-the-cuff this would mean the USB key would have to contain a single disk? Not the worst outcome (for the price I paid), but not what I was expecting. I installed the drive in the 386 I was building and it was detected correctly. It all plugged straight in and there was nothing to set. There is a row of jumpers, but I didn't have any supporting documentation and just left them.

DSC00474

On boot, the green LED lit on BIOS post and I let DOS load from the HDD. I rummaged for a small USB key and found a 4gb lying around.

DSC00445

All good so far... dir a:...

DSC00446

Pretty deep error: Sector not found reading Drive A. This usually indicates that the disk isn't partitioned, let alone formatted. Not really unexpected. I tried FDISK, but it doesn't care for floppies. Format wouldn't handle it either.

I dragged the USB back to my laptop and found that it had a single 4gb partition with a TV series on it. Jumping in to Disk Management, I deleted the only partition on the disk. At this point I chose to leave the partition table empty as I couldn't create a 1.44mb partition under Windows 10; the smallest option was 8mb?

Slapping the USB key back in the 386 saw a much better result. Trying to list the directory gave a warmer error (General failure reading drive A) and so I tried formatting it...

DSC00447

Yes sir, I would love to kill 1.44mb of data!

gotek

Taking it back to my laptop, I now found that it had a 1.44mb partition. So this can't be done from Disk Management but the firmware on the drive can partition it via its firmware. It was a standard FAT parition, so I copied HWINFO over. I wanted to check system information on the 386 and this application worked in DOS. Taking that back to the machine saw it load off the disk and work seamlessly.

I'll try out writing disk images to the 1.44mb partition tonight...

11Oct/170

AnyDrive – Use bigger drives than your BIOS permits!

I've mentioned this use of this before, but I just want to go over some of its intricacies. Although 90% of it is totally straight forward, there's a few gotchas that you need to be aware of.

  1. It only works when the MBR has been 'booted' first
    This means that, if you have AnyDrive installed and you want to boot a floppy which can see the drive in full, you need to attempt to boot the HDD first, holding shift, to then boot the floppy straight after.
  2. When installing, use the drive number, not letter
    I first installed it on drive C instead of drive 0, this caused all sorts of strange issues.

Installation

The best way to do this is to format your 3 DOS 6.22 installation disks and then copy the ANYDRIVE.EXE file over onto the first disk. Boot your machine into DOS and then hit F3 twice to exit out to the command prompt.

From here, run the ANYDRIVE command to get an idea as to your current scenario. You can use ANYDRIVE S to check an installation, if any exists. Note that if you booted straight off your floppy then ANYDRIVE will tell you that it's not correctly loaded. This is perfectly acceptable if you have booted from a floppy and not let the HDD initialise first.

To get an old 840mb HDD running on my 386, I did the following:

  1. Build 3 DOS 6.22 floppies
  2. Copy ANYDRIVE.EXE onto the first disk
  3. Install the HDD into the computer and then boot the first DOS disk
  4. Hit F3 twice to get out of DOS Setup
  5. Run ANYDRIVE [DRIVE_NO] [CYLS] [HEADS] [SECT]
    (ANYDRIVE 0 1647 16 63 for my Quantum Trailblazer 840AT as C:)
  6. Remove DOS Disk 1 and Reboot
  7. Hold down LEFT SHIFT to tell ANYDRIVE that you want to boot from a floppy
  8. Wait for ANYDRIVE floppy prompt and then insert DOS Disk 1 once again
  9. Install DOS as per usual (it should format to the new size of your disk)

Usage and Boot-time quirks

Once it's installed, and your OS is installed, it's all happy days. Everything is fine until you try to boot from a floppy. As per every old BIOS, boot will be handed to the floppy drive prior to the HDD and therefore the HDD won't be initialised until later. If this happens, then ANYDRIVE wont be initialised correctly and your actual BIOS settings will be used.

This is a problem. As any attempt to then access C:, which has been partitioned and formatted based on ANYDRIVE settings, could cause all sorts of damage as the geometry will be wrong!

To prevent this, make sure your boot disks are ejected and hold shift when your machine starts... you'll instead see the ANYDRIVE boot line and then a prompt to boot from A:. Booting your boot floppy at this point will ensure that any software afterwards sees your ANYDRIVE settings rather than BIOS settings.

I hope this helps anyone trying to get more storage on their older dinosaurs!

15Sep/170

MSX – MegaFlashROM SCC+ SD

The MegaFlashROM SCC+ SD, by Manuel Pazos, is the ultimate cartridge for the MSX. I acquired this and my Sony Hit-Bit F1XD a while ago and finally found time to actually use it!

Basic Concept

The cartridge emulates the A: and B: drives on your MSX. This means that previous A: and B: physical drives will be disabled and ROM/DSK files will be used instead. The cartridge has it's own ROM (kernel.dat) which loads you into the Nextor operating system.

From the shop, your cartridge will be ready to go. Grab a small (1gb? 2gb?) microSD card and put it in, then load up your MSX with the cartridge inserted. You should be at the Nextor prompt and you can then follow instructions as per ¡VAPF!'s brilliant tutorial here. You'll end up partitioning and formatting the SD. From there, you can put it into your computer and copy your DSKs and ROMs over.

The cartridge already has firmware in it containing an enhanced version of MSX-DOS bundled with tools for loading disk images. It also includes Multimente, a file browser which makes loading files very easy! You merely have to hit enter on the disk image you wish to load into ROM.

DSC00205 DSC00206 DSC00207

Above you can see the initial A: disk. Hit the L key to switch disks: Type B and press enter. This is now your SD card. Select your ROM image and you'll get the screen below that Nextor has chained it in to the boot process.

DSC00208

Once chained, you can reset the machine and the cartridge will act as if it's the original game cartridge/disk. Reboot away...

DSC00209

You're next reboot will mention that a ROM Disk was found and then you'll get weird things... they're called games:

DSC00210

This game really needs a post to itself... I'll get back to that... meanwhile, here's the intro.

DSC00211 DSC00212 DSC00214

To unload the ROM, you'll need to know the short-cut keys. Note that the commands to unload images are entirely dependent on how you loaded the files in the first place!

Forgetting how to use it

I had received this cartridge quite a while ago. I quickly configured a 32gb MicroSD (I created a 4GB partition on it) and got a game running. I then packed everything away and quickly forgot all the knowledge required to use an MSX computer. I also never learnt correctly how to unload a game which meant, this time around, that I was stuck with a flash cartridge that continued to load a ROM of which I didn't want to play.

Not knowing how to clear it, I chose all the menu options in the 'Recovery' Menu. You can access this menu by holding the up cursor key at boot. It turns out that, when using the MultiMente (we'll talk more about this below), the ROM is actually tied into the Nextor operating system and not the cartridge boot. Clearing the settings in Recovery really just wiped the cartridge when I didn't need to.

At this point I was stuck... I needed to start from scratch and work out how to unload images. Fortunately, the author of the cartridge responded to emails almost instantaneously! Thanks Manuel!

Unloading ROMs and DSKs

There's two ways to load a ROM: You either flashed a ROM image over the entire Cartridge, or you chain-loaded a disk image from Multimente. Both methods have different ways of unloading the images.

If you've overwritten the ROM, you can hold down the "UP" arrow key when booting the machine. Straight after your MSX logo has appeared you should get the recovery menu. From here, you can use F1 to clear the ROM in memory. (F2 and F3 will clear other portions of the cartridge, if you've done then then see below.)

If you've loaded a DSK file from Multimente, then you need to hold down 0 during the boot process. This will skip loading the disk and bring you back to Multimente. You can then stop the disk from chain-loading by deleting NEXT_DSK.DAT from the SD card.

Restoring the Flash Cartridge

If you've done unrecoverable damage to the ROM images, then you can restore the whole thing. Chances are good that, with the cartridge inserted, you'll just get the following BASIC prompt...

DSC00203

Copy the Kernel Image to the base folder of your SD card (note that I had issues with a 32gb card and had to use a 1gb card to make this work...) and then choose F4 from the boot menu.

DSC00202

It'll tick through a counter and then bring you back to the menu when done. Reboot your MSX and the cartridge should bring you back to Multimente. If you see your game loading instead, then Nextor is still chain-loading and you'll need to hold down 0 as per above.

Update: It turns out there's a newer version of the Recovery ROM to allow support for 32gb SD Cards. Grab it from here and then flash it by running OPFXSD RECOVERY.ROM /i34 from the Command Line.

Ok, What games should I play?

Bubble Bobble. A-Ressha-De-Ikou. And the rest of them...

Filed under: Retro No Comments
14Sep/170

MSX – VGA/HDMI Output

My Sony Hit Bit F1-XD either outputs Composite video via standard RCA plugs or 15khz RGB video via an 8-pin DIN cable. Video quality is poor (at best) via Composite on my LCD, so I purchased an RGB to SCART cable from eBay. Due to this being Australia, I also needed to convert this new SCART plug to something more useful.

The first two failures...

I can guarantee that the following two adapters just don't work. They seem to only convert standard composite video from the SCART and disregard the RGB signals. The worst part is that I able to randomly get video from them... Plugging/unplugging and powering-on/powering-off the devices had the MSX display briefly (but never correctly) on my TV and I therefore kept trying to get them going. In the end they are just not the right components.

Note: It seems that, after reading and learning of the GBS8200 below, the CSYNC from these old consoles is 4.6v which is too high for standard converter chipsets. These devices may well work correctly if you put a 680ohm resistor in-line.

s-l1600 s-l160002

If you see anything like these on eBay, then be very careful. Most of them are knock-offs and you can't be sure that they will work with your retro device that outputs RGB.

Just quickly, here's the composite quality...

For all future references, this is what you'll have to deal with on a new TV if you're using the composite input.

DSC00218

Now onto the conversion!

SDV500

This SDV500 adapter found on eBay, although looking frighteningly similar to the first one above, does work. It even mentions in the description that it'll support the 15khz RGB signal that my MSX (and Amiga 1200, now that I think of it) outputs. I asked the seller, prior to purchase, how his product differs from the first one above and he told me that he couldn't guarantee what the one above contains internally; whereas his was guaranteed to work.

DSC00190

DSC00192 DSC00193 DSC00194

It arrived and looked slightly different to my first chinese-knock-off. I hooked it all together and crossed my fingers.

DSC00189

Well ... YES!

DSC00195

Extremely crispy. Acrually, there's a weird 'sparkle' to it where the pixels seem a little noisy... I'm not fussed. The output is great.

DSC00197

DSC00199 DSC00200 DSC00201

The best part about this upscaling is the ability to read filenames in multimente.

DSC00219

GBS8200

Work in progress...
This GBS8200 (also found on eBay) is really meant for arcade machines, but works perfectly for us as well. I purchased a 8-pin DIN plug from Jaycar and made my own RGB->VGA cable to connect everything up.

Ian Stedman has written up a huge post on this device, specifically mentioning how to enhance it. I'll need to mod it to support SCART. A LM1881 can be found on eBay.

I'll get back to this component when I've tested it out.

Filed under: Retro No Comments
21Aug/170

MSX – Arduino as Tape Drive (CASDuino)

As usual, no vintage equipment is complete until you've maxxed it out with all possible peripherals! I had previously made an old 'Datasette' drive work for a Commodore 64 and so started searching for an appropriate tape player for my MSX. It turns out that you either pay big dollars for a specific data recorder, or you use an off-the-shelf tape player and hope-it-works.

I then stumbled across Arduitape (aka TZXDuino). The slogan says it all: 'ARDUITAPE MARK II - THE TAPE PLAYER REPLACEMENT SD CARD SYTEM FOR 8-BIT COMPUTERS'. After a lot of digging on the blog, the instructions presented themselves. As you can see, the instructions aren't as clear as they could be and so I henceforth present the complete construction and usage of an Arduino as a fake Tape Recorder for an MSX.

Ingredients

I ended up testing out multiple components during this build. I initially started with a 128x128 LCD but found that the libraries required to run it used too much memory and therefore the whole project was useless on a UNO/Leonardo. Instead I switched back to a 16x2 LCD.

Component Substitute Comments
Arduino Nano Arduino Leonardo r3 This Leonardo r3 from Jaycar worked fine, or a UNO.
16x2 Character LCD Find any 16x2 I2C LCD from eBay.
SD Card Shield SD Card Module Jaycar also has a full shield for SD Card reading, but we don't need that much infrastructure.
AMP Shield Arduino Compatible 2 X 3W Amplifier Module Different, but with two channels, we can use one for input.
4 x 4.7k resistors Filter Board
3 x 4.7nF Capacitors Filter Board
1 x 100nF Capacitor Filter Board
2 x 3.5 mm Female Jack PS0122 (One is for recording... can we get it to work?)
1 x 2.5 mm Female Jack PS0105
5 pushbuttons SP0711
Some kind of box to put it all in.

From here, I'll describe how to hook up and test each component to make sure that you build up a stable base for troubleshooting!

The Circuit

Here's an overview of what we're building. It's really just a rigging of off-the-shelf components, apart from the filter board.

CASDUINO

Note that the buttons aren't in the exact order. You can customise which button does what below.

Arduino

I used both a Uno and a Leonardo whilst constructing this. I bought the Leonardo as I thought it had more RAM than the Uno. Turns out it doesn't and so I switched from the 128x128 memory-expensive LCD to a simple 16x2 LCD. Either way, grab an Arduino and a nice case to house it in.

DSC00043

DSC00047 DSC00049 DSC00050

Punch holes where required and mount it all in place with hot glue.

LCD

This was a quick solder and plug-in. VCC and GND to the Arduino. SDA and SDL to analog pins A4 and A5. Make sure you have the daughterboard on the correct way around. It's on backwards in the first picture below. In the second and third pictures you'll see that you can't see the daughterboard as it's aligned behind the LCD.

DSC00118 DSC00119 DSC00121

If you get a single bar of black blocks, then chances are you have the I2C daughterboard on backwards. There's something that looks like a 'pin 1' designation on the board, but this only worked once I plugged it onto pin 16! I have it on BACKWARDS on the first shot above!.

SD Card

This is another I2C device which means it just needs to be wired into the bus. Again, hook VCC and GND to the Arduino. Then hook up CS to D10, SCK to D13, MOSI to D11 and finally MISO to D12.

DSC00070 DSC00067 DSC00069

You now should get a new message showing the first file/folder in the root directory. Go test out your google-fu to find CAS files for the MSX. You'll need one to test with.

DSC00122

You'll want to start showing-all-files-and-folders in Windows to get rid of the hidden items that'll now show up on this device. There's no filter in the card to disregard the kludge that OS' keep hidden on disks.

Buttons

These are easy enough... they just need a common ground and then 5 wires to the specified digital inputs. You can customise the order of your buttons, but in the end make sure you have then connected to the associated inputs of btnPlay, btnStop, btnUp, btnDown and btnMselect.

DSC00124 DSC00128 DSC00130

Not a TZXTape? Come again? Oh right, we're meant to be using CASDuino, not TZXDuino!

Filter and Amp

This little board is pretty straight-forward. I built it up as per the instructions.

DSC00139

You then need to provide GND and Audio In (Digital Pin 9) from the Arduino. Audio Out is fed into your Amplifier, which happens to be R-In on my tiny board from Jaycar. Yes, I'm using a RED wire for GND on the filter board, running to GND on the button row. It's a really good idea to tie ALL GNDs together wherever possible.

DSC00140

Disregard my colour-coding... that blue is actually GND and is using the GND rail from the LCD panel. Black is audio-out from the filter board to Audio-in on the amp. The amp then also needed VCC and all GND pins joined. From there, add on the 3.5mm headphone socket.

DSC00142

At this point I actually plugged the output into my stereo. An awful noise, to the tune of the data loading of the Commodore 64 (or even a modem dialing up), played loudly! Data!

DSC00145

Finally hook up the little 2.5mm socket to GND and D6. This will allow the MSX to tell the player when to play/pause.

Loading a game

With everything hooked up, I turned the device on. I then powered up the MSX, with no cartridges installed. At the BASIC prompt, my CASDuino started flickering between play/pause. It looked like the remote-control signal was floating instead of being pulled high or low. Regardless, I typed in the magic command: RUN"CAS:" (yes, double-quotes and all)

The CASDuino settled on PLAYING and I heard interference through the TV Audio!

DSC00147

Found:TURTLE appeared... but then it crashed?

DSC00149

Turns out you can set the BAUD rate of the tape playback. Default is 3600, but this was too high for my construction skills, or maybe even my MSX.

DSC00162

Setting this to 1200 or 2400 saw the game (slowly) load!

Teenage Mutant Hero Turtles

Did you know that UK/Ireland prefered Heros over Ninjas? Supposedly Ninjas were too thought-provokingly violent. Either way, the game loaded. If you want to play with the keyboard, keys Q and A are UP/DOWN and keys O and P are LEFT/RIGHT.

DSC00151

DSC00153 DSC00154 DSC00158

DSC00160 DSC00156 DSC00157

Final Notes

Grab your glue gun and secure everything. This will hold it in place and also insulate any floating components.

DSC00164

DSC00166 DSC00167 DSC00168

Then mount the headphone plugs and close the box... it'll look much neater :) I ended up mounting a socket for the recording plug also... although it's not currently connected to anything. Might try and play with that in the future!

DSC00170

..and don't forget to clean up..

Filed under: Arduino, Retro No Comments
2Aug/170

MSX – Using Sega Controllers

The MSX uses the same port as many older consoles, so one might be mistaken for thinking that any controller will work. Unfortunately, regardless of the fact that they are all DB-9 ports, the wiring is often different. Below I'll show how to build an adapter to hook up both a Megadrive and Master System controller to your MSX.

Sega Megadrive Button mapping

Standard Megadrive controllers have 3 action buttons. MSX only needs two, so we'll use B and C for buttons 1 and 2 respectively; the reason for this is a little complex. The Megadrive controllers have 4 buttons but only 3 wires to read the state. This means that one wire acts as the switch to read either A/Start as a pair or B/C. As that we can't switch between these without more work, we'll just use the second state and read B and C independently. There's further reading here for anyone who wants to know more.

DSC00024

Megadrive Pin Description Mapped to MSX pin
1 Up 1
2 Down 2
3 Left 3
4 Right 4
5 +5 V 5
6 TL (A/B) 6
7 TH (Select) 5
8 Ground
9 TR (Start/C) 7

Wiring up a Megadrive adapter

A quick note: If you have no requirement to use the Megadrive controller in a real megadrive again, follow the instructions here instead. Otherwise you'll need a male DB-9 plug, female DB-9 socket and some wire. The shorter you make the wires, the better. Too much play, without securing everything with glue or in a case, will cause instability and/or break your solder connections.

DSC00022

DSC00026 DSC00029 DSC00031

For the most part, all wires are straight through. The only exception is to wire Pin 9 of the male plug to pin 7 of the female plug. This routes button B on the megadrive controller to button 2 on the MSX.

DSC00747

I cheated and hot-glue-gunned them for stability. A better method would be to buy DB-9 plugs and sockets with housings. Or find two long and thin bolts to create a frame between the two.

Sega Master System Controller

The pinout of these controllers is slightly different (see here for a diagram); the buttons are actually backwards compared to B and C on the megadrive. Therefore we're going to build the same adapter above but route (from male to female) 9 to 6 and 6 to 7.

DSC00001

Sega Master System Pin Description Mapped to MSX pin
1 Up 1
2 Down 2
3 Left 3
4 Right 4
5 +5 V 5
6 Button 2 7
7
8 Ground 8
9 Button 1 6

The result

The blobs rotate the right way when playing Puyo Puyo... that's all that matters!

DSC00748

Next... How to use that RGB port... Composite is terrible.

Filed under: Retro No Comments
24Jul/170

Roland Sound Canvas SC-55

Back in the day, my MIDI setting of choice was either Adlib, OPL3 or Sound Blaster FM. I only ever had a Sound Blaster 16 card and so never experienced any of the Sound Blaster 32/64/Awe Cards or external MIDI devices. Over the years since, I've learnt about MT-32 and wanted to try and find a real device. Unfortunately, they're neither cheap nor easy to find! A friend had also told me about the Roland Sound Canvas range and it seemed that these may be easier to find as there were more models released.

Stumbling across one...

I happened to be in Japan for a friend's wedding and, whilst travelling the countryside, scoured any recycle shops that I ventured past. It finally happened that, in one of the last shops in Kumamoto, I found a Roland Sound Canvas SC-55. It was 950 yen and was in the "Junk Corner".

DSC00733

DSC00736 DSC00744 DSC00732

DSC00805 DSC00809 DSC00813

I packed it into my suitcase, but researched it for the rest of the trip. One tidbit that I came across indicated that the internal battery had leakage issues (I anxiously wanted to check this, but didn't have the tools or the time.) The Sound Canvas Wikipedia page also pointed out that: "units without GM logo technically not GM compatible." Turns out mine didn't have the logo! Must be one of the first off the production line? I wonder if I'd even be able to play general games or only Sound Canvas games?

I then started getting lost in further articles describing the differences between the revisions of the SC-55. Nerdly Pleasures had a great article on the nuances here: First Generation Roland Sound Canvas Devices, which then lead to the Vogons forum: Apparently not all GS-only sc-55s are the same, some are GM. One poster noted that if you have an SC-55, you wont be disappointed as, regardless of the nuances, you'll still get quality music and games suited for the device will sound amazing.

Moisture Damage?

I noticed, when I first picked it up off the shelf, that the rear plugs were slightly oxidised. The top shell also had rust along the front edge. Opening it up saw that there was no physical damage on the board. Powering it up saw that the front panel buttons only wanted to work every-so-often. The first thing I did was find replacement microswitches from Jaycar who had a suitable (and really clicky!) substitute. Note that the replacement is half-width! The full square types had 4 pins that didn't match the PCB.

DSC00746

DSC00744 DSC00750 DSC00753

You can see above that column 3, row 4 had damage. I removed it and replaced it with the new slimline switch. Worked perfectly.

DSC00755

The picture above also shows 4 new full-width 4-pin switches. I didn't use these and only bought them to see if I could make them fit.

DSC00799 DSC00800 DSC00803

I ended up purchasing 17 of the half-width switches to replace all on the front panel.

Battery Leakage

Yup, coin-cell batteries leak too. When I first opened the box I saw that the battery was jammed in and corroding. This battery provides a trickle of power to persist storage of the current device configuration (panning, levels, key offsets, etc...) which is great if you're composing... but you really want it reset each time when playing games, so I was very happy to remove it.

DSC00733 DSC00735 DSC00737

You'll get a notice when the device powers on, but it's easily ignored.

Power Supply

The unit wants a standard DC jack with 9v at 500mA. Note that the polarity is the typical Japanese reverse! Positive on the outside.

DSC00787 DSC00788 DSC00734

Jaycar to the rescue yet again: The power supply had enough amps and a reversible plug on the end. I didn't even have to re-wire it. I am concerned though.. these adapters make it REALLY easy to plug in the power in the wrong way around!

Resetting/Testing

Before even trying composition software or games, I wanted to ensure that the device actually worked. 900 yen (along with the "not tested" label) meant that I could be in for a sad surprise when it chose to produce no sound. There is a demo mode on the device that plays two stored songs, so I attempted to get into this, after resetting the device.

DSC00749

To reset and enter GS mode, hold the left Instrument button and then hit power. Hold the right to reset (and enter) MT-32 emulation mode. Hold both to reset totally and return to GS.

DSC00751

The two sample songs only work in GS mode, so if you're in MT-32 mode, it'll first ask if you want to reset back to GS. This slightly confused me at the start as I thought the buttons were more damaged than first seemed; the Instrument buttons were meant to reset settings, not the Part buttons.

Anyway, to play the demo songs, hold down both Part buttons then power on the unit. You can select the song via either Part arrow and then hit the All button to play.

Using a MIDI keyboard

This 'just worked'. I'd received a midi cable with this keyboard and it was plugged from the 'out' of the keyboard to the 'in' on the front of the SC-55. Everything just worked, including all the controls on the keyboard. The keys are also perfectly pressure-sensitive... so whacking them harder really tested out the speakers!

DSC00746

MIDI Out via AWE64 Value

Now the fun was to begin. I pulled out the old PII-500 with an AWE64 Value sound card. The card has a whole lot of extra software and soft-synths to help with MIDI playback. This means that there's extra configuration required to get the MIDI-Out to actually work. By default, midi is routed into the AWE64 driver's 'soft synth switch' which then redirects and modifies the midi signals as configured.

DSC00752

I wanted none of this and set the output straight to the port. With the cables connected, I heard absolutely nothing. I mucked around with further settings... but had zero success. This 'SC-55 Howto' at Vogons indicates that output 'should just work'... not for me!

MIDI Out via SB32 PNP

This time I booted up my old 486 DX 2/66. Screamer has a nice audio setup application and allows you to test your configuration very quickly. Unfortunately, I couldn't get any midi-out at all. Is it my cable?

DSC00754

MIDI Out via Edirol UM-1EX

This device came with the keyboard and I'd forgotten I had it. A friend had told me they used their external midi devices in DOSBOX on new hardware, so I thought I'd give it a go. After switching off Windows 10 driver signing, I was able to get this installed on my main laptop. I then set DOSBOX to use the 'UM-1' device and loaded up Transport Tycoon.

DSC00785

Success! The audio sounded terrific! Of course, DOSBOX is emulation, so multi-tasking made the music slow down and sound hilarious... actually, that might just have been because the laptop was in power-saving mode and didn't want to spend all cycles on DOS emulation.

Joystick port on ISA controller card?

Nope, don't bother... it won't work! That joystick port is hardly good for one joystick with two buttons. You'll need a real soundcard with a standard gameport as they have the correct pins wired up.

MIDI-Out Cables

Back to the old PCs, it was time to work out why the MIDI wasn't sending out. The Edirol device above has nice lights on it to show that data is flowing, so I thought I'd try and add the same to my midi cable. There's a great diagram here that shows where the LEDs should be placed. Turns out they're just on the ground lines for each MIDI in and out.

Following the diagrams also available on Vogons, I realised that the resistors on the MIDI-OUT lines were way too high. 1.2kOhm vs the 220ohm listed in all diagrams I'd found. I quickly replaced these.

DSC00763 DSC00765 DSC00768

And then...

DSC00769

Well shit... Screamer Sound Setup just started sounding perfectly on port 330! Who would've thought you'd have to replace resistors inside a plug housing to get vintage midi signals to flow?

DSC00770 DSC00775 DSC00777

The Settlers intro sounded perfect as well.

DSC00781

What a steal for 900yen!

Filed under: Retro No Comments