Permalink
Cannot retrieve contributors at this time
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
simh/Intel-Systems/scelbi/scelbi.txt
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
139 lines (108 sloc)
4.71 KB
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
SCELBI Simulator with Intel 8008 CPU | |
==================================== | |
1. Background. | |
The SCELBI (SCientic-ELectronics-BIology) computer was probably | |
the first commercially available micro-computer marketed toward hobbyist. | |
The first market announce for SCELBI-8H was a tiny advertisement in the | |
back of the March 1974 issue of QST, an amateur radio magazine. | |
The computer was built around the Intel 8008 architecture. There were two | |
versions of the SCELBI. The first version was called the 8H. The H standing | |
for hobbyist. The second version was called the 8B, the B standing for | |
business. It had all the features of the 8H, but added support for up | |
to 16K of memory. As the default memory configuration for the SCELBI simulator | |
is 16K, it is really a SCELBI-8B that is simulated. More information about the | |
SCELBI computer can be found at: http://www.willegal.net/scelbi/scelbi.html | |
and http://history-computer.com/ModernComputer/Personal/Scelbi.html. | |
2. Hardware | |
We are simulating a SCELBI-8B from about 1975, with the following | |
configuration: | |
device simulates | |
name(s) | |
I8008 SCELBI-8B with Intel 8008 CPU, 16KB of RAM. | |
TTY Serial "bit banger" interface (commonly to an | |
ASR-33), is assumed to be connected to a serial | |
"glass TTY" that is your terminal running the Simulator. | |
PTR Paper Tape Reader, not implemented yet. | |
2.1 CPU | |
You may select different memory sizes, the default size is 16K. | |
SET I8008 4K | |
SET I8008 8K | |
SET I8008 12K | |
SET I8008 16K | |
CPU Registers include the following: | |
name size comments | |
PC 14 The Program Counter | |
A 8 The accumulator | |
B 8 The B register. | |
C 8 The C register. | |
D 8 The E register. | |
E 8 The E register. | |
HL 16 The HL register pair. H is the top 8 bits, L is | |
the bottom 8 bits. | |
SP 3 Stack Pointer to return address in stack. | |
CF 1 Carry Flag. | |
ZF 1 Zero Flag. | |
PF 1 Parity Flag. | |
SF 1 Sign Flag. | |
WRU 8 The interrupt character. This starts as 005 | |
(Ctrl-E) | |
2.2 The TTY Serial Interface | |
This interface simulates a "bitbanger" TTY interface as | |
implemented on the SCELBI computer in the SCELBAL source code. | |
Inport 2 bit 7 is used as input from the TTY and Outport 2 bit 0 | |
is used as output to the TTY. In other SCELBI documentation Inport 5 | |
is used for input from the TTY and Outport 6 is used for output to the TTY. | |
The I/O simulation routines are mapped in the i/o configuration table | |
to both port variants. | |
There are also functions that support simulated I/O for | |
an Intel 8008 computer built for a master thesis in 1975. | |
These functions are however not mapped in the i/o configuration | |
table as they conflict with the SCELBI TTY interface. | |
3. Sample Software | |
SCELBAL was called the SCientific ELementary BAsic for the 8008 | |
and 8080 by SCELBI Computer Consulting. SCELBAL could be run on a SCELBI | |
or other 8008 based machine that had 8K of memory. SCELBAL completely | |
supported floating point math with 6 digits of precision. As time went on, | |
additional packages including matrix arithmetic and math functions were added. | |
SCELBAL can be downloaded from http://www.willegal.net/scelbi/scelbal.html | |
there are assembler source, hex and binary images available for three | |
variants of SCELBAL. The web page also includes information about SCELBAL | |
and a link to a scan of the SCELBI's SCELBAL book: | |
http://www.scelbi.com/files/docs/scelbal/SCELBAL.pdf | |
In chapter 14 of the SCELBAL book there is a language reference. | |
To run SCELBAL on the SCELBI simulator, download the binary code from: | |
http://www.willegal.net/scelbi/software/sc1.bin | |
Then start the simulator, load the code and run: | |
SCELBI simulator V4.0-0 Beta git commit id: ba447399 | |
sim> d pc 100 | |
sim> load sc1.bin | |
11942 Bytes loaded. | |
sim> g | |
READY | |
SCR | |
READY | |
10 A=1 | |
20 B=7 | |
30 PRINT "A + B ="; | |
40 PRINT A+B | |
50 END | |
LIST | |
10 A=1 | |
20 B=7 | |
30 PRINT "A + B ="; | |
40 PRINT A+B | |
50 END | |
READY | |
RUN | |
A + B = 8.0 | |
READY | |
<exit simulation by pressing Ctrl-E> | |
Simulation stopped, PC: 000103 (INP 5) | |
sim> exit | |
Some notes on SCELBAL: | |
Only upper case is recognized. | |
Always do SCR before entering a program, otherwise strange | |
things will happen. | |
The binary code at the web page above shall be loaded starting | |
at address 0100. The program shall also start to run from | |
address 0100. |