The Dragon 32 was an 8-bit computer based around the Motorola MC6809E CPU which meant it was very similar to the Tandy TRS80 CoCo range of computers.
This particular example came to my collection as a nonworking example. When powered on the screen just showed a load of garbage. After dealing with a couple of other computers with this chip layout, I knew that the video chip works independently of the CPU, so the fact it was displaying garbage on the screen, likely meant that the CPU was not running the correct code.
A first check over with an oscilloscope showed that all the data and address bus lines seemed to be active, indicating that the CPU was at least attempting to run something. When a Dragon is first turned on it will perform a CPU reset and then start executing the ROM code from address $8000. I checked the reset line on the CPU which was functioning as expected (Low then High).
Maybe the ROM was faulty? This Dragon has two ROM chips, one lower and one upper, each 8k in size. The lower ROM chip contains the code to clear the screen, so if that chip wasn’t working then we would see the garbled screen. But also the upper ROM chip contains the reset vector for the CPU (It is this that specifies where to start running the ROM code from). So if either of these chips were dead, we would have an issue.
The ROM chips in this machine are 2364 EPROMS. Unfortunately, these can’t be read by the TL866 programmer I have, so I had to build an adapter to make it read as an M27C128 chip. But once I had done that, I verified the contents of the two ROM chips and they both came back fine, so not our issue here.
Computers that use the MC6809 CPU also tend to use another chip named the SAM chip. This chip does the address logic. So if this chip was bad, then when the CPU tried to read the ROMs, it might not actually be succeeding. I went over the pins on the chip and couldn’t see any obvious fault here either. Luckily my TRS80 CoCo2 computer uses the same SAM chip and it was socketed, so just to rule this one out I swapped them over and confirmed that this chip was fine.
If the RAM is faulty, then any instructions that the CPU stores data in memory won’t work. So once again this could cause the computer not to start up. But I checked all the CAS and RAS signals, along with the address pins and the data in and out pins, and I couldn’t see any obvious issues.
I decided then to dig out the datasheet for the CPU and started going over each pin to see if they looked like they were performing their duty. It was at this stage that I noticed the Read/Write pin on the CPU was stuck high and was never changing its value. Without this pin changing, the CPU will always be reading from the data bus but never writing to it. There is no way it can initialise the video chip without writing to the data bus. Unfortunately, the CPU in my TRS80 CoCo2 was soldered into place and I didn’t fancy removing that so I had to wait for a new CPU to arrive off eBay.
Once the new CPU arrived I swapped it out and powered up the Dragon, this time to be treated with the Microsoft Basic boot screen! A fully working Dragon 32 is now in my collection.
I have also discovered that my CoCoSDC adapter also works with this machine so I have an easy way of loading up some Dragon games from SD Card.