The KCS Power PC board

The KCS Power PC board

This board is a hardware PC emulator that fits inside the expansion trapdoor of an Amiga 500 and allows the Amiga to run PC software from the same era (MS-DOS). Since this device stems from the time when the term "PC" always meant "IBM compatible" I will use the term "PC" in the same way in this article.

The first hardware based PC emulator for the Amiga was the "A1060 Sidecar" manufactured by Commodore Germany for the Amiga 1000. After that most hardware PC emulators were designed to be used in big box Amiga systems such as the Amiga 2000, like for example the "A2286AT bridgeboard". By my knowledge the KCS Power PC board is the only hardware PC emulator that is designed to go into the trapdoor expansion slot of the Amiga 500. There is a separate version of the board for the Amiga 500+ and there is also a Zorro adaptor card that allows the Power PC board to be used in big box Amiga systems.

Back in the day

During the last couple of years studying at the Hogeschool van Utrecht I needed to turn in a lot of papers. This was during the heyday of the MS-DOS version of WordPerfect, which was as ubiquitous at the time as Microsoft Word is now in 2022. Initially I used the Amiga version of WordPerfect, which was compatible with version 4.2 on MS-DOS. Then the MS-DOS version moved on to version 5.1 and this version allowed images to be incorporated in the text - something the Amiga version did not support.

To be able to work on my papers at home as well as at the Hogeschool I now needed to be compatible with WordPerfect.5.1. For this I needed a PC, but I did not have space for a PC and its monitor and neither did I have the funds for another computer system. At this time laptops were not a real option for me as they were very expensive. Laptops at the time were usually only found with members of a board room, not the occupants of a class room. For me using a hardware PC emulator inside my Amiga was the perfect solution.

At the time there were two products that I knew of that would work with an Amiga 500. One was the KCS Power PC board, the other the Vortex ATOnce. The ATOnce features an 80286 processor (hence the AT bit in the name) and plugs into the 68000 CPU socket, which requires the computer to be opened. The Power PC board emulates an XT clone, which is slower than an AT, but I knew that it would still be powerful enough to run WordPerfect. The fact that it just plugged into the trapdoor and was slightly cheaper won me over to the Power PC board made by KCS.

KCS - Kolff Computer Supplies

Kolff Computer Supplies (or KCS for short) was founded in 1984 by Krijn Kolff in the Netherlands. Around 1986 the company became well known (or at least it was in the Benelux)  for the "Power Cartridge", a bright red cartridge for the Commodore 64 and 128. It contained amongst other things a fast loader, a freezer and a memory monitor.

When KCS introduced their hardware PC emulator they kept the naming scheme that mainly consisted of putting the word "power" in front of the description of the product. The PC board was therefore introduced as the "Power PC board". Please note that there is no relation to the "PowerPC" processors that were introduced in the early 90s.

The company still exists to this day. They no longer design expansions for 8 or 16 bit computers, but are still assembling high tech boards for their customers.

The Power PC board

The board contains a NEC V30 processor, 1MB of memory and a real-time clock (RTC) that is backed up by a non-recharging lithium coin-cell battery. Due to the age of my board I recently replaced the battery with a fresh new one. The clock can be used by the Amiga as well as the PC. Half of the 1MB of memory can be used by the Amiga 500 as normal expansion memory and the other half can be used via a special RAM disk driver. If the Amiga 500 is configured to allow 1MB of chip RAM then half of the PC board's 1MB is used to make up the full 1MB of chip RAM but the option of using the other half for a RAM disk will no longer be available.

Top view of the KCS Power PC Board which is stuffed full of intergrated circuits. At the right hand side there is a NEC V30 processor visible.When the user wants to run PC software the system is switched to "PC mode". This resets the Amiga and boots the system into MS-DOS to run PC programs. The 1MB of memory on the board becomes the main memory for the PC and is used by the NEC V30. Any other memory in the Amiga can be used by MS-DOS programs as extended/expanded memory. The 680x0 processor of the Amiga is used to provide access to the system's hardware (draw the screen, read the floppy, scan the keyboard, etc) and it does this transparently to the MS-DOS software running on the V30.

Please note that this means that the system will either run as an Amiga, or run as a PC. There is no capability to run Amiga software and PC software at the same time.

The NEC V30

The V30 processor was manufactured by NEC and is pin compatible as well as code compatible with the Intel 8086. The V30 is the successor to the V20 and both processors include additional instructions not featured on the 8088/8086. A V30 is about 10% to 30% faster than an 8086 running at the same clock speed due to the implementation of its instruction set. Back in the day the V30 was a cheap way to gain a little bit more speed out of your XT clone by simply swapping the existing (socketed) 8088 or 8086 for a V20/V30 respectively.

