Friday, March 25, 2022

Cable Management for Desktop Shelves

Cable management trays
added to back of desktop
Now that my station desktop is on wheels and has a set of nice shelves, I wondered might be done about the rats nest of wires hanging down from the back of the desk. Some kind of cable management system was needed.

These systems can be expensive. I found a solution on that worked pretty well. It is a kit of eight cable raceway trays about 15" long, 1.5" wide and just under 1" tall. All for just about $20.

These worked well with my desktop shelves. Three cable trays fit neatly on the back of the shelves just under the copper pipe ground bus bar. I mounted them using three short wood screws on each tray.

The tops of the trays either slide or snap off. The fingers on the sides are easily displaced to insert wires of just about any size. In some cases, cables are routed in the trays from one end of the shelves to the other.

From the picture, there are still a lot of wires, but it is neater and more manageable than before. Many of those are antenna coax or power connections. The antenna coax will be moving to the back wall of the basement once the Single-Point Ground (SPG) panel is in place. 

I also improved the bonding between units. I'm using 1/2" tinned copper braid, a fork lug and a cable clamp around the 1/2" copper tube grounding bus. This creates a low-impedance connection between the equipment and the station ground. In a few cases, I had to drill a hole and add some #6 screws and nuts to make the connection.

The best part is, I still have five left-over cable management trays to use elsewhere.

Thursday, February 3, 2022

Forty Years of Personal Computing - MC6800 Years - Hardware Accessories

MP-8M sans modifications.
During the summer of 1978, I ordered more parts for my SWTPc 6800 computer. 


I ordered an 8KB memory board, the MP-8M. The board used 4Kx1 chips, compared to the 1Kx1 chips on the MP-M. Even though it held twice as much memory, the MP-8M looks barely populated by comparison. It also drew far less power. Notice the LM7805's have no heat sinks. The kit came with them, but they really aren't needed.

The original MP-M boards drew about 1.5 amps from the 8 volt supply for each board. SWTPc recommended running a maximum of four MP-M boards to avoid exceeding the capacity of the power supply. With the MP-8M, the machine could be populated to the 32 KB of continuous memory the MIKBUG memory map allowed. 

At some point, I tried expanding the 8 KB board to 16 KB. I did this by buying 16 more 4Kx1 RAM chips and piggy-backing them on the original devices. All the pins were soldered except for the CE - Chip Enable (pin 10), which was raised to the side and wired together in two groups of eight. A couple of additional chips were used to drive the CE pin for the upper and lower 4 KB banks. 

In theory, it should have worked. When the CE pin was high, the chips were unselected and all their outputs were in a tri-state mode. The decoder should select only one set of 8 chips at a time (or none at all, depending on the memory address).

I never could get it to work. The original 8KB worked fine, but the additional 8KB never responded properly. I suspect there was something incorrectly wired in my additional decoder. I removed the decoder circuits and left the piggyback chips. Eventually, I removed those as well.

One feature of the MP-8M was the write-protect switch. Flipping the switch made the memory unwritable. I never found a use for this feature, so I removed the switch.


Two other purchases I made in the summer of 1978 -- SWTBUG and the MP-LA. SWTBUG was a MIKBUG-compatable ROM with several extra features. Perhaps the most important feature was that it supported the MP-S serial interface, and not just the MP-C serial interface. More on this in a later article.


MP-LA board.
The MP-LA was a parallel interface card using a 6821 PIA. I didn't have anything to hook this up to, but I wanted to experiment with parallel interfaces. So I built something.

The Kreepie-Peepie

I cobbled together a small aluminum box that contained 8 red LEDs, plus a small audio amplifier. The amplifier design was taken from the May 1977 Kilobaud article, "Adding 'Plop' to Your System" (page 98).

Kreepie Peepie - says so with dry-transfer letters.
The original amplifier design used a 7406 hex inverter with open-collector outputs. One inverter buffers the input, the next creates a 180 degree phase difference, and the rest are hooked in pairs to drive either side of a 500:8 ohm transformer. The 500 ohm winding is center-tapped and fed through a 1 k ohm potentiometer as a volume control.

