I like to test all of the machines that I restore as thoroughly as possible, because thorough testing is necessary to verify correct operation – electronic devices are complex systems with lots of functionality and components, so just because something looks like it works (i.e. it boots), that doesn’t necessarily mean that it works properly.
However, this can often be both difficult to do (due to requiring proprietary or obsolete hardware or software) and difficult to document/prove for posterity or to a potential buyer (usually through pictures and videos).
As such, I’m always on the lookout for methods of making this process easier and more effective, for all of the systems that I work on. For a lot of mainstream kit (such as the Commodore 64), diagnostic hardware and software is quite readily available to buy – however, this is not the case for all machines, so often it’s necessary to make your own.
This was the case for my Commodore Amiga machines (i.e. A500, A600, A1200, etc). As with other computers, you can do a lot of manual testing on Amigas using basic peripherals – however, specialist hardware and software can be extremely useful for thorough testing.
Testing Amiga computers
- Manual testing can be performed with basic peripherals:
- Most of the keyboard can be tested manually in the Workbench shell, though the machine will need to be able to boot up to do so.
- RGB, composite, and RF video outputs can be tested manually using an appropriate display and video cable, likewise with the audio output(s).
- You can see whether the power, FDD, HDD, and Caps-Lock LEDs work properly.
- You can test the mouse port in the Workbench screen using a compatible mouse, though the machine will need to be able to boot up to do so.
- You can test the joystick port in a game using a compatible joystick, though the machine will need to be able to boot up to do so, and you’ll need a joystick game.
- You can check that the FDD seems to read disks OK if you have a working software disk, though you probably won’t be reading every track or both sides of the disk.
- You can check that the FDD seems to write disks OK if you have a blank disk, though you probably won’t be reading or writing every track or both sides of the disk.
- You can check that the RAM seems to work if the system boots up, shows RAM in Workbench, and runs software OK, though you probably won’t be testing the RAM fully.
- You can check that the internal IDE interface (if fitted) works OK if the system can load or boot from an internal IDE hard drive or CF card.
- You can check that the external PCMCIA port (if fitted) works OK by trying to use some kind of PCMCIA peripheral, such as a CF card adaptor.
- You can check that the RTC (if fitted) works OK by setting the system clock, power cycling the computer, and checking that the value is maintained correctly.
- Automated testing can be performed using Keir Fraser’s excellent Amiga Test Kit software, which is available to download or to buy on disk:
- Onboard and expansion RAM testing, including a thorough soak test with programmable delay and different test patterns, which writes to every location.
- Internal and external FDD read and write tests, including a thorough test which reads all tracks on both sides of the disk, and writes a track on each side of the disk.
- Video tests, with a colour palette and different cross-hatch patterns.
- Audio tests, with the ability to control different filters and channels.
- Keyboard tests with latches, making things easy to photograph.
- Joystick and mouse port tests with latches, making things easy to photograph.
- Chipset testing, including the CIA timers.
- Serial port testing, which requires a loopback cable to be installed.
- Parallel port testing, which requires a loopback cable to be installed.
The only Amiga Test Kit tests that require dedicated diagnostic hardware are the serial and parallel port tests, however loopback adaptors were not available to buy at the time, so I set about making some of my own.
What is a loopback adaptor?
A “loopback test” is a simple concept: transmitted electrical signals are fed back to the sender, allowing the sender to validate its own output. In communications (i.e. parallel and serial modems), the output of the transceiver needs to be connected to its own input – if the device receives its own output signal back, this proves that it is functioning.
This usually requires a simple hardware loop to physically connect the transmitter channel to the receiver channel. This could be as simple as soldering some wires to the appropriate plug, however I wanted a more long-lasting solution.
The Amiga serial port
Classic Amiga computers all feature the same standard RS-232 serial port, which uses a DB-25 male connector (on the computer side), the pinout for which is below.
|1||Protective ground||14||Secondary TxD|
|2||Transmitted data (TxD)||15||Transmitter clock (DCE)|
|3||Received data (RxD)||16||Secondary RxD|
|4||Request to send (RTS)||17||Receiver clock (RCE)|
|5||Clear to send (CTS)||18||NC|
|6||Data set ready (DSR)||19||Secondary RTS|
|7||Signal ground||20||Data terminal ready (DTR)|
|8||Data carrier detect (DCD)||21||Signal quality detector (SQD)|
|9||Test pin #1 (+12 Vdc)||22||Ring indicator (RI)|
|10||Test pin #2 (-12 Vdc)||23||Data rate detector (DRD)|
|11||NC||24||Transmitter clock (DTE)|
- The serial loopback requires that the following pins be connected together:
- Pins 2 (TxD) and 3 (RxD).
- Pins 4 (RTS), 5 (CTS), and 6 (DSR).
- Pins 8 (DCD), 20 (DTR), and 22 (RI).
It is also possible to wire in two LEDs, to show that the +/-12Vdc supply rails are present.
The Amiga parallel port
Classic Amiga computers (except for the Amiga 1000) all feature the same standard Centronics parallel port, which uses a DB-25 female connector (on the computer side), the pinout for which is below. The A1000 uses a male DB-25 connector with a different pinout which makes it non-compatible, so it is not covered in this article.
|1||Strobe (/STROBE)||14||+5Vdc (10mA max)|
|2||Data 0 (LSB)||15||NC|
|3||Data 1||16||Reset (/RESET)|
|9||Data 7 (MSB)||22||GND|
|12||Paper out (POUT)||25||GND|
- The parallel loopback requires that the following pins be connected together:
- Pins 1 (/STROBE) and 10 (/ACK).
- Pins 2 (Data 0) and 3 (Data 1).
- Pins 4 (Data 2) and 5 (Data 3).
- Pins 6 (Data 4) and 7 (Data 5).
- Pins 9 (Data 7) and 11 (BUSY).
- Pins 8 (Data 6), 12 (POUT), and 13 (SEL).
It is also possible to wire in an LED, to show that the +5Vdc supply rail is present.
Building a set of loopback adaptors
At the time, only a very limited number of sellers (such as RetroRewind) sold Amiga serial and parallel loopback adaptors, none of which were in the UK, so I had to make my own.
There are quite a few examples of people on the web making their own loopback adaptors – one even added a set of voltmeters built into the plugs, very nice!
As discussed earlier, it would be possible to just solder some wires onto two DB-25 connectors and call it a day, but I managed to find a set of open-source PCB designs for the serial loopback and parallel loopback adapters, available on the PCBWay Shared Projects page. I decided to order a set of these PCBs (5 each, 10 total) through PCBWay because of how easy it is to order their shared project PCBs, and I had a very good experience overall.
These PCBs mount strongly to the DB-25 connectors as they sit between the connector pins and have large solder pads – they also have locations for a set of LEDs to show the presence of the +5Vdc, +12Vdc, and -12Vdc power rails.
- Aside from the PCBs, a handful of components are required – per set, this includes:
- 1 x DB-25 male connector.
- 1 x DB-25 female connector.
- 2 x DB-25 connector shrouds (optional).
- 3 x 5mm LEDs (optional) – I chose red for +5V, yellow for -12V, and green for +12V.
- 3 x 1/4W through-hole resistors for LED current-limiting (optional) – I chose 1KΩ for the +5V LED and 3.3KΩ for the +12V & -12V LEDs, as these gave a comfortable brightness.
I assembled a set of boards to test out, and they worked as expected.
I also put together a set of cases, by drilling holes in the shrouds for the LEDs.
With the cases installed, the brightness of the LEDs seems to be just right.
The results of testing using the loopback adaptors is shown below. Success!
Review of PCBWay
I’m quite new to ordering custom PCBs (as a hobbyist, at least), so I thought I’d write a quick review of PCBWay to help out other new starters. These were the first PCBs that I’ve ordered for myself, and I’ll definitely be buying more in the near future – I’d eventually even like to work my way up to developing my own circuit designs and layouts.
The minimum order quantity for these small PCBs was 5 each (10 total), at $5.00 per set ($10.00 total) – as a new user referred by a colleague of mine, I was given a $5.00 discount voucher, so the 10 PCBs came to only $5.00 in total (bargain!). You can claim your $5.00 new user voucher here, if you so wish.
When you add a design (or designs) to your online shopping cart, they will go through a short review process by your assigned sales rep. In my case, this took less than an hour.
Once you’ve placed your order, you are taken to a detailed order manufacturing screen, where you can track the process through each exact manufacturing step. I chose a 24-hour build time for this project, which was standard at no extra cost, and my boards were shipped the next working day.
Shipping via DHL (2-4 working days) between China and the UK cost around £20.00 for this order, and the parts arrived safely and extremely quickly. There are cheaper shipping options available (i.e. China Post), but these will take significantly longer to arrive.
For this order, I wasn’t subject to any import charges, but this may apply to orders of greater value – these are the responsibility of the buyer, and will be paid following delivery.
My order was well packed, and the PCBs are of a very good quality, and work exactly as intended! PCBWay’s communication and service throughout the process was also very good, and I’m very pleased with my experience overall.
The PCBWay Shared Projects page is extremely useful for quick prototyping, or for those like myself who don’t currently have any of their own designs. Its integration with the ordering process is seamless, so it’s very easy for hobbyists to get boards made. Shared project authors also get paid for their work when you buy.
There are lots of shared projects available for vintage computing enthusiasts in particular, and PCBWay seems to have a good standing in the community. If anyone has a project that they would like to share on the PCBWay page, they can do so here.
I hope this helps any PCB newbies like myself! If you have any questions, let me know and I’ll try to help out if I can.