Subscribe via RSS
27Mar/200

Amiga 500 – Internal IDE Port

Whilst looking for side-car Amiga A590 Hard drives for the Amiga 500, I found this deisgn at PCBWay of an internal IDE interface. The design seemed pretty straight-forward, but it did have its caveats. The main one was that this device does not Auto-Configure and therefore needs a boot floppy to use it. This wouldn't have been such a bad problem, if it wasn't for the fact that I wasn't able to write a bootable floppy disk. I therefore got my Goteks working in the A500 first.

In case you didn't know, PCBWay is a fully-fledged PCB design and fabrication site. They even provide a community side (similar to Thingyverse for 3D printing) where users can upload their designs and anyone can have them made! After finding this design on their site, I followed the checkout and a few of boards created. I wanted to save money, so I had two other designs created at the same time... but I'll talk about them in later posts.

DSC04068

With the PCBs now in my hand, it was time to fill them up and test the devices. Using the shopping list of parts provided at the original site, I purchased everything I needed from either Digi-Key or Jaycar.

This all arrived at around the same time and, thanks to being locked up at home due to a bug floating around the entire world, I now had time to get this thing built! First-thing's-first... take your bloody time doing this, otherwise ... or, as I did on the very first build ... you'll solder items in backwards. I quickly put that first attempt aside and started again.

DSC04071

Jaycar only had horizontal 50-pin IDC headers, so I cut it down to fit... not the prettiest!

DSC04072 DSC04080 DSC04081

I also purchased pin strips of both male and female thinking that the board had two individual areas for the male and female pins that the CPU plugs through.

DSC04083

Turns out that was totally wrong and you need to make sure you get the 'triple-length' female pin strips! Here's the item at Jaycar.

DSC04095

They're not cheap, but you want absolute stability when you're dealing with a piggy-backed CPU!

DSC04096 DSC04099 DSC04103

Note that if you look closely at that middle photo.. you'll see that I failed to solder two pins. Sure, the strength of the solder on the neighbouring pins will probably force contact... but... again... take your time!

The IDE header required a re-think back to my 386 upgrade. There's an issue here between providing a male or female pin header on the board. Officially, this is the 'host' of the IDE channel so, like any motherboard, it should provide male pins. You can then use a cable to provide a female IDC connector if your device has male pins. Also note that some units (like the transcend disk-on-a-stick in over here) are built to plug straight into motherboards and therefore will plug straight into this unit.

The only real thing you need to worry about is that if you're using a CF to IDE adapter, make sure it has a female header on it, i.e. on that's meant to go straight into a motherboard, or, if it has male pins, that you have a short IDE cable to go with it. Look over here for the logic on how to run the IDE cable... making sure that you get the pins in the correct order.

Mounting it

It was now finally built! Mounting it into the A500 I had open on the workbench took a little more effort than I expected. It turns out the legs of the piggy-back pin header are quite a bit thicker than the legs of the standard 68000 CPU. This meant that the whole unit required quite a shove to get it into the socket. It also made me wonder if the CPU would happily sit back in again afterwards if I ever had to revert this work. Firstly, anyway, I had to remove the cpu!

DSC04108 DSC04112 DSC04116

I'm pretty sure I mentioned something about taking your time with these things... After successfully removing the CPU from the motherboard, I also successfully bent two pins when mounting it onto my new PCB. Relax, breathe, grab a set of tweezers... realign the pins without snapping and try again!

DSC04120

It was in and, without a disk connected, the machine still powered up. Make sure you test this scenario as a milestone during your build!

DSC04175

Connecting the disk required a little trickery with the power cables. Thankfully there's a 5v header on the adapter and that's all this disk needs.

Testing it

In the zip file provided on the original site, you'll find bootable disk images that have the IDE device driver included. Or do they? It turns out Kickstart 1.3 also had the IDE driver inside... but 1.2 didn't? At first, I connected my Transcend disk-on-a-stick and booted the unit using the Boot_WB13.adf from the original site. I got the following:

DSC04124

Ok, c/assign can't be found. From what I've learnt, c is a folder on all Workbench installations with standard binary tools. Something like the DOS folder in MS-DOS or the /bin folder in Unix. It's trying to run the assign application which creates temporary symbolic links to paths on disks so that the shell knows what to run. The fact that it's failing isn't good, but let's try work out why.

Firstly, where is this line even being called from? It turns out it's the startup-sequence in the s folder on the boot: disk, which happens to be the disk image we downloaded and booted from. We can use the type command to work out what's in this file...

DSC04150

Ok, so it's tried to mount the HDD on DH0:. It's then changed to it, and succeeded? It's then tried to run the assign application from the c folder on the HDD. Uh, there's nothing on this HDD... actually, I have no idea what's on it! Quick way to find out...

DSC04177

Uh, yeah.. that'll never work! The delete command will come in handy here... I went ahead and whacked each of those useless files. Sorry DOS! Note that I could have also formatted the partition at this point... I had tried to do so during this adventure, but I couldn't work out how to format it as FAT (or FAT32) from the Amiga. Whenever I formatted it, it came up as an unknown DOS disk... so I slapped it into a Windows PC and formatted it there.

DSC04178 DSC04179 DSC04181

That last image above shows the Mountlist file located in the devs/ folder. This is super important as it tells mount how to understand what each partition is. It's similar to the /etc/fstab in Unix. Above you can see that it would try to use the fat95 library located in the L folder. Hence, when I formatted it and it became an Amiga partition, the fat95 driver would then throw an error indicating it wasn't a DOS drive. I would still love to know how to fix this Mountlist after a format... what parameters do I need to give the rest instead of just the driver being FastFileSystem?

