Blinking LEDs with a Z80

In the parts bins that I acquired long ago, four of the many ICs in one of the bins were Z80 microprocessors. At the time, I thought it would be neat to try to do something with them, but had no time and no levels in low level hardware design.

Fast forward to post-PhD time and inspired by Ben Eater‘s 8-bit CPU and 6502 projects and videos, I learned enough about microprocessors and what connections to make with them to try doing something with the Z80. YouTube also presented me with a variety of Z80 related videos to watch. This one by Julian Ilett was one I found particularly informative.

Flashing LEDs – Z80 Style by Julian Ilett

The date codes on the Z80 chips indicates they’re 1987-1988 era chips, and not knowing how they were stored before I got them, I had no idea if any of them even worked. Grabbed one of the Z80 chips, plunked it into a breadboard and started wiring it up.

Off in the corner of the breadboard is a 555 set up as an astable oscillator and functions as the clock for the Z80. The clock goes runs between 6 – 475 Hz depending on the potentiometer setting.

After getting things wired up and applying power, some LEDs would light up, but then all the address bus LEDs would blink on and off but not in the expected binary counting pattern. Seemed like I had everything wired up correctly.

After studying Julian’s video and wiring some more, I tried triggering the reset pin and boom! LEDs blinked off, then came back on and the address bus LEDs started the expected binary counting pattern! Yay, it worked! Added a button for the reset pin to make resetting the Z80 easier.

Getting this going was fun, and a good learning experience. Gained a few XPs.

What next? Well, I could continue on and try to add enough to make a functional computer out of the Z80 and following the techniques in Ben’s 6502 video series. I’ll definitely need some more breadboards, and a few more components. I’ve got a few RAM chips I could try, but no idea of any of them actually work.

It’s kind of cool just turning it on and watching the LEDs blink though.

Making a breadboard based Z80 computer would be a fun project.

SpaceX Crew2 launch from the house!

Early yesterday morning, we were able to see the Commercial Crew 2 launch from the house.

We were watching the SpaceX live stream of the launch, and at about T+2:20 after lift-off, we spotted a small red light rising up behind some houses. We lost sight of it briefly as it got higher, but then we spotted the exhaust plume from the booster rocket once it got high enough to be illuminated by the rising sun.

Commercial Crew 2 launch seen from the house

The SD card in my phone picked overnight to get corrupted and unmount itself, so all of the pictures from earlier in the launch, including booster separation, didn’t get saved.

The photo below shows the larger plume of the second stage heading off toward the north, with the much smaller plume from the booster stage near the center of the image.

SpaceX Falcon 9 second stage rocket plume.  The exhaust plume from the booster stage is visible just below the center of the image
SpaceX Falcon 9 second stage rocket plume. The exhaust plume from the booster stage is visible just below the center of the image

It was interesting to see the puffs of exhaust as the booster stage made its way to the SpaceX drone ship.

Falcon 9 booster stage
Falcon 9 booster stage returning to the SpaceX drone ship

We were even able to see the booster stage start its landing burn as it landed off the coast.

Falcon 9 booster stage landing just below center
Falcon 9 booster stage heading to the drone ship

Pretty spectacular start to the day. With 11 crew on the ISS now, it’s going to need some more modules.

Atari 2600 controllers

Went through and checked out all of the controllers that came with the Atari 2600s. There were 5 Atari joysticks, 5 other joysticks and two sets of paddles.

The joysticks are pretty simple devices, consisting of a single PCB board with 5 metal dome button-type switches.

Atari joystick PCB

The joystick consists of a plastic piece with knobby bits that contact the domes. Pushing the joystick up, down, left, or right causes the knobby bit to press down on the switch, closing it and making a signal go down the corresponding wire.

One of the joysticks was broken. The other four joysticks work ok, but aren’t super responsive and the fire button on one of them doesn’t seem to be working.

The other non-Atari joysticks sort of work, but mostly don’t. Haven’t taken them apart yet to see if there’s anything that can be repaired.

The paddles are pretty simple devices, each consisting of a single 1 Mohm potentiometer and a push button.

Atari paddle controllers

After disassembling the potentiometers and cleaning them, they worked a little bit better than they did before, but there’s still a lot of jitter in the resistance measurement when the pots are turned, which translated to jittery movements in games. I’ll probably end up replacing the potentiometers if I can find any suitable ones.

Atari 2600 progress

After replacing the voltage regulators and several capacitors on the Atari 2600s, one of them is back in operation!

Pac-Man on the Atari 2600
Pac-Man on the Atari 2600

Out of the 18 cartridges I have, half of them worked (were playable) when I plugged them in. The others just gave me squiggly lines or just a black screen. Not sure if it’s an issue with the cartridges or the cartridge slot.

Still lots of work to do on the consoles. The other console only got a quick check with a couple cartridges, so I’m not sure if it’s working yet. The switches on both of them are a bit finicky so I’ll probably have to take them out for cleaning/refurb. I don’t think any of them will need to be replaced though. The cartridge slot seemed a bit touchy too, but looking into that will be a bit more work I think.

After that I’ll tackle the controllers. There are a few of them to work on. I’ve got 5 Atari and 5 third party joysticks plus a pair of paddles. The one joystick I tried mostly worked, although it wasn’t very responsive when pushing the stick in the down direction.

Phinally Done!

My doctoral diploma arrived in the mail a few days ago, which makes my PhD fully official now!

Clemson University PhD diploma
Clemson University PhD diploma

Because of COVID-19 related precautions, the Clemson “hooding” ceremony wasn’t going to have any actual hooding of the PhD graduates like there would be for a normal event, so Connie and I met up with my advisors to have our own private hooding ceremony the week before the Clemson ceremony. Having the hood put on me was the important part, so I’m not wearing the regalia.

My own private PhD hooding ceremony

To commemorate the occasion, Connie made me this cool ornament.

PhD ornament
PhD ornament

A much modified Clemson University Fall 2020 Doctoral “Hooding” ceremony was held at the Bon Secours Wellness Arena in Greenville, SC on December 16, 2020.

There wasn’t nearly as large of a crowd at the graduation as I expected, and it seemed like maybe about half of the PhDs listed in the program were present. Made for a pretty quick ceremony. For people who couldn’t make it to the hooding ceremony, the whole thing was streamed for people to watch online (don’t let the preview image fool you, there was no hooding going on).

I show up for a few seconds at the 40:56 mark in the video.

This is the part of the ceremony where the PhD is conferred to the graduates (from Connie’s vantage point in the stands):

And this is Connie’s view of me walking across the stage:

2020 graduates were also given a nice little pin custom designed for the occasion. From the hooding ceremony program, the pin is described as “a block ‘C’ logo that was in use in 1955 when Clemson offered its first doctoral degree program. Across the C are three stripes like the ones graduates are wearing on their sleeves today.”

Clemson PhD graduation pin
Clemson PhD graduation pin

Although the PhD is done, work on related research continues. I still need to re-write one of the papers I wrote for my dissertation and submit it for publication. My advisor also asked me to submit an abstract based on my work to the upcoming IADR meeting, so I’ve got that to work on as well.

In my graduation regalia under the Out sign
I’m out