Sunday, 30 October 2016

The OS4 Pre-release Preview Part 1


It was only in the last few recent number of years that anything officially close to what could be called a Next Generation Amiga was released let alone what could have been just become another false announcement or failed attempt. It was said a long time ago that a transition from AmigaOS 68k to PowerPC would be a job that would take at least two years, and that was considered too long. Of course who ever said this didn’t realise that you must put in the on going hard work now in order for it to be an investment for the future. And so, AmigaOS never at this time made it. Of course, two years after that announcement nothing ever happened, so what was the point of stalling in the first place if two years later we we’re at the same place? None what so ever, indeed anyone who bought the Amiga company, in relation to the OS and hardware, were seen as a boy crying wolf. Comparatively, Hyperion were working on OS4 33 months before the first public beta release. Even H&P, who used to be big supporters for PPC, once said they would port it to PPC, they even had the first job to do OS4 at one stage. Oh yes, a number of new Amiga OS’s and machines were in development to be released, but none ever made it. Until now. It’s funny to think that after over ten years since the last original hardware and OS was manufactured that now something would happen, and by who? A third party.

And I think, despite it, it is the best thing to happen to the Amiga for a long time, it also couldn’t happen at the worst time. Why, strangely it would seem, do I say this? Because hardly anything worth of any value out of the Amiga is left. Even as little as five years ago, the hardware was seen as a commodity with it’s speed and ease at multimedia applications, especially in the video field. And the software was still seen to be an amazing multi-tasking OS that could still hold it’s own against the big boys. Now, the hardware is seen as a drag, limited in speed and colour, and applications. And the OS just a novelty of it’s time, too small and missing essentials, and tied to the hardware too much. As a demonstration of this, TV’s and video equipment are now accepting VGA inputs, and interlaced images are being replaced by progressive scan techniques and HD imaging. And it is easy enough to use Mac or Windows for video editing and sound engineering. Of course there is the third party Amiga developments that have emerged since then. Perhaps it started with the Draco, but it continued with the Pegasos. UAE and Amithlon stirred the scene, and then we have AROS, the closest project to being AmigaOS native on x86. Given that most Amiga owners who are still keen also own a PC, they find the old dream of a new Amiga machine irrelevant and just want to run AmigaOS on the PC sitting at home. If that wasn’t all, we have lost most of the big software companies, the classics. Responsible for both productivity as well as great games. So, why now? Better late than never? I guess it is just that some people got together and actually managed to do something for the Amiga after all, or what was left of it, and have another go at saving what was the original best for last. I guess for that I am grateful, even if it feels like we are hanging on by a thread.

A new beginning
Of course not only has the OS taken a while to emerge, the chosen hardware hasn’t had a smooth ride either. Announced first as a specification to run the AmigaDE, the AmigaOne board has gone through some revisions before the final versions made it. Originally based on the Predator, what was to be a PPC A1200 accelerator, was chosen to be the Eyetech incarnation of the AmigaOne hardware but expanded to be independent. A motherboard in it’s own right. Because the AmigaOS was still tied to the hardware somewhat, even in early developments, it was decided to retrofit the new board with an A1200 to enable this hardware to be used. Until such as a time that the OS could function on it’s own. Unfortunately the company producing the retrofitting hardware, a PCI to A1200 CPU slot card, couldn’t get the device to work as it should. And so Eyetech ended up wasting time on this project and set out to find another motherboard from a third party, not based on their own Predator. They found the Teron series from MAI, and licensed it for production. So then Hyperion got to work on a BIOS for the new hardware and worked on OS4 to be run on it.

2004: The year of the OS?
Between their own projects and with no solid funding Hyperion had the task of migrating AmigaOS 3.x to AmigasOS4 on PPC architecture. When Microsoft were working on Windows 95, they attempted to incorporate things into the OS to make it easier for games programmers, the reaction to that was, “What do Microsoft know about games?” In contrast to Hyperion, a games company I’m sure it was said, “What experience do they have to port an OS?” They had plenty, not only in porting games from different OS models, such as Win32 to Linux, or x86 to Mac PPC. But also a technical know how and training in OS structure and theory. So not only were the brothers at Hyperion qualified for the job, that games background would be sure to influence them into what I hope would be a fun OS.

And between when OS4 had it’s first announcement, the planning and organising, and finally the work up to now, in 2004 the public could finally get their hands on the new AmigaOS made for a new generation. This is it for the Amiga in 2004, this is the year of the OS.

First impressions
Being that this release is customised for the AmigaOne hardware this is one of the first things we must address. Since the board firmware must be updated before OS4 can be used. You can either burn an ISO image to a CD track, or if you have a high density floppy drive, copy a floppy image onto disk. You then boot either one and run the software within to update the U-Boot firmware code. Then their is a few U-Boot settings to sort out and make sure are set correctly and we are on our way to boot OS4.

Once that is sorted out we can boot off the CD, this can be automatic, manual selection or on the command line. It is here the bootloaders take control. U-Boot has a FLB, or First Level Bootloader, built into it specific to load AmigaOS4 off an Amiga RDB partitioned drive. An internal command, ‘boota’ handles this. Once this detects that a bootable drive has a RDB, it will load up and pass control over to the SLB, the Second Level Bootloader. This is then responsible for loading up the filesystem stored in the RDB and using that to access special kickstart and configuration files. Which it now loads and sets up, reporting it’s progress on screen. Since the Amiga kickstart is no longer in ROM, and the firmware is only used as a bootloader, the kickstart must now be loaded from disk. You could say it was comparable to the Amiga 100 WOM, or Write-Once-Memory where a special kickstart booter ROM loaded the original kickstart off a floppy and then booted up the system. Only this time, almost 20 years later, we can load a lot more data more quickly off harddisk. But, unfortunately the introduction screens even given the time difference are not even as pretty, being old fashioned boring text modes you’d expect on a PC. Some think of this point as trivial, but one of the original Amiga greats was being fully graphical, even the boot screens. Now, currently we have lost that too. Getting grips to loading BASIC off disk years ago compared to a microcomputer, to now loading kickstart off disk too was an evolution in stand-by. But, reverting back to text DOS-box look a like screens, that is just too far, it just isn’t on. I thought the whole point of this was trying not to turn the Amiga into a PC. And one last comment on the subject, which makes the matter worse, is that even PC BIOS screens look better than this. Catching up again? Once the kickstart has loaded it puts it all together in one piece in memory and once done, the new ExecSG (Second Generation) is executed and sets up the Amiga kernel like old times. It is here we can thankfully throw those text modes away, since from now on it is pure AmigaOS, and graphical the rest of the way, just like old times.