Anyway, we're getting lost... leave it as FAT and then run copy boot: DH0: to copy the contents of the bootdisk to the HDD. Once done, reboot!

DSC04142

Hmm... still the c/assign error? Switching to the disk saw that only the root files copied... is there a -R switch? Turns out I should have run the following: copy boot: DH0: ALL...

DSC04146 DSC04148 DSC04149

Cool! The next error!? It's trying to map a fonts folder? Checking the bootdisk, there is no such folder. Oh, right, the bootdisk doesn't actually have WB1.3 on it! It's just a booter to get WB1.3 running off the HDD. Go and purchase the Floppy & Hard Disk Image Pack from Amiga Forever, download the ADFs and get them onto your USB stick. Boot the machine with the IDE bootdisk, swap the ADF via the Gotek change disk button to WB1.3 and run the same copy, but this time with the differing drive name: copy workbench1.3: DH0: ALL

DSC04151

And reboot!

DSC04157

Holy moly... my HDD is visible! Note that this was tested on both a Kickstart 1.2 and Kickstart 1.3 Amiga 500! I quickly booted up SysInfo to see what the system specs were.

DSC04170 DSC04172 DSC04171

Yup, it's still a lowly A500. Note, if you want one of these, please drop a comment below and I'll contact you!

Filed under: C64/Amiga No Comments
24Mar/200

Amiga 500 – Gotek

So, the goal was an internal IDE drive, but to do that I needed a boot disk as my A500 with Kickstart 1.2 would not auto-boot. To make it boot and find a HDD, I needed a floppy image written to a floppy disk. Of course, you can't write this with a standard PC drive; instead I either needed a bootable Workbench disk and serial magic (like what I did to the Apple II back in the day) to copy over floppy-copying-software, or just use a Gotek!

I happened to have a spare 'cheap' gotek that I've complained about before which deserved to be used for this hack and slashery.

DSC04004

Could I flash Amiga firmware to it? I don't have an FTDI USB device, but I have plenty of Arduinos! Firstly though, we'll need to allow data access to the Gotek. This means soldering on some pin-headers to the holes right behind the power plug.

DSC04006 DSC04011 DSC04013

Regarding using an Arduino, it's the internet, so someone has already done it. Wiring it up was pretty straight-forward: dedicate two pins to SoftSerial and then make sure the transmission line has a few resistors on it. The Gotek is TTL level, which means 3.3v data signals. As the Arduino puts out 5v, we need a 4.7k resistor between the TX pin and the gotek. Where the resistor meets your wire, also put a 10k resistor to ground.

DSC04020

Yup, you can't see shit because of my 'mood lighting'. The sketch on the Arduino was as follows:

#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11); // RX, TX
void setup() {
  Serial.begin(9600);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for native USB port only
  }
  mySerial.begin(9600);
}

void loop() { // run over and over
  if (mySerial.available()) {
    Serial.write(mySerial.read());
  }
  if (Serial.available()) {
    mySerial.write(Serial.read());
  }
}

Very simply, the code brings up the hardware port to 9600 baud and the same with the softserial port on pins 10 and 11. Pin 11 is TX and had the resistors, as mentioned above. The Gotek then needed 5v and GND from the Arduino. From there, you need to install the STM software and grab the Cortex hex image to flash. It's all in this blog post, with the downloads being at the very bottom.

DSC04021 DSC04023 DSC04024

DSC04026 DSC04029 DSC04030

I then unmounted the existing drive in the Amiga and swapped in the Gotek on a 3d-printed base that a friend (thanks Shouchan!) had made. Unfortunately, it seems to be for a newer revision of the A500? Or I'm mounting it wrong. Regardless, it all went in and the access light just stayed on when I booted the machine. No dice, just the usual Kickstart 1.2 screen asking for a floppy.

DSC04045

At this point, I could probably write a few extra paragraphs here on how I then went and tried FlashFloppy, to have that fail too. I thought I should then try HxC which also, after paying for it, ended up with the same error. So... I slept.

Testing out my 'better' Gotek

I had another Gotek (with display and buttons) that I've previously used in my IBM PCs and didn't really want to hack apart. My assumption was that the 'fake' one above with no display or buttons couldn't handle the 3rd-party firmware and this just had to work!

DSC04047

I did the usual... soldered on the header and programmed it.

DSC04035 DSC04043 DSC04045

This time I used the USB Serial adapter from Jaycar that I'd bought above to get HxC to burn. It wouldn't work via the Arduino as the baud rate needs to be 115200 and the Arduino can't 'pipe' this through quick enough! Anyway, as you can see above, I flashed it and still got the standard 'insert disk' screen. What am I doing wrong!? I then looked at the actual Gotek, which now had a beautiful error on display...

DSC04049

Ah crap... remember back in the day with standard floppy drives... how when you had the ribbon cable backwards, they'd just stay lit up (or even make a horrid repetitive searching noise)!? Amiga drives do this too. Better yet, when a Gotek (with a display) has the ribbon cable backwards, it'll tell you with a rib warning!

All this time spent above was a total waste as I'd just had the cable backwards the whole time. To me, the cable was actually forwards, as pin 1 matched pin 1 on both ends... but it turns out you need to flip it on the Gotek side. I'm sure this information is written in a manual somewhere?

A quick flip of the cable and...

DSC04050

Hoy polloy... I've learnt a lot... have a bit of new usb-serial hardware, and two dismantled Goteks. So, I then purchased the original Workbench disks from Amiga Forever (USD$9.95 for just the floppy images!) and threw the ADFs on the USB drive.

DSC04058 DSC04059 DSC04062

DSC04064 DSC04065 DSC04066

Ah. Nice! Time to give this thing an internal IDE HDD.

Filed under: C64/Amiga No Comments
4Mar/200

