Go back one pageReturn to front of my home page

My Amiga 1200 DIY project:

My Amiga 1200 desktop hacked into a PC tower caseThe picture to the right believe it or not, is an Amiga 1200 ! I have completely stripped down Commodore's A1200 desktop design and hacked it into a tower casing. I have modified it considerably beyond the scope of Commodore's original design!

At this stage, as you read this article, you are thinking "How boring, he's just built a PC". Wrong ! PC's computers run Microsoft Windows and Microsoft programs. This machine runs neither. It only uses AmigaOS 3.9 as the core operating system and only runs prehistoric Amiga software. It is so old, the processor is an aging Motorola 68060 processor running at a pathetic 50Mhz. What however, makes it such a joy to use is the compactness of the operating system, with a bare install weighing in at just 10 megabytes !

Breaking the original rules, and modifying Commodore's original design, lay where where I have pushed the machine beyond it's originally design. It included extracting the machine from's it desktop case, mounting the main board into a tower case, extracting zorro 2 signals from the trapdoor connector to add further expansion cards by fitting a zorro two daughterboard, and scan doubling the video signals from the machine to get them to display on a modern PC monitor with a combined scan doubler and flicker fixer.

This project has been a real challenge. But what I love most, is hardware hacking, something which takes me back to the dawn of 80's computing when Sinclair computers introduced some of their self assembly kits for freaks to build their own ZX80. This article details in full my extensive knowledge of the Amiga system, it's limitations, and how I pushed the hardware to it's limit with plenty of bodges, and hacking.

After modification of the original desktop Amiga 1200, I now have fitted:

  • Amiga 1200 revision 1D1
  • Four way EIDE splitter interface
  • Blizzard 1260 accelerator card
  • Blizzard 1260 SCSI II host adapter
  • Zorro 4 daughterboard with 5x Zorro II slots

Memory: 2 megabytes of CHIP-RAM, 128 megabytes of FAST-RAM. Total memory: 130 megabytes.

Hard disks: 40 gigabyte Hitachi and 20 gigabyte Seagate hard disks. Commodore's 8 gigabyte limit with regard to hard disks is present in ROM. I have bypassed it using Oliver Kastl's IDE fix software which is made reset resident on bootup. The 4 gigabyte limit of Commodore's Filesystem I have also overcome using Greed's Professional File System so I am able to use massive hard disks ! Professional File system can support partition sizes up to 104GB and hard disks up to a maximum size of 2 Terrabytes, if and when drives of these ridiculous sizes become available! Not bad for an ancient Amiga 1200 computer eh ?!

Atapi drives connected: Benq CD-ROM, Memorex CDRW 2216 rewriter and a Zip 100.

The following Zorro expansions cards are fitted (not actually shown, since this is an old photograph).

  • 8512/17: Phase 5 Digital Products Blizzard 12x0 (@$00EA0000 128k)
  • 4626/42: individual Computers Buddha IDE / Catweasel (@$00E90000 64k)
  • 8512/67: Phase 5 Digital Products CyberVision 64/3D (@$00200000 4M)
  • 4626/23: individual Computers X-Surf (@$00EC0000 64k)
  • 5001/7: VMC HyperCOM 3+ (@$00ED0000 64k)

Problems I encountered during the construction phase:

Firstly during manufacter and in order to cut costs during the availability of components, Commodore produced various revisions of Amiga 1200 motherboards. Only revision 1D1 boards are suitable for this type of heavy expansion. Later 1D4 and 2B boards are known to have timing problems with regard to the onboard Gayle and Budgie chips. Revision 2B boards are somewhat more prone to these aforementioned incompatabilities. These faults can be fixed on these motherboard revisions with some careful work with a soldering iron, but it is easier to just use a 1D1 revision motherboard in the first place.

Amiga 1200's come with a single 44 way EIDE connector on the motherboard for connecting a single notebook 2.5" hard disk. This causes three problems. Firstly, this port is "unbuffered" meaning the interface is connected directly to the motherboard custom chips: this is hazardous, since a short simple short circuit in an IDE cable means the computer can be damaged. Secondly, you can only connect a single 2.5" hard disk. Thirdly, two notebook drives cannot be connected as a master and slave pair. All of these problems I have overcome by the use of a simple 4x way EIDE interface on a tiny circuit board which fits over the original 44 way IDE connector on the A1200 motherboard. This minature board not only safeguards the Amiga's custom chips by replacing the buffered hardware which Commodore left out when they designed the original IDE port, but it also allows the connection of up to four IDE hard disks or atapi drives such as removable media or CD-ROM drives.

The Amiga can be used with a SVGA monitor to run a 31Khz screen mode for running the operating system, but most games require the computer monitor to syncronize down to a refresh rate of 15Khz, which modern computer monitors cannot syncronize down to. This is overcome by extracting the video signals from the Amiga's Gayle chip, and effectively scan doubling them to 31 Khz. A automatic video switching unit consisting of three electronic relay switches flicks between the displays of my Cybervision graphics card and the Amiga's standard display.

Another problem arises when hacking an Amiga 1200 into a tower case: what the hell do you do for a keyboard? This was solved by purchasing a PC keyboard adapter from an Amiga dealer. This connects to the motherboard (where the original keyboard ribbon originally connects to) and allows the connection of any cheap PC keyboard.

Fixing software bugs

AmigaOS 3.9 desktopHere are some quick pieces of information regarding the software side of my Amiga system. I am running the last version of AmigaOS to be produced for the classic machines, which is AmigaOS 3.9 which Haage and Partner released in 1999. The operating system I have running in 1024x768 pixels with a screen depth of 15 bit with a maximum horizonal frequency of 85Khz, and a maximum vertical frequency of 120Hz for a rock steady display on a 17" flat screen Belinea monitor, using my own custom built monitor preferences.

There are some minor bugs in various revisions of the Amiga kickstart ROM chips, which cannot be fixed without a complete dissasembly of Commodore's ROM code and new Kickstart ROM chips, which Commodore never produced. Although these bugs are not serious, I like to squish them anyhow. Harry Sintonen has cleverly reversed engineered Commodore's Kickstart ROM code to fix a number of minor bugs so I am running version 44.1 of his executive multitasking kernal. Due to copyright conditions it is illegal to redistribute Commodore's code. Harry instead has provided instructions to apply the patch yourself, by first grabbing your Kickstart ROM chip to a file, patching the ROM code, and then rekicking up the new ROM using a ROM remapper utility such as Blizkick or BlizMagic which can be used on Blizzard boards.

I do not use executive version v45 as supplied in AmigaOS 3.9, because I have found it to be rather buggy. It should be possible to use MuFastZero to mirror exec.library v45 to fast memory to boost system performance, only when this is done, it seems to have an irratating habit of going into endless recoverable alerts. Another thing I noticed after reading the developers release notes for exec.library v45 is he writes "I must be asured this is solid!". Well, it isn't solid at all, as he obviously didn't test it enough in my opinion :-)

The key to stability

Thomas Richter's excellent MµLib and MµTools distribution provide bug free replacement processor libraries for Motorola 32 bit 680x0 processors which replace Commodore's originals. When installed this also provides a system friendly way for developers to control the MMU tables contained in Motorola processors, which is something Commodore left out. Now at last you can chuck all those MMU hacking tools permanently in the bin. The internal MMU tables themselves can also be tweaked if you know what you are doing, so you can enable or write protect different areas of memory, by simply editing the supplied configuration that is supplied with the package. I rate this package very highly indeed.

[ Valid HTML4.01 ]