Subscribe via RSS
28Sep/170

OSX vs External MIDI Synthesizers

I've had an Edirol UM-1 USB MIDI Interface for ages and assumed it would 'just work' with the new Apple Power Mac G4 running OSX Tiger 10.4.11 that I recently acquired. The short answer is, it worked in the end, but the path to get it sorted wasn't overly intuitive.

Installing the correct drivers

Browse to the Roland Support Site and download the UM-1 Driver Version 2.1.0 for Mac OS X. This will give you the usual DMG on your desktop.

Picture 1

Run the UM1USBDriver.pkg file and follow the prompts. You may need to restart!

Picture 2

Configuring MIDI on OSX

Once you're back at your desktop, browse to Applications and look for Audio MIDI Setup.

Picture 6

You should have a device called UM-1 listed here. What you now need to do is add a new device for your external synthesizer. Hit Add Device from the top toolbar.

Picture 4

Give it the appropriate name and adjust the ports as required. Click the top-left icon and change it to something more appropriate.

Picture 5

From here, you need to join the output of the UM-1 to the input of your new synthesizer. Look at the first image in this section above.

Playing MIDI Files

QuickTime Player JUST WON'T WORK. It only seems to ever want to use the QuickTime Music Synthesizer. Forget about it and download Sweet MIDI Player. Once it's open, click the MIDI menu and then choose MIDI Setup.

Picture 7

Choose Core MIDI and then select your device. Now play your songs!

Picture 3

Of course... you'll only get the first 3/4 of the song... will need to work out how to buy a license.

Picture 8

Good luck!

28Sep/171

Power Macintosh Graphite G4 M5183 733mhz