Commodore 1084S Monitor Power Switch

As per usual, I saw an auction on eBay and thought I'd have a crack. It happened to be 3 Amiga 500s with a lot of paraphernalia. Included, if I picked it up personally, was a beautiful Commodore 1084S monitor, with a faulty power switch.

DSC03795

After a quick message to a good friend in the Amiga community (thanks Steve!), I had a link to a fellow Australian's anonymous blog on blogspot under the name Random Mayhem. Here's the link to the article, but it seems to have disappeared in the time that I've now come around to writing this post. I picked everything up mid-february, got around to purchasing the items soon after... but now two weeks later the blog is gone! Thankfully, here's the cached version from Google. I have no idea how long that'll be around.

Thankfully, the whole process is very straightforward. First up you'll need to buy a replacement switch from Wagner Electronics Super Store in Sydney. From here, we make minor mods to the switch, as it now has a secondary pole, and then swap it in.

Opening up the Monitor

CRT Monitor contain high voltages, which can be stored for long periods of time. BE CAREFUL! Yes, the usual warning. The large capacitors in CRT monitors will hold charge and need to be discharged if the monitor has been on recently. Grab an insulated flat-head screwdriver and bridge the pins on any capacitor. If you get a spark out of it, then you've probably just saved that spark from travelling through your finger.

DSC03801

There's around 6 screws to remove to take the main housing off. From here, don't pull it away with speed. There are two speakers in the housing and these are connected by relatively-loose cables that run to the front-left of the monitor, where the headphone jack is. You'll need to lift the housing around 5cm off the chassis and then unplug these two cables. Once done, you can remove the housing completely.

DSC03802

DSC03804 DSC03807 DSC03809

From here, give the internals a good clean-up... my unit sure did need it!

Removing the existing switch

The switch is held in with 6 pins: 4 electrical contacts and two for the support bracket. Removing it will involve removing the solder from the pins and then 'walking' the switch out. The basic idea of 'walking' is to heat up the pins on one side of the switch and prise it up as high as possible, only moving it millimetres at a time. From here, heat up and loosen the pins at the other end and prise that up. Once you've got one end clear of the solder pads, heating up the other end should see the whole switch come out.

DSC03811 DSC03816 DSC03823

With the switch out, we can now remove the support bracket. This is held in by two bent tabs on the top side. Grab a set of reverse pliers, the ones that open when squeezed, and slowly bend the top pins open. We want to re-use this support bracket, so try not to snap the tabs off! They should bend relatively easily. Test if you can wriggle the switch vertically out of the bracket each time to prevent opening up the tabs too much. Too much flexing of the tabs could weaken and see them tear off.

DSC03814 DSC03812 DSC03821

With everything apart, we can now install the new switch.

Modifying and installing the new switch

First up, you need to cut off the three pins on the new model. We don't need these on our old monitor. I grabbed my sharpest pair of pliers and cut the tabs off right at the base. I suppose you could use them for a mod if you wanted? LED lighting? an extra amp for the speakers? I had no use though.

DSC03817

Once done, you can slide the support bracket on and gently bend the tabs back into position. The whole switch will then slide perfectly into the previous switch's position. If not, just make sure all the solder holes are clean. Once in place, solder away!

Re-assembling the housing

Just a quick note here... make sure you run the speaker cables correctly. One runs internally around the entirety of the housing so as to keep it from electrical interference produced by the circuitry. I assume there's also heat concerns, so make sure it's not running too close the to main tube. There are actually little plastic tabs where you can push the cable into, to keep it in position when you push the housing onto the chassis.

DSC03817

Also, when plugging the cables back in, make sure you have them the right way around. You wrote down the order, didn't you? Or did you take a photo prior!?

Testing... or... please keep the magic smoke in!

I bit the bullet and just applied power and video data. Thankfully, I got a Kickstart 1.2 boot screen! I knew the Amiga already worked, as I'd tested the black-and-white composite out. I was very happy to see this crispy screen come to life.

DSC03825

DSC03827 DSC03830 DSC03831

As you can see... it was time to load A-Train, which I'd bought whilst I had the A1200, but which had arrived after I'd sold the A1200.

A-Train disks on the Amiga

A quick note here... if you look at the final photo above, you'll notice A-Train is asking for 'Disk 2'.

DSC03834

Uh... 'Disk 2'? I'd booted off 'Lo-res', so I slapped in 'Hi-res'. It worked, but the disk naming is terrible. Nowhere on those disks is the number 1 or 2?

DSC03837

DSC03835 DSC03836 DSC03840

Monitor built-in stand

Just in-case you didn't notice, there's a built-in stand in the base of the monitor. The stand consists of two plates of plastic that are hinged to provide a triangular stand, supporting the rear of the monitor. This is specifically to be used when the front half of the monitor is sitting on the rear edge of your Amiga.

DSC03845 DSC03843 DSC03842

It's actually very handy. Without it, the angle that the monitor sits at would put severe pressure on any cable plugged into the back.

Filed under: C64/Amiga No Comments
15Sep/161

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!

14Sep/160

Amiga 1200: System Sounds are Mono!

Working on vintage hardware, with a vintage set of speakers (yes, yes... wrong brand.. I know...) can cause no end of stress. Recently I set up the Amiga 1200 on my desk and used my trusty old AppleDesign Powered Speakers. I'd had issues with these in the past: One channel was soft and the balance was even at 75% left. After opening them up, I re-soldered a few dry joints and all worked well again!

DSC06036

I was nothing short of horrified when I heard the first beep from the Amiga. It only came through one channel. I checked the cables, the balance and jiggled everything... but to no avail. Further system sounds also failed to be broadcast over stereo.

