Randy wrote:
> One early tiny basic computer I used to work on some traffic control apps was the Cromemco SCC. The software was tested on the SCC before building a system to be used (the SCC did not handle the environmental specs).
- "Review of 5 Small Interpreters"
David North
"Creative Computing", Vol.3, No.5, Sept./Oct. 1977, p.299
(Retyped by Emmanuel ROCHE.)
Cromemco 3K Control BASIC ("3CB")
-------------------------
Price and Availability: $15 for a paper tape
Size: 3K
Reliability: No problems
Documentation: Very complete instructions are provided, but no source code
Speed: 40 minutes to Step 34
Features: Same as Palo Alto Tiny BASIC, with the following additions:
Commands
--------
LOCK (allocates area in memory for program files)
SAVE (saves files in locked area)
EPROM (burns in a file on an EPROM with a Cromemco Bytesaver)
LOAD (loads file -- opposite of SAVE)
WIDTH (sets terminal width)
NULL (number of nulls after a CR-LF)
QUIT (jumps to Monitor)
Statements
----------
PUT (stores a value in absolute memory)
OUT (outputs to an I/O port)
Variables
---------
A-Z and A0-Z0
Hex literals are denoted by a leading % sign
Functions
---------
+, -, *, /, SGN, AND, OR, XOR,
GET (gets a value from absolute memory)
IN (input from an I/O port)
LOC (to find absolute address of array elements)
CALL
User-defined functions
----------------------
None
Arrays
------
Has one other array, in addition to @(X), named &(X), 1-byte array.
It overlaps with @(X) in memory.
Machine language subroutine interfacing
---------------------------------------
Through the CALL functions.
Parameters are passed both ways through the stack.
Character strings
-----------------
Strings of up to 132 characters can be accessed by $(X), the way numbers are accessed by @(X) and &(X). String and array space intentionally overlap. There is a string INPUT statement.
Formatted statement print
-------------------------
Same as Palo Alto Tiny BASIC.
Editing functions
-----------------
None
External files
--------------
No data files. As mentioned before, program files can be kept in high memory with LOCK, LOAD, SAVE, and EPROM commands. These programs can be called by other programs with a special version of the RUN command. A STOP in a called program will function as a return to the calling program.
Error messages
--------------
Same as Palo Alto Tiny BASIC.
Extra stuff
-----------
None, other than the extensions already mentioned.
User comment
------------
Cromemco 3K Control BASIC ("3CB") is an expanded version of PATB (Palo Alto Tiny BASIC), primarily intended for process-control applications. For this reason, it seems to be more hardware-oriented, while the original PATB does not get the user involved in knowing absolute memory locations, hex math, or I/O ports. If you need to control devices, fine, get 3CB; if not, stick with PATB, which is smaller (1.75KB) and faster. It is unfortunate that 3CB is available only in copies that run at E400 (not zero), which many people will find to be a major obstacle in their use of 3CB, unless they want to burn it into a few PROMs on a Bytesaver.
(ROCHE> There were 2 versions of 3CB: the one at E400 was named CB-308, the one at zero MCB-216...)
EOF