You should've seen this poor thing on the shelf at the 'tip shop'. It was covered in mud, scuff marks, scratches and looked to have the absolute poop beaten out of it. I asked the price anyway, as I've always wanted to tinker with one of these things and this was in a perfectly restorative condition. It turns out that the going rate was AUD$5.00, so I purchased it and an original Macintosh A/B serial switch as well. (That'll work well for the MIDI devices I want to hook up.)

Getting it home...

Fortunately I had appropriate wrapping in the boot and insulated my newly acquired hazardous goods from anything on which it would leave a mark. It then went straight outside onto the balcony where I regretted yet another one of my impulse-purchases.

DSC00094

DSC00095 DSC00096 DSC00098

DSC00099

Look at that grime... There was actually dirt falling out of it whenever I moved it and the wrapping I had it in had a collection of ... 'waste' that fallen out on the way home. Sliding around in the boot probably didn't help either.

Identifying it...

This turned out to be easier than expected... It's an M5183 G4 733mhz Power Macintosh 'Graphite'... but the guts aren't 100%. It was meant to come with an NVIDIA GeForce 2, HDD, etc... but instead has an ATI RAGE 128?

DSC00339

DSC00267

Oh well... as long as it works!

Tearing it apart

Thanks to Apple's lust for ease-of-tear-down, this machine unscrewed and disassembled itself. The case is actually really nice; especially how it pops open with two latches and unfurls so that cables are secured and not in the way.

DSC00270

Cables on hinges are expected to fail over time... but it looks like this one met a harsher fate...

DSC00272

Meanwhile... yes... check out that grime! The entire case had a layer of crud inside, and this ain't dust. This is land-fill-biological-waste which was treated with every caution required. Fortunately it was all dry, so hopefully there weren't too many living organisms. Actually, I half-expected something to crawl out of the power supply but, apart from fertiliser and dirt/dust, it was relatively unscathed!

DSC00269

The case got the full treatment. It needed it. Unfortunately, working with base metal chassis' always means human casualties. Fortunately I have a plentiful supply of disinfectant and bandaids.

DSC00273

DSC00274 DSC00277 DSC00275

Building it back up again...

This was the fun part... there's always screws left over! For the most part everything just slotted back together. The only real issue was the IDE cable.

DSC00278 DSC00279 DSC00280

As that the original cable was damaged, I tried to find one from my stash that would fit, but none were long enough. The cable would end up supporting the mainboard panel when trying to open the case.

DSC00282

Either way, it worked when closed... It was time to add voltage!

Flicking the switch

I really didn't know what to expect here... just because things are clean, doesn't mean they won't fry your local electrical circuits or trip breakers. I used a protected powerboard to provide an extra level of safety and plugged in the power cable. It actually gave a small crackle as it started to pull power; probably the first time in years that it had. These power supplies are always using some amount of current, as they're always in some form of standby, so it wasn't unexpected that I'd already have current draw on simply plugging in the power.

DSC00288

Fortunately, everything just worked... it even wanted to boot a Mac OS9 Lives ISO!

Roll-your-own IDE cable

Of course, Apple love their proprietary bits and pieces. In this case (hah, pun), the IDE cable is extra-long and runs around the entire length of the case before getting to the ZIP and CD drives. This is an 80-pin UDMA cable and, in my case, had been damaged where it flexes to the mainboard. I attempted to crimp on my own IDC header, but a standard 40-pin doesn't do the job.

DSC00296 DSC00299 DSC00300

Seems to be an extra crimp row on the 80-pin header... something about every-second-pin being ground? Regardless, I just made my own 40-pin cable. Meh, the CD and ZIP wont perform at their capacity, but they'll work!

DSC00303

All the components were easily acquired from Jaycar... crimping them needed a hammer and a solid bench (sorry kitchen.)

DSC00304

I tested it. Yes. On bare carpet. Even with an after-market drive! The original 'super-drive' was having difficulty... might need to clean it out also.

DSC00305

Routing it back through the case was easy enough. I wasn't game to 'fold' the cable into the angles as much as they did, so I just pressed them down as much as was required.

DSC00312

Nice. And then it just worked perfectly! I still need a ZipDisk to check that drive.

OS Versions

This machine can support anything up to Mac OS X 10.4.11. You can find the 10.4.6 ISO online pretty easily (I really miss WinWorldPC)... then you just need the 10.4.11 PPC Combo Update to bring it up to the last possible version.

DSC00299 DSC00300 DSC00301

I actually initially installed Mac OS9 Lives, with OSX 10.4.6 installed after it onto a secondary partition. OSX actually wouldn't boot when this was the case! It just showed that stupid 'prohibitory' 'cancel' symbol above. It seems that Mac OS9 formats the disks (or installs drivers?) in some way that stops OSX from finding the "root device". Either way, installing OSX first, and ticking the 'Install support for Mac OS 9 Disk Drivers' when partitioning!, worked perfectly. I now have a nice dual-boot scenario. I think I can even boot the Mac OS 9 partition inside 'Classic', but I haven't tried this yet.

Cleaning the case

As can be seen from the first pictures, the case was in a dire need of a scrub. Turns out it's not just superficial though! The cuts are deep and full of gunk. There was also a good crap-tonne of dirt on the inside-side.

DSC00266-1 DSC00267-1 DSC00268-1

Once scrubbed clean, it was time to spit-and-polish. I tried both the 'dremel' and wet-dry sandpaper, but ran out before I could really get the result I wanted... back to the hardware store soon to sand down more of the scratches. I'll then need some kind of real buffing solution to get the shine back. Unless matte Macs are a thing now?

DSC00326 DSC00328 DSC00329

DSC00330

RAM

This machine has three RAM slots and OS 9 showed up 1.25gb of RAM. Interesting that someone would choose to mix RAM size values. A quick inspection of the actual DIMMs showed that one was indeed 256mb instead of 512mb. I was initially worried that the slot with a missing latch was the issue... thankfully not.

DSC00331 DSC00332 DSC00333

DSC00334

My box'o'RAM helped out here and gave me a 512mb from the IBM NetVista that, with Windows 98SE installed, couldn't support more than 512mb RAM anyway.

Equivalent Vintage iPod

Just for fun, I plugged in my intel-formatted iPod. iTunes appeared and it 'just worked perfectly'(tm).

DSC00303

Nice to have suitably vintage tunes also!

What's next?

Might need to update the graphics card? Or maybe swap in a newer ATX power supply as this one makes a high-pitched whine and is probably not environmentally friendly. WiFi would be nice too, but it seems I really just need an internal PCMCIA Airport card. And then MIDI and games... I have a Roland UM-1, but it's not playing ball yet... more learning to do!

Filed under: Apple 1 Comment
27Sep/170

Fukushima Station, Osaka, Japan – July 2017

Welcome back to Osaka. This time it was an airbnb apartment (red marker) right in town near Fukushima Station. This area is of note as it's where the limited express/freight line from Shin Osaka connects to the loop line to continue west/south (green marker). There's also the continuation of the Tokaido Main Line west of Osaka through to Amagasaki (blue marker).

This location would've also been in good proximity to the Umeda freight yards, if only they still existed! Instead the freight that comes through proceeds down to Ajikawaguchi, just before Universal Studios, Japan.

Note that standard east-west freight between Suita and Kobe uses the shortcut from Shin Osaka to the triangle just south of Kashima Station. Not the line shown on the map above; their line follows under the Shinkansen tracks via the passenger staging yards just adjacent to Shin Osaka Station.

The arrows in the freight schedules (further below) indicate the direction of travel. This is directly related to the map above: being Westbound and being Eastbound.

Tokaido Main Line

This is the continuation of the line that originates in Tokyo. The final station is Kobe, just west of Osaka, where it becomes the Sanyo Main Line.

The apartment mentioned above has a view of this line from the balcony...

DSC00599

With the best view being from the fire-escape's top platform...

DSC00605

From here, you'll be able to see all of the standard Tokaido-Sanyo Line EMUs...

DSC00637 DSC00636 DSC00634

Plus a view extra express trains. For example, here's the Super Hakuto...

DSC00655 DSC00654 DSC00652

And the Hamakaze...

DSC00718

And even a dead-heading Thunderbird!

DSC00693 DSC00700 DSC00703

You can even see out to Osaka station, amongst the other delights of the neighbourhood.

DSC00704 DSC00643 DSC00669

There's more to see down on the ground-level... but before that, here's the timetable of trains you can expect to see. Note that the dead-headings aren't listed... I have no idea how to find those! (You could probably guess that if a Thunderbird arrived at Osaka and had no return service then it might come past 10-20 minutes after it arrived?)

Tokaido Line Timetable

The table below describes all the services that will traverse point A on the map above. Note that the time here indicates the action as Osaka Station. Therefore, if it's heading to Osaka (Arriving), then it's going to be ~1 minute prior to the time listed. Likewise, if departing, it'll be ~1 after the time. Regardless, I'd be in position ~5 pre/post any scheduled time.

Direction Arrive/Depart Osaka Service
0034 Sunrise Seto/Izumo
0737 Super Hakuto #1
0812 Kounotori #1
0910 Kounotori #3
0919 Super Hakuto #2
0924 Super Hakuto #3
0938 Hamakaze #1
1001 Hamakaze #2
1012 Kounotori #5
1119 Super Hakuto #4
1124 Super Hakuto #5
1211 Kounotori #9
1222 Hamakaze #3
1223 Kounotori #12
1320 Super Hakuto #6
1324 Super Hakuto #7
1411 Kounotori #13
1423 Kounotori #14
1511 Kounotori #15
1519 Super Hakuto #8
1524 Super Hakuto #9
1622 Kounotori #16
1705 Hamakaze #4
1718 Super Hakuto #10
1720 Kounotori #18
1726 Super Hakuto #11
1804 Hamakaze #5
1820 Kounotori #20
1931 Super Hakuto #12
1949 Kounotori #24
2005 Hamakaze #6
2006 Super Hakuto #13
2101 Kounotori #26
2104 Super Hakuto #14

Ground Level - Fukushima Station and the Express Line

A short walk south will get you to point B on the map right up top. This is the ground-level-crossing of the 'express line' that bypasses Osaka station from Shin-Osaka. Here'll you'll get all the south-bound express trains and a bit of freight!

First up, that perpetual impossibility! The M250 Super Rail Cargo!

DSC00529

The Haruka will take you to Kansai International Airport...

DSC00589 DSC00617 DSC00619

And the Kuroshio (ex Ocean Arrow series as well!) will take you to Shingu/Wakayama...

DSC00628

DSC00595 DSC00625 DSC00630

You'll also see the new 'Osaka Power Loop' EMUs running up above...

DSC00590

Osaka Loop Line / Wakayama Line Timetable

All passenger trains listed below depart/arrive at Shin Osaka. Therefore, the time needs to be adjusted by +/- ~4mins depending on direction of travel. Note that these trains approach the Fukushima area via the west side of the old Umeda freight yards! They're still at ground level when they cross the point marked B on the map above! They climb up to the Loop Line level by Noda Station.

I've mapped out the freight train timetable before, but I've also incorporated it into the table below. I've also snapped the Super Rail Cargo once before, but it was much easier this time as I just had to walk over.

Note that the freight times are squiggled. I've estimated when they should pass the area (not the time at Shin Osaka). I've only got the times at Suita and Ajikawaguchi. Check the link above for the more accurate times, or just arrive at the area 10 mins earlier than those times posted below.

Direction Arrive/Depart Osaka Service
~0505 JRF #59
~0512 JRF #51 (Super Rail Cargo M250)
0617 Haruka #1
0648 Haruka #3
0716 Haruka #5
0720 Kuroshio #2
0738 Haruka #2
0733 Kuroshio #1
0747 Haruka #7
0751 Kuroshio #4
0817 Haruka #9
0837 Haruka #4
0846 Haruka #11
~0850 JRF #91
0903 Kuroshio #3
0907 Haruka #6
0916 Haruka #13
0922 Kuroshio #6
0932 Kuroshio #5
0937 Haruka #8
(And then every 30 mins from here until 2100)
0950 Kuroshio #8
(And then every hour from here until 2050)
1000 Haruka #15
(And then every 30 mins from here until 2100)
1015 Kuroshio #7
(And then every hour until 2115)
~1048 JRF #1180 (Rail-Set Train)
~1140 JRF #93
~1620 JRF #1883 (Rail-Set Train)
~1715 JRF #90
~1825 JRF #5088
~2305 JRF #58
~2315 JRF #50 (Super Rail Cargo M250)
25Sep/170

Shin-Osaka Webcam – Doctor Yellow!

Here's a webcam north of Shin-Osaka Station with a beautiful view of the tracks between Higashi-Yodogawa Station and Shin-Osaka itself. You also get to see the Shinkansen in the background.

I just happened to be randomly viewing this when I stumbled upon Doctor Yellow!

doc yel

This would have to be the first time I've ever seen this train moving... Sure, I'm a few thousand kilometres away... but... I'm declaring this a success!

Turns out that this arrival is spot on to the timetable from 2014! I wonder if it'll depart at 1623? I'll update if so.

Update: I previously completely forgot to check at 1623... but I've just caught a return service at 14:14:12 on 11th October 2017:

dr-yellow

Here it is again on the 20th of October 2017:

doc-yel1

And after quite a hiatus, it's been seen again!

doc-yel

And it didn't continue west... instead turning around and departing east again at 14:28...

doc-yel-2

Very cool to watch!

18Sep/170

Hobart – September, 2017

Thanks to dirt-cheap fares from Jetstar, I ended up in Hobart for a weekend. The majority of the time was spent recycle-shopping (aim for the rubbish tips!), but I did manage to check out the freight hub in Brighton.

The railway used to run through to the port at Hobart, but have since been truncated back up to a new Freight Hub in Brighton. I had a hire car and it was easy enough to do a lap around the terminal. The sun was hit-and-miss, but the scenery was fantastic.

DSC00001

DSC00004 DSC00008 DSC00012

The servicing/fueling shed is close to the road. Locos were stabled and chocked; the next day the whole consist had left. I had heard that most freight runs during the night, so I wasn't really expecting to see anything active. The forklifts were busy preparing the consist though!

DSC00016

DSC00018 DSC00020 DSC00007

The majority of locomotives were a newer TR class, but 2151 was sitting behind sheds... I wonder if it was the local shunter? Or in storage. Anyway, it was back to the recycle shopping... I'll plan a Tassie-wide drive next time and chase trains up north where they're more frequent.

Filed under: AUS No Comments
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 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 that 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. You can also do this file when the SD card is in your PC.

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/172

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. An LM1881 can be found on eBay.

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

Filed under: Retro 2 Comments
24Aug/170

Power Mac 7220: BeOS 4.5 PPC

This was much easier than I expected. I had the original install media from purchasing this back in the late 1990s from The Software Shop in Phillip, Canberra. There's a boot floppy and installation CD. The floppy is not needed for the Macintosh.

Booting the installer

First step is to get the "bootloader" on your system. Once at your desktop, insert the BeOS CD and browse to Mac Tools. Drag the _bootloader to your System folder on your boot disk. MacOS will then store it in the correct folder for you.

DSC00038 (2)

With the CD still in the drive, reboot your machine. Thanks to the underscore at the start of the filename, the bootloader will boot as the first extension. You'll then get 1 whole second to select the BeOS icon. If you're too slow, then you'll be back at your usual desktop.

DSC00039 DSC00043 DSC00045

After selecting the BeOS button, your machine will either boot from a BeOS partition or the BeOS CD, if inserted.

Booting BeOS

If you managed to hit the 'right' button, then you should be presented with a beautifully-rendered 3D BeOS logo, in all its 90's glory.

DSC00052

After this, you'll get a standard EULA and then be presented with a very simple installer. Choose a disk (preferably a blank partition, so that you don't destroy valuable data) and then install. It'll take around 20 minutes.