Well... it turns out that system sounds are mono! Don't ever expect the base Amiga OS 3.9 to send sounds over both channels... as much as you mash the keyboard to make the actual beep occur!

Hippo Player came to my salvation and happily played Action on a street in full 2-channel glory!

It also turns out that I'm not the only person who has noticed this.

13Sep/161

Amiga 1200: Installing OS 3.9 from USB

Not having had an Amiga when younger, I'm completely foreign to the basics. Due to this, I've managed to make a dog's breakfast of the main hard disk on my Amiga 1200. I had installed software from left, right and center and have started to have random issues. It got to the point where AmiDock couldn't find a correctly versioned library and AWeb just wouldn't load.

Due to all of the above, and my new understanding of the directory structure and basic OS layout, my weekend task was to completely rebuild the Amiga 1200's CF HD from scratch. I didn't want to cheat either... so I attempted to do it without using WinUAE to build the base image.

TL;DR: For those of you who just want to get something done... scroll down to the Amiga 911 Maker section. The first two sections are just me ranting and learning and breaking things. In the end, if I'd just used the Maker and built the disk I would've had the system up an running in an hour!

Bootdisk required - Amiga911

I needed USB to be available when my Amiga booted, the CD-ROM drive that I had was an external IDE boxed unit and I'd previously installed Poseidon with my Rapid Road USB card. After a little searching, I came across the Amiga911 Emergency Boot Disks. Unfortunately, the chicken-vs-egg scenario occurs straight away as I needed a bootable Amiga to be able to write a bootable floppy image! Fortunately, I did still have a bootable Amiga and managed to get to a shell to burn ADF images.

