Skip to content
Switch branches/tags

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?
Go to file
Cannot retrieve contributors at this time
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:
2. Hardware
We are simulating a SCELBI-8B from about 1975, with the following
device simulates
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
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
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:
In chapter 14 of the SCELBAL book there is a language reference.
To run SCELBAL on the SCELBI simulator, download the binary code from:
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
10 A=1
20 B=7
30 PRINT "A + B =";
50 END
10 A=1
20 B=7
30 PRINT "A + B =";
50 END
A + B = 8.0
<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.