Just like it, once AmigaDOS is set up and ready to boot, it polls all the drives for one to boot off and mounts all the Amiga partitions it finds. Here there is one good new feature, CD drives are now automatically mounted. Hence being able to boot off the OS4 CD, which the system does now, and after some disk access we have the first introduction to AmigaOS4. A “Welcome” requester in the centre of the screen comes up. This is the first taste of OS4, from now on the installer is loaded so we can set up OS4 on our harddisk. Just as Windows95 installed itself under the new OS, and the way that the MacOSX installer runs in X, AmigaOS4 is also installed under OS4. From this first window others come where you specify your language, country and time zone. And then you configure your input devices. All these programs used are the standard preferences ones. From here the CD continues with it’s booting, until eventually it boots into a Workbench screen and the standard installer appears. Here you will notice that unlike it’s predecessor, OS3.9, the OS4 installer doesn’t open up on it’s own screen or put a colour gradient in the background with introductory pictures and boing sounds. Just a standard installer window, hmm, perhaps they forgot. The screen opened for installation is set to 800x600, 16 bit. Meaning even an old 14” VGA considered old hat should be able to handle it, or just get by. On the new WB you can also start playing around and checking things out on the CD, including the useful install guide, shown in IBrowse. Once you are ready to go it’s time to set up your harddisk.

Saturday, 29 October 2016

A BlitterWolf Retrospective

The OS4 Pre-release Preview

Coming up is a series of articles I wrote from late 2004 to early 2005 for Workbench magazine that was the printed magazine of an Amiga user group I attended. The club magazine ceased printing many years ago and was published as an online PDF for a short while after. The club is still running and I still attend.

It is written from a time when the new AmigaOne and AmigaOS4 had come into being and so gives a review of both. There was an earlybird special for those who pre-ordered an AmigaOne board early and this included an OS4 Developer Pre-release, that was sent out when it was ready. So although it was a review in its own right, I called it a preview, as it reviewed a pre-release version of the OS. It also compares the AmigaOne with the Amiga Classic it was slated to take the place of and outlines the positives and negatives of the new hardware.

I wanted to release this years ago to the greater Amiga public but to my knowledge never ended up doing so. So I am glad to be doing it now as part of the new BlitterWolf blog. Also, the final parts of the review have some special features, which I hope you will enjoy. As well as what would now be classified as retro OS4 pictures.

So, without further ado, here is a BlitterWolf Retrospective: The OS4 Pre-release Preview. :-D

Saturday, 22 October 2016

Overclocking the Macrosystems Draco

article from Dave's Amiga Hardware Page

The Draco is an Amiga compatible computer intended for high quality video production. It is well known for it's efficiency and reliability as well as the excellent software supplied with it (after all, it IS Amiga compatible!). The Draco was one of the first Amigas to have a 68060. Due to the fact that the 060 is only clocked at 50MHz, and that many of it's tasks are CPU intensive, there is a real need to get more speed out of it. I was recently given the opportunity to overclock one at a recent Amiga User's Group meeting, and viewed the task as a new challenge due to the fact it is quite different in design to a standard Amiga, and is one I am quite unfamiliar with. Please don't ask me any further questions about the total knowledge of it is on this page!

The Draco is housed in a large tower case (I understand there was a later version in a smaller case). It contains a backplane board with Zorro II slots and special Draco slots inline with each other. One of the slots is occupied by the CPU/SCSI/RAM board. A display card, (based on the Retina ZIII) and a video card, (based on the Vlab motion) are also supplied. The special Draco bus provides high speed interfacing between these cards.

The CPU board contains a number of oscillators and stand alone crystals. A 25MHz oscillator supplies a clock signal for the CPU (refer to pics 2 & 3 below). This 25MHz clock is doubled by circuitry in the board to provide the 50MHz clock required by the 68060. I assume a PLL (Phase Locked Loop) circuit is used to double the 25MHz to 50MHz. This of course, means that there will be a limitation imposed on how much overclocking can be achieved. The PLL circuit will cease functioning correctly long before the 060's limit of about 66MHz is reached.

A problem was revealed on initial inspection of the board. The 25MHz oscillator is actually a tiny surface mount type, which was physically incompatible with the standard type oscillators I have. Fortunately testing revealed that they were electronically compatible, so it was really only a problem of physical accommodation. The second problem was that the existing oscillator could not be removed with the tools I had with me. Presumably, like most surface mount components, it was glued to the board. To solve this I isolated the 25MHz oscillator by cutting the track leading from it's output pin. Of course, if you have the appropriate tools to allow removal of the surface mount oscillator, and you have the appropriate replacement oscillator in surface mount format, then it is simply a matter of removing the old one and soldering the new one in.

Draco with it's cover removed and the location of the CPU board

The relevant section of the CPU board and the oscillator

Note that a yellow dot has been added which corresponds with pin 1 on the oscillator. Although tiny, this oscillator has the same pinouts as the standard type oscillators and these have been labelled in the picture. Also note that pin 1 is not connected. Also shown is the track to be cut to isolate the old oscillator, and the point on the PLL IC (labelled "OUT") where the output of the new oscillator is to be connected.

Entire CPU board and the location of the enlarged view

Pictures 4 & 5 show the socket with flying leads soldered to the appropriate points on the PCB. To make up this socket, start with a high quality "machine pin" IC socket - in either 14 pin or 8 pin format, depending on what oscillator you are using. Remove all pins except those at the extreme corners of the socket (For a 14 pin socket as I used, only pins 1, 7, 8 and 14 should remain). Solder a short length of insulated wire to each of pins 7, 8 & 14. About 30mm should be plenty. Use black wire for pin 7, which is connected to the point labelled "GND" in pic 2. Use orange wire for pin 8, which is connected to the point labelled "OUT" on the PLL IC - be very careful not to short to the adjacent pins. Finally use red wire on pin 14 to connect to "+5V". Note that all pins are insulated with heatshrink tubing, including the unconnected pin 1, which is more clearly shown in the top left of pic 4.

The socket will allow you to experiment to find the best frequency oscillator to use. The PLL circuit in the Draco multiplies the oscillator frequency by 2, so for 50 MHz, a 25MHz oscillator was used. In my experiments, I found that a 32MHz oscillator would not work, but a 28.6MHz oscillator did work. This corresponds to a CPU frequency of 57.2MHz. I did not have any oscillators between those frequencies, so I was unable to try it at an intermediate frequency. Since then, the owner obtained a 30MHz oscillator and was able to get reliable operation from it, with the CPU at 60MHz. He also told me he had heard of another Draco user changing his oscillator to 33MHz, giving a 66MHz Draco. I was unable to duplicate this, so I assume some other modification was additionally made to allow this to work. Almost all 68060 chips I have seen will work reliably at 66 Mhz, so it is clear the PLL in the Draco is the limiting factor. Also note that the 060 did not get noticeably hotter, due to the modest amount of overclocking and the fact it is already fitted with a heatsink & fan