The V30 on the Power PC board is, according to the user manual of the Power PC Board, clocked at "almost 11 MHz". The V30 on my board is a 10MHz version, so it is overclocked by almost 10%, which has not caused any instability during my years of using it.

MS-DOS Screenshot of the KCS Power PC Board running the SI tool from Norton Utilities giving a computing index of 4.6

The screenshot above is taken from the "SI" program ("System Information") of the "Norton Utilities" suite of programs. It recognises the V30 correctly and reckons that the Power PC Board provides 4.6 times the speed of an original IBM XT. This was more than enough speed for my WordPerfect use, since a text based MS-DOS word processor does not require that much in terms of computing power. On the DOS Benchmark website there is some more information about the Computing Index and how it is calculated by the SI program. On that same page there is also a screenshot that suggests that an 8MHz 80286 has an index of 4.4.

The emulation

In modern terms the Power PC board is an IBM XT compatible single board computer that contains the processor, memory and BIOS but has no ports that directly connect with the outside world. However, the board is connected to the expansion slot of the Amiga and it is therefore possible for the Amiga's 68000 to communicate with the PC board. Software running on the Amiga is used to emulate the various bits of hardware that MS-DOS based software would expect to be present and this gives the user access to the software running on the PC inside the Amiga.

I'm aware that calling this setup "emulation" is stretching the term a bit. The Power PC board is an actual MS-DOS PC that sits inside the Amiga, not an emulated one. The only actual emulation happening is where the Amiga is used to display the PC board's video output and provide the inputs from keyboard, mouse and the parallel and serial ports.

Using software emulation not only gives the 68000 something to do, but also adds a certain amount of flexibility to the system. The emulation is controlled from the "PC-Preferences" program that can be installed on the Workbench. With the program the user can select the types of PC hardware that should be emulated. For sound emulation it is possible to select for example "Soundblaster" or "Adlib" compatible. For software running on the V30 it will look like the actual hardware is installed in the PC, while the 68000 will ensure that all generated audio simply appears on the audio outputs on the back of the Amiga.

A similar system is used for the video emulation, where the 68000 will need to convert from the selected type of PC video hardware format to a format that the Amiga's custom chips can use. The following screenshot shows the video section of the PC-Preferences program:

Screenshot of the PC-Preferences program showing buttons for the various configuration options as well as different languages to choose from.

The "Card emulation" option allows the user to choose the emulated video hardware. A lot of the VGA video cards at the time were downwards compatible and supported MCGA and MGA as well. This same downward compatibility is supported by the VGA emulation of the Power PC board. When VGA is selected all other modes (including Tandy) will be supported too. It is also possible to select just "MCGA and MGA" as an option without the VGA support and selecting only MCGA or only MGA is possible as well.

For EGA and VGA it is possible to limit the number of colours shown on the screen since with the maximum of 16 colours the 68000 starts to slow down the video conversion.This slow down is not usually a problem with productivity software, but when the emulator is used for games then the refresh rate of the video becomes more important.

MGA is a monochrome video mode which also includes a text mode with two brightness modes. The "MGA colors" option allows the user to specify the foreground, highlight and background colours used by the text mode emulation.

MS-DOS

The Microsoft Disk Operating System is a simple text and command line based operating system. MS-DOS became the most popular operating system for business applications during the 1980s, taking the crown from CP/M that had been on its way to becoming the favourite. By the time I bought the Power PC board MS-DOS was already at version 5, which is fully supported by the PC board.

The main issue with MS-DOS at the time was the 640k barrier. In simple terms this barrier meant that it does not matter how much memory there is in the MS-DOS system, only the first 640 kByte can be used for executable code. To keep as much of this memory free as possible MS-DOS itself can be loaded "high", which means that it is placed in the space above the 640k barrier, but still within the first megabyte of memory.

To access any other memory that may be available beyond the first megabyte two different access methods were created: EMS (Extended Memory Service) and XMS (eXpanded Memory Service). Both of these memory services require special drivers to be loaded at boot time and for the application to be specifically written to support one of them. The Power PC board supports the high loading of MS-DOS and also comes with two memory managers that provide EMS and XMS access for Amigas that have additional fast RAM installed.

More (historical and technical) information on the 640k barrier can be found on Jimmy Maher's excellent blog "The Digital Antiquarian".

Software

Most productivity software of the day used text based interfaces. For example, WordPerfect, the most popular word processor at the time, had a text based user interface that was not a direct representation of how the actual printed document was going to look like. To aid with document development later versions added a menu option that switched to a graphical screen where the current page was drawn exactly as it would be printed. On early PCs the drawing of this screen could take a minute or so (depending on the complexity of included images and such). Editing the page was not possible in this graphical view, and it would have taken too long to process multiple key strokes and redraw the screen for that to be of practical use.

