Subscribe via RSS
15Sep/162

Amiga 1200: PCMCIA Wireless Networking

Who would've thought you'd be able to get a machine this old onto a WPA2 network? Not I. Either way, it's totally doable and makes getting files onto the system a LOT easier!

Requirements

You'll need a 16-bit Wireless PCMCIA card that's supported. You'll usually find one around the Amibay forums or on eBay. 16-Bit PCMCIA cards are recognisable via their difference in connector to newer PCMCIA cards.

DSC06158

As you can see, the little line of plastic that guides the card into the slot is thinner on the 16-bit card. This guiding line is on the right in the picture above. It's twice as high on the 32-bit card. Make sure that your cards are 16-bit and never try to force them into the slot!

Instructions

There's a great video How to set up a PCMCIA wifi card on a standard Amiga 1200 over at Daily Motion. Watch that, or follow the steps here.

First thing to install is the wireless driver. My cards are based on the Prism Chipset and therefore the Prism2v2 driver over on aminet is the best choice. The 'v2' version supports WPA (as long as your card does!) and is very easy to install. Click through the steps and configure your card. Make sure you have a 2.4ghz network available as, chances are, your card wont be doing 5ghz any time soon!

DSC06074 DSC06075 DSC06076

Once configured, the wirelessmanager will have been added to your user-startup. Restart your Amiga and watch the blinkenlights on your card to see if it associates. I'd recommend checking your router also, to see if your card is listed as a connected device. It won't have an IP yet, but the MAC address should be recognisable.

DSC06077

From here, you might need to install CardPatch and/or CardReset. These are useful if you have trouble restarting your Amiga with an active PCMCIA card installed.

TCP/IP

I've recently learnt that the Amiga OS 3.9 CD comes with TCP stacks included... but I haven't tested them. Instead I went ahead and used MiamiDX. Make sure you have MUI installed first and then go ahead and install MiamiDX and it's MUI support library. Throw it in the System or Utilities folder on your main drive.

DSC06080 DSC06081 DSC06082

Reboot your Amiga and then open up the folder where you installed it. Run MiamiInit. We're going to install a SANA-II driver and manually enter prism.device. Note that this is prism2.device and not prism2v2.device. Although we're using the v2 driver, the filename is actually just prism2.device.

DSC06083 DSC06084 DSC06085

DSC06086 DSC06087 DSC06088

DSC06089 DSC06090

Once added, tick through and make sure that DHCP is configured. Save the configuration as default.

DSC06091 DSC06092 DSC06093

Now go back to the folder where MiamiDX was installed and run MiamiDX itself. From the menus, choose to import a MiamiInit profile. This should then populate MiamiDX with all of your hardware configuration. Go to the Ethernet tab, highlight your device and hit 'Online'... within a few seconds your device should be ready to go! Finally, choose Save as Default from the same menu... then you wont have to go importing every time you open up MiamiDX.

Browsing the Web

You pretty much only have a choice between only two browsers. AWeb and IBrowse. I tried AWeb and was impressed. But it doesn't do SSL. Note that the installer mentiosn that you'll need ClassAct2 installed. DO NOT INSTALL CLASSACT2 on Amiga OS 3.9! It'll trash your 'classes' files and prevent even simple dialogs from appearing. Someone else learned the hard way here and had to re-install OS 3.9. AWeb will run fine on OS 3.9 as-is.

Here's an animation of AWeb trying to load Aminet. It actually loads the site 3 times before finally settling and loading images.

BW TV Animation

IBrowse has addons for SSL and Flash! The basic version installed perfectly well and loaded aminet a lot quicker than AWeb.

DSC06151 DSC06152 DSC06156

I'll try the add-ons shortly!

28Jul/160

GAME OVER? Amsterdam – Retro Games Store

GAME OVER? has existed for over 14 years, tucked away in a side-street in central Amsterdam. I was very happy to hear this when asking the owner about the history of the shop.

DSC04719

game-over-map

This shop is bursting at the seams! Wall to wall of amazing retro goodness. You'll find everything here from VIC20/C64/Atari through to XBOX/Gameboy/PlayStation. The window is full of relics and will get anyone interested inside. Don't be fooled into thinking that what's on display is all there is to offer... If you know what you're after, then ask away and have the owner dig bits and pieces out for you.