Insulation tape used to insulate the oscillator

It may be wise to stick the oscillator down with some double side tape to prevent it flopping around.

How to do it - step by step
  1. Using a good quality 14 pin IC socket, remove all pins except 1, 7, 8 & 14. (For an 8 pin socket remove all pins except 1,4,5 & 8)
  2. Solder a short length of black wire to pin 7 on the socket. (For an 8 pin socket, use pin 4)
  3. Solder a short length of orange wire to pin 8 on the socket. (For an 8 pin socket, use pin 5)
  4. Solder a short length of red wire to pin 14 on the socket. (For an 8 pin socket, use pin 8)
  5. Carefully insulate all 4 pins (including the unconnected pin 1) with heatshrink tubing.
  6. Carefully cut the track leading diagonally from under the 25MHz oscillator to pin 1 of the PLL chip (as shown in pic 2 above - note that on this style chip, pin 1 is in the centre along the top. A dimple moulded in the IC package is next to it)
  7. Solder the black wire to the pint labelled "GND" as shown in pic 2 above. Note that this corresponds in position to that on the new oscillator.
  8. Solder the orange wire to pin 1 of the PLL chip. Refer to step 6 and pic 2 for it's location.
  9. Solder the red wire to the point labelled "+5V" as shown in pic 2 above. This also corresponds in position to that on the new oscillator.
  10. Plug in the appropriate oscillator. Pin 1, as marked by the squared corner and dot goes to the unconnected pin. If you intend testing the Draco at this point, make sure the metal can is not touching anything!
  11. Insulate the oscillator can with tape, & fix it in place with some double side tape.

CPU speed (using Syspeed): 66.48 (50MHz), 76.26 (57MHz)
FPU speed (using Syspeed): 26.58 (50MHz), 30.5 (57MHz)
Render a 1 second fade: 33.17 sec (50MHz), 29.6 sec (57MHz)

First Published: September 21st 2000 - Updated April 1st 2001

Wednesday, 19 October 2016

Removing Yellowing From Old Plastic

article from Dave's Amiga Hardware Page

Many people have discovered that the cases of their old computers have become yellowed  after many years. This discolouration cannot be washed off as the plastic itself has been discoloured. It mostly affects ABS plastic, one of the most popular type of plastic used for computer cases, keyboards and other similar items.

Causes of Discolouration
There are a number of possible causes, which, on their own or in combination, which can cause this discolouration. I won't go into the fine details, but a technical explanation can be found here.

  1. The quality of the plastic: ABS is a mixture of several different polymers and stabilising agents. The stabilisers are intended to prevent yellowing, however they can be depleted by the oxidising process. Once depleted, yellowing can occur. It has been noted that individual keys on a keyboard can exhibit different amounts of yellowing, even though they are all exposed to the same environmental conditions. Some keys may have come from different batches with different amounts of stabiliser in them.
  2. Exposure to light: In many cases the discolouration almost seems like sunburn. Discolouration is worst where the item is exposed to light the most. Items that had been placed on top of the plastic, and left there for many years, can leave an imprint with little or no discolouration in the plastic underneath.
  3. Heat: Chemical reactions normally progress faster in the presence of heat. It is logical to assume this is also a factor causing or aggravating discolouration of plastics.
  4. Oxygen: Discolouration is the result of a chemical reaction between certain ingredients used in the plastic and the oxygen in the air.
  5. Surface condition: If the surface of the item is degraded (possibly due to exposure to UV light, harsh chemicals, or the result of certain ingredients gradually evaporating out of the plastic as a result of age), there may be microscopic pits or cracks in this surface. This increases the surface area of the plastic, meaning that more oxygen can get in to cause discolouration.

How To Remove Discolouration
It seems everyone has their own favourite recipe or method to achieve this. Basically we need to reverse the chemical reaction that caused the original discolouration. Usually these recipes involve hydrogen peroxide, a small quantity of laundry "booster" and a wetting or gelling agent which helps the solution stay on the plastic after being painted on. The item is then exposed to sunshine or UV light for several hours. Variations of this are known as 'Retr0brite' and can be found by using Google.

I have never really liked this approach. Having a thin layer of solution painted onto the plastic means that it's prone to drying out, which causes the reaction to stop. The solution then has to be reapplied. With the hot Australian sunshine here, I find I have to constantly apply the solution for several hours. Not ideal at all! Some people paint the solution on and then cover with cling wrap to stop it drying out. While effective, it's hard to 'paint' the solution on evenly and there have been cases of uneven results, with some areas with less discolouration removal than others.

I have found a method of removing discolouration that is simple, cheap, effective, and gives good results. It simply involves purchasing a jar of 'laundry booster' from the supermarket. An example is "Vanish Oxi Action". There are many other brands. Look for sodium percarbonate in the ingredient list. Dissolve it in water in a shallow container, and then fully submerge the item to be whitened in the solution. You may need to attach weights to keep the item submerged. The whole thing is left in the sun for several hours. Stir occasionally. I have found 500g of laundry booster for every 10l of water works well. You can experiment with different quantities of laundry booster, as it does not seem to be critical. I'm lucky in that I live in Australia with very strong sunshine, however I still get good results on cloudy days. The sodium percarbonate, when dissolved in water, creates the hydrogen peroxide that is needed to remove discolouration. It's worth noting that this solution is a milky white. I think this is an advantage as it helps diffuse the UV light, resulting in a much more even effect, without noticeably slowing the process.

At the time I was experimenting with using a UV lamp, however, this was not successful. Using sunlight is the best way to go

An item being retr0brited by this method

What To Expect

A badly yellowed VIC-20 case before treatment. Note variations in discolouration

The same VIC-20 case after treatment

Using this method ensures that that the effect is even over the entire object. Unfortunately results can sometimes still be patchy. Some people have noted some areas can get a patchy, chalky look to them. This is visible in the VIC-20 case shown below. Note the rectangular darker area. A label had previously been there, which I removed before retr0briting. As you would expect there was no yellowing under the label, and as a result, this area exhibited no change after the Retr0brite treatment and was not chalky. Given that the label would have protected the plastic surface underneath, I suspect that the surface not protected was damaged in some way. UV light is well known for damaging plastics, and it is quite likely the surface was degraded, possibly with microscopic holes and fissures invisible to the naked eye. This would increase the surface area, increasing exposure to oxygen in the air. In addition, more volatile components of the plastic could have evaporated over time, causing changes to the chemical balance of the plastic. These changes could make the plastic react differently to the Retr0brite, causing the uneven, chalky result. On the other hand, it's also quite possible the chalkiness is already there and is masked by the yellow discolouration.

