A microprocessor is a computer on a chip. It has:The Intel 4004 was the first chip that had general purpose capability. It was made for use in a hand held 4 function calculator and/or for use as a traffic light controller. It used 4 bit words, enough for numbers but not enough for 8 bit ASCII characters. The 8008 then 8080 chips were 8 bit data word chips.
- data bus
- address bus
- control lines
Microcontroller
The microcontroller is a much more modern part. Instead of having the classic address and data buss I/O pins it has register pins that can be digital I/Os, analog inputs, serial buss signals, or other things that relate directly to hardware interfacing. These are typically used in embedded control applications not for general purpose computing. The PIC line from Microchip is a typical example.
SWTP Kit
I started with the Motorola 6800 in a SWTP (South West Technical Products) kit. The kit came with NO software and there was no software on the open market.
It did come with the folding Motorola wallet size machine language instruction list. I learned how to program directly in hex machine code. This was difficult because if you added or subtracted an instruction inside a loop you need to recompute the loop jump distance.
Motorola folding Pocket 6800 Instruction Set Card (Issue B):
Images/M68_3.jpg = hexTeletype Pocket Card with 8-level punched tape data format - you can read paper tape by eye Front Side - Table Side (at 2X magnification)
- Special Operations
- Interrupts
- Hex & Decimal Conversion, Powers of 2, ASCII Characters
- Register Programming Model
- Accumulator and Memory Instructions
- imaIndex Register & Stack, Jump & Branch, Conditions Code Register Instructions
- Operation Code Numerical Listing -
Between bits 3 and 4 there is a row of small sprocket holes. The special USASCII (X3.4-1967) characters are:Motorola published the M6800 Microprocessor Applications Manual, an 8.5 x 11" book about 1.5" thick. It contained sample code for many applications that may have been parts of a point of sale terminal. This was a handy reference to learn many "tricks of the trade". My copy has seen a lot of use.
- NULL - no holes punched the same as reading no tape (RUBOUT = all holes punched)
- SOH - Start of Heading
- ETX - End Of Text
- EOT - End Of Transmission
- ENQ - ENQuiry
- ACK - ACKnoldege
- BELL - rings the bell
- HT - Horizontal Tab a long string
- BS - Back Space, can be used with rubout to fix a typing error.
- LF - Line Feed only rotates the platen one line (does NOT move carriage)
- VT - Vertical Tab
- FF - Form Feed
- CR - Carriage Return. This command takes the most time to complete. Therefore send CR followed by LF and maybe a couple of rubouts to be sure the carriage has returned. People that didn't know would send LF CR and the first letter of the next sentence would be printed in the middle of the page.
- SO - Shift Out
- SI - Shift In
- DLE - Data Link Escape
- DC1 - Device Control 1
- DC2 - Device Control 2
- DC3 - Device Control 3
- DC4 - Device COntrol 4
- NAK - Not AcKnoledge - a handshake method where either NAK or ACK is always returned
- SYN - Synchronous Idle
- ETB - End of Transmission Block
- CAN - Cancel
- EM - End of Medium
- SUB - Substitute
- ESC - ESCape
- FS - File Seperator
- GS - Group Seperator
- RS - Record Seperator
- US - Unit Seperator
21 Aug 2004 - Shortly after getting my SWTP 6800 kit and building it I started learning Motorola assembly language from the pocket card and the 81/2 x 11 x 2" book based on a point of sale terminal that included a lot of source code and schematics. Note there are only 2 buttons on the front of the SWTP 6800 On-Off and Reset. When either of them is activated the 6800 either goes to a cold or warm start address in the operating system ROM and boots itself. The 6800 has an instruction that is a relative 8 bit jump and it was this instruction that allowed Microware to create their Real Time operating system ROM chip to replace the stock Motorola ROM used in the SWTP 6800. Motorola, AMI and other vendors were big on the idea that you could write code that could be:
The big advantage of Re-locatable Recursive code is that the routine does not need to be re-written when it's used in a different location allowing a library of routines to be built and called as needed. When the 6800 uP came out it was common to write self modifying code (it is a Von Newman architecture where code and data share the same address space). The PIC uC chips use a Harvard architecture where code and data spaces are seperated thereby forbiding self modifying code.
- Relocated anywhere in the address space. This could NOT be done with the intel chips. The idea of
- Recursive execution of code was also needed, that is to say that the variables associated with some routine would not be stored at some hard memory address, but would be stored using a stack. This way the same routine can be called time after time without corrupting that data. The calls would be from different routines.
- Re-entrant - means that the code can call itself. For example a factorial routine.
This RT68 operating system evolved into OS-9 which was a very sophisticated op system with features that even today (OS-9000) are great. It depends on the ability to have Relocatable Recursive code.
I remember when the 6809 came out in the Color Computer and I went to a local Silicon Valley meeting to see what some hackers had found. One of the most interesting things about the 6809 as implemented in the CoCo was that although the operating system/Basic language was stored in ROM, it was moved into RAM for execution. This means that other operating systems, I used OS-9, could be loaded and run. The demo was to display on the TV screen the machine code in a dynamic way, page after page. A Motorola app note for the 6809 contained the schematic for the CoCo.
Motorola had a program where if you contributed some 6800 assembly code to a pool of code you would be allowed to get code for the pool for free. This pool of code was analyzed by Motorola and the 6809 had a more orthogonal instruction set as a result. The 68000 also had a long relative jump making it easier to write relocatable code. The 6809 probably had the long jump.
The Altair kit had a front panel with a lot of switches and lights that were used to manually define a loader program so that the computer could be started, very time consuming. The SWTP front panel has just two buttons: Power on/off and Reset. It contains a ROM chip with the bootstrap program, a simple debugger, and a way to enter programs in Motorola "S9" format.
The Altair kit has a mother board that has a 100 pin buss (with a hard to get connector) and no chips. Each plug-in board needs to decode the full buss making the boards cost more than needed. The SWTP has two buss structures, one "SS-50" 50-pin for RAM, DMA (Direct Memory Access), etc. (that used Molex type connectors) and one narrow I/O buss where the motherboard has already decoded some addresses to allow a simple I/O card to be used. Many years later the IBM PC followed the SWTP lead using a separate I/O buss.
Operating System
I replaced the Motorola ROM with the first product from Microware called RTOS (Real Time Operating System). The key to this was that the 6800 had instructions to allow jumping to an address RELATIVE to the current program counter. The Intel chips only had instructions that pointed to fixed addresses. The availabliliy of a relative address instruction allows code to be written in modules that could be relocated in the address space. Relocatable code is much easier to use than code that must be loaded in a fixed location. Reentrant, Recursive, and some other R words characterize much of the code written for Motorola chips at that time.
Later there was a Flex Disk Operating System. I think it supported a flavor of Basic so you could write programs in a much easier way than using hex or assembly.
FLEX User Group -
ASR33 TTY (Automatic Send Receive)
This is a Teletype (brand name) machine that is 8 level (meaning that it worked with 8 bit data). There were a lot of surplus 5 level machines available that would not work with 8 bit microcomputers. The neat thing about the ASR33 was that it could do four things:The interface was 20 mA current loop with ASCII data format. There was an RS-232 I/O card for those who could afford an acoustic coupled modem. (At that time AT&T had all of the phone system and it was a crime to connect directly to the phone lines.)
- Print on paper (this was before CRT displays existed)
- Keyboard for data entry
- Punch paper tape for data storage (this was before tape & disk storage)
- Read paper tape (some programs may take 30 minutes to load, so you leave the computer turned on all the time)
It could use pin drive or friction feed paper. Friction feed allows the use of lower cost paper in rolls with no sprocket holes. The nicer paper that has a perforation every 11 inches needs to have sprocket holes so that you can do a "Form Feed" to get to the top of a page. You could get multipart paper for the ASR33 since it was an impact printer. The printing head is a cylinder that moves up and down and rotates to get to the character needed.
100 Words per minute is 500 characters per minute or 8.333 characters per second. In 30 minutes you could read 15,000 characters and the tape would about about 125 feet long. If would on a 1" core tape spool would be about 5" in diameter. I had a drafting 115VAC powered electric eraser and an attachment with a flat face and some pins that would wind up a 100 foot tape in under a minute. Some care was needed to not tangle the tape and avoid a papere cut.
The one illustrated at http://www.nadcomm.com/33asr.htm has a rotary dial and built in modem that was not present on mine.
TTYPUNCH: punch a perforated ITA2 TTY tape -
BROOKE CLARKE HTTP://WWW.PRC68.COM
There's something wrong with the TTY Punch program. When a character that's not in it's alphabet something strange happens. The input was 34 characters and the output is 40 characters.
B R O O K E C L A R K E H T T P :// W W W . P R C 6 8 . C O M
Sirus Cybernetics VGA-1 50-Pin Printed Circuit Board
This was part of a kit to add a VGA color display instead of using an I/O board to drive a TTY machine (real or glass).
The PCB is dated 1980 and is raw, i.e. no parts have been installed. Maybe it required an expensive chip.
Ferro Resonant Power Transformer
I replaced the stock power transformer with a ferro resonant model. This involved also adding an oil filled cap that connects to an extra winding on the transformer. The idea is that the resonant circuit rejects narrow spikes and dropouts and also supplies some energy for short brown outs.Intel 2102 Static RAM Memory
The large type card for the SWTP computer could be purchased that were all covered with 2102 memory chips. They made a point of NOT using sockets because the reliability of the socket was lower than the chip.
2 pins for power, 4 control pins (DO, DI, /CD and R/W) and 10 address pins for a total of 16 pins. It has a capacity of 1 bit x 1024 = 1k bits.Audio Cassette Tape Data Storage
The next innovation was a box make by SWTP that allowed storing data on audio cassettes by means of tones, very similar to the 1200/2400 Hz modems that were starting to appear.8" Floppy disk DMAF1
This was a big improvement on the cassette tape system. The data transfer rate was too high for the microcontroller to handle the data, so a wide card with DMA was used to move data directly to and from RAM to the floppy disk. Motorola has a chip just for doing the DMA operations that could also be programmed to move data in the RAM space.
The early 8" disks were single sided and later there was a double dised 8" disk and SWTP packaged two of these side by side. You need a way to copy from disk to disk and using two drives is much easier than buffering the data and manually installing and removing disks.
AFAICR the data rate was 500 k bits per second or 2 microseconds between bits or 16 microseconds between bytes after a serial to parallel chip converted the data.
My next door neighbor was Reed Anderson founder and president of Information Terminals Corp, maker of telephone modems and floppy disks (later renamed Verbatim). I bought his 8" disks and talked to him about what drives were available. One day he brought Victor Borge to my house so that he could see a home application of the floppy disks. Later Victor did commercials for Verbatim disks. Reed Anderson was a very class act and gentleman.
5 1/4" Floppy Disk
These had a slower data rate so the microcontroller could handle the data without needing the complexity of DMA. That allowed a much lower cost mass storage solution. At 250 k bits per second or 32 microseconds between bytes there's enough time to bang bytes. with a 6800 chip.3.5" Floppy Disk SSSD
These started as Single Sided Single Density and had the same interface as the 5 1/4" Floppy disks. They progressed through Double Sided and finally Double Density. (I paid $50 for a box of 10 DSDD disks from HP when they were introduced.)Don Lancaster TV Typewriter Kit
This is a way to use a standard NTSC TV monitor as a display device. The problem is that with a TV bandwidth you can not display a line of 80 characters. I have the book but didn't make it.Lear Siegler ADM-3A Dumb Terminal (Glass TTY) Kit
This is just a keyboard and CRT to replace the TTY keyboard and paper. 24 Rows by 80 Columns. Punched cards have 80 columns so the display works for input and output of data that may have been formatted for cards. It has no graphics capability, only alphanumeric text. Came as a kit that uses what seems like a hundred ICs. Later Glass TTY terminals used only a handfull of custom IC chips and cost much less.TI 810 Dot Matrix Printer
This floor standing dot matrix text only printer takes fan folded 132 column paper and has pin drive. A later version had graphics capability. I seem to remember that is cost something like $2,000 back when a dollar was worth something.Epson FX80 Dot Matrix Printer
This pin drive printer takes 8.5" wide paper and has graphics capability. Mine has a special add on chip that increases it's capability.
Home Brew Computer Club
The meetings were held at the auditorium at the Stanford Linear Accelerator Center (SLAC) on Page Mill Rd. in Palo Alto, a few minutes drive from where I lived in Los Altos Hills.
The auditorium had each row of seats about 1 foot higher than the row in front so that everyone could easily see the black boards, speaker, etc. I think it's built on the side of a hill.
The format would be:
At one of the meetings a couple of kids with greasy hair had a card table at the auditorium door showing off their computer on a board that had a built in video display, built in basic as well as a tape interface, they called it the Apple. Many of the Silicon Valley microcomputer types were attending these meetings.
- General Announcements (Lee Felsenstein)
- Guest speaker or speakers
- audience members would pose questions or offer things
- Random Access where we would interact.
It was here that Tom Pitmam found me. I had a SWTP 6800 computer and a Model 33 Teletype. At the meeting I got two paper tapes, one for a 6800 editor program and the other for a 6800 assembler. I had already coded in hex a disassembler that would read Motorola 6800 machine code and print out an assembly listing. This allowed Tom and myself to figure out how to use the undocumented paper tapes. This allowed Tom to write Tiny Basic based on an article in the Computer Journal about a basic language with a metaphor about layers of a onion
At this time I was going to the Home Brew Computer Club meeting at the Stanford Linear Accelerator Center (SLAC) auditorium on Page Mill Road in Palo Alto. Inside they would have a guest lecturer, and time for questions, wants, etc. then a Random Access time when you could go to someone with a question, want, etc. and talk one (or many) to one.Computer called the Apple
There would be an exhibit in the front lobby. One time it was a couple of kids showing their computer, on a card table, that was all on one board, included a basic language in ROM and had a TV interface, they were calling it the "Apple". I think it used the 6502 chip that was very similar to the 6800 but with some enhancements. This was a raw board, no cabinet.Motorola Assembler and Editor
At another one of the Home Brew Computer Club meetings someone had the paper tapes for the Motorola Editor and Assembler (that's 2 separate programs). And I got the tapes, no documentation or anything else. By this time I had written a source code generator program. It would read a machine language paper tape and print out the source code and machine language nmenonics. This allowed me to reverse engineer the editor and assembler to find out how they were handling the I/O. It turned out they were written by a professional and had a header where the I/O ports were defined. It was a simple matter to reassign the ports to match the SWTP TTY I/O port. This was a great tool, now you could write code without worrying about recomputing loop jump addresses.Later a generic assembly language became popular called "C". "C" is a low level language it's just a little bit removed form assembly language where the language is very closely tied to the registers of the target chip.
A very high level language is LabVIEW by National Instruments.
San Francisco Computer Show
There was an annual show that was for small home type computers in SF. Jim Warren (spelling?) put it on and used roller skates to cover the large area of the show floor. There were papers given and exhibits. Those two kids with their Apple computer had a booth.Tiny Basic
Tom Pittman wanted to develop a version of Tiny Basic as written up in Doctor Dobbs Journal. He used my computer by working into the wee hours for a number of days. When he was done I got a copy. I also asked him to include hooks to allow the language to bang bits so that it could be used to control hardware, not just be used as software.Radio Shack Color Computer
This was based on the Motorola 6809 Chip. The Microware OS9 operating system was available for this computer. It used a color TV as an output device and can be used to make titles for video tape. Motorola has an app note on the 6809 chip with the design of the COCO. This was a low cost computer with a lot of capability.There was a company in Sunnyvale that was buying the COCO from Radio Shack, removing the case and embedding it into a commercial product that was involved in routing telephone calls (like to a doctor's office after hours).
Multiport Adapter
By plugging this into the game slot, you could have 4 game slots available. There were a number of after market products that fit the game slots, like a Glass TTY type display that would drive a wide bandwidth monitor to allow 80 characters per line which is more that you can get with a TV display.
A microcontroller differs from a microprocessor in that it has direct control of the logic level of ports (typically 8 bits per port).
It may also have a serial port, timer/counter or other built in features to make interfacing to hardware more convenient.
The PIC series from Microchip Technology are what I use.
A microprocessor, like the motorola 6800, 6809, 68000 or Intel 8080 etc. have an address buss, a data buss, and a number of control lines to manage the busses and maybe some interrupt lines.

This
is a prototype Johnson Counter. The lamp indicates a divide by
ten, i.e. is the carry out. A puch button mounted in the drilling
steel practice panel increments the count.
A Nixie tube has the arabic digits
formed by shaping wires and they are all stacked front to back inside a
Neon filled glass tube. You only see the digit that's on. One of the first solid state display devices was the Light Emitting Diode. A relative had a watch with an LED display, but the problem was that it took a lot of power and used up batteries quickly.
The Liquid Crystal Display consumes a very small amount of power and there is a type that only consumes power when changes are made (see Kent below).Kent Displays - Zero Power LCD display
HP 9100
At Aertech in Mountain View, California we hand made tunnel diodes. After the key electrical parametrers were measured on each diode the cutoff frequency and another calculated parameter were needed. The 9100 could do the calculations using a program that was loaded into the calculator. Since it used core memory the program was always there. We made a plywood top for a typewriter cart that had countersunk holes for the feet of the 9100 and there was a strap holding the 9100 to the cart. This way we could wheel it to the test station where it was needed in a safe way. This calculator was made before ICs were available. It was about this time that a start up comapny called Fairchild, located in the same city, was offering RTL logic in round plastic packages that ran on 3.3 Volts.
The display was a CRT which showed 4 lines of the stack (as far as I can remember). This made using reverse polish notation much easier for a beginner.
About this time the sports car magazines were carrying ads for the Curta Calculator that was a mechanical device that looked a lot like a pepper mill. This was used for Time & Distance Rallies.
HP 35
This was the first hand held calculator that would do scientific calculations and as an engineer working on microwave products, some of which were bound for the Viet Nam conflict, I ordered an HP 35 with a DX-A2 priority, which meant HP had to ship my calculator prior to any shipped for civilian use. This calculator does not have any programming ability, you can only use the canned functions. The LED numeric display was a battery eater.
HP 41
The 41 uses an LCD alphanumeric display and can be programmed or can use plug in ROM modules. Someone found a bug in the HP 41 that would allow getting into the native machine code. This allowed writing code in machine language and the creation of the "Zen Rom" that has a huge number of new routines. Printers, mag card readers and barcode readers can also be plugged into the module slots. The alpha aspect of the display make this a very powerful pocket computer.
HP 48G
This is a later version HP scientific calculator that also has an RS-232 port that I interfaced to a Motorola GPS receiver. Has a graphic LCD display.HP 80 Series Calculators
These were being sold during the time when the first models of the IBM PC were being sold. The "C" in PC means computer and there were a number of government contractors that had strict rules about who could buy "computers". By calling the 80 series machines "calculators" the purchasing process was greatly simplified. These calculators have the ability to control instruments using the HP-IB interface allowing test automation. Had a CRT display but I don't remember if it did graphics.
These came long before the PC and were typically used to control instruments using HP-IB, although some Computer Aided Drafting (CAD) packages were written for them as well as other scientific uses. Based on the Motorola 68000 serics uP.
Back to Brooke's Electronics, home - page