keywords to assist in writing and editing BASIC programs, similar to those in theVIC-20 Programmer's Aid cartridge
Programs written in Simons' BASIC could employhexadecimal numbers in assignments and calculations by including a$ prefix, orbinary numbers by utilizing a% prefix.
Because a portion of the cartridge data ismapped into memory at addresses$8000–$9FFF, which overlaps part of the standard C64 BASICRAM, the amount of available memory for BASIC programs was8 KB less than that of a standard C64 configuration.
An extension was written by Simons and released by Commodore onfloppy disk and tape as Simons' Basic Extension. This software is also known as Simons' Basic 2. It could not be released on cartridge because the original Simons' Basic cartridge had to be present in order to use the extension. Simons' Basic Extension adds another 91 commands including the much-covetedRENUMBER command which renumbers the destinations ofGOTO andGOSUB statements.[3]
INSERT – inserts one string into the middle of another (Note: There is no dollar sign afterINSERT, unlike other string operators such asSTR$,LEFT$,RIGHT$, etc.)
INST – similar toINSERT, but overwrites rather than inserting. (Note: As withINSERT, there is no dollar sign afterINST.)
PLACE – searches for one string in the middle of another
DUP – duplicates a character string a given number of times. (Note: As withINSERT, there is no dollar sign afterDUP.)
PRINT AT – prints a string at a given screen location
CENTRE – centers a character string on the screen; the British spelling is used
USE – formats numeric data in strings based on a template, just likePRINT USING on other advanced versions of BASIC on other computers, e.g. theCommodore 128, for example.
Note: These operations are restricted to values that fit into a 16-bit unsigned integer, instead of the full floating-point range used by the built-in BASIC arithmetic operations and functions.
MOD – performs a division operation and returns the remainder
DIV – performs a division operation and returns the integer quotient
FRAC – isolates the fractional portion of a number
Creative Computing stated that Simons' BASIC "almost makes the 64 into a new computer. (Probably the one it should have been in the first place.)" It praised the "very fine manual" as a contrast to Commodore's usually poor documentation, and predicted that it would become "the standard language for programming the machine … Commodore had better be planning to manufacture lots of copies because they will go fast".[4]Ahoy! wrote "If you do any programming in BASIC and should happen to see this product on a dealer's shelf, do not ask any questions—do not hesitate—just buy it!" The magazine praised Simons' BASIC's power and "excellent manual", and stated that "its price makes it one of the biggest bargains available for the Commodore 64".[5]RUN's review was less favorable, stating that its "many powerful and useful commands … were, unfortunately, implemented very poorly for a commercial package. There is very little command parameter checking, and many things have been overlooked or ignored."[6]
The original SIMONS' BASIC cartridge (without the extension) has no provisions for reading the error channel on theCommodore 1541 andCommodore 1571 disk drives, nor can it perform a DIRectory listing of files or issue a DISK command on any disk drive other than Drive #8 when more than one disk drive is connected to the Commodore 64. And while most "standard" BASIC 2.0 keywords can be abbreviated by typing the first or first and second letters and then holding down the SHIFT key while typing the second (or third) letter after that, all SIMONS' BASIC keywords must be completely spelled out in full exactly as shown in the accompanying user's manual. This includes the commands COLOUR (which selects the background color and exterior border color), and CENTRE (which prints text message that are "centered" on the screen), both of which are spelled as in British English and are incorporated that way into SIMONS' BASIC.