Is it a permanent fix for yellowed plastics?
The short answer is no. While Retr0brite reverses the effects of plastic oxidation, it does nothing to prevent it happening again. Below is the same VIC-20 case 4.5 years after the retr0brite treatment. It is clearly becoming yellowed again. Given that heat, light and oxygen are all involved in the yellowing process, some people have tried to prevent this happening again. Methods tried include storage in dark areas and painting the item with lacquer to protect the item from oxygen in the air. So far these have been unsuccessful. Until some more time has passed, and we get more results from further experimentation, I believe the best solution for items becoming yellowed again is to repeat the retr0briting. The plastic will not be weakened or made brittle by retr0brite as it affects only the surface of the item. UV light is more likely to cause this kind of damage.

It's worth noting that the chalky areas don't seem to be yellowing as much again. I suspect the constituent of ABS that yellows is depleted, possibly as a result of the damage caused by the original UV exposure. I have also noticed that areas that were never yellowed in the first place (due to lack of exposure to UV) have now acquired a slight, even yellow tinge. Could it be caused by the stabilisers in the plastic being inactivated by oxidation during the retr0brite process?

As this particular VIC-20 case seems to be very prone to yellowing, I am going to try retr0briting it again, then cover parts of it with different coatings to try and exclude UV light, oxygen, or both in different areas. Once summer returns here in Australia (late 2015), I'll expose the case in the full harsh Australian sunshine for several months and see what happens.

First Published: August 19th 2015

Tuesday, 18 October 2016

2MB Chip RAM for A2000

article from Dave's Amiga Hardware Page

The A2000 was originally designed to provide a maximum of 1MB of Chip RAM. Normally expansion to 2MB requires the addition of some kind of plug in module which is hard to find these days. For those with a Rev 6 motherboard, it is possible to upgrade to 2MB by means of a simple hack as shown below.

How to do it
You will require good soldering skills to perform this modification. You will also require 4 x 44C1000 RAM chips, an 8372B Agnus chip, a 33 ohm resistor and a 470 ohm resistor. Note that I originally performed this modification nearly 20 years ago and never documented it at the time. Hopefully I haven't missed anything when documenting it now.

  1. Remove all 8 existing RAM chips from the motherboard.
  2. Fit sockets to the 4 upper RAM positions only.
  3. Remove both R110 and R212.
  4. Add a wire link from the left terminal of R212 (as viewed from the bottom surface of the motherboard) to pin 36 of the Gary chip. See picture below.
  5. Add a wire link to pin 5 of the four RAM chips in the top row, connecting them together.
  6. Add a 33 ohm resistor from pin 5 of the upper RAM chips to pin 4 of U507 (this is one of the bottom row of RAM chips, now removed)
  7. Add a 470 ohm resistor from pin 5 of the upper RAM chips to +5V. A convenient place for this is pin 1 of RP503.
  8. Install 4 x 44C1000 RAM chips into the top row sockets.
  9. Replace the existing Agnus chip with an 8372B (2MB) Agnus.
  10. Replace the existing Denise chip with a 8373 'Super' Denise, if you wish to upgrade your A2000 to the ECS chipset.

How the A2000 motherboard looks from the bottom with the mods applied

How the A2000 motherboard looks from the top with the mod applied. Hard to tell it's been hacked

First Published: April 29th 2015 - Updated August 2nd 2015

Monday, 17 October 2016

Enhancing & Modernising A4000/040

article from Dave's Amiga Hardware Page

Although the A4000 was the ultimate 'Big Box' Amiga, due to it's age and certain design compromises, there are quite a few performance limitations. These include slow motherboard RAM access (when using the A3640), slow AT-IDE interface and small motherboard RAM capacity. The modifications described here are intended to alleviate these, while also providing a worthwhile performance boost at reasonable cost.

A4000 motherboard and A3640 with all the modifications applied
The Modifications
Below is a list of the modifications. You can do them all together or individually if desired. Most of these link to third party sites or forum discussions.

  1. Remove and replace leaking battery with CR2032 lithium.
  2. Upgrade motherboard RAM to 64MB.
  3. Upgrade Kickstart ROM size to 1MB (machine translated from French).
  4. Upgrade Kickstart to version 3.9, add custom modules.
  5. Upgrade AT-IDE interface from mode 0 to mode 2.
  6. 68030 state machine mod - improve motherboard RAM access speed when using A3640.
  7. Improve ability to overclock the A3640.
  8. Upgrade 68040 to 68060.
  9. Add threaded spacers to support CPU card.Helps ensure the CPU card is firmly attached.
  10. Add headers for cooling fans. A pair of two pin headers can be soldered into existing holes next to power socket, providing 12V.
  11. Add header for reset button. This is soldered to pins 2 & 3 on the battery backed clock chip, and pulls /Fail to ground, resetting the Amiga.
  12. Replace capacitors on A3640. Note I used low profile 'chip' capacitors to allow clearance for 040/060 adaptor. Capacitors on the A4000 motherboard should be checked too.

First Published: April 25th 2015

Sunday, 16 October 2016

Leaky Clock Batteries

article from Dave's Amiga Hardware Page

Most Amigas use a rechargeable 3.6 volt NiCd battery to keep the clock operating when the Amiga is switched off. These batteries deteriorate with age and start to leak corrosive fluids after several years. These fluids will eat away the copper tracks of circuit boards and destroy ICs and other components, ruining your Amiga. PCs don't have that problem as they only last at most a couple of years before they are thrown out and upgraded, long before their batteries have a chance to leak.

As even the newest Commodore-made Amigas are now over 20 years old, it is vital that the batteries are checked, and if necessary replaced. From my experiences, over 90% of all Amigas now have leaking batteries, so log out IMMEDIATELY and check your battery! If you don't, your Amiga will stop working one day and it may not be possible to repair it as part of the PCB may be dissolved away! . You have been warned!

One of the best ways to make your battery leak is to leave the Amiga unpowered for a long time. On one occasion I had an A4000 that had been used daily for 10 years. The battery never gave the slightest hint of leaking. It was then stored for two months, and when I checked the battery afterwards, I found it leaking badly. So, if you intend to store your Amiga for any period of time, you MUST remove the battery (unless it has already been replaced by a new NiMH type). Don't do what one person did - he stored two A3000s on their sides for 5 years. The batteries leaked and dribbled across the motherboard, leaving a frightful mess.