Using a text-only user interface does not mean that there can be no mouse and menu support. The screenshot below is of the QBasic program that comes with MS-DOS 5.0 and at the top a menu bar can be seen, which can be clicked and operated with the mouse cursor (the red square near the word "go"). Without a mouse the menu can be accessed by using the "Alt" key and the letter of the menu to be opened, e.g. Alt+F to open the "File" menu.

Screenshot of the MS-DOS QBasic editor. It has the example GORILLA.BAS program loaded.

Please note that the white status line in the bottom (black) part of the screen is added by the KCS software running on the Amiga. The Amiga is a PAL version, while the MS-DOS screen is based on NTSC. This makes the Amiga screen taller than the PC screen and the KCS software can be made to show status information in this unused bit of screen. Currently it shows that the floppy heads are on track 03, the time and date and that the synchronisation between the PC video and the Amiga video has been disabled.

The QBasic editor works smoothly on the KCS Power PC board. The 68000 in the Amiga 500 has no difficulty to keep up with the scrolling text and the NEC V30 is more than powerful enough too. Back in the day editing documents on the KCS felt the same as it did on native PC systems, you'd simply forget this was an Amiga with a PC board inside.

Running the GORILLA.BAS program takes only a couple of seconds and then we're greeted with a simple artillery game where two players lob explosive bananas at each other:

Screenshot of the GORILLA.BAS example program runnin. It shows a two dimensional city scape with two apes on top of the buildings.

Windows

Part of the later KCS advertising campaign was the fact that the Power PC Board could be used to run Windows on your Amiga. I still remember a review in the Dutch Amiga Magazine where the reviewer mentioned that Windows was unlikely to be something an Amiga owner would be impressed by. Back in the day I had no need for Windows but I always wondered how well it would work. So I now finally get to try it..

The most "recent" version of Windows that still supports the NEC V30 processor is Windows 3.0. With Windows 3.1 support for the 8088/8086 was dropped and the CPU has to support at least the 80286 instruction set, which the V30 on the Power PC board does not.

Installing Windows 3.0 is very straightforward. It has a similar installer as MS-DOS and it uses a text based screen to ask the setup questions and display its instructions. After a couple of minutes of jockying various floppy disks the installation finishes and the Windows installation can be started by typing the command "win" on the command line. It then takes about a minute of loading to finally get to the "Program Manager", which can be regarded as the desktop of these old 16 bits Windows versions:

Screenshot of the Windows 3.0 Program Manager window with the Accessories window open.

I had not expected it to work very smoothly but had hoped it to be at least useful enough for me to install an old version of Microsoft Works for Windows and then load the text of one of my books into it for the purpose of a screenshot. Unfortunately it does not work smooth at all. When one of the windows is moved it takes about 30 seconds to redraw the screen before the next action can be taken. Installing anything of multiple floppies will likely take hours, so I decided to give that plan a miss. Just a screenshot of the Program Manager it is then..

To me this is more like a "proof of concept" rather than something that is actually practical. I can of course speed this up by using fewer colours or even going monochrome to make it more workable on my system. I expect that running something graphically heavy like Windows may have always required an accelerated Amiga. Should I at some point get my hands on a Buffee accelerator than I may well revisit running Windows on my 500...

RaSCSI vs Quantum LPS

In a previous article I wrote about how I replaced my Quantum LPS SCSI hard drive with a RaSCSI system that uses a Raspberry Pi to emulate SCSI hard drives. This system has been working well for my Amiga 500 when running as an Amiga hard disk. Unfortunately this is not the case when the KCS Power PC Board tries to use the RaSCSI as its hard drive.

After booting into MS-DOS using a floppy the RaSCSI emulated drive is detected by MS-DOS and (as expected) accessible as the C: drive. When running the setup program of MS-DOS all seems to work fine until the process gets near the end of disk 3, where it tries to access the COMMAND.COM it previously copied to the C: drive. Doing this fully hangs the PC board. Booting from the C: drive also hangs the PC board, usually with a green corrupted screen. In both cases the Amiga side of the software is still working fine.

Performing the same steps on the same hardware but using my old Quantum LPS drive instead of the RaSCSI works fine and leads to a perfectly working MS-DOS installation. It is this drive that I used for the screenshots in this article.

I have tried different sizes of emulated disk, but to no avail. I'm using the February 2022 release of the RaSCSI firmware (which is the current version at the time of writing) and will every once and a while try again when newer versions of the firmware appear. If I do find a solution then I will write another article about that and link to that from here.

Concluding

While it was good fun mucking about with my old Power PC board in the Amiga 500, most of these programs and tools were things I needed for work or study. While the board still works well and there are plenty of MS-DOS programs to choose from that will work fine on it, it does not hold the same warm memories for me as using Amiga software does. I'm quite likely to keep firing it up every now and then to have a play, but I expect that the 500 is going to be used considerably more often in Amiga mode than it will be in PC mode.

Posted on