Chapter 2: Christmas Present -- Micro Chroma 68
For Christmas, Denny and his wife Denise came up from Austin where Denny worked for Motorola as a semiconductor test engineer. Louise was in Germany with Bruce and their kids, but Giselle was at home, and Sherise and RebeccaLee came in from BYU. Five of the six siblings, one in-law, and two nephews all together in the converted duplex.
I had fun being monkey bars and bucking bronco for both nephews, changing the younger nephew's diapers, and talking about my mission with my siblings. Kids always seem to have fun climbing on me. I think it's fun, too.
Denny and I found some time to talk microprocessors, especially news about the 6809 (the partially 16-bit redesign of the 6800), and about the 68000 (the 16-bit/partially 32-bit riff on filling in the deficiencies of the 6800). He had some technical notes for CPUs and peripheral chips, and I was able to take some time to scan through them.
Christmas morning, I had an unexpected flat present. Unwrapping it, I found a printed circuit board and manuals, with a small pile of related spec sheets and technical datasheets Denny hadn't given me the night before, to avoid spoiling the surprise of the microprocessor prototyping kit. Another package contained necessary integrated circuits.
"Whaddaya think?" he grinned.
"Uhm, ..." I spread the kit out and looked at the manual. "Micro Chroma 68. Engineering prototyping/preview kit for the 6802/8. Interesting." To say the least.
"Yep. You can hang a keyboard on it and save programs and data to tape. And hang an adapter on it to plug into the TV for video output. I snagged one of these boards for me, too. I even snagged us both a BASIC ROM."
ROM is Read Only Memory, used to store the permanent, unchanging bits of program and data that the CPU reads to bring the computer up to a stable, functioning state when you switch on the power. Also used to store game and other program code in the old game cartridges, etc.
ROM, as opposed to RAM.
RAM is Random Access Memory. The name is intended to mean only that you can access it randomly, but somewhere along the line RAM came to mean read/write RAM. Whatever the name, it's where the computer works on the data you give it.
In this case, the program code for the computer to run the (Palo Alto) Tiny BASIC programming language was stored in the ROMs. Nowadays, such things are stored on the hard disk or in an SD card or other Flash RAM or similar device.
A BASIC interpreter in 4K, you ask?
8-bit microprocessor code takes less space than 32-or 64-bit. But, more than that, in the early microcomputers, there was a much smaller execution environment to support. For example, no standard extensions for diacritical marks on text, yet. No floppy disks on stock models. Nothing keeping track of time and date in the background for most microcomputers.
And no Internet connectivity. Networking engineers working for the military were busy inventing the primitive forms of the Internet at the time, and testing them in the universities, and the closest thing to it was a serial port and a modem, with terminal software to hook up to a rather limited central server and nowhere else.
"BASIC? No assembler?"
An assembler is a program that converts assembly language program source code to machine-readable machine code. Assembly language is essentially an (almost) human readable form of the machine language, often with something called macros, which I will explain later. It's pretty arcane.
"Assembler? You sure you wanna mess with something as low-level as that?"
"BASIC in ROM may make for a good programmable calculator, but it just feels clunky. All those GOTOs."
"GOTOs are not evil."
"Just clunky."
"And assembler has jumps. How are those different from GOTOs?" Denny grinned lopsidedly and wiggled his ears.
"Well ...," I didn't have an answer to that, yet.
He held up a small bag of something that looked like really short, fat pins.
"What's that?"
"For the ROM socket. They fit in the circuit board holes and turn the board itself into a socket. Very low profile, and you can even solder point-to-point wiring on them, if you're careful."
"So I can plug something else in if I want. Great! I'll be using assembly language in my microprocessors class. The class is using the 8080, but I got permission to use the 6800, if I could get the kit for it."
"Well, you should go ahead and learn the 8080, too." (In the real world, we discussed whether learning one CPU would ruin a person for another, without having enough experience to come to a reasoned conclusion.)
"I plan to." (I was hedging, but both of us were working on the hunch that more experience is better, which is the correct conclusion.)
"And the monitor ROM has an in-memory disassembler."
A disassembler does the reverse of an assembler. It converts the computer's machine code to a form readable by ordinary humans.
"Monitor ROM?" I dug into the manual and found that section. "Oh, yeah. In the multifunction chip. This is good. It'll definitely be useful for the class."
"I snagged you most of the chips. The rest of the parts you can get at Radio Shack."
Radio Shack. Back then you didn't need to be a perfect company to be useful. Not nearly as many predatory investors waiting to reap you for profits the minute you stumbled. Much less intellectual property to stumble over the minute you tried to do something yourself. And if I get started on intellectual property ....
Semiconductors are made on wafers, and the wafers are sliced up into small chips, that look a little like tiny chips of opaque glass or burnished metal, which are then put into little rectangular packages. And the packages are called chips for what they contain.
Back then, the packages often looked like centipedes or other multi-legged creatures. The electronic connection pins (or "leads") looked like legs coming out of the little plastic case body. Now the packages themselves are usually flat, and look like chips of plastic.
"Didn't this cost a lot?"
"Engineer incentive program. One part bad in a batch and they toss the whole batch in the recycle barrel. Engineers are allowed to borrow test equipment after work and look for good parts from the recycle barrel, and use them for personal projects. The mainboard was available for cheap, too."
(That program later had to be halted because of abuses. Somebody started selling the not-quite-good parts, and it gave Motorola a black eye. Definite unenlightened self-interest.)
"Cool. But we're going to have to get our own keyboards for these."
"That's true. There's a surplus parts place in Austin, if you can't find keyboards around here."
"Mom ..."
She was sitting nearby, talking with Denise and my sisters.
"You want to go to Austin, don't you? I can walk the paper route while you go." Mom gave me her own encouragingly lopsided smile.
"Thanks! Where's my soldering iron? Is this kit complete enough we can get video out before you head back to Austin?"
"Let's see if it is."
I didn't actually get the iron out immediately. There was family business first, and board games and card games to play, too. Monopoly. Clue. Pit. Maybe even a long session of Risk.
And Radio Shack wasn't open on Christmas. I had to go to Radio Shack the next day to get some resisters, switches, connectors, a transformer, and a voltage regulator for the power supply.
The parts were in stock, and before it was time for Denny and Denise and their kids to head back to Austin we had both his board and mine giving us video output from the monitor ROM, waiting for input from the missing keyboard.
It showed
VDG DEBUG SYSTEM;TV-BUG VER 1.2
MOTOROLA -- AUSTIN, TEXAS
TVBUG
_
on the screen, and there was a flashing cursor after the TVBUG prompt:
Micro Chroma 68 Monitor ROM Boot Screen B/W |
"Well, it comes up this far."
Dad was watching us work. "Now what do you do with it? Look at it?"
"That's about it for now," I replied with some regret.
"Not very interesting for very long." He mugged a grimace.
We chuckled.
"Test the monitor ROM?" Denny suggested.
"With what keyboard?"
"Bob at work said you could short the keyboard input pads to get keypresses."
"No way. Okay, let's look at the matrix diagram."
There was no matrix diagram. We spent some time puzzling over the circuit board diagram and monitor program listing.
"It's expecting a decoded keyboard, with pre-baked 7-bit ASCII codes and a strobe. Trying to figure out how to short those patterns on the input lines is gonna bend my brain tonight."
(Expectations and pessimism sometimes just get in the way.)
"Gotta be a way."
"We can short the cursor keys, maybe."
We tried that, and we got the cursor to move.
"Success."
"Skin, bro."
I reached over and slapped Denny's outstretched hand. High-fives were already passe vernacular in our family, not sure why.
"So, when you get the keyboard, then what do you do with it?" Dad was chuckling.
"Uh, use it as a really powerful programmable calculator?" was my first suggestion.
"What if it gives you a wrong answer?" Dad knew I was aware of the problem of the human tendency to trust machines.
"Well, if I build it, I may be able to fix it."
"Better not tell Dad about the games." Denny wiggled his eyebrows
Dad laughed.
"Yeah, making games, too. But it can also be used as a word processor -- a fancy typewriter."
"That could be interesting. I'd like to see that."
"We'll probably want something more than that slow cassette output to store documents, though, if we do that," I added.
"Like what?" Dad asked.
"Floppy disks."
Hard disks were just plain off our radar at the time. Unthinkable. Flash RAM was not even a word yet. Motorola was still calling their early versions of that "EEPROM", for electrically-erasable programmable read-only memory. Prices were higher than UV EPROM, and guaranteed erase cycles were still in the hundreds, nowhere near enough to use as an alternate file system.
Denny suggested, "Fast cassette? Jerry says he has a circuit that can do fifteen hundred baud on a decent hi-fi cassette deck."
The slow Kansas City Standard cassette tape interface that the board included would operate at 300 baud. At one bit per transition, that's 300 bits per second, and with start bits and parity, works out to about 30 bytes per second. Thirty characters per second. About six words per second or 360 words per minute. Some people back then claimed to be able to type that fast, but I was doubtful. I could only maintain about 40 to 60 wpm. Professional typists generally worked at about 120 to 160 wpm.
At 30 bytes per second, or 1800 bytes per minute, it would take about four and a half minutes of tape to fill the program/data RAM of the stock Micro Chroma 68. Longer times means more chance for read or write errors.
At five times that speed, it would take less than a minute, and be more reliable as permanent storage.
I nodded my head, just a little grudgingly. "That would be worth looking into."
We unplugged things and rejoined the rest of the family.
"No color," Denny complained.
(During my teenage years, the black and white TV I bought with newspaper route money was the only TV in the house. But it might have been the real me that complained about the lack of color, not the real Denny.)
"Black and white TV is good enough for now. You've got a color TV at your place that you can check the color on."
(And it might have been the real Denny that suggested the real me check his color at their place.)
"Do you need a color TV?" Dad asked.
"No. There are other things I need first, like an oscilloscope."
"Oh! Silly scope! Sounds like TV to me."
We all chuckled at Dad's pun. We knew trying to discourage him didn't work, so we just enjoyed the puns.
A few technical details of the Micro Chroma 68, for those who are interested:
The principle integrated circuits for the computer were
- Central Processor Unit (CPU): Motorola 6808, a 6800 with built-in clock circuit.
The 6802 Denny gave me had 128 bytes of built-in RAM at the bottom of the address space, too. The 6808, the chip that was specified for the kit, was a 6802 with RAM that was not in-spec, and was disabled. Either would work here.
(But not the 68HC08. That was a different, later Motorola microcontroller system-on-a-chip (SOC) with a single 8-bit accumulator and a lot of optional RAM/ROM/ports/timers/etc. Different beast altogether.)
- Video Display Generator (VDG): Motorola 6847, capable of displaying 16 rows of 32 column text, or 256 horizontal pixels by 192 vertical pixels monochrome resolution on the analog TVs of the time. Had limited color output capabilities as configured in this circuit.
Note that this was the VDG used in the Tandy/Radio Shack Color Computer, which figures somewhat prominently in this story.
- ROM/IO/Timer: Motorola 6846, a multifunction part containing the monitor program in ROM, 8 bits of parallel I/O plus two bits of handshake, and a 16 bit timer/counter.
(But they didn't call it a RIOT. That was the MOS Technologies 6502 family 6532, which had RAM instead of ROM -- RAM, I/O, Timer. Well, except that Motorola did call the 6846 a RIOT in the Micro Chroma 68 documentation. Welcome to the world of sales engineering.)
The Micro Chroma 68 controlled the Video Display Generator graphics modes with the parallel port on this chip. (Radio Shack's Color Computer could have made really good use of this chip, maybe with the ASSIST09 monitor in the ROM.)
- a 6821 parallel interface adapter, with two 8 bit ports plus two bits of handshake for each.
This was mostly for the keyboard, as used by the monitor in the multifunction ROM.
- a 6850 ACIA asynchronous serial communications interface adapter for a serial port that the monitor ROM used as a slow cassette tape interface.
It could also be used, with very little circuit modification, for serial communications such as RS-232C.
- 30 static 2114 RAMs, 1024 by 4 bits each, for 8 kilobytes (8K) of program/data RAM, 1K of system RAM (as used by the monitor), and 6K of video RAM.
8K of RAM would be enough to store and work on about three to six pages of typewritten text.
In case you are curious, Motorola did not revise the ROM or circuit to make a 6802's internal 128 bytes of RAM available. I personally thought that was a mistake.
In addition, there was a perfboard-style kludge area with plated-through pads at the bottom of the board, for adding arbitrary circuits of the user's devising, and also a card-edge connector that could, with appropriate buffers, plug into a Motorola Exorciser (TM) bus. (Yes, engineers love arcane, and sometimes not-so-arcane, puns.)
"Hey, how about a round of Pit?" Dad suggested.
We all enjoyed Pit, so Giselle got out the Pit deck and we played a few games.
[Backed up at https://joel-rees-economics.blogspot.com/2020/01/bk01-33209-christmas-present-micro-chroma-68.html.
Earlier backup at https://joel-rees-economics.blogspot.com/2020/01/bk-33209-christmas-present-micro-chroma-68.html.]
No comments:
Post a Comment
Keep it on topic, and be patient with the moderator. I have other things to do, too, you know.