Note that these batteries contain cadmium, which is toxic. It is strongly advised to thoroughly wash your hands if you come in contact with any leaking matter from these batteries. For this reason it is also advised to not simply throw it out in the garbage but to dispose of it in a recycling facility that can handle old batteries and other similar materials.

How to spot a leaking battery.

The picture on the left above shows a typical leaking battery on an A4000D motherboard. You can see the white crud leaking out of the end. This is by no means the worst one I have seen (the owner wiped most of it off before I had a chance to take a picture of it). On the right is a typical battery in an A2000. As you can see the leakage is very extensive. It even penetrated into the CPU socket and was starting to corrode the CPU pins. As you can imagine, it is very difficult to clean it out properly from under all those parts. All Amiga models use similar batteries. They are all the same size and shape. They all leak eventually, especially if the Amiga is not used regularly. So, if you intend to store your Amiga for a long time (more than a few months), I strongly advise you to either replace or remove the battery first. Some 3rd party devices may have a "coin" type battery. These are lithium and are unlikely to leak.

Some of the most common faults in the A4000, where only 4MB of fast ram is available, or when the A4000 thinks it has ECS chips, are caused by damage from leaking batteries. Check the ICs closest to the battery, U176 & U177.

How to remove a leaking battery.

The battery can be removed in the usual way with a soldering iron. However, in an emergency, or for those without soldering facilities, removal may also be achieved by snapping if off the motherboard. Hold the battery and push it back and forth longitudinally until it breaks free. Once removed, it is strongly advised that the motherboard be cleaned as the alkaline residue from the leaked battery can continue to cause further damage.

After removing the motherboard from the Amiga, start by cleaning the affected area with a small brush and methylated spirits. This removes any grease and helps make the next step more effective. Next, get some weak acid such as vinegar or lemon juice and use the brush to clean the affected area thoroughly. For stubborn areas an old toothbrush is ideal. In cases where there is a large amount of battery leakage, fizzing may occur. Make sure the acid penetrates into all areas affected by battery leakage. Let the acid continue to soak for about 15 minutes, longer for badly affected areas. When you are satisfied the spillage has been neutralised, rinse with warm water. Next clean the entire board with brush and methylated spirits, and then rinse well in hot, clean water, using a brush to make sure all areas are rinsed thoroughly. Shake off excess, then put the board in a warm dry place for several hours to dry. Warm sunshine works well, otherwise in front of a heater so that the board is heated to about 30 to 40 deg C.

Fitting a new battery.

This step can be omitted if you are not concerned about having correct time and date on your Amiga. Note that the A3000 has certain system settings that are lost if there is no battery.

A new NiCd battery may be soldered in place of the old one, however, I do not recommend this as the new battery will also be prone to leakage after a few years. A better alternative is a NiMH (Nickel Metal Hydride) battery. This looks and works exactly like a NiCd battery but it is much more durable and less likely to leak.

The newest and best alternative is to use a 2032 type lithium coin battery as is commonly used in PCs these days. The battery holder can be removed from an old PC and soldered in to the space formerly occupied by the NiCd battery. Due to the configuration of the holes on the motherboard, the holder will need to be angled. Sometimes a small portion of the plastic body may need to be shaved or cut away to make it fit. Because these lithium batteries are non rechargeable, the charging circuit in the Amiga must be disabled by inserting a diode in series with the new battery. Anode is connected to the + terminal of the battery, and the cathode of the diode then becomes the + terminal of the diode and battery assembly. There is also a document on Aminet explaining how to use a lithium battery in an Amiga in hard/hack/lithbatt.lha

Using the correct type of diode.

To get the most life out of the battery, the correct type of diode needs to be used. Most people just use an ordinary silicon diode such as a 1N914. Unfortunately, silicon diodes have a forward voltage drop of about 0.65 volts. This means that the clock chip is only getting 2.35 volts out of the 3 volt battery. Obviously, as the battery runs down it's voltage will drop further, and as the clock chip is designed for 3.6V, it won't take long before the voltage is too low to maintain the clock.

The best type of diode to use is a Schottky diode (sometimes called a 'Hot carrier Diode'). These can have a forward voltage drop as little as 0.15 volts, which means that 2.85 volts is available to the clock chip. Examples of Schottky diodes are the 1N581 or the 1N5711.

If a Schottky diode is not available, the next best alternative is a germanium diode. These have a forward voltage drop of about 0.3 volts, leaving 2.7 volts available. Examples of germanium diodes are OA90, or 1N34...yes, an ancient 1N34 from WWII works well!

it can be a little difficult to find a neat and effective place to install this diode, but I have found it can be installed in place of the 470 ohm resistor that is in series with the battery. This resistor was designed to limit charging current, and is now redundant with a non chargeable battery. Simply remove this resistor and replace it with the diode. Nice and neat and no wonky hacks! See the pic below.

In the example above, from an A2000 with a rev 6.2 motherboard, you can see a 1N34 germanium diode installed where R803 was at the bottom left. Cathode is to the left. You can also see how the battery holder is angled, the + terminal on the battery is soldered to the left + terminal on the motherboard, leaving the right terminal vacant as shown.

First Published: July 9th 2000 - Updated Agust 26th 2014

Saturday, 15 October 2016

1MB Kickstart ROM for A2000

article from Dave's Amiga Hardware Page

The A2000 was designed to accept a 512KB Kickstart ROM. This is now inadequate for the new Kickstart modules in Amiga OS3.9 and for other various modules created by third parties. Normally to circumvent this, the new Kickstart ROM has to be cut down to accommodate these new larger Kickstart modules. An example of this is the Kickstart as used in the A4000T. In order to accommodate the additional scsi.device as used by the onboard scsi controller, the workbench.library is deleted from the ROM and has to be loaded from disk.

This simple modification allows the use of a 1MB Kickstart ROM in the A2000. This should also work in the A500. Note that you will need a rev 6 motherboard. Earlier versions may need other alterations to accommodate this modification. Basically it involves adding an extra address line (A18) to support the additional 512K of ROM.

This can be achieved by replacing the original 40 pin Kickstart socket with a 42 pin socket, and adding the extra address line. I used a good quality 'machine pin' socket. The two new pins (pins 1 & 42) are at the notched end of the socket. Because the motherboard only has 40 holes, these two pins are cut off short so that they do not touch the PCB surface underneath when the socket is inserted into the motherboard. Pin 42 is not connected. Pin 1 has a length of fine insulated wirewrap wire soldered to the remaining stub. This forms the new address line. Referring to the pic below, carefully remove the solder from one of the plated through connections between the top and bottom of the motherboard. Solder wick is ideal for this. Insert the new socket, with pin 2 going into the hole for the former pin 1, pin 3 into the hole for the former pin 2 and so on. Pass the fine wirewrap wire through the new hole you created earlier as shown below. There must be no electrical connection between this wire and the hole. Use insulated wire. You should have pins 1 and 42 hanging over the end, and not touching the motherboard. You may like to add some tape etc to provide insulation if you have concerns.