DSC04720 DSC04721 DSC04722

I happened to want one of the controllers in the window; turns out they're all damaged and just for display. I was then lead to a draw, on the left as you walk in, and a motherload of C64/Atari items was presented. Pretty ... much ... heaven. The owners are really friendly and let me take pictures inside the store... so do chat with them; their wealth of knowledge was very helpful!

DSC05140 DSC05141 DSC05143

As you can see from above, I picked up two Atari controllers and my first ever C64 cartridge: Rat Radar Race. Am still to test it, but have been told it is in working order. I couldn't trek half-way across the globe and not purchase a few goodies when they were there in front of me. I actually tried a few of the 'markets' around Amsterdam but found zero retro gaming items.

Check this shop out if you're ever in Amsterdam!

25Jul/160

Amiga 1200: ATX Power Supply

Amiga 1200s are ancient now... if you're having phantom issues with hardware or software then a crappy power supply may be to blame! Adding extra hardware, overclocking and otherwise modding these old machines also puts undue strain on their ageing power supplies.

DSC05022 DSC05023 DSC05024

DSC05025 DSC05028 DSC05030

Due to this, it's best to prevent problems and provide a fresh and powerful source from which the A1200 can drain as many electrons as it wants.

Wiring up an ATX Power Supply

This is very straight-forward. All ATX supplies provide the required wires for the Amiga motherboards. Unfortunately, they also provide 100 other cables of which we don't need.

Ian Stedman's site has all the information you need to get the power supply hooked up. I followed the instructions and had no issues at all.

DSC05034 DSC05036 DSC05037

If you're installing this in a tower case, then you can easily hide the extra wiring. If you're still using the 'keyboard' case, then you may want to find a way to discard all the extra cables. One method might be to de-solder or cut them right back at the power supply main board. Just be careful if you're opening it.

The wiring for the cable goes as follows.

ATX Power Supply Red Yellow Blue Black not connected
Component +5v +12v -12v Ground Shield
Amiga 1200 Red Brown White Black Yellow

Note: Don't forget to connect green from the ATX supply to ground! This is the soft-power latch that needs to be grounded for the supply to turn on.

DSC05038 DSC05040 DSC05043

I entirely recommend you confirm the wiring from your Amiga power cable is wired as above! Also make sure that you test the cable prior to plugging it in to your Amiga!

After a quick test, I plugged it in and the A1200 purred away. Unfortunately my PCMCIA Ethernet issues still continued!

26May/160

Parallel Port: Shift Registers

Now that we've controlled a LED by a single pin on the Parallel Port, it's time to expand our abilities. The goal of this post is to describe the usage of Shift Registers and then consume a minimal amount of pins, 3 out of the 8 available, to control up to 64 outputs!

A Shift What?

So, you have 8 digital input/output pins on the Parallel Port. This isn't the greatest amount and it'd be really nice to extend the amount available. There are a few ways, but a popular method is to employ a shift register.

A shift register is an IC which takes a 'serial' input and then outputs this on it's output pins in 'parallel'. By 'serial', we mean that the IC accepts input data on one pin only. This data is provided by you, as either a '1' or a '0'. Once you've set the value on the input pin, you then toggle another pin, known as the 'clock' pin, to tell the IC that the data is ready to be consumed.

The shift register, once the clock pin is toggled to a '1' and then back to a '0', will look at the input pin and then copy this value into it's internal register. We're using a 74HC595 which has 8 internal registers and therefore 8 output pins. At this point, the IC shifts all values on it's 8 internal registers up one slot and then sets the very first internal slot to the value you've provided.

You can then provide 7 more values, toggling the clock pin between each, an the IC will shift them along it's internal registers. What you've now done is set an 8-bit value inside this IC. Once the IC contains the value you've requested, you toggle the 'latch' pin and the IC will shift these 8 values out to the 8 output pins. These are known as 'parallel' as there is a single pin for each value; as opposed to the input which is serial (or one-after-another) on a single pin.