DSC00053 DSC00055 DSC00057

NOTE: The PowerMac 7200 has an internal IDE HDD and CD. I couldn't get the installer to install from the internal CD. It'd boot from it, get to the installer and then sit on "Scanning Disks..." and then fail. I had to use my external SCSI CD drive to get BeOS installed!

DSC00060

Drive Setup is accessible from the Setup Partitions button and will let you mangle your disks as much as you need to.

And then you're set!

Pop the CD out and reboot... you'll be at the BeOS desktop as the boot loader remembers the last setting. If you want to get back to Macintosh, then you need to hit the Macintosh button on the boot loader within 2 seconds.

DSC00062

Anyway, nothing but natsukashi feelings once this loaded. I hadn't played with original BeOS for decades. Time to find some software that works!

DSC00072

Networking

BeOS kindly provided the driver for the network card that is installed in my Macintosh. It's a Communications Port II card with the DEC 21041 chipset.

DSC00083

The option is greyed-out in the shot above as I'd already installed it... either way, choose the driver that's appropriate for your card.

Have fun!

Filed under: Apple No Comments
21Aug/1710

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.

Update: Current link to TZDuino 1.8 is here. Seems the links above are now dead :(

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

UPDATE: You can skip this circuit... just wire the the audio out straight into the amp board.

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 preferred Heroes 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 10 Comments
17Aug/174

Apple Multiple Scan 15 Display – Focus

This monitor came as part of a bulk purchase. It worked fine for the first 20 minutes of usage, but gradually lost focus as it warmed up. To its credit, it has speakers and easy-to-use screen adjustment controls, so I thought I'd give it a little more life and fix it's ailments.

DSC00087

DSC00085 DSC00086 DSC00088

It's what's inside that counts...

First, that age-old bit of advice when working with CRT tubes.

WARNING

OPENING CRT MONITORS PUTS YOU AT RISK OF ELECTRIC SHOCK. MAKE SURE YOU GROUND EVERY CAPACITOR VISIBLE WITH A SCREWDRIVER BEFORE GOING ANYWHERE NEAR THE CIRCUITBOARD.

This is especially important if the CRT has been powered on recently!

I'd read online that there were potentiometers inside every CRT monitor that could be tuned and so I set out to inspect this one. Opening it up wasn't a hard task; there's only four screws holding the shell on. I wasn't expecting to find wildlife inside, though...

DSC00082

After shorting all capacitors, I gave the unit a quick internal vacuum.

Adjustments

From there, it was a simple task to find the dials to tune.

DSC00086

Well look there! Focus! It really was this easy... just turn it until the picture becomes clear enough! Of course, this then meant that the monitor was out-of-focus when cold... so now has to warm up to become crystal-clear. I still prefer this over gradually becoming impossible to read.

Here's the before shot.

DSC00088

Here's the after shot.

DSC00089

Oh yeah.. I've been playing with SCSI on a 386.. fun, right?