At this time, there are 3 working
drop down menu items available with this application.
- The Memory->Clear menu function will clear 8008 memory
to zeros
- The Memory->Load menu function can be used to load 8008
memory with an intel hex formatted file. I have a copy of
scelbal (SCELBI Basic) in this format available to download.
Other 8008 programs could be loaded, but the current
assumption is that the PC is set to location 00-000 00-100
during reset.
- The Hardware menu can be used to select memory size (4k or
16K) and enable or disable the MEA PROM in the 16K byte
configuration.
- The terminal section at the bottom of the window emulates
either a UART or a bit banged serial interface compatible
with drivers commonly found with Scelbal. Input is expected
to be in upper case. If this window does not respond to
input, either the 8008 is stopped, or not currently
monitoring the serial port or you have found a bug in the
app. Note that unlike a real serial port, input to the port
from the keyboard is queued to a length of 4K characters to
allow cutting and pasting input from other applications into
the emulator. Overflow conditions are not currently handled
gracefully.
The SCELBI/8008 emulation app can be downloaded from
here. Ty it for
yourself, but keep in mind that the app is an experiment. It is
likely to behave unpredictably, hang and/or crash from time to
time.
The performance is throttled to approximately, the actual speed
of a 500kHZ 8008. Load Basic and try executing a “FOR” loop of 0
to 100 to get an idea of the incredibly slow performance of an
8008 running Scelbal. The first version of the 8008 emulator
that I had running in a Unix shell environment was approximately
500 times faster than an actual 8008, and even that felt slow!
Your host computer running the SCELBI application may get real
busy, go to sleep or suspends for a while. At this point,
the emulator will fall behind real time. When this
happens, the emulator will limit the catching up of the 8008 to
actual elapsed real time to a 5 seconds burst of cycles.
In other words, if you put your computer to sleep for an hour,
when it wakes up, the SCELBI application will give the emulated
8008 the maximum burst of 5 seconds worth of cycles and other
cycles will be lost.
Have fun with it and be sure to
let me know what you
think.
Running SCELBAL (SCELBI Basic)
General information on SCELBAL and tiny SCELBAL can be found on
this page.
To run Scelbal (basic), do the following.
- Download and unzip the SCELBI application
- Run the SCELBI app
- Clear 8008 memory (optional)
- Load 8008 memory with Scelbal.hex
- Click on the “RUN” button – you should see a “READY”
message
- Type “SCR” – this clear’s Scelbal variables – if you don’t
do this before entering your program, weird things will
start happening
- You can now enter a basic program or basic commands
directly
Be aware that there are several common 2 character error
messages in Scelbal including “BG” for two big and “SY” for
syntax error.
For fun, try booting up Scebal and running this program:
http://99-bottles-of-beer.net/language-scelbal-2472.html.
Once
you have a the Scelbal ready prompt on your machine, copy and
paste the source into the terminal section the SCELBI
application. Then type run to run it.