Version: July 2014
Image from: Michael Holley / Wikipedia
This software is the Aduino DUE port of the SIMH simulator developed by William Beech.
The CPU emulation is a nearly 1:1 implementation of file m6800.c in the SIMH package,
the rest of the code is a complete rewrite of the code for standalone operation.
Memory map (Hexadecimal Addresses):
0000-7FFF: RAM
8004-8007: MC6850 ACIA (UART)
A000-DFFF: RAM
E000-FFFF: SWTBUG Monitor ROM (visible on every 1 k memory location)
Emulated components:
Motorola MC6800 CPU (SWTPC mp-a)
Motorola MC6850 UART (SWTPC mp-s)
48k RAM
The dc-4 disk controller is not implemented!
The implementation would be easy using a SD card and the modified user interface of my
TU58 Dectape II Emulator project.
TCS 8k Basic, is preloaded to memory location (Hex) 0100
TSC 8k Basic program and documentation are available from:
http://www.flexusergroup.com/flexusergroup/fug4.htm
To start Basic type either G (uppercase G) or J 0100 on the SWTBUG command line.
To exit from Basic interpreter type exit.
SWTBUG accepts only UPPER case letters as commands.
TCS basic is lower case letter compatible.
Download the
compressed source files from here,
Uncompress SWTPC.zip,
open swtpc.ino with Arduino IDE,
Under Menu -> Tools -> Board select board Arduino Due (Programming Port),
Under Menu -> Tools -> Port select the appropriate COM port (Programming Port),
upload the program to Arduino DUE on the programming port.
Using a terminal emulator with USB:
1. Connect a micro USB cable to the programming port on Arduino DUE.
2. Connect the end of the USB cable to a personal computer.
3. Find out the device name assigned to Arduino, e.g., COM7
4. Start a terminal emulator on your PC (e.g., putty, IVT220, etc.)
5. Setup serial communication parameters (Portname, Baudrate=9600 baud, no protocol)
Using a terminal or terminal emulator with a RS232 interface:
1. Connect a 3.3V TTL-to RS232 level converter to Arduino pins 0 and 1.
2. Connect the RS232 lelel converter to the terminal or terminal emulator.
3. Start a terminal emulator on your PC (e.g., putty, IVT220, etc.)
3. Setup serial communication parameters (Portname, Baudrate=9600 baud, no protocol)
After starting the terminal emulation you'll see a $ SWTBUG prompt at the beginning of the line.
SWTBUG will accept only upper case characters. The SWTBUG Users Guide is available from:
SWTBUG Users Guide
To start TSC 8k MicroBasic type G (uppercase G) or J 0100 in SWTBUG
TSC 8k MicroBasic is not case sensitive, you can enter lower case characters. To exit TSC Basic type exit.
An introduction to TSC Micro Basic is available from:
TSC Micro Basic Plus Manual