First published in 2007 as a simple, dedicated National Industrial Basic Language computer, Karen's original project has evolved to the point where it really deserves a “Version 2 “ title, if only to encourage early adopters to revisit this fascinating design.
Rather than list the changes, here's a full specification:
1200 baud terminal interface via CH340G USB (for Teraterm etc)
Full and accurate emulation of a 4Mhz SC/MP in a PIC16F877 using Karens cycle-perfect firmware plus omitted instructions
8k bytes of non-volatile static RAM, retaining programs and data during power-off
4k bytes of ROM containing the original National Semiconductors NIBL basic interpreter from 1976
1k Machine-code monitor typical of the period – Modify, List, Display, Hexload, Registers, Go (run) etc
4 controllable output lines with LEDs and interface strip
2 controllable input lines with buttons
Hex-loader reads standard Intel hex files into memory via the terminal (ie Teraterm 'File, Send')
Standalone mode, running without a terminal connected, maybe on a powerbank battery.
Cheap, sub 3” square PCB with just two chips
Crystal-clock equates to a precise 4mhz SC/MP II operation
This is probably the simplest possible SC/MP machine, comprising only of the processor and a memory chip, but its resident monitor and BASIC interpreter make this an ideal introductory project for anyone with an interest in the SC/MP and its applications.
There are no changes to the PCB and upgrading is simply a matter of swapping the RAM chip, updating the PIC software and loading the SC/MP monitor.
KB+ commands:
Intel hexloader, Txxxx = type memory, Mxxxx = modify memory,
Dxxxx = display memory, Lxxxx = list memory (opcode-formatted),
Gxxxx = goto program, R = display registers,
N = enter NIBL basic interpreter, Help is '?'.
It has other software bits & bobs such as breakpoint handling, register set & examine and a neat inline-print routine.
The Intel hexloader will directly accept the output of SBASM or AS, etc.
With SBASM use ".tf myfile.hex,int,32" in the source header.
V2 has a stand-alone mode where SC/MP machine-code programs can be run without a terminal connected, using (say) a power-bank phone charger. With its two sense inputs, four flag outputs, and program retention during power-down, it can be a simple standalone controller!
The files and a PICLV2 document are on
http://philg.ukSincere thanks are due mainly to the late Karen Orton, a gifted and generous engineer whos projects have inspired all of us.
Karens perfect SC/MP emulation on a PIC chip is a fantastic achievement in itself and I credit the whole of this PICLV2 project to Karen, she'd probably have done all this anyway.
Here's a video: