Skip to content

Summary – Overclocking the COSMAC CPU’s

The video above shows the membership card CPU board that powers the 1802 Olduino running at 8MHZ. The Membership Card normally runs at 1.8MHz but the CPU’s are rated for 5MHz and I had been running the olduino at 4MHz. I built a new CPU card which Lee Hart, the designer, thought would suit the higher speed. The 4093 chip used in the clock oscillator has been replaced with a higher spec 74HC132 and I left a socket for the resonator so I could try various speeds.

I had three CPU chips handy to test with, an RCA branded CDP1802ACE, a Harris branded CDP1806ACE, and an RCA branded CDP1805ACE. These are all 5V parts rated for 5MHz. The 1806 and 1805 have extra instructions and the 1805 has onboard memory but both are pin compatible with the 1802 except for lacking the hardware load mode.

Having loaded a blink program with the 1802 at 4MHz, I tried each chip with 4,6, and 8MHz resonators. The 1802 ran fine at 4 and 6MHz but failed at 8MHz although it seemed to be clocking ok and producing timing pulses. The 1806 worked at 4 and 6MHz but at 8MHz it stopped producing TPA and TPB. The 1805 ran fine at 4,6, 8, and even 10MHz. I think the difference is down to sample variation rather than CPU type or brand but I may source additional parts to try.

In the gallery below there’s a chunk of the membership card schematic showing the pin changes to accommodate the 74HC132 replacing the 4093, images of the top and bottom of the board showing cut traces and jumpers to make the pin changes, and an image of the bottom of the finished board with those changes plus my other changes that accommodate the narrow ROM at U8 and bring signals over to a secondary connector for the olduino card.


Well duh… Also YAY!

I started doggedly buzzing out all the connections and realized that without the front panel or the olduino adapter, the membership card circuitry has /mwrite disconnected so a super-simple program would work but the blink sketch wouldn’t.
The video above has it running the blink sketch with a 6MHz resonator in place. The orange jumper in the 30 pin connector is bridging /mwrite. It would not blink at 8MHz but I’ll leave that for another day.

Despite all the nonsense I’m a bit excited about running it naked like this. As soon as I get a bootloader in ROM I’ll make a little adapter to fit on the 30 pin connector with the power/serial header and a Q LED(oh, and a reset circuit). I’ll lose my SPI circuitry but it will be easier to get at the processor and memory while I work on the speed.

And still puzzled

I’m pretty sure it’s a mistake to try and debug a hardware problem by looking at the software but that’s what I’m doing. Trying to trace what goes wrong by looking at the bottom five address lines TPA and /mread. Of course, when I hook everything up it works!


I think the following is true:

  • The simplest loop (seq,req,br 0)will run with or without the olduino attached
  • A similar program with a filler in it will only run with the olduino attached
     lbr far:
     db dup 256(0)
far: req
     lbr 0

Feels like something to do with an address line but the olduino doesn’t attach to the address lines. This is at 4MHZ so there’s nothing i haven’t run before.
17-08-20 bottom 1
Ah – just noticed that the lead that should have been going to TPB on pin 33 of the 1802 was actually connected to one of the address lines on pin 28. TPB is an input to the olduino board so it doesn’t seem a big deal but…

And sadly, fixing that didn’t change the symptoms. More tomorrow.

First Mate is So So

I finished off soldering the CPU card and tried it with the olduino adapter.  Initially things looked great Рa blink sketch loaded and blinked merrily away at 4MHZ. After that not so good. I tried replacing the resonator for 8MHZ. No blinky but when i put the 4MHZ crystal back in it blinked. Going back to the testbed(taking off the olduino card) I find Q stuck at 5V although the processor is cycling and address lines are flipping. Put back the olduino adapter and it blinks! I have no hypothesis about the cause.

In the gallery below you can see the bottom of the card with the secondary header added and soldered and the simple testbed.

WooHoo – The Screamer is Screaming!

17-08-19 8MHZ 47pfAs of end of day today all of the on-board soldering is done and the clock circuit delivers stable pulses up to (probably) 10 MHZ. The processor is generating timing pulses and state codes and generally looks good. I tried actually running a 7B 7A 30 00 sequence by loading in on a working olduino and transplanting the memory but it doesn’t seem to be pulsing Q. It is doing fetch/execute cycles though so i’m sure it’s something simple.

I say it probably works at 10MHZ because my logic analyzer shows varying pulse widths averaging 10MHZ – I think it’s just an issue of sampling at 24MHZ.

Update: when I actually hooked up the probe to Q I could see it pulsing just fine at 8MHZ!
17-08-20 Q

UV Eprom’s is Tough!

I got my EPROM programmer today so I pulled the CY27C256 in from it’s sunbathing and read it out. The program josh burned in is still there! The first part of the EPROM seems completely as-burned although there are blocks later on that do show some corruption. I had accepted that it was never going to erase protected by 2 layers of good window glass but I did think that a week outside in a ziplock would do the trick!
I’ll have to buy an eraser but in the meantime I’ll get Josh to mail me back the second sample I sent him and use that. I’m going to want this part on hand for building up the 1806 screamer for the next couple of days but I’ll eventually put it back out for another sun-soak unless the I order an eraser and it shows up quickly.