For some reason, I used two 7400 NAND gate chips. Probably because it was what I had one hand. This did not work the same, since the 7400 does not have open-collector outputs. But it worked despite my error. 

The 8 LEDs connected to the B port of the MP-LA, and the audio amplifier was hooked to the CB2 control pin. The whole unit was powered by stealing 5 volts off the MP-LA's LM7805 regulator.

While it sounds simple, this tiny box was fascinating. I spent the next several weeks writing and modifying small assembly language programs to exercise it. Programming different patterns of the 8 LEDs was easy and fun. Animating the lights at different speeds required mastering delay loops in the code.  

Inside the Kreepie Peepie.
Even more challenging was the audio interface. Whenever the CB2 pin was changed, it would make a "tick" sound in the speaker. Making sounds required one to constantly change the state of the CB2 pin. By toggling CB2 rapidly, one could create tones, the frequency of which was controlled by the speed of toggling. Experimenting, I found that I could create more than one tone simultaneously by using two numbers and computing the delay loop. Changing the delays algorithmically produced weird rising and falling sounds.

I spent a lot of time hand-modifying machine language programs and running them to see what new sound or LED pattern I could produce. One Saturday, my mother got really annoyed that I was playing with the computer instead of coming to dinner. She complained that I was spending "too much time with the kreepie peepie." And thus the little box was dubbed the Kreepie-Peepie. I even applied rub-on letters to the box with this name.

Thursday, January 27, 2022

Forty Years of Personal Computing - MC6800 years - Cassette Tape and BASIC

Percom CIS-30+. Note that the handles of two
switches have broken off.
I don't have a lot of records about the early use of my  my first personal computer - the SWTPc 6800 Computer System. I purchased it in November of 1977, built initially with 8 KB of memory, shortly upgraded to 12 KB.

Around December 1977, I purchased the Percom CIS-30+ cassette tape interface. These interfaces allowed one to store and load programs on audio cassette tapes. 

The CIS-30+ had major advantage over the SWTPc AC-30 cassette tape interface. Like the AC-30, the CIS-30+ supported the 300 bps Kansas City standard, but it could also record and decode at 600 and 1200 bps. This allowed programs to be stored and loaded two to four times faster. 

Insides of the CIS-30+.
One early modification I made to the CIS-30+ was a small LED for the Tape On switch. This switch changed the serial input from the keyboard to the tape interface. More than once, I had left the switch in the on position and wondered why I couldn't type anything from the keyboard.

Originally, the CIS-30+ sat on top of the SWTPc 6800 Computer System. At some point, before I moved to Atlanta, I removed the board from the small aluminum case, and mounted it on the front panel of the SWTPc 6800 Computer System, in a space right above the power switches. This made the whole unit more compact, and reduced the number of cables that had to be dealt with. 

I've since removed the cassette interface, and the holes that remain in the computer font panel. 

The first program loaded was Rob Uterwick's Tiny Basic, which required 4 KB of memory. That was perfect for my machine, as it left 8 KB of space for programs.

Tiny Basic was distributed uniquely.  The May 1977 issue of Interface Age contained a thin plastic record with Tiny Basic in Kansas City standard format. I jigged up a circuit so I could play the record on my family stereo and record it on a cassette tape. It took several tries to get the levels right, so the recording was readable. The magazine also had a hex dump of the program, so I verified that everything loaded correctly.

Tiny Basic was fun, but very limited - no string variables or functions. In the spring of 1978, I purchased SWTPc's 8K BASIC and the 6800 Co-Res Assembler / Editor.

Rob Uterwyk's 8K
BASIC Manual.
With a full-featured BASIC interpreter, I amused myself by entering games. I had a copy of David Ahl's 101 BASIC Computer games. The dialect of BASIC was slightly different than that in the book, so minor changes had to be made. Still it was fun. I also entered programs that were published in magazines. Hunt the Wumpus was one of my favorites. As was Lunar Lander. 

