Subscribe via RSS
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?

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