Explore!
When you learn something new, it is essential to let your curiosity take the lead. As children, we are born with the spirit of an explorer. Even before we can speak or crawl, our minds are fixed upon exploring every aspect of the world that surrounds us. Looking every which way, vocalizing, grasping, observing, and pondering. Asking ourselves, “Why does this happen?” or “How did I just do that?” Curiosity is what pushes development forward, making a nearly helpless baby into a clever and resourceful child in very short order. It provides us with the ability to adapt and learn when faced with an array of challenges during the course of our lives.
This instinctual drive to explore, to discover, and to learn is what makes humans very successful as a species. At the pinnacle of the act of exploration is wonder. Wonder is both an active force and a conscious response. Wonder is an experience that manifests as a rich emotional state, washing over us when our exploration attains an understanding in combination with a deep appreciation at just how amazing the universe really is.
At some point, we gradually turn to more practical matters on our journey into adulthood, and we lose the explorer’s spirit. We settle into a complacent acceptance of our position in this world, and we start paying attention primarily to the immediate responsibilities we carry. We feel that we have “graduated” from that learning phase and we leave exploration behind, without really taking much note of the precious gift that was lost along the way.
This total abandonment of “childish things” is a huge mistake. Not only does it diminish our own spirit, but it is also a lost opportunity for teaching children, who learn by emulating the behavior of adults (far more than we sometimes realize), perpetuating a culture that emphasizes “serious matters” at the expense of exploring the novel. Turning away from exploration is an abandonment of an essential element that makes us human.
This is the realization that struck me one day. As a parent, teacher, and sometimes unwitting role model, the best way for us to teach children how to learn through their own exploration—and seize back that precious gift of wonder—is for all of us to never stop exploring!
Traveling to new places and meeting new people, hiking and camping in the great outdoors, learning and having fun with hobbies—all of these things enrich our lives and provide opportunies to continue to explore our world and ourselves.
The rest of this post is about a deep exploration into one of my hobbies: retro computing. Neal Stephenson would describe this as a dwarvish pursuit, and as such you should only read on if you hear the call of silicon and steel, and have the courage to walk with me into the Mines of Moria to explore the long forgotten past.
Curiosity
It was in this spirit of exploration that I recently sought to recapture the wonder I experienced as a child at the very beginning of the era of personal computers. It was this feeling of wonder that led me to study computer science in college and pursue a career in software development. Check out 8-Bit Computing in the 21st Century : Part 1 and Part 2 for more posts on this exploration.
Let’s now go back to basics.
In the late 1970s, computers began to enter homes for the very first time and they were a completely novel thing. There were no preconceived notions of what a home computer would or could do, not really, other than vague impressions of the behemoth room-sized computers of the previous generation, giant machines of war and industry.
Having a computer at home was like putting hands on something out of science fiction. Interacting with the first personal computers brought to life, before your very eyes, a sense of magic expressed through a glowing screen. Yet they also gave a feeling of disappointment, a recognition of an unrealized potential, as these primitive early machines could not live up to what they might do, according to an imagination fed by popular culture.
At first glance, these early home computers were exceedingly simple and stupid. Software for personal use was hard to come by. Getting the computer to do much of anything required learning cryptic commands and in many cases at least some computer programming skills. The simplest mistake in user input or in the program itself would cause the machine to crash and need to be powered off and on again.
Still, the magic was undeniably there. These early machines could easily perform mathematical feats, especially very tedious and error-prone calculations, which had been only be dreamed about by earlier generations. The potential in that subject alone, even for a student or hobbyist, was enticing. For an engineer or business person, that latent power was self evident.
For the casual explorers of personal computers, however, art and games were the muse singing the loudest song. Listen to how Apple founder Steve Wozniak describes an inspiration that fed into his design of Apple II, one of the “trinity” of the very first home computers, and the only one with color graphics, available for the home market in 1977.
“There was a [color] TV set on the factory floor. They only used black and white TVs for their games, and this TV set wasn’t playing a game, but it had a dot going from left to right and right to left. As it moved, it was changing colors. I’m just sitting there thinking: color. It was hypnotizing, like a psychedelic light show at a concert. An idea popped in my head: a little way to put out a digital signal with ones and zeroes…my god, I have 16 different colors. There had never been a book that talked about color digitally. It wasn’t allowed. It wasn’t done. But I designed every single thing in the Apple II [to make] it possible. One little $1 chip could generate color instead of a $1,000 color-generation board – right out of the computer memory to the display. [That] was another trick I thought of that had never been done.”
“This stuff had never, ever been thought of for a home computer that was affordable. But I just determined that my computer had to be a game machine. I called my BASIC [a programming language – Ed.] “Game BASIC.” You could go back on every note I ever wrote; I called it Game BASIC. My whole idea was, if you write a language that can play games, it can do all the things computers do, like financial stuff. I don’t know what companies use computers for; I only know what I like to use them for, and it’s games.”
Steve Wozniak, 2013 Interview with GameInformer Magazine, Video of Full Interview
Deep Magic
Deep Magic refers to a set of laws placed into Narnia at the time of its creation.
-The Lion, the Witch and the Wardrobe.
I was enthralled by these early computers. The first computer I ever used was my friend’s VIC-20 in 1982, where I vividly remember being amazed that we could load and save a lunar lander game onto a cassette tape. Other than playing games on an Atari 2600 or Intellivision console, I had never before used a computer from the 1970s. Their simplicity can be seen as a gift, a means to gain a deep and full understanding of how they work. With these early computers, that goal seemed to absolutely to be within a person’s grasp.
Inside these machines can be found the deep magic that sprang forth from the origins of computing and formed the foundations of the advancements and capabilities that continue into today.
This curiosity took hold in my mind, so I found and purchased a 1979 Commodore PET for sale online. The Commodore PET has an iconic design, with an integrated 9″ CRT display attached at the top of the case, and while there was much risk that this computer would arrive broken in some way, I figured that the striking appearance of this machine was in itself worth having if nothing else.
As you might expect, when the PET arrived and I flipped on the power switch, nothing happened. It did not work. I was ready for this moment. One of my hobbies is learning how machines work to the point where I can repair them, so I actually relished the thought of bringing this dead relic back to life!
Thus began a many month’s long journey of learning, methodically finding and fixing the many faults, overcoming several obstacles and discouraging setbacks, to arrive at the very end with a working machine! Much more importantly, having this computer arrive broken was the ultimate blessing in disguise, because only by going through this difficult process was the true understanding to be gained. Having to find and repair so many different things required a deep understanding of how the components of the machine functions together to create a computer as a whole!
I walked away from this exploration not only far more knowledgeable about computers at the fundamental level but also in awe of what the early pioneers that designed and built these machines were able to accomplish with nothing to guide their way but their own ingenuity and passion!
Back to Life
Commodore PET, 1970s computer. A machine barely alive. Gentlemen, we can rebuild it. We have the technology. We have the capability to restore this computer back to life. This will be my PET. Better than it was before. Better, stronger, faster.
The Six Hundred Dollar PET
The first problem with my Commodore PET was actually fairly obvious. There is a very large power connector on the mainboard with nice big colorful wires. One of those wires (a red one in fact) had clearly pulled away from the connector and was hanging loose. I was able to push it back into the connector easily, and I was given the huge confidence booster of having the PET come to life! I was rewarded with a glowing green screen, albeit filled with random garbled characters.
Researching this sympton of junk characters, I discovered that the cause for this fault could be almost ANYTHING! Now began the true puzzle. At the beginning, as with many things, gaining an understanding of the problem was slow going and haphazard. Of course there are online forums of vintage computer enthusiasts. There are original service manuals that have been scanned and published online. There are blog posts of others who have fixed their broken PETs. Even with these resources, however, working on a computer decades older than anything in my prior experience was a formidable challenge for me.
The smallest bit of understanding was a triumph, and I began to piece together a sort of grail diary of Commodore PET Model 2001-N knowledge in a moleskine notebook, kept near to hand. The idea of keeping a notebook was recommended by others who had repaired PETs, where they discovered that it is common to fix one thing only to uncover another fault. Carefully noting observations and measurements as you troubleshoot and fix things may become essential for understanding exactly where the fault lies and what to do about it. Gaining knowledge of what is functioning correctly (or not) and how that relates to the functioning of other components leads to a general understanding of how everything in this machine works together to form a computer.
Even with an increased understanding, pinpointing the exact fault without the experience of having worked on PETs before was a tough nut to crack. Fortunately there are modern tools that I could bring to bear, and one of these is the PET ROM RAM from Tynemouth Software. This board slots into the 6502 processor socket, and it lets you bypass the original ROMs or RAM (or both) on the PET mainboard in favor of RAM and ROM code on the PET ROM RAM board. Using this device, I was able to see if either the RAM or ROMs were the problem behind the garbled characters appearing on the screen.
In my case, it was one of the original ROMs that was causing the problem. When I bypassed them in favor of using the ROM code on the PET ROM RAM, I was presented with a glorious COMMODORE BASIC boot screen!
Now that I had a working Commodore PET, it was time to play with some software! I began to program it the way it was done in the late 70s and early 80s, which is to write your own BASIC programs or else painstakingly type in programs from computer magazines or books. Having spent the time and effort to type in programs, I obviously wanted to save them. The good news is that my datasette drive for my Commodore 64 was compatible with the Commodore PET. The bad news is that while it would seem to successfully save the program to casette, the drive motor control wasn’t working with the Commodore PET, so the tape would just keep spinning when attempting to save or load a program. Another fault to be found and fixed!
I hit the books again, reading more about how the Commodore PET works. I learned that much of the input and output for the computer is performed by two MOS 6520 Peripheral Interface Adapter (PIA) chips, with one additional MOS 6522 Versatile Interface Adapter (VIA) chip handling the User Port. For the tape drive, it was likely that one of the two PIA chips was either bad or not seated fully in its socket. Armed with that knowledge, I attempted to remove the chips, clean their pins, and insert them back firmly into their sockets to see if that simple fix would net any results.
To my horror, this simple procedure resulted in the PET only showing a blank screen upon boot! It felt like I was back to square one. Still, my earlier success bolstered my confidence and I persevered.
The next step in my PET saga took a long time and a lot of patience. I finally found the problem after methodically measuring power readings at key points on the mainboard. Learning that most of the ICs including the RAM chips are powered by 5V DC provided the first clue. The 6502 processor was being supplied with 5 volts but the RAM chips were not. After much poring over the circuit schematic for the power circuitry and taking measurements at various points to compare, a full understanding of this circuit began to coalesce in my mind. Seeing the circuit as it appears inside the computer and mapping back to the schematic diagram, it finally became clear that one of the three chunky voltage regulators was not supplying the correct voltage to the circuit!
I assumed that the regulator was bad, so I found and purchased some of these vintage regulators from eBay. While I was working to remove that component, however, I noticed that the problem was actually that the large solder pad for one of the pins was broken and had pulled away from the circuit trace. The damage was not severe, and I was able to repair it with minimal effort.
After making the repair to the circuit board, the PET did boot! At least it came alive, but instead of loading the BASIC environment, it brought up the built-in machine language monitor (MLM). Still, seeing a running computer even in this state was a sight for sore eyes after weeks of troubleshooting!
At this point, I returned back to my original line of thinking that the PIA chips that control input and output may be an issue. I didn’t have a strong clue, but as these chips are socketed and I had already thoroughly inspected the mainboard when I repaired the power circuit, I felt that following this track held little risk. The original MOS 6520 and 6522 chips are fairly rare, but fortunately WDC makes some compatible replacement ICs. I ordered these, and when I replaced both PIA chips the PET came back to life!
The tape drive motor control still wasn’t working, so on a hunch I replaced the VIA chip with the compatible WDC chip. I was on a roll now, as this fixed the tape drive issue! My PET was fully functional!!
I took this moment to reflect on all that I had learned in order to get this old Commodore PET up and running again. It felt great to not only see the machine running as well as it did on the year of its birth, but also to know that I had accomplished that feat by taking the difficult path of learning for myself how it works.
I also was struck by my circumstances. Had the PET not arrived in such a broken state, I never would have had the driving compulsion to gain such a deep understanding of this machine. This gift had provided me with the ability to read the Commodore circuit schematics for this machine. They were like being handed a map to unexplored territory. By using them, I knew where every circuit board trace went. I knew exactly what every single component on the board was and more importantly their purpose.
Furthermore, I had entered this adventure proficient with a digital multimeter, but I had now also learned how to use an oscilloscope to see inside the circuitry in a sense. With that tool, I could not only inspect the voltages at a given point, but I could see the voltages change over time, the signals entering and exiting each pin of the various IC chips as they communicate with each other to form a working computer.
I could also now trace the power circuit as it traversed the entire machine and powered the chips and other components. I could watch the clock signal, emanating from the system clock generator connected to the clock pin on every chip, acting as the conductor that keeps the symphony of computing and input/output (I/O) in perfect harmony. I understood at a fundamental level how the I/O chips such as the PIA and VIA chips functioned, had their own timers, and used interrupt signals to communicate with the processor using a dedicated pin on each of those chips. I now even understood how the addressing signals traveling along a beautiful network of carefully planned circuit traces were used to select the correct ROM or RAM chip and specify the address of the data byte to be stored or retrieved for the given machine code instruction!
Even though it felt like I reached my destination, I wasn’t done yet. If you recall, when I first got the PET up and running, the screen was filled with random garbled characters. This was only fixed by using the PET ROM RAM to bypass the original onboard ROM chips. I was determined next to find and fix the bad ROM chip and restore this Commodore PET to be fully functional in its original state.
Keep exploring!
Stay tuned for Back to BASIC : Part 2, the next chapter in the adventures with my Commodore PET…
© 2023 Adam Whitney
Excellent post
Thank you, sir. A lengthy chronicle, but I tried to make it both interesting and helpful to any other PET enthusiasts out there!
Seeing Giovanni Verrua’s blog post, which I had used in my repairs, disappear off the internet also motivated me. Luckily I found it on the WayBackMachine and linked to it in my post. I found his list of “MUST Dos” particularly helpful and wise, so I made sure to include that in a sidebar image!
Really great writeup, Adam!
“Had the PET not arrived in such a broken state, I never would have had the driving compulsion to gain such a deep understanding of this machine.”
I love this attitude. Keep exploring!
Thank you, David. I appreciate the feedback from a fellow explorer!
Brilliant write up. A good story well-told.
I had almost the exact same experience with my PET 2001-8 (chicklet keyboard). And I used Giovanni’s blog post to get me through the initial stages of fixing it. I had bad RAM and a bad character ROM. I found NOS RAM to replace the bad chips and I flashed a new character ROM. It was such a pleasure to bring it back to life. I love this machine so very much. I keep it setup in my studio and write a short program on it every morning as a form of ‘hello, friend’ to this beautiful machine that brings me so much joy. I’m so glad to see you having a similar explorational adventure. Rock on!
That’s awesome, Daniel! The PET definitely gives a simple joy that computers today do not.
Giovanni’s blog post definitely gave the calm confidence to venture forth toward figuring out how to fix this machine one step at a time without getting discouraged. I was so glad to find it still exists on Internet Archive when I went back to find it as I wrote this post.