$53.50
Add to Cart
Simons Basic For Commodore 64/128, NEW FACTORY SEALED, Part No C64108
Appearance: NEW FACTORY SEALED, worn/warped/crushed and separating shrink-wrap
Functionality: NEW FACTORY SEALED
Description:
============
Similar to pictured, Simons’ Basic for the Commodore 64/128 computer.
Warranty and Returns:
=====================
We understand that there may be compatibility issues, space constraints, or it just doesn’t look perfect. This item can be returned within 14-days for ANY reason. However, shipping to and from is not refundable.
Shipping:
=========
- Other shipping methods are available – contact us for details.
- Combined shipping is available for most items – contact us for details.
- Local pickup is also available at no cost.
About Us:
=========
The Computer Preservation Group is dedicated to the preservation of historical computers. To help fund ongoing operations, select items are made available. To learn more, please visit our website: www.computerpreservation.com. Thank you for your support!
Stock#:C0425.BD#.8
Details from https://en.wikipedia.org/wiki/Simons%27_BASIC:
Simons' BASIC was an extension to BASIC 2.0 for the Commodore 64 home computer. Written by 16-year-old British programmer David Simons in 1983, it was distributed by Commodore in cartridge format.
Features
Simons' BASIC added 114 additional keywords to BASIC 2.0.[1] These included commands to ease the coding of sprites, high-resolution and multicolour graphics, and sound. In addition, commands were also implemented to aid in structured programming. Keywords to assist in writing and editing BASIC programs, similar to those in the VIC-20 Programmer's Aid cartridge, were also included. Also, programs written in Simons' BASIC could employ hexadecimal numbers in assignments and calculations by including a $ prefix, or binary numbers by utilizing a % prefix.
Because a portion of the cartridge data was mapped into memory at addresses $8000–$9FFF, which overlapped part of the standard C64 BASIC RAM, the amount of available memory for BASIC programs was 8 KB less than that of a standard C64 configuration.
A further extension was also written by Simons and released by Commodore on floppy 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 added another 91 extra commands including a much coveted RENUMber command which also took care of renumbering the destinations of GOTO and GOSUB statements.[2]
The 114 keywords
Sprite (MOB) handling keywords
MOB SET – enables a sprite and defines its attributes
MMOB – positions a sprite on the screen
RLOCMOB – causes a sprite to smoothly move from one location to another
CMOB – sets up the two global colours for multicolour sprites
MOB OFF – disables a sprite
DETECT – initializes sprite collision detection
CHECK – checks for a sprite collision
High resolution graphics handling keywords
HIRES – initializes a high-resolution graphics mode
MULTI – initializes a multicolour graphics mode
NRM – returns to the text display
LOW COL – changes the plotting colours
HI COL – returns to the original plotting colours
PLOT – draws a pixel
LINE – draws a line
CIRCLE – draws a circle
ARC – draws an arc
ANGL – draws the radius of a circle
PAINT – performs a flood fill
REC – draws a hollow rectangle
BLOCK – draws a solid rectangle
DRAW – draws a user-defined set of lines
ROT – sets scaling factors for DRAW
CHAR – plots a text character on a high-resolution screen
TEXT – plots a text string on a high-resolution screen
TEST – determines whether a pixel is plotted or empty
Other graphics handling keywords
COLOUR – sets the background and border colours
CSET – selects a character set
MEM – copies character ROM to RAM
BCKGNDS – configures extended background colour mode
FLASH – sets up a screen colour to flash
OFF – cancels a previous FLASH directive
BFLASH – causes the screen border to flash
FCHR – fills an area of the text screen with a given character code
FCOL – changes character colours for a selected area of the screen
FILL – a combination of FCHR and FCOL
MOVE – copies a section of the screen
INV – displays a screen area in reverse
LEFT – scrolls the screen left
RIGHT – scrolls the screen right
UP – scrolls the screen up
DOWN – scrolls the screen down
GRAPHICS – reserved variable that always equals $D000 (the VIC-II chip's base address)
Sound handling keywords
MUSIC – plays a series of notes based on the contents of a string variable
PLAY – determines whether the program continues to run during MUSIC
VOL – specifies the master sound volume
WAVE – specifies a voice type
ENVELOPE – sets ADSR parameters for a SID voice
SOUND – reserved variable that always equals $D400 (the SID chip's base address)
Keyboard input handling keywords
FETCH – takes user input with restrictions defined by the command
INKEY – checks for a function key press
ON KEY – checks for a given keypress, then performs a branch if present
DISABLE – disables the previous ON KEY directive
RESUME – reenables the previous ON KEY directive
Input peripheral handling keywords
JOY – reads a joystick
POT – reads a paddle
PENX – reads the light pen's horizontal position
PENY – reads the light pen's vertical position
Sprite/custom character definition keywords
@ – describes one line in a sprite or custom character graphic
DESIGN – uses neighbouring @ lines to define a sprite or custom character
Error trapping keywords
ON ERROR – sets up a routine to trap error conditions
OUT – ends an error handling routine
NO ERROR – cancels ON ERROR and restores normal BASIC error handling
Disk handling keywords
DIR – displays the disk directory without destroying the BASIC program in memory
DISK – sends a string to the disk drive's command channel
SCRSV – saves a text screen to disk
SCRLD – loads a text screen from disk
Printer handling keywords
HRDCPY – sends the text screen to the printer
COPY – sends the high-resolution screen to the printer
String manipulation keywords
INSERT – inserts one string into the middle of another
INST – similar to INSERT, but overwrites rather than inserting
PLACE – searches for one string in the middle of another
DUP – duplicates a character string a given number of times
Text formatting keywords
AT – prints a string at a given screen location
CENTRE – centres a character string on the screen
USE – formats numeric data in strings based on a template
LIN – returns the vertical position of the cursor
Maths keywords
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
EXOR – performs an exclusive-OR logical operation
Programmer's aid keywords
AUTO – automatically generates line numbers as a BASIC program is entered
RENUMBER – renumbers a BASIC program (but does not fix GOTO/GOSUB statements)
OLD – undeletes a program accidentally removed by the NEW command
KEY – assigns a string as a macro to a function key
DISPLAY – displays all function key macros
MERGE – merges a BASIC program from disk into the program currently in memory
PAGE – displays a BASIC program listing in page format
OPTION – highlights Simons' BASIC keywords when using the LIST command
DELAY – varies the rate at which the LIST command scrolls the screen
FIND – searches the program for a string
TRACE – displays the line numbers as a program is running
RETRACE – displays results of a trace
DUMP – displays all variable values except for arrays
COLD – resets the C64
Security-related keywords
DISAPA – marks a BASIC program line for hiding
SECURE – hides all lines marked with DISAPA so that they cannot be viewed with LIST
Structured programming keywords
ELSE – allows an alternative branch for IF/THEN conditionals
REPEAT – start of a REPEAT/UNTIL loop structure
UNTIL – defines the loop condition for a REPEAT/UNTIL loop structure, and marks its end
RCOMP – recapitulates the last IF/THEN conditional
LOOP – defines the start of a loop that will run until an EXIT IF conditional is true
EXIT IF – the conditional is true, so it exits the current LOOP/END LOOP structure
END LOOP – defines the end of a loop that will run until an EXIT IF conditional is true
PROC – defines the start of a named subroutine
END PROC – defines the end of a named subroutine
CALL – jump to a named subroutine defined with PROC/END PROC, and stay there
EXEC – call a named subroutine defined with PROC/END PROC, then return
LOCAL – redefines variables for use in structures
GLOBAL – reverses the effects of a previous LOCAL command
Miscellaneous keywords
CGOTO – equivalent to GOTO, but accepts calculated expressions
RESET – moves the DATA pointer to a given line number
PAUSE – pauses program execution for a specified number of seconds
Other
$ and % are also considered keywords, for a total of 114.
Functionality: NEW FACTORY SEALED
Description:
============
Similar to pictured, Simons’ Basic for the Commodore 64/128 computer.
Warranty and Returns:
=====================
We understand that there may be compatibility issues, space constraints, or it just doesn’t look perfect. This item can be returned within 14-days for ANY reason. However, shipping to and from is not refundable.
Shipping:
=========
- Other shipping methods are available – contact us for details.
- Combined shipping is available for most items – contact us for details.
- Local pickup is also available at no cost.
About Us:
=========
The Computer Preservation Group is dedicated to the preservation of historical computers. To help fund ongoing operations, select items are made available. To learn more, please visit our website: www.computerpreservation.com. Thank you for your support!
Stock#:C0425.BD#.8
Details from https://en.wikipedia.org/wiki/Simons%27_BASIC:
Simons' BASIC was an extension to BASIC 2.0 for the Commodore 64 home computer. Written by 16-year-old British programmer David Simons in 1983, it was distributed by Commodore in cartridge format.
Features
Simons' BASIC added 114 additional keywords to BASIC 2.0.[1] These included commands to ease the coding of sprites, high-resolution and multicolour graphics, and sound. In addition, commands were also implemented to aid in structured programming. Keywords to assist in writing and editing BASIC programs, similar to those in the VIC-20 Programmer's Aid cartridge, were also included. Also, programs written in Simons' BASIC could employ hexadecimal numbers in assignments and calculations by including a $ prefix, or binary numbers by utilizing a % prefix.
Because a portion of the cartridge data was mapped into memory at addresses $8000–$9FFF, which overlapped part of the standard C64 BASIC RAM, the amount of available memory for BASIC programs was 8 KB less than that of a standard C64 configuration.
A further extension was also written by Simons and released by Commodore on floppy 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 added another 91 extra commands including a much coveted RENUMber command which also took care of renumbering the destinations of GOTO and GOSUB statements.[2]
The 114 keywords
Sprite (MOB) handling keywords
MOB SET – enables a sprite and defines its attributes
MMOB – positions a sprite on the screen
RLOCMOB – causes a sprite to smoothly move from one location to another
CMOB – sets up the two global colours for multicolour sprites
MOB OFF – disables a sprite
DETECT – initializes sprite collision detection
CHECK – checks for a sprite collision
High resolution graphics handling keywords
HIRES – initializes a high-resolution graphics mode
MULTI – initializes a multicolour graphics mode
NRM – returns to the text display
LOW COL – changes the plotting colours
HI COL – returns to the original plotting colours
PLOT – draws a pixel
LINE – draws a line
CIRCLE – draws a circle
ARC – draws an arc
ANGL – draws the radius of a circle
PAINT – performs a flood fill
REC – draws a hollow rectangle
BLOCK – draws a solid rectangle
DRAW – draws a user-defined set of lines
ROT – sets scaling factors for DRAW
CHAR – plots a text character on a high-resolution screen
TEXT – plots a text string on a high-resolution screen
TEST – determines whether a pixel is plotted or empty
Other graphics handling keywords
COLOUR – sets the background and border colours
CSET – selects a character set
MEM – copies character ROM to RAM
BCKGNDS – configures extended background colour mode
FLASH – sets up a screen colour to flash
OFF – cancels a previous FLASH directive
BFLASH – causes the screen border to flash
FCHR – fills an area of the text screen with a given character code
FCOL – changes character colours for a selected area of the screen
FILL – a combination of FCHR and FCOL
MOVE – copies a section of the screen
INV – displays a screen area in reverse
LEFT – scrolls the screen left
RIGHT – scrolls the screen right
UP – scrolls the screen up
DOWN – scrolls the screen down
GRAPHICS – reserved variable that always equals $D000 (the VIC-II chip's base address)
Sound handling keywords
MUSIC – plays a series of notes based on the contents of a string variable
PLAY – determines whether the program continues to run during MUSIC
VOL – specifies the master sound volume
WAVE – specifies a voice type
ENVELOPE – sets ADSR parameters for a SID voice
SOUND – reserved variable that always equals $D400 (the SID chip's base address)
Keyboard input handling keywords
FETCH – takes user input with restrictions defined by the command
INKEY – checks for a function key press
ON KEY – checks for a given keypress, then performs a branch if present
DISABLE – disables the previous ON KEY directive
RESUME – reenables the previous ON KEY directive
Input peripheral handling keywords
JOY – reads a joystick
POT – reads a paddle
PENX – reads the light pen's horizontal position
PENY – reads the light pen's vertical position
Sprite/custom character definition keywords
@ – describes one line in a sprite or custom character graphic
DESIGN – uses neighbouring @ lines to define a sprite or custom character
Error trapping keywords
ON ERROR – sets up a routine to trap error conditions
OUT – ends an error handling routine
NO ERROR – cancels ON ERROR and restores normal BASIC error handling
Disk handling keywords
DIR – displays the disk directory without destroying the BASIC program in memory
DISK – sends a string to the disk drive's command channel
SCRSV – saves a text screen to disk
SCRLD – loads a text screen from disk
Printer handling keywords
HRDCPY – sends the text screen to the printer
COPY – sends the high-resolution screen to the printer
String manipulation keywords
INSERT – inserts one string into the middle of another
INST – similar to INSERT, but overwrites rather than inserting
PLACE – searches for one string in the middle of another
DUP – duplicates a character string a given number of times
Text formatting keywords
AT – prints a string at a given screen location
CENTRE – centres a character string on the screen
USE – formats numeric data in strings based on a template
LIN – returns the vertical position of the cursor
Maths keywords
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
EXOR – performs an exclusive-OR logical operation
Programmer's aid keywords
AUTO – automatically generates line numbers as a BASIC program is entered
RENUMBER – renumbers a BASIC program (but does not fix GOTO/GOSUB statements)
OLD – undeletes a program accidentally removed by the NEW command
KEY – assigns a string as a macro to a function key
DISPLAY – displays all function key macros
MERGE – merges a BASIC program from disk into the program currently in memory
PAGE – displays a BASIC program listing in page format
OPTION – highlights Simons' BASIC keywords when using the LIST command
DELAY – varies the rate at which the LIST command scrolls the screen
FIND – searches the program for a string
TRACE – displays the line numbers as a program is running
RETRACE – displays results of a trace
DUMP – displays all variable values except for arrays
COLD – resets the C64
Security-related keywords
DISAPA – marks a BASIC program line for hiding
SECURE – hides all lines marked with DISAPA so that they cannot be viewed with LIST
Structured programming keywords
ELSE – allows an alternative branch for IF/THEN conditionals
REPEAT – start of a REPEAT/UNTIL loop structure
UNTIL – defines the loop condition for a REPEAT/UNTIL loop structure, and marks its end
RCOMP – recapitulates the last IF/THEN conditional
LOOP – defines the start of a loop that will run until an EXIT IF conditional is true
EXIT IF – the conditional is true, so it exits the current LOOP/END LOOP structure
END LOOP – defines the end of a loop that will run until an EXIT IF conditional is true
PROC – defines the start of a named subroutine
END PROC – defines the end of a named subroutine
CALL – jump to a named subroutine defined with PROC/END PROC, and stay there
EXEC – call a named subroutine defined with PROC/END PROC, then return
LOCAL – redefines variables for use in structures
GLOBAL – reverses the effects of a previous LOCAL command
Miscellaneous keywords
CGOTO – equivalent to GOTO, but accepts calculated expressions
RESET – moves the DATA pointer to a given line number
PAUSE – pauses program execution for a specified number of seconds
Other
$ and % are also considered keywords, for a total of 114.