So, we've used 3 pins/wires here to control 8 output pins... pretty neat hey? We've turned our original 8 Parallel Port pins into (8-3) + 8... 13!

But wait, there's more! There's an 'output' pin on the shift register that reports the 'shifted off' value. What can you do with this? Feed it into a neighbour shift register as the 'input'. Hook up the same clock/latch wires as the first register and then, when you shift the 9th bit into the first, the very first bit you shifted in will be shifted out of the first register and into the second.

This means that, with the same 3 wires, you now have 16 outputs! Of course, you can keep doing this. I can't find anywhere that mentions how many you can effectively chain up. Of course, as you add more, the time to toggle out the values increases and you need to make sure that your code/hardware has time to think about other things instead of spending it all talking to the shift registers.

Connecting it to our previous circuit

We only used one line of the parallel port in the previous circuit and therefore only controlled one LED. For this first shift register, we'll need 3 lines. First thing is to hook up three LEDs with matching resistors. We could just hook two other lines up direct to our new shift register, but I like being able to visualise the data (and troubleshoot issues!)

Parallel-Port with 74HC595With this circuit, you'll be able to use the sample code in the previous post to control the 3 LEDs.

Sending out a 1, 2 or 4 should switch them on individually. Sending any combination of these, by adding them together, will turn on the associated LEDs. For example, sending out the decimal value 3 will switch on the first and second LED. The value 5 will switch on the first and third LED. As the value makes it to the port, it is split into it's individual bits, which are then translated to the data pins.

Once these are working, we're going to splice in some opto-couplers. We don't want any untoward voltages getting back to the parallel port. Optocouplers contain an LED and an internal light sensor. When power is applied to the input, the LED lights and the light sensor receives the signal. This is then output to the secondary circuit. This effectively provides an 'air gap' between the two circuits.

From these couplers we can control our shift register(s). Hook the three outputs to the 74HC595 shift registers SERIAL, CLOCK and LATCH pins. Remember the order as they each play key roles (as per the description of how they work above.)

Once you're ready, check that the three input LEDs react accordingly to basic Parallel Port data. Note that you may get erroneous data coming out of the shift register from the get-go. Data coming off the Parallel Port during system boot cannot be controlled and may cause havoc. We'll do something about this in a later article.

Building this required a LED array... you could do it easier and get one of those bar-graph arrays. Wiring up all the individual LEDs gets a little tricky.

DSC03682 DSC03683 DSC03684

Controlling the data output

Based on the initial description of the shift register, we know that we have to control the 3 data lines in a special sequence. First thing we need is an 8-bit data value to send out. Once we have this we can send each data bit out via the SERIAL line; toggling the CLOCK signal in-between. Finally, toggling the LATCH should see our value displayed in a glorious binary LED representation!

I've used Windows and the Parallel Port code here to manually try and turn on LEDs. My wires are hooked up as D0:SERIAL, D1:CLOCK and D2:LATCH. I am going to send 00000001 as the value to ensure that all LEDs are turned off bar the first.

  1. Ensure that LATCH is low (red)
  2. Toggle D0 to RED, this is a '0' for the first bit of the serial value.
  3. Now toggle the CLOCK (D1) on and off 7 times.
  4. Toggle D0 to GREEN.
  5. Toggle the CLOCK on/off once more.
  6. Toggle D2 on and off...

If everything is hooked up, then you should now have one LED showing on the output of the 74HC595. It didn't quite work with this initial circuit... LEDs would light a little randomly.

DSC03685 DSC03691 DSC03693

Noise

Although the above circuit worked, it was not reliable! Every now and then one LED (or two) past the one I wanted to switch on would also switch on! Sure, my soldering was dodgy, let alone the wiring also being messy. Either way, noise was being introduced and the flipping of the serial and clock was jumbled, causing random output.

The solution to this was to put a 100nf capacitor across the +5v and gnd supplying the 74hc595. This cap should be put as close to the IC pins as possible. Once in place, this stabilised the data from the PC Parallel port.

References

- HowTo: Understand the 74HC595 (David Caffey)
- Gammon Forum: Using a 74HC595 output shift register as a port-expander
- protostack: Introduction to 74HC595 shift register – Controlling 16 LEDs

