SWTPC 6800
Return to Home
Return to Resources
The Story
In spring 2025, I inadvertently came across a SWTPC 6800 in a North Texas antique radio auction and recognized it as a significant early computer that was worth bidding on. Fortunately during the auction, I did not encounter much competition and easily bought the computer alongside with a Lear-Siegler ADM3 terminal. The previous owner had lived in Arlington, Texas (between Dallas and Ft. Worth) so this computer and components likely have remained in Texas since they were first produced. Fortunately, there are plenty of resources and documentation posted online about the SWTPC 6800 that I was able to figure out exactly what I had on my hands and tinker with it.
- Southwest Technical Products Corporation (SWTPC) based in San Antonio, Texas was founded in 1967 by Daniel Meyer to sell electronics kits for hobbyists. Kits were inspired by projects featured in Popular Electronics and Radio-Electronics magazine articles. In November 1975, SWTPC entered the computer market with its first microcomputer, the SWTPC 6800, based on the Motorola 6800 processor. The company also introduced the SS-50 bus standard, which was adopted by many other manufacturers developing accessories for the fledgling hobby computer market. The year 1975 marked a pivotal point in the personal computer revolution. The Altair 8800 had made headlines in the January issue of Popular Electronics, and that same year, Microsoft launched its first product: Altair BASIC. The following year, 1976, brought another milestone with the debut of the Apple I, a complete, standalone microcomputer featuring an integrated keyboard and video output.
- Southwest Technical Products Corporation - Wikipedia
- SWTPC 6800 - Wikipedia
- SWPTC 6800 at Deramp.com (Mike Douglas), a treasure trove of hardware and software documentation
- SWTPC documents on archive.org
- SWTPC 6800 at Old Computer Museum
- SWTPC 6800 at Sardis Technologies
- SWTPC by Michael Holley (archived), also available on deramp.com
- SWTPC history by pc-history.org (archived)
- SWTPC 6800 at Vintage Computer.com
- Reproduction SWTPC 6800 boards
- SWTPC product catalogs - SWTPC 6800 featured in catalogs from 1976-80.
- Mike Douglas's SWTPC 6800 Youtube Channel
- Dave Dunfield's SWTPC 6800 (archived)
- Percom Data Company based in Garland, Texas (north of Dallas) was founded in 1976 by Harold and Lucy Mauch. Percom started by providing cassette tape solutions for data storage on personal computers. In 1978, Percom formally incorporated and expanded to developing and selling floppy disk drives and accessories for SS-50 bus and other low-cost computers. Among the products produced and sold for the SWTPC 6800 were the LFD-400 disk drive controller and SBC/9 single board computer 6809 upgrade.
- Percom - Wikipedia
- Percom history by Roger Arrick, a former employee of Percom
- Percom history by TRS-80.org
- Percom history on archive.org by Margo Mauch, daughter of the founder
- Smoke Signal Broadcasting based in Hollywood, California was founded in 1976 by Frederic Hammond. Their first product was the M-16-A 16KB memory card for the SWTPC 6800 released in 1977.
- SSB - Wikipedia
- Smoke Signal Broadcasting documents on archive.org
SWTPC 6800 system configuration and board pictures
This is a picture of my SWTPC 6800 as found in the auction listing.Board | Memory/ROM | Memory Range | Notes |
---|---|---|---|
SWTPC MP-16 | 16KB DRAM | 0x0000-0x3FFF | Original configuration |
SSB M-16-A | 16KB SRAM | 0x4000-0x7FFF | DIP switches S1-S5 configured to 00100 (no write protect, start address x4000) |
SWTPC MP-LA | Parallel peripheral interface | x8018-x801B | Original configuration plugged in port 7 of MP-B. Peripheral ports are memory mapped in 4 byte increments starting at x8000. |
SWTPC MP-8M2 | 8KB SRAM | xC000-xDFFF | DIP switches S1-S4 configured to 0000, address decoder wiring modification to use 7th 8KB block |
Percom LFD-400 | ROM #1 | xE000-xE3FF | Empty slot (normally MiniDOS). The disk controller board had address decoder wiring modification to change base address of disk controller to xE000. |
ROM #2 | xE400-xE7FF | Empty slot (normally MPX/9 DOS) | |
MiniDOS ROM (custom) | xE800-xEFFF | Custom MiniDOS firmware (normally ROM #3 is for MiniDisk) | |
Percom SBC/9 | 1K RAM and I/O | xF000 - xFBFF | |
Psymon ROM | xFC00 - xEFFF | Original 1979 version 1.2 firmware matching documented binary in Psymon User Manual. | |
SWTPC MP-B | SS-50 motherboard | N/A | Original configuration |
Percom SBC/9
The SBC/9 is a complete Single Board Computer with a 6809 microprocessor, RAM, serial and parallel ports, and a simple monitor ROM firmware. This board was marketed as an upgrade to replace the original SWTPC 6800 CPU board. The board was produced in 1980 by Percom and the ROM contains Percom's system monitor called Psymon.
Documentation
- Percom SBC/9 User Manual - deramp.com
- Percom 6809 System Monitor "Psymon" User Manual - deramp.com
Percom LFD-400
The LFD-400 is a disk controller produced by Percom. This controller board was made in 1977 and was designed to work with the newly introduced Shugart SA-400 single 5.25" mini floppy drive. Prior to the introduction of the mini floppy, the standard size for a floppy disk was 8 inches. Shugart Associates had introduced the SA-400 drive in late 1976 and released in early 1977.
Documentation
- Percom LFD-400 User Manual - deramp.com, discusses MiniDOS typically in ROM #1
- Percom MPX/9 Disk Operating System User Manual - deramp.com, MPX/9 typically in ROM #2
SWTPC MP-8M2
The MP-8M2 is a 8KB RAM card consisting of sixteen 2102 static RAM chips produced and sold by SWTPC. Each 2102 is 4K by 1-bit. The board was made in circa 1977-78. This was a manually assembled kit, the factory assembled version was MP-8A. The kit was priced at $200 in 1978.
SSB M-16-A
The M-16-A is a 16KB RAM card consisting of thirty-two Texas Instruments TMS4044 static RAM chips. Each TMS4044 is 4K by 1-bit and drop-in equivalent to the 2102 that the board was originally designed for. The board was produced in 1977 and sold by Smoke Signal Broadcasting (SSB). This board was the first non-SWTPC product made for the SWTPC 6800 SS-50 bus and was originally priced at $529 in early 1977 and later reduced to $379 in 1978.
Documentation
- SSB M-16A installation instructions - deramp.com
SWTPC MP-16
The MP-16 appears to be a rebranded Motorola SMS3506 board. It is a 16KB dynamic RAM card consisting of sixteen 4116-equivalent 16K by 1-bit dynamic RAM chips produced by Semiconductor Memory Systems (SMS) division of Motorola, the photo shows only half of the sockets populated. The user manual for the board mentions it was designed for Motorola MCM6616 chips (equivalent to the 4116 according to this source), but the obscure and undocumented DO8385W124 labeling on the Motorola chips themselves do not match. The 7801 is likely the date code for week 1 of 1978. I believe this may be intentional mislabeling to avoid patent infringement or licensing fees.
The board contains all the DRAM refresh control logic so memory could be accessed from the SS-50 bus in the same basic manner as if it were a static RAM card. In 1978, this board was priced at $400 and for an additional $250 could be expanded to 32KB by ordering the M16-X expansion kit for 16 more DRAM chips to plug into the empty memory sockets on this board.
Documentation
SWTPC MP-LA
The MP-LA is a parallel peripheral/printer interface produced and sold by SWTPC using the 6820 PIA. This board was produced in 1976 at an introduction price of $35.
Documentation
- SWTPC MP-LA schematic/assembly instructions - deramp.com
SWTPC MP-B
The MP-B is the main SWTPC 6800 SS-50 bus motherboard for power distribution, data and address line sharing. Address decoding was sometimes modified on this board, but this example is original. The board was priced at $40 when introduced in 1975.
Documentation
- SWTPC MP-B schematic/assembly instructions - deramp.com
SWTPC MP-68 Mini Floppy Disk System
The MP-68 is a dual 5.25" floppy drive assembled and sold by SWTPC for the 6800 computer. It requires a SWTPC DC2 floppy drive controller board that did not come with this computer when I bought it. I'm uncertain if it was ever used and the SWTPC 6800 setup may have relied entirely on the LFD-400 and the single Shugart drive.
Documentation
- SWTPC DC2/MP-68 assembly instructions - deramp.com
Using this SWTPC 6800
As this SWTPC 6800 system includes the Percom SBC/9 and LFD-400, its operation follows the user manual instructions for Percom hardware and software, rather than instructions for SWTPC's own disk controllers and the MIKBUG or SWTBUG monitors.
The SBC/9 has a serial port that connects to a serial terminal that in my case is either a laptop running PuTTY or a period-correct Lear-Siegler ADM3 terminal. The board has configurable baud rates and my board happened to be configured for 9600 baud, 8 data bits, 2 stop bits, and no parity. The ADM3 terminal has configurable DIP switches to match the SBC/9 settings for proper communication.
At first power up of the SWTPC 6800, the SBC/9 6809 processor starts a read at the reset vector address xFFFE in the Psymon ROM space that is programmed to xFC00 instructing the processor to jump to xFC00 where the Psymon firmware starts. The first thing that prints out on the terminal is a "CMD?" prompt. The Psymon User Manual describes the supported commands in this monitor:
M <address> - Memory examine/change (e.g. peek/poke) G <address> - Go to address R <register> - Register examine/change L - Load program from tape S <start> <end> - Save program to tape B <address> - Set/list breakpoints U <address> - Unset breakpoints Z - Jump to address xC000 (shortcut to default LFD-400 MiniDOS ROM #1)
A simple 6809 program
The simplest way to interact with the 6809 processor via the monitor firmware is manually entering or examining memory contents.
- Memory dump - typing "M 0000" in the terminal and press the SPACE bar returns the byte at address x0000. Pressing SPACE again reads the byte from the next address x0001. Pressing SPACE continuously is useful to dump the entire memory space contents from x0000 to xFFFF. I was able to examine the Psymon ROM contents itself at xFC00 to xFFFE to compare against the published firmware contents in the Psymon user manual to verify they match.
- Simple RAM program - by typing in "M 0000", pressing SPACE to examine the read byte, then type in a new byte followed by SPACE would modify the content. In doing this, I wrote a simple 6809-compatible machine code entered in manually starting at address x0000 to write an incrementing value from 0 to 127 starting at RAM address x1000.
8E 10 00 ; LDX #$1000 - Load X register with 0x1000 86 01 ; LDA #$01 - Load A register with 0x01 A7 80 ; STA ,X+ - Store A at address in X, then increment X 4C ; INCA - Increment A 81 80 ; CMPA #$80 - Compare A with 0x80 26 F9 ; BNE -7 (to STA) - Loop back if A not equal to 0x80 (127 decimal) 7E FC 00 ; JMP $FC00 - Jump to address 0xFC00
Using the LFD-400
Stay tuned (last updated June 2025).Back to Top