The other end of this wire is then soldered to pin 46 on the 68000 CPU socket. This provides the new address A18 signal to allow use of a 1MB Kickstart ROM. See below. The positions of Pins 1 & 42 are marked by an 'x' showing where the pins would be if the motherboard had holes for them. The former pin 1 is now pin 2 and the former pin 40 is now pin 41.

Your A2000 is now ready to use a 1MB Kickstart ROM. It is still compatible with a standard 512K ROM. If you want to use one of these, insert the ROM as shown below, with pins 1 & 42 vacant.

And below is an example of a 1MB custom Kickstart ROM

Creating a 1MB Kickstart ROM.
Creating a working and functional custom Kickstart can be difficult and complex. There are a number of tutorials out there. A good one is on Mfilos' blog. For those who are starting out, it might be a good idea to limit yourself to creating a 'standard' OS 3.9 ROM. Once you have experience, you can then try adding some of the many 3rd party ROM modules out there. Many of them are still under development and may not work properly on all systems. For example, I have so far been unable to get any of the 3rd party versions of Exec to work in my A2000.

You will need a blank 27C800 EPROM, which can be programmed with the new 1MB Kickstart. Below is a Remus listing of the main section of my A2000 ROM as at 24/9/2014. For those not yet familiar with how a 1MB Kickstart works, it is divided into two halves. The main section and an extended section. The main section also contains a file called '1MB_ROM' which is there to tell the Amiga that there is a 1MB Kickstart. It is always positioned in second place, immediately after Exec. The extended section usually contains files moved from the main section that can now no longer fit within 512K. Also note that scsi.device has been removed. It is superfluous in an A2000, which does not have an inbuilt SCSI or IDE controller.

; Generated by Remus 1.0 rc35

SaveROM Projects/A2000/A2k-V2014-267-Norm
ModDir Modules/44.57_BB2/
ROMBase $F80000
ROMSize 512
ImageType 0
;Build list
ADD Modules/44.57_BB2/exec_45.20(A1200-A500)
ADD Modules/Latest-Updates/1MB_ROM
ADD Modules/40.63(A500-2000)patched/audio.device_37.10
ADD Modules/40.63(A500-2000)patched/battclock.resource_39.3
ADD Modules/Latest-Updates/battmem.resource_40.0
ADD Modules/44.57_BB2/bootmenu_44.7(68020)
ADD Modules/40.63(A500-2000)patched/card.resource_40.4
ADD Modules/40.63(A500-2000)patched/carddisk.resource_40.1
ADD Modules/40.63(A500-2000)patched/cia.resource_39.1
ADD Modules/44.57_BB3/console.device_44.10
ADD Modules/40.63(A500-2000)patched/disk.resource_37.2
ADD Modules/Latest-Updates/dos.library_41.0
ADD Modules/40.63(A500-2000)patched/expansion_40.2(A500-600-2000)
ADD Modules/44.57_BB4/FastFileSystem_45.16
ADD Modules/Latest-Updates/FileSystem.resource_46.0
ADD Modules/40.63(A500-2000)patched/gadtools.library_40.4
ADD Modules/40.63(A500-2000)patched/gameport_keyboard_40.1
ADD Modules/Latest-Updates/graphics.library_42.8b12
ADD Modules/Latest-Updates/icon.library_68020_46.4.374
ADD Modules/Others/input_50.26
ADD Modules/40.63(A500-2000)patched/keymap.library_40.4
ADD Modules/40.63(A500-2000)patched/layers.library_40.1
ADD Modules/Latest-Updates/KingCON-handler_40.4(020+)
ADD Modules/40.63(A500-2000)patched/mathffp.library_40.1
ADD Modules/40.63(A500-2000)patched/mathieeesingbas.lib_40.4
ADD Modules/Latest-Updates/misc.resource_38.0
ADD Modules/Latest-Updates/potgo.resource_38.0
ADD Modules/44.57_BB3/Ram-Handler_44.24
ADD Modules/40.63(A500-2000)patched/ramdrive_39.35
ADD Modules/44.57_BB4/ramlib_40.3
ADD Modules/Latest-Updates/Romboot44_4_A2k
ADD Modules/44.57_BB3/Shell_45.27
ADD Modules/40.63(A500-2000)patched/timer.device_39.4
ADD Modules/44.57_BB4/trackdisk.device_40.2
ADD Modules/Latest-Updates/NoClick
ADD Modules/40.63(A500-2000)patched/utility.library_40.1(68000)
ADD Modules/40.63(A500-2000)patched/wbtask_39.1

Below is a Remus listing of the 'extended' ROM as used in my A2000.In this case it contains the intuition and workbench libraries, as they now no longer fit within the original 512K. There is also a 'ROMheader file which is needed to delineate this second section.

; Generated by Remus 1.0 rc35
SaveROM Projects/A2000/A2k-V2014-267-Ext
ModDir Modules/Latest-Updates/
ROMBase $E00000
ROMSize 512
ImageType 0
;Build list
ADD Modules/Latest-Updates/romheader_45.21
ADD Modules/Latest-Updates/intuition.library_40.86b7
ADD Modules/Latest-Updates/workbench.library_45.133