Glancing over the Amiga911 site, I chose the first basic disk image which included the Poseidon USB stack. Writing it to a spare DD floppy using adf2disk was easy enough. Unfortunately, upon boot I was presented with Software Failure; ramlib - Program failed (error #80000004). Wait for disk activity to finish.

DSC06013

I've dealt with this before: the reason for this error is that I have Kickstart 3.X ROMs from Cloanto and these need a specific library to be installed on the boot partition library folder. Instead of obtaining the library, I switched to a spare set of Kickstart 3.1 ROMs and managed to get further. Before I continue the saga, a quick note on ROMs: stock 3.1 ROMs are 1 pin shorter than the Cloanto versions. These need to be aligned to the RIGHT of the socket. ROM 2 is at the top, ROM 1 underneath. It is a fatal mistake to left-align them! i.e. make sure there is a spare pin on the left-hand side of the socket, as per below.

DSC06009

DSC06010

Where was I?... Oh yeah, I could now boot into the Amiga911 Emergency Disk! Progress was halted as I was quickly warned that I needed a real Workbench disk to proceed. I didn't have one in the flesh, so I had to revert back to my main partition to create one. Of course, the main partition would no longer boot as it seemed to expect the 3.X Kickstart ROM. I swapped them back in ... bending pins and putting them in the wrong order. Finally... after 3 failed boots (black screens) I was back at my crappy workbench. I wrote the Workbench disk to a spare DD floppy.

At this point I decided to actually copy the 3.X ROM libraries required to the Amiga911 Emergency Boot Disk so it would boot... that way I wouldn't have to swap the ROMs again. The library in question was workbench.library as mentioned on Cloanto's Site. Whilst trying to copy this over to the Amiga911 disk, I initially thought I was in trouble... the only file showing on the burnt floppy was an Activate Amiga911 executable. My brain then thought magic happened on boot and that everything was in compressed archives that got decompressed during startup. This actually is the case, but there are still base system files that need to be executed first. Of course, I wasn't showing all files and initially couldn't see them. After this I managed to find the Libs folder and copied the relevant workbench.library to it.

DSC06016 DSC06015 DSC06017

It then booted! A few presses of enter got me to a prompt asking for the workbench disk. I swapped to the disk I'd burnt earlier (note that this is the wbench image, not the install image) and ... upon 'press any key' it told me it wasn't a proper workbench disk. On second try, it worked. Seems I hadn't waited long enough the the disk poller to unmount the boot disk and mount the workbench disk.

DSC06018 DSC06019 DSC06020

Amiga911 then copied a whole bunch of files off the workbench disk and asked me to put the Amiga911 disk back in... making sure it was write enabled. I did as asked, this time with an obligatory 5 second pause between removal/insertion/keypress. The installation process then stripped hunks... I giggled. It seemed to be building a compressed system image on the floppy. The compression process then failed with a crappy write error (you could hear it coming by the repetitive noises the floppy drive was making)... I wonder if this was because I put a library on the disk that took up too much space? Funny thing was that the Amiga911 script considered the process a success... I don't think it correctly read the return code from the LZX utliity!

Either way, I let it finish and the rebooted the machine... it seemed to get quite a way but then bombed out with just a Workbench Screen title bar and no disk activity. So. Back to the start. I went through the process again with a newer DD floppy (yes, I managed to acquire a fresh box of floppies!) and it all worked. The disk was written. I then copied the workbench.library from my OS 3.9 partition to the floppy and restarted.

DSC06022 DSC06023 DSC06024

DSC06025 DSC06026 DSC06028

DSC06029

I was presented with an invalid library message and a hung screen.... no workbench! Yey. I attempted to use AmiKick to get the workbench.library from my 3.1 KickStart ROM, but this didn't help either. So... back to kickstart 3.1. The boot disk is built from Workbench 3.1, so using the 3.9 library was (in hindsight) an obvious mistake. It turns out that you can get the relevant 3.1 disks from Cloanto if you have a valid serial number and you register... I've since done this and might try this method again later just for shits and giggles!

Back to the main task, I chose to downgrade back to 3.1 to be able to continue. After another dangerous ROM swap, I had the Amiga911 disk booting. Turns out the base Amiga911 disk doesn't contain the drivers for my USB card though! I searched my OS3.9 disk and copied the rapidroadrcusb driver to the floppy. I also then removed the drivers that I didn't need. At this point, I was really starting to wonder if all of this effort was going to pay off! Upon reboot, I manually started the USB Stack (check the Tools menu in Workbench) and my USB Key appeared on the desktop. Ok... nearly there... I would also have to install AmiCDFS at this point.

And so I did that... I dropped the files from AmiCDFS (there's no installer) into the relevant locations on the floppy disk... watching it fill up... I think I had around 40kb free in the end. After another reboot, and a manual USB stack start, I had a frozen workbench. Oh joy.

This has to be the equivalent of DLL-hell in windows. I am sure all of these 40-something versions on libraries mean something... I mean... they could be decades apart and completely incompatible. At this point I'd realised I made a stupid executive decision when installing AmiCDFS: there was already a CD0 on the Amiga911 disk in Devs/DOSDrivers and I left it there... for some reason I thought it would be ok. I checked the files again and realised that the CD0 icon on the floppy was the old driver from the floppy, not the driver from the AmiCDFS archive. I re-copied this into Devs/DOSDrivers from the AmiCDFS archive and rebooted. After a reboot, I heard the CD spin up... but no icon on the workbench. I unplugged and re-plugged the CD Drive and ... SUCCESS!

DSC06033

So, at that point I had a USB stack running from this disk... from there I needed to actually install Amiga OS 3.9. Before doing so, I used SFSFormat and wiped the main OS partition that had supported me up to this point... no turning back now!

I had booted off the floppy, so the OS disk wasn't needed and the format went fine. Trying to then run the OS 3.9 Installer off the CD presented me with "Could not load required libraries." What the hell? All this way just to realise that the boot disk doesn't have the right files to allow the OS 3.9 Installer to function? I suppose that's why there is another disk available called the OS 3.9 Emergency Disk II? I seem to have gotten this far, on my own, but for no apparent point as there's another ready-to-roll disk that'll work better.

(Hindsight: That "Could not load required libraries." error was actually because of the Kickstart 3.X ROM!)

Using the Emergency Boot Disk II

Back to square one, I wrote the ADF for this disk to a new floppy. After a reboot it told me that the disk needed to be activated and that this had to be done from a standard boot and not whilst booting this emergency disk. So, back to the Amiga911 with USB floppy that I'd built above.

I swapped the new disk back in and then ran the activation program. It brought up the familiar console screen and told me to make sure that I had an Amiga OS 3.9 CD mounted. This was the case, so I whacked enter. I was then presented with errors...

Turns out that the keyfile for LZX is not on the Amiga911 boot disk. Fortunately, LZX has been freeware for a long time and you can get the licence file from here. Once back in Workbench, I copied it to the Ramdisk:System/System/L directory. Trying again... the disk built! Of course... it had the wrong USB drivers. I did the same steps as above and put the correct drivers in and AmiCDFS. On a reboot, the machine actually booted! Now, this was built off an OS3.9 boot image, so I swapped my Kickstart 3.X ROMs back in. Why not? OS3.9 is correctly supported!

After a reboot, I actually successfully installed Amiga OS 3.9 on my main CF card. It rebooted and all was OK! I then tried to install Boing Bag 1 and got all sorts of errors. Initially it was due to "failed execution 3" and then "Could not load workbench details". Both of these errors indicated a broken "installer". I replaced it with Installer-43_3 and then InstallerNG, but nothing worked... I couldn't complete the installation of Boing Bag 1.

After a little more searching, I realised that I'd put in all this effort for nothing. Amiga 911 actually comes with an Amiga911 Maker which will allow you to configure your boot disk parameters and then write a totally targeted boot disk for your machine!

Amiga 911 Maker

This application is very easy to use and provides a step-by-step GUI for building your boot disk. I had troubles using it with the Kickstart 3.X ROMs, but that could have been due to a broken base OS install. I do admit though, with the same install but with Kickstart 3.1 ROMs, the application worked flawlessly. I'm still trying to work out why that occurs!

a911-makera911-sys-1 a911-sys-2

a911-sys-3 a911-apps

Anyway, step through the application and configure your disk. The questions are all self-explanatory and the processes are numbered. You will need the Amiga OS 3.9 CD mounted to build a boot disk. At the end, slap in a blank or erasable DD floppy and write your disk.

After configuring, I rebooted my machine with the new disk and everything loaded flawlessly! A little painful after the effort spent above, but hey, we're getting somewhere. OS 3.9 installed perfectly and then all Boing Bag's (nearly) worked a treat! I haven't tried to switch back to the 3.X ROMs yet.

A quick note on Boing Bag 3&4

After finally getting 1 and 2 installed, I ran into an error with the combined 3&4 package. If I selected the A1200 as the model, I was presented with an error indicating that No help text specified in line 835. I extracted and re-extracted using both LHA and UNARC, but to no avail... the error kept appearing.

DSC06068

I dug into the files and realised that the Install file was nothing more than a script. The language was actually quite clean and tidy, based on indentation and parenthesis. I scrolled down to 835 and saw an askchoice which was meant to present a prompt on whether or not I wanted to update scsi.device. The askchoice above had an extra line in the definition providing the 'help' text whereas this one didn't. I therefore tried to add it via the ed command. Scrolling down to the line took a while, adding the line was easy, so was saving... but then I got weirder errors from the installer. It seems that ED truncates lines that are too long and does damage to the file! Instead I cheated and edited the file on Notepad++ on windows.

DSC06069 DSC06072 DSC06073

Fixing this line allowed me to install the Boing Bag!

Further software to install

I want to try ClassicWB. There's a specific distro for the A1200 running OS3.9. I assume this installs updated icons... if not, then maybe NewIcons or something similar.

1Sep/160

Amiga 1200: Rapid Road USB

After cross-grading from the ACA1220 to the ACA1221, I'd decided that USB would be an easier transfer mechanism over PCMCIA to CF cards. USB would also allow more peripheral options, as opposed to PCMCIA ethernet cards and CDROM drives.

DSC05097 DSC05913 DSC05914

Whilst purchasing the ACA1221, I also purchased the Rapid Road USB interface. This kit comes with all you need to add two USB ports to an Amiga 1200. It's all been sitting in a box for quite a while as I've been distracted by other tasks.

Hardware Installation

The Rapid Road slots on nicely to the ACA1221. As that the ACA1221 is a smaller size, there is ample room and, once on, the whole kit takes up the previous size of standard accelerators. I did find that the unit didn't seem to plug all the way on. It definitely makes contact though. It might be advisable to somehow provide a backing support beam to keep the Rapid Road in place.

DSC05915 DSC05916 DSC05917

You need to connect power from the Rapid Road to the ACA1221 and then the ground wire to the chassis. The floppy drive screw provides a good location for this. There is no need for any other cabling, apart from the USB plugs themselves!

DSC05918 DSC05919 DSC05920

Some might call it butchering... I call it creative-license. Yes, I didn't really measure or calculate a precise entry for my grinder, but in the end, the USB sockets are firmly installed. I used M4 screws that I had lying around and drilled them into the rubber of the plugs.

DSC05921

Everything fit back together nicely. The trapdoor cover is now an essential part of this Amiga 1200!

Software Installation

The USB stack used is known as Poseidon. You can find the links on the Icomp.de Rapid Road Wiki Page. Once downloaded, get the LHA to the Amiga. Of course, you can't do this via USB yet!

DSC05923 DSC05924 DSC05926

Installation was very next-next-finish. The default options put everything in the correct locations. Once the installer finishes, the USB stack is actually loaded! I had already put my USB key into the slot and the bloody thing showed up on the desktop. It also made a really funky space-ship sounding noise... turns out this happens upon device insertion.

DSC05927

At this point, I thought I was done. I rebooted the Amiga after playing with files on the USB key. Upon reboot, I got an error from the startup script: PsdStackDLoader not found. Turns out that this script is created once you've gone through the configuration. This is done via the Trident Prefs file which you'll find on the drive you installed Poseidon to.

DSC05928 DSC05929 DSC05930

Run through this, it's all pretty self-explanatory. As long as you chose the correct driver during install then it'll be selectable. It should come 'online' after configuration. Make sure you save all your changes at the end. I didn't configure any further classes or devices.

DSC05931

On the next reboot... my USB Mass Storage Device was mounted again.

USB CD-ROM Drive

I have an external drive and tried it... unfortunately it needs more power than the USB ports put out. I'll be finding a powered hub shortly and will test this again.

DSC05932 DSC05935 DSC05936

The hub in the middle didn't help... it just chewed more power as I didn't have an adapter for it! Turns out that buying a powered hub didn't help either... I needed a specific cable that provided two-ports-worth of amperes to power the CD unit.

DSC05937 DSC05939 DSC05941

Ok, we're now recognised... I can see the CD drive in the Trident prefs tool... but we don't have a CD mounted on the desktop? What gives?

DSC05943 DSC05944 DSC05945

Ahhh... big hint there. I needed to download and install AmiCDFS. After doing so, and rebooting, I had a CD mounted on the desktop! I got lazy whilst installing AmiCDFS and just dragged the C, L and LIBS folder to OS:. I expected this would merge the folders, and it did, but it also overwrote the icons! Must be stored in folder metadata somewhere.

DSC05946 DSC05949 DSC05950

A quick check of what was on the CD...

DSC05951 DSC05953DSC05954

DSC05957

...and then a great time was had by all destroying the landscape!

4Aug/162

Commodore 64: Using an ancient BW TV

Using the Commodore 64 on the main TV produces a really great picture over the composite cables, but using it via a converter to VGA or via RF is a little dicey. I like the idea of 1:1 picture when using composite, there's no need to covert the signal. I also don't always get to use the main TV, so I went hunting for a suitable display for the Commodore 64.

DSC05296

DSC05302 DSC05303 DSC05297

Turns out that last weekend I was in luck. Whilst rummaging at the local Trash and Treasure I stumbled across a Samsung LCD TV (RF, VGA, Composite and Component in!) and then... the holy grail... a tiny, portable, black-and-white CRT Television! Check out that hideous battery pack.

It happily allows you to scan the VHF/UHF airwaves; unfortunately there aren't any signals broadcast in this spectrum anymore. Actually, at the low end of VHF I got a local radio station, but no picture. It has the option for an external antenna, but this used a mono 3.5" audio jack.

Hooking it up to the C64

The external antenna jack was easy to work with. Opening the TV (runs on DC voltage, but BE VERY CAREFUL WITH CAPACITORS NEAR THE TUBE), I inspected the circuitry and found that the in-built telescopic antenna was also wired into the jack. This makes sense: plugging in the external antenna disables the internal antenna. The jack functions as a nice routing switch, choosing between sources when the jack has a cable plugged in.

DSC05305 DSC05306 DSC05308

DSC05309 DSC05311 DSC05313

DSC05318 DSC05320 DSC05321

With this knowledge, I chopped up a 3.5" audio cable that I had spare and worked out which wire was ground. As expected, it turns out that the shielding was ground and the very tip (the white audio wire, red is unconnected) made contact with the RF input pin and disabled the internal antenna. With this, I then cut an RCA lead and joined the relevant cables. The C64 has a single RCA-style port for the RF output. Plugging the wire together, I then started scanning the airwaves.

I vaguely remember, from back in the day when tuning in a brand new Nintendo Entertainment System, that most consoles output a frequency somewhere near UHF channel 60. I happened to start at the 'top' of the UHF band, but after winding the dial to the other end I had a picture!

DSC05323 DSC05326 DSC05338

There was further tuning on the side. Contrast, brightness and V-Hold allowed me to get quite a clear display in black and white, of course.

The fun part now was taking a quality picture of the tube. Shutter speeds are usually way too quick to see the full image... the camera can easily beat the scanline. I therefore slowed the camera down. Using this theory, I also had fun and sped the camera up...

DSC05329 DSC05328 DSC05330

Hah... nice... very easy to see how the tube works. That Horizontal scanline illuminates a bunch of dots/pixels and does it fast enough to resemble a whole picture to the slow human brain.

Testing a game

My first cartridge was acquired from Game Over? in Amsterdam. This is 'Rat Radar Race', a game I'd never heard of. It was purchased because I didn't want to leave the shop empty-handed and, for quite a while, I've wanted to test out how cartridges work.

DSC05143 DSC05335 DSC05336

I plugged it in and turned on the machine. I was amazed to find that it booted straight into the game. Very seamless and very fast! With floppy disks and tapes you actually had to enter BASIC commands to boot. This method is much nicer!

The best part? Audio! The RF cable was dodgy, but functioning quite well. The picture and hideous audio was being output rather well. I tried the game for a bit: You're a mouse, there's three of you... you navigate a maze by holding down the arrow of the direction you wish to turn next. Scaling the maze, you pick up cheese. If you hit a cat or a fellow 'blind' mouse then you fail. The theme music is actually the 'three blind mice' 'melody'.

RF Modulation/Demodulation

Just like an old dial-up modem, the RF mechanism for getting your console to display on your TV is inefficient. RF was meant for radio waves; the goal was to be able to transmit images over long distances. The tuner in the TV is therefore capable of tuning in to differing frequencies, producing different channels on your display.

This is overkill if your console is sitting right next to the TV. There is no real need to convert to a lossy format, only to make the TV find the signal and convert it back to a displayable format. Hence, TVs later added extra inputs for 'direct' signals. After RF came composite, SCART, Component, VGA, DVI, HDMI, etc... The Commodore 64 can actually produce a composite signal (as I was using on my other TV), so I wonder how hard it would be to provide a direct composite input into this little TV?

Bypassing the RF input and providing Composite

Turns out that this is totally achievable. The job of the 'tuner' circuit in the TV is actually to produce a composite video signal to rest of the video circuitry. The main question is: Where do I inject the composite signal from the C64 without destroying the TV, the C64 or endangering myself?

Our first step is to inspect the circuitry and determine what ICs are used. Next we'll check out the datasheets and then try and work out a method for signal injection. The signals we are talking about are available 'naked' on the back/front of most audio/visual components, so shorting them out is possible in the real-world and therefore shouldn't damage our equipment if we happen to do so. The main issue is when you wire up the signal to a power rail or other high-voltage feed... such a process wont end well!

I would first recommend that you review a few BW TV Schematics to understand what basic components are used. Ralph K has a great article: TV and VCR tuner modules which has a schematic for a tuner that shows how the fundamental components are connected. The tuner IC actually seems to be a mirror of the one used in this TV... either way, it still helped with the circuit tracing.

DSC05386 DSC05388 DSC05389

A quick scan of the circuit board in this TV shows that it was built on a suite of Samsung chips. There's a KA2133 - 1-Chip Deflection System that provides the synchronisation for the tube. There's high voltages down in this area, so be very careful around the large capacitors!

Up under the tube is a KA2101 - Linear Integrated Circuit (TV Sound IF Amplifier). Not exactly what we're after, but we'll need this after we get the video fed in.

Top left of the board is the RF 'tuner'. Actually, the left-most box is a de-modulator. It does the opposite of what the RF modulator inside the C64 does. Unfortunately, it's not as simple as the modulator; it needs to be fed in variable parameters to determine the exact frequency to demodulate at. The C64 merely has a fixed set of parameters to modulate the signal.

You can see the wires running from the front panel into the space between the demodulator and, what I believe is, the tuner next to it on the right. This tuner is also shielded, but from the underside of the board I can see it has an IC in there. With a good torch and a little more disassembly of the chassis I was able to read the model of the IC. It is a KA2912 - Video IF Processor for BW TVs. Bingo. That datasheet also shows that Pin 3 is the video output.

The underside of the circuit board also has the pin numbers for the IC. How awesome for us? And for the assembly line lemmings who constructed it. Thanks to PIN DETAILS OF IC A-Z, BASIC ELECTRONICS AND ANTENNA : KA2912, we can see that it actually outputs a composite signal!

Injecting an external composite signal

From here, we're going to do damage to the circuit board. The first step is to bare the trace running to pin 3 by scratching the protective coating away. I've used my pocketknife to do this.

DSC05400

DSC05401 DSC05404 DSC05406

Next we need to actually cut the track. Use the sharpest tool you have and scratch the track at a perpendicular angle, slicing a gap into the board. Make it a little wider than 1mm. A flat-head screwdriver can be used once the initial cut is in place. Now that you've got pads to solder to, tin the areas that are bare. Make sure that you don't have any solder bridging the gap! At this point I then turned on the TV to test it. No picture? Perfect! The signal from the UHF/VHF tuner has been severed.

At this point, as a test, we're going to hook the composite RCA plug directly into this track. It's better to find out as early as possible if we've got the track or location wrong. If there is no picture when you do this, then you'll need to dig further into the datasheets and determine a better location to cut in the signal.

DSC05410 DSC05412 DSC05414

I hooked up the trusty C64 and ... it worked! Well.. nearly... the picture was scrolling and buzzing awfully. Turns out that there are two GROUNDs in on the circuit board. There's the 'signal ground' and 'supply ground'. If you, as I did with a paper-clip, ground the incoming signal to the supply ground then you'll get a shit signal. I then tried grounding to the other signal ground and got a much clearer picture. It was still rolling though.

BW TV Animation

What could be the problem? I quickly rotated the V-HOLD trimpot and had no luck... picture still rolling. At this point, I should have stopped ... breathed ... rolled the trimpot slowly... and tested it properly. But I didn't... instead I went and re-adjusted EVERY pot on the board. In fact, I didn't keep an initial record of what they were all set to and COMPLETELY de-configured the TV. I then spent another night re-configuring based on guesses from the photos I took for this blog. Painful... There were also fragile wires around the tuner circuit of which I managed to break free of the circuit board; these then required resoldering and reinforcing. Finally, I was nearly back to a functional TV again, the final issue being that a trimpot I replaced was grounding against the tuner RF shield! After fixing all these mistakes, I had a rather reliable picture.

DSC05454

Now that this was certain, I went about inserting a switch that selected between the antenna plug or the composite input. This was a DPST switch, as I wanted to switch the mono audio as well.

DSC05460 DSC05466

Now that I had a quick way to switch between both inputs, I plugged in both the RF signal and the Composite from the C64.

DSC05470 DSC05472

For the standard BASIC screen, shown above, the picture was very nice on composite (first picture) and quite blurry on RF (second picture). Either way, they both showed well.

DSC05467 DSC05469

Above is the display difference of a game cartridge. It actually seems that the cartridge is changing how the C64 outputs the picture! The first picture is composite and seems to be over-scanning? The second is RF and is happily rendered within the bounds of the picture tube. I wonder if that's PAL vs. NTSC or some other timing issue. Or maybe because I happened to alter all the trimpots and de-configured the TV. I'll keep digging.

Audio

The same trick was then applied to the sound channel output by the KA2101 - Audio amplifier. Documentation, other than the datasheet, on the KA2101 wasn't so easy to find, so I searched for similar devices. Turns out the MC1358 is a clone (let's not get into which one was created first) and there are quite a few circuits available online as examples of audio amplifiers.

If you look here at TradeOFIC, you'll see a stereo amplifier. We don't need 2 channels, but we do need to know where to inject our composite audio signal. On the mid-left of the diagram, you'll notice that they have an input select that cuts the line from Pin 8 of the MC1358 and splices in audio from an external plug. I love it when it's this simple! There is a capacitor on the other side, so we'll check our circuit and cut in after that if we have one too.

DSC05478

DSC05482 DSC05483 DSC05486

DSC05489 DSC05490 DSC05491

The circuit was cut and the wires were hacked on. I then fed via the external audio input via the same DPST switch that I used for the audio. I only need to switch one wire as ground is common (remember to use SIGNAL ground!) and the audio is mono, so there is only one audio and one video wire. Having a TPST switch would've allowed for 'future expandability', but I cannot see myself installing stereo speakers into this little beast.

The best part? It seems that feeding a proper audio signal in with the composite video stabilised the video signal! Look at that crisp picture!

Looking back...

This was not an easy task... this post was written around 4 nights after I started pulling apart the TV. Take your time with old electronics. The case was brittle and the circuit board had been repaired and re-soldered.

DSC05394 DSC05395 DSC05398

One thing I didn't mention above: I had to replace one shotty capacitor and I destroyed a trimpot. Don't forget that flexing wires around will break their solder joints... so expect to re-tin the majority of contacts under the board. Go nuts and replace/re-tin ANYTHING that looks suspicious!

Capacitors are a standard item to replace. Cell batteries are usually next in line for leaking. You're bound to find all sorts of issues with vintage items. Good luck!

Other References

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!

26Jul/160

AmigaDOS to Windows CMD/DOS Reference

Recently acquiring an Amiga has lead me to realise that not all command prompts are equal. *NIX shells aside, I had expected *DOS prompts to act on a standard set of commands... turns out I was gravely mistaken!

One imporant point: When copying from Windows, long filenames will have a '~1' at the end. The 'tilde', to AmigaDOS, is actually a wildcard. So when you're deleting, etc... it'll match ALL THE BLOODY FILES and delete them all on you. Therefore, when copying to Amiga, make sure that all filenames are in the old-school 8.3 format. See more on pattern matching here.

Therefore, I present to you the following reference guide. I've provided the mapping, where possible, between standard Microsoft *DOS commands and their equivalent AmigaDOS commands. Find a full list of available commands here.

Microsoft DOS AmigaDOS Notes
cd .. cd / Slash is not the root folder!
cd dir_name dir_name You can actually just type the directory name. This makes perfect sense, as you cannot have a file the same name, so it just changes to that directory!
copy A.txt B.txt copy A.txt TO b.txt Note the TO
copy A.txt other_dir\B.txt copy A.txt TO otherdir/b.txt Slashes are reversed!
copy ..\A.txt . copy /A.txt TO A.txt Single-slash to get to parent directory
copy x:\zz.txt . copy x:zz.txt TO zz.txt Note that drives are rarely one character on Amiga
copy z:\docs\readme.txt . copy z:docs/readme.txt TO readme.txt No need for a '/' start after the drive colon
dir *.txt dir #?.txt Yes, the wildcard is #?
dir /p list Amiga dir doesn't format any other way. Use list.

Good luck.