6800 Co-Res Manual.
The Lunar Lander game was amusing. It prompted you for an amount of fuel to burn at each step, as you headed toward the moon. One time I let the lander get really close, then entered 1.0E+99 -- the largest possible number -- as the amount to burn. The result must have caused some kind of weird numerical overflow, since the next step had the lander successfully on the surface!

One of the magazines published a Fantasy Adventure text game in BASIC, and I managed to get it running on my computer. At school we had a "Fantasy and Renaissance Fair", and my computer was featured running this game as one of the exhibits. 

Setting up the computer to run this game was an involved process. First, you had to load the BASIC interpreter. The first part of the 8K BASIC tape had a binary loader program (which was twice as fast as the Motorola S1 format). With that program loaded and executed, you would load BASIC. The second step, after BASIC was running, one loaded the game from a different cassette tape. Then one could execute the game. All of this was done at 1200 bps speed, and the process took nearly 30 minutes. 

Someone managed to kick the power button on the computer in the middle of playing, turning it off. I spent the next 30 minutes of the festival re-starting the game....

Sunday, January 16, 2022

The Desktop Shelves

Updated shelves as of January 2022. The AL-80A
Amplifier is just off to the right side, on the desk.
Setting up my shack in my first home, in 1986, I needed to stack equipment. My operating position was a finished door on top of two filing cabinets, something that I used in my previous apartment. While the table was big enough, shelves were needed to easily access all my equipment. 

I came up with a design using 1x12 lumber. There are three shelves, one 1", 12" and 22" above the tabletop. I chose these heights because it allowed me to slip my paper log books and other operating aids under the bottom shelf -- under the bottom row of gear. 

I bought a stack of 1x12 boards, borrowed a friend's table saw and cut the pieces to length. I laid them on edge on the cement floor of my garage, glued the edges and pieced them together with wire brads. Everything lined up OK -- the result was pretty square.

35+ year old shelving unit, before
it was removed from desk
The shelves were 48" wide ( 8 foot boards cut in half ), and had two uprights under each shelf. These shelves worked for several decades.

Over time, I noted problems. The upright supports limited the equipment I could put side by side, because only so much would fit. And the lowest shelf was problematic -- it meant my computer was in front of the shelf -- which meant my arms hung off the desk, with my forearms resting against the edge of the desk. This caused a lot of fatigue when contesting. Plus, I had stopped using paper logs back in 2006, so there was no reason for the lower shelf.

Micro-shack, before I moved.
I liked the layout I had back in the micro-shack. The desk surface was small (just a couple of inches wider than 5 feet), and the primary equipment sat on the desk itself, with other gear on a shelf. This meant I could re-position my gear at will. Best of all, the computer could be front and center, with my forearms resting comfortably on the desk itself. 

After 35 years, the requirements came together. I needed a shelf unit with two shelves. The first shelf would be 12" above the desk, and the second shelf 22" above the desk. This left more than enough room to slide a 15-17" laptop under the bottom shelf. The shelves could be a little wider, to accommodate more equipment. Because my copper pipe grounding bar was a little more than 53" long, I opted to make the unit 52" wide. 

I liked having the AL-80A amplifier on the right side of the desk, canted slightly to make the controls accessible, and allow for good cooling airflow. With a 52" wide self unit, this meant about 8" of unused desk space on the left-hand side. That was fine. That part of the desk is right next to a wall, and I don't put equipment that deep -- usually that's where my headphones and operating aides end up.

The bottom and top shelves would be separated by two uprights, with openings of roughly 17" on the left and right, and 15" in the middle. Under the bottom shelf, there would be no uprights. Instead, to keep the shelves from bowing, I used a piece of 1x4 as a sheer web at the back of the unit. 

Here are the component dimensions used:

  •   top (1x12) - 52” 
  •   shelf (1x12)  - 50 1/2” 
  •   ends (1x12) - 21 3/4” (2) 
  •   separator (1x12) - 10” (2) 
  •   shear web (1x4)  50 1/2” 