Please note that I am unable to supply any ROMS. This is due to a number of reasons: The nature of these Kickstarts means that they are tailored to a specific hardware configuration, and may not work at all if installed in a different A2000 with different hardware configurations. Also the various modules in the Kickstart are copyrighted, and obviously cannot be given away or sold. (it's OK to create your own - as you already need an original 3.1 ROM as well as an original 3.9 installation disk to create these extended Kickstarts). Other third party modules may also belong to their respective authors, and they may not appreciate distribution outside of what they had originally authorised.

First Published: September 24th 2014 - Updated April 28th 2015

Friday, 14 October 2016

S-Video From A520

article from Dave's Amiga Hardware Page

The A520 video modulator was made by Commodore to allow TV sets to display Amiga graphics. It provided a standard UHF RF output as well as a standard composite video output. Unfortunately, with the exception of a few early versions, the A520 has atrocious video quality - being little better than VHS. Fortunately, by the deletion of a few components, and a little rearranging, it is possible to have it generate full bandwidth S-Video.

Why S-Video?
Below are some sample images showing a comparison between a standard A520 on the left and an A520 with the S-Video modification on the right. Images were taken from the A520, which was attached to an A1200, using an A4000 with a Vlab framegrabber. The unmodified images are darker than they should be because the ratio of the synch amplitude compared to the actual video signal was incorrect in the standard A520. The modification also corrects this. Click on the images to view the full sized versions.

PM5544 test pattern

The standard A520 is quite dark and very smeary. The S-Video version is much better, but shows slightly less colour saturation (see text)

Above is a multiburst pattern

The standard A520 is incapable of resolving anything above 2.4Mhz. The S-Video version is exhibiting severe moire in the 4.7MHz and 7MHz bursts. This is due to the different pixel sizes in the A1200 compared to the Vlab compared to your monitor. This moire is much less visible when viewing on an actual monitor, and does not occur at all on a CRT monitor. All images have been resized to the correct 4:3 aspect ratio.

Above is an Amiga Workbench screen. No need to comment here!

Another way to visualise the difference between the modified and unmodified A520 is to examine the output on an oscilloscope. Below you can see the two top images are from a standard A520, the two bottom ones are from an S-Video modified A520. In the top left is a colour bar signal. Note the rounding in the corners of the colour signals as well as the leading edges of the luminance portions. Also obvious is leakage of the colour oscillator signal used in the A520 as shown in the thickened traces in non-coloured areas, especially obvious in the sync tip and the back and front porches. In the top right is a multiburst signal. As you can see the quality is terrible. The colour leakage is especially noted here, as I have enlarged the trace for easy viewing. Also easily noted is jitter in the colour burst.

The bottom left image is the same colour bar signal, but now through the modified A520. Note the composite signal is now two separate signals, the luminance (B&W) signal on top, and the chrominance (colour) signal on the bottom. Note the absence of rounding in both signals as well as the absence of colour leakage in the luminance portion. Jitter is much reduced, being barely visible in the colour burst and in the colour bar signal. On the bottom right, the multiburst signal now looks the way it should....almost flat to 14MHz on the right. This means that you have potentially the same luminance resolution as if you had a RGB monitor. The standard A520 was lucky to get to 3MHz. Incidentally, another feature not readily noted from the traces above is that the sync signal is now at the correct 0.3V level. The standard A520 had it at about 3.5V.

One problem that existed with the earlier version of the S-video modification was weak colour saturation. Investigation revealed a design fault by Commodore - the MC1377 colour encoder chip used in the A520 requires 1 volt RGB signals for full saturation. The Amiga provides 0.7 volt RGB signals, which strictly speaking is correct as the addition of the 0.3 volt synch pulses gives the correct 1 volt video. To cure this I originally intended to modify the Amiga to generate 1 Volt RGB signals, however, as this requires a different mod for each Amiga model, and also results in non standard RGB signals, I chose not to proceed with this. While not a 100% solution, I was able to get a worthwhile improvement in colour saturation by a simple alteration of the existing modification.

How to do it - step by step
Firstly you need a standard PAL A520. You will also need an S-video compatible monitor, otherwise there is no point to doing this. Apologies for those in NTSC countries - I live in Australia, and I have never seen an NTSC A520. These modifications may not work on NTSC units. I do know however, that pin 20 on the MC1377 IC is grounded for NTSC, there is a solder pad for this on the PCB. On the other hand, from what I understand, the way the NTSC A520 handles the synchronisation of the colour subcarrier to the Amiga is completely different. In any case I tried changing the jumper and replacing the 4.43 MHz crystal with a 3.5MHz crystal with no luck. All I got was B&W. The oscillator circuit was not working.... Be aware that conversion to S-video will render the RF modulator inoperative, as of course, there is no way to broadcast S-Video on a standard RF carrier. The existing composite output connector on the side will now become the Y or luminance output. The existing audio input socket will become the C or chroma output. If you have an Amiga with a monochrome video output, such as the A500 or A2000, you can get a further slight improvement in quality by connecting the Y lead to this instead of the Y output on the A520.

Items to be changed are highlighted in coloured boxes. Red boxes denote components no longer required, and they are simply removed. Yellow boxes denote items that are either changed or are added. Refer to the designations on the silkscreening on the PCB.

  1. Remove C1 and L1 (may already not be present).
  2. Remove K2 (the coil), C8, C20, C21, C24, R1, R2, R3, R6, R8, R14, R16, R19.
  3. Remove K1 (the delay line) and place a 270 ohm resistor between pins 2 & 3.
  4. Add 0.1 uF capacitor between pin 10 of the IC and ground (underneath the PCB).
  5. Remove C18 and replace it with a 330 ohm resistor.
  6. Cut PCB track to base (B) of transistor Q1 (marked with a cross on the picture of the PCB underside).
  7. Connect with wire the C20 end of R15 to the now isolated base (B) of transistor Q1 (underneath PCB).
  8. Cut the wire leading to the audio input socket (inside the modulator shield - as denoted by red square in picture).
  9. Connect the now isolated audio socket to the leftmost pin on the white header (with letter "V" marking - as denoted with yellow square).
  10. Cut track to pin 8 of the IC (marked with cross on the picture of the PCB underside)
  11. Connect with wire pin 8 of the IC to pin 3 of the former K1 (now occupied with 470 ohm resistor - refer step 3).
  12. Change R7 to 180 ohms.
  13. Remove R20 and R13 and replace each with a wire link.
  14. Change R11 to 1K.
  15. Add a 220 ohm resistor to the formerly vacant R18 position (there are no holes for this, you may need to drill them or place the resistor under the PCB)
  16. Add a 1M resistor from pin 17 of the MC1377 to +12 volts (underneath PCB).
  17. Remove R5 (if present) and replace with a 2.2M resistor.
  18. Add a 470K resistor from pin 19 of the MC1377 to +12 volts. (underneath PCB).
  19. Add a 220uF capacitor to pins 3 & 4 of the former K2. Positive of capacitor to pin 4.
  20. Add a 56pF capacitor from the base of Q1 to GND.(underneath PCB).
  21. You will need to make an appropriate S-video lead with 2 RCA plugs to suit the new A520.

Circuit schematic for an unmodified A520

Circuit schematic for a modified S-Video A520

Circuit schematic for a modified S-Video A520 showing deletions in red, changes and additions in blue

First Published: June 7th 1999 - Updated October 31st 2014

Thursday, 13 October 2016

Self-powered A500 SCSI Controllers

article from Dave's Amiga Hardware Page

Although I no longer use any of my A500s regularly, I had a few spare hours during a recent rainy day and I decided to try out an idea I had. The intention was to power an A500 SCSI controller and hard drive off the same power supply that powers the A500, eliminating the 2nd power supply and it's attendant complexity and snarls of cables. I tried this idea on both a GVP A500 HD+ and a Commodore A590. Both modifications worked very well. Normally this extra power supply powers the hard drive, so it's a simple matter to provide power from the expansion bus, provided your hard drive is not too greedy for power. I would not recommend this modification if you are still using an old XT clunker in your A590 or if you are using a new 10,000 RPM screamer - they would probably use too much power. Ordinary 5,400 RPM drives work well. Incidentally, depending on your drive, you may have to do a warm reboot on first powering up if it doesn't boot.

As always, do this modification at your own risk. I will not be responsible if you damage yourself or your Amiga by attempting this modification. I would also advise not connecting the hard drive power supply once this mod is applied. I don't know what will happen, and it's best to be safe rather than sorry!

Modifying the GVP A500HD+

This was the easiest of the two to modify. You only need to remove the lid (after disconnecting the drive from it's power supply and from the Amiga). Then all you need to do is to locate CN 5 and CN 6. They are on the PCB, right at the back next to the hard drive power connector. Using a soldering iron, simply bridge the two pads of CN 5 together and then likewise for CN 6. Refer to the picture above. In the enlarged view you can also see two other jumpers - CN15 & CN16. Do not solder those. Put the lid back on and you are finished.

While not strictly relevant to the above mod, I found that the GVP will not function correctly if there is an Adspeed CPU accelerator present in the A500 running at 14 MHz. I eventually solved the problem by switching the Adspeed temporarily to 7MHz and then using the GVP Expert Pref program to adjust the settings in the hard drive RDB. You need to set the buffer to point to Chip RAM. Then set the Mask value for Chip RAM by entering the value of 0x001fffff into the mask field. 

Modifying the Commodore A590

The A590 unfortunately does not have the convenient jumpers like in the GVP, so the work is a little more difficult. The A590 needs to be completely disassembled and the PCB removed. Referring to the picture above, two wires need to be run between the hard drive power connector and the interface connector to the A500. The first wire goes from the terminal marked "yellow" on CN7 (the hard drive power connector) and goes to pin 6 on the expansion connector. This is the +5V power line. The second wire goes from the terminal marked "Orange" on CN7 and goes to pin 10 on the expansion connector. This is the +12V power line. Disregard the thin blue wire in the picture. Reassemble the A590, making sure a sharp soldered joint does not pierce the insulation of the wires you added. Make sure you don't connect a power supply to the power socket on the A590 after doing this mod. I don't know what will happen if you do.

First Published: June 23rd 2002

Wednesday, 12 October 2016

Make Your Own Crystal Oscillator

article from Dave's Amiga Hardware Page

Sometimes there might be a requirement for a non-standard crystal oscillator. While most crystal manufacturers will grind a custom crystal for you, it would obviously be much cheaper and quicker for you to make your own. Bear in mind this project is suitable only for those people who are well acquainted with electronics and soldering. You will need a frequency counter, or at least an oscilloscope. In this document the word "crystal" refers to a simple quartz crystal, usually packaged in a metal can with two leads. The word "oscillator" or "crystal oscillator" refers to an electronic device which is crystal controlled and generates a clock signal suitable for digital circuits. It is also packaged in a metal or plastic case with 4 leads.

This is a design, using very cheap, common parts which will allow you to build a drop-in equivalent for the popular metal can 14-pin DIL layout crystal oscillator modules. One problem, however, is that most crystals available to the home hobbyist are of frequencies less than around 36 MHz. There is a way to obtain higher frequencies by causing the crystal to oscillate in a different "mode". For example, a crystal labelled as 14.31818 MHz can be induced to oscillate at 42.9 MHz in third overtone mode. Likewise in 2nd overtone mode, you will get 28.636 MHz. A 25MHz crystal will give you either 25MHz, 50MHz or 75MHz. The one crystal gives you a choice of at least 3 frequencies.

To select which frequency you want is simple. You first need to work out what crystal you need. Divide your desired frequency by either 1, 2 or 3, aim for a resulting frequency that is available. For example, you need a 64MHz oscillator. Dividing by 2 gives 32MHz, which is a crystal you can buy from most electronics retailers. To make your crystal oscillate at the higher frequency, you will need to vary the value of C1 shown on the schematic. A smaller value capacitor will force the crystal to oscillate at it's higher frequency. Generally, the capacitor would be somewhere in the range of 1pF to 15 pF. The actual value required would be best found by experiment as there are quite a few variables involved such as wire lead lengths (try to keep them short), the IC used and most importantly, the capacitance inherent in the crystal used.

As an example, to generate a 55.6 MHz clock used in overclocking the A2386 Bridgeboard, I used an 18.5 MHz crystal operating on it's 3rd overtone. The value of C1 required was 3pF. Be aware, that if you make a similar oscillator, you may need a slightly different value for C1. Another example is a requirement for 32 Mhz. In this case I had an actual 32 Mhz crystal, so to make the crystal oscillate on it's fundamental mode, I used a value of 10 pF for C1.

Parts Required
1x 74F04 hex inverter IC.
2x 1.2 Kilohm resistors.
1x crystal
1x ceramic disc capacitor, preferably NPO type.
Frequency counter and appropriate tools...

Make sure you have a 74F04 as the more common 74LS04 may not work reliably at high frequencies. Start by cutting off all pins except for pins 1,7,8 and 14 (the pins nearest to each corner) Leave a stub for pins 9,10,11,12 and 13 as you will need to solder to them. Referring to the layout diagram, solder on the resistors and crystal as shown, making sure leads are short. The resistors can lie flat on the IC, with the crystal soldered in vertically. Short together pins 9 & 10 with a solder blob. Try to avoid overheating the IC. Temporarily attach the capacitor to the appropriate points. Try starting with around 5 pF.

Using an experimenter's breadboard or an IC socket, connect +5V DC to pin 14 and GND to pin 7. Connect your frequency counter to pin 8. Power up. You should get a reading on your counter. If it is too high, increase the value of the capacitor. If too low, reduce the value of the capacitor. Make sure the frequency does not vary if you heat or cool the oscillator - or if you touch the capacitor with your finger. If the frequency varies, it is not oscillating under crystal control - keep changing the capacitor value until you get the desired frequency that is stable under all conditions. It might be best to find the "mid point" by finding the minimum and maximum capacitor value that results in the desired frequency and then using a capacitor value midway between the two points. You can trim down the value of a ceramic capacitor that is a little too high by using a file to remove part of the capacitor.

If you are using an oscilloscope, check for a stable waveform that does not drift when you vary the temperature or touch the capacitor.

You might find that the home made oscillator is a little loose in the socket when you plug it in to your computer. You may need to arrange something to hold it down in it's socket if your computer is subject to vibration.

First Published: July 5th 1998 - Updated July 30th 1998