What's Next?

Next is a 12v throttle. I intend on using the described sample here. The only issue is that it wants a potentiometer to vary the output voltage. This is an analogue method; we'll convert it to digital by calculating 8 resistor values to imitate the throttle at 8 positions.

I'll write this up soon once I've completed the circuit.

18May/160

Commodore 64C: An Introduction

I've had a hankering for an Amiga for a while now... I don't know why.. I think it has something to do with the accelerator that was made for the Amiga 600 that made it go faster than ever thought possible... sure they emulate the entire core in a much faster CPU and high-jack the motherboard... but it's still an awesome feat!

I also have a feeling that I missed out on a whole realm of computing in my childhood by following the Nintendo/IBM route. I'm pretty sure there was a-whole-nother world out there... Sega, Amiga, Atari, TI, etc... that I never got to sample. Actually, I lie... my neighbour had a TI-99/4A, followed by a Sega Master System... but I only ever got to play them briefly. Hunt the Wumpus was random, but fun at the time!

My first Commodore

Officially, this is my second. The first was purchased in the mid-90s at a fair at high school, but didn't work. It was the original breadbox style and was stone dead. Should've left it in the garage!

Anyway, this past weekend I spied a box of junk at the local Trash and Treasure and actually thought I saw an Amiga 500/1200. Instead it turned out to be the 'newer' C64. I was hooked.

DSC03591 DSC03592 DSC03593

The guy wanted $100 for the box. It contained:

  • C64C (missing 3 keys) + Power Supply
  • Composite Video Cable with Stereo Audio
  • Two quickshot joysticks
  • One control pad (looks like a NES clone)
  • 3 odd cartridges
  • Another odd console named 'Tempest'
  • 1571 External Floppy Drive

Now that I list it, it could well be worth the AUD$100. I offered $50. He haggled back to $60... knew I had him. Asked if it worked... he had no idea... so I pulled change from my pocket and made a deal at AUD$52.

Bargain.

Does it work?

Worked first time... plugged it in and switched to A/V input... blue screen of dea... BASIC!

DSC03594 DSC03595 DSC03596

Random 4s and 8s on the screen... and the cursor was stuck hard-left. This directly mapped to the keys that were missing. 4, 8 and HOME. Turns out that there is no spring when the keys are off, so these were all 'pressed'.

DSC03629 DSC03624 DSC03625

Got some tape, placed along the shaft of the missing keys to hold them in the air. Restarted... it works! Quick search on eBay on my phone, from the couch, in front of the LCD TV that was happily displaying technology from 1987. Found replacement keys... ordered them on the spot.

Next google to a sample BASIC app... found a tone generator. Tedious data-entry thanks to taped-keys... but it worked beautifully through the surround system. Hah.

How much more powerful is my phone than this? No idea.

1541-II Floppy Disk Drive

This is external and has its own brick of a power supply. Turns on and hums away when I attempt to access a disk... so I assume it's in working order. There's disks on their way via eBay, so I'll test it out shortly.

DSC03599 DSC03600 DSC03602

The innards

See below for the case opened. I was curious as to why it had a green LED. Turns out Commodore could never work out what colour the LED should be. The warranty seal was also very well voided. Seems to be some newish solder around the PAL/NTSC circuitry... maybe this was a conversion?!

Turns out I have an Assy 250469 Rev. B. Built in 1990 (assumed by the scratched out '91' on the RF Modulator.) This model was still being built in the '92, so I seem to have acquired one of the final models.

DSC03608 DSC03610 DSC03612

DSC03614 DSC03616 DSC03617

DSC03621 DSC03620 DSC03618

What's next?

  1. Yes, that's a model railway under the C64C... I will control it. Turns out I bought a book when I was young that was all about robots and the Commodore 64. I need a VIC-REL or equivalent. Bugger that... let's find the header for the user port and make my own!
  2. Buy floppies (thanks eBay) and test out the drive.
  3. Buy some form of flash disk and play all the games I missed out on. I chose the SD2IEC... waiting for it to arrive.
  4. Serial port? Modem? Ethernet?
  5. What else?

This is fun!