I bought the requisite 1x12 and 1x4 lumber, but didn't cut or assemble until later. This was unfortunate, because the lumber cupped a little bit as it dried out in my basement. This made the pieces a little harder to fit together. I used the same construction technique I used before -- glue and wire brads. 

And even though I put the pieces together on my very flat workbench, a little bit of twist was introduced in the bottom shelf. It doesn't quite line up in the front like it should -- something I'll be looking at for the next 30+ years. I considered busting it apart and starting over, but I decided it would do as is. 

Assembled unit with
grounding bar installed
I intended to stain it and seal with polyurethane. However, I found that my stain had turned into a solid mass of jelly and was unusable. Instead, I applied three coats of polyurethane. The resulting finish is quite handsome.

The shelf unit is relatively light and quite sturdy. I'm sure it would support my weight, but I didn't try. The copper pipe grounding bar fastens to the 1x4. I use small hose clamps to attach wires to the grounding bar. This ensures that all gear is properly bonded to ground.

I'm very satisfied with the end result - plenty of room for gear on the desktop, with other gear on shelves at a handy height. The bits and pieces of equipment are slowly coming back to the operating desk, and I'm being careful in deciding what goes where -- it can get awfully cluttered. 

I do love having a lot of space for computer gear on the desktop. I've had as many as three different laptops all running at the same time on the desk.

Now I've got to finalize where everything goes. I've already decided I need to move the P3, and the KK1L antenna switch matrix is going to end up on the basement wall on the Single-Point Ground panel.

Saturday, December 25, 2021

Fifty Years Ago - The AM Count-down

Original log book from
When I first got into radio, in 1971, I barely knew what I was doing. I had done some shortwave DXing with my GR-81, but that rig worked much better on the AM broadcast band than anywhere else. Just before labor day of 1971, I put up my first outdoor antenna. 

Previously, I had just used a spool of magnet wire strung around the ceiling of my attic bedroom. This was not a very good antenna. Just before school started in 1971, I bought a 25 foot roll of small speaker wire and unzipped it all. Soldering the two pieces together, this gave me 50 feet of antenna wire, which I strung out the window, across the garage and into a tree at the edge of the yard. 

I was eager to try this new antenna, so I proceeded to tune across the AM broadcast band that evening, and log each station I could. I started about 9 PM, and kept tuning until midnight. The next evening, I continued the process. 

Sep 3 log page.
That first night, I had started at the bottom of the band at worked my way upwards. The second evening, I continued upwards, but then reversed and went lower in frequency. This made more sense to me, and my later "countdowns" that I would make in subsequent years all started at the top of the broadcast band and continued toward the bottom. 

Sep 4 log page.
This event inspired me that for the next several years, I would try to do a "countdown" around Labor Day weekend. It marked the end of the summer, but also the beginning of the radio season. 

I remember it distinctly. I would sit patiently and wait for the AM stations to ID, generally at the top or bottom of the hour. If I got lucky, they would ID sooner. 

Hard to believe that event was over fifty years ago. 

Saturday, December 18, 2021

Oh, Wow, What a Year!

I can't believe I haven't posted in over six months. It's been an interesting year. Things really heated up quite a bit at work in the late spring, and I finally got the opportunity to take a couple of nice vacation times in the summer before Covid sprung back up.

And then, in October, when I finally thought I was hitting my stride at work a year after a position change -- they laid me off....

So, I've been busy looking for new employment. I'm happy to say that I have accepted a position that starts in January, so perhaps I can catch up on some much needed writing before then. 

Monday, May 3, 2021

Forty Years of Personal Computing - 6800 - The Need for Speed

The 1.0 MHz clock board, attached to the back
of the MP-A CPU board.
When I ordered my SWPTc 6800 Computer System, I was expecting a 1 MHz 6800 computer. It wasn't quite.

Yes, 1 MHz seems glacially slow by today's standards, but this was 1977! And the Motorola and MOS Technology chips of that time could access memory in a single clock cycle, so they were just as fast as the Intel or Zilog chips at twice the clock speed. (Those devices needed two clock cycles, minimum, to access memory and typically ran 2-5 MHz)

Perhaps as a cost-saving measure, the SWTPc MP-A board only has one crystal. This crystal connects to the MC14411 bit rate generator, which requires one specific frequency: 1.8432 MHz. The MC14411 contains a number of divisor networks to offer common bit rates for serial communication. 

The designers of the MP-A used one of those outputs to drive the MC6800 at exactly 0.9216 MHz through clock conditioning circuitry. The MC6800 has two clock inputs that must be non-overlapping. This required about three integrated circuits and about 20 discrete components to produce. (Motorola later developed the MC6875 chip for this purpose. The later MC6802 had an on-chip clock oscillator and driver)

Clever, perhaps, but disappointing. It meant that my computer was almost 8% slower than specified. 

Harsh Reality

Original crystal from my MP-A.
All this assumes you are start with a 1.8432 MHz crystal. In my unit, the crystal was actually 1.7971 MHz! This must have been another cost-saving measure. Perhaps the 1.8432 crystals weren't available, or perhaps they were more costly, since they substituted a unit that was 2.5% slower. 

This meant that I didn't have a 0.921 MHz computer, I had a 0.89 MHz computer. It was 11% slower than 1 MHz.

This would not do. 

First Modification

Changing the clock speed is actually a simple matter - one need only introduce a clock signal into the conditioning circuits that drive the MC6800. All you needed was a crystal oscillator and a 1 MHz crystal.

Close-up of the clock board.
I used a very simple circuit using two gates of a 7400 to create a very reliable oscillator. Even though this circuit was really simple, I wanted it to neatly attach to the CPU board. So, I etched a small circuit board. This was perhaps my second or third attempt at making a printed-circuit board, so it isn't pretty.

I masked the board by hand-painting etch resist. The lines are not very straight, and the lands have all different sizes. Most of the board was unetched and forms a ground plane that the crystal case is tied to. The result is very crude and rough.

Crude but functional etching.
The smallest drill bit I had was quite large for the pins, so the chips and other components don't rest very snugly, and are held in with solder blobs. All of the parts came used out of my electronics junk box, so they are different sizes. Only three wires connect to the MP-A: 5 volt power, ground, and the oscillator output. 

It worked!

I now had a computer which was 11% faster than stock. At the time, It really felt like I had improved the computer.


Having an external clock oscillator means you can experiment with different clock speeds. Some time circa 1980, it dawned on me that I might push the processor faster than 1 MHz

Now, the Motorola 6800 microprocessor line had different codes for different speeds. No letter indicated 1 MHz, and "A" indicated 1.5 MHz, and "B" was 2 MHz (eg an MC68A00 is 1.5 MHz, and MC68B00 is 2 MHz). This wasn't just for the processor, but it applied to all the peripheral devices in the line (MC6810, MC6820, MC6830, MC6850, etc). All of my components were 1 MHz only. Could it possibly work at higher speeds?

At an electronics shop, I found a surplus 2.01 MHz crystal cheap, so I figured I'd give it a try. I removed the 1.0 MHz crystal and installed the new unit.

It worked!

I ran that computer for a couple of years in that configuration, and I never had a problem. Those 1 MHz components could work at 2 MHz, although likely not through the entire 0 to 70 degrees C rating for commercial devices. 

This experience proved useful several years later at work, circa 1985. We had upgraded from the 4.77 MHz IBM PCs to 6 MHz IBM ATs. Of course, I opened up mine immediately and noted that the CPU crystal was 12 MHz and socketed. A trip down to the electronic surplus store netted several crystals at 16, 18 and 20 MHz. That IBM AT on my desk would not boot up at 10 MHz (using the 20 MHz crystal), but it ran just fine at 9 MHz. I made the same modification to several other colleague's computers as well to 8 or 9 MHz. We ran that way for years. And when it came time to turn them in, the original 12 MHz crystal was easily swapped back in.