Super Expander 64

From C64-Wiki
Jump to navigationJump to search
Super Expander 64
Cover
Developer Fred Brown
Company Commodore
Publisher Commodore
Release 1983
Licence Full version
Platform C64
Genre BASIC Expansion
Operation Keyboard
Media Cartridge
Language(s) Language:english Language German
Information VIC-20 version also released

The Super Expander 64 is a BASIC extension from Commodore for the C64, expanding BASIC V2 to give similar functionality found in BASIC 3.5. It includes 21 new BASIC commands and 11 functions allowing for easier graphics manipulation and programming such as HiRes, sprites, shapes, chars, split screen, etc., as well as for sound and input requests for keyboard, joystick, paddles or light pen.

The Super Expander does not modify the start screen, but it reduces the memory of the C64 to 30719 bytes free and uses 8 KByte RAM.

Commodore also released a version for the VIC-20.

Commands[edit | edit source]

Note: Programs developed with Super Expander 64 only run error free when using the Super Expander 64 cartridge.

The new commands and functions are:

Graphics: GRAPHIC, SCNCLR, COLOR, BOX, CIRCLE, DRAW, PAINT, LOCATE, SCALE; CHAR
RCLR(), RDOT(), RGR()
Sprites & Shapes: SSHAPE, GSHAPE, SPRSAV, SPRDEF, SPRITE, SPRCOL, MOVSPR, RSPCOL(), RSPPOS(), RSPR()
COLINT, RBUMP()
Inputs: KEY, RJOY(), RPOT(), RPEN()
Music & Sound: TEMPO, TUNE, FILTER
A multicolor sprite editor called with command SPRDEF


Function Keys - KEY

The function keys call these BASIC commands:

Pressing the key RETURN  runs the BASIC command.

Here is an overview of the function key map using:

KEY

A function key can defined with:

KEY [<number of function key>,<string>]
  • <number of function key>: 1 until 8
  • <string>: for example
KEY 1,":RUN:"+CHR$(13) The BASIC command RUN is called and run on F1 
KEY 2,"" Deletes the key F2  

Note: using CHR$(13) is the equivalent of an automatic RETURN  key.


User Manual[edit | edit source]

Content (short)

  • PREFACE
  • USER CONVENTIONS
  • COMMAND SUMMARY
  • 1. GETTING STARTED
  • 2. TEXT and GRAPHIC
  • 3. SPRITE GRAPHICS
  • 4. GAME CONTROLS and FUNCTION KEYS
  • 5. SOUND EFFECTS and MUSIC
  • APPENDICES
  • Appendix I: PROGRAMMING NOTES
  • Appendix II: COMMAND REFERENCE GUIDE
  • Appendix III: SAMPLE PROGRAMS
Listing 4 in real time (German version)

At the end of the user manual are some examples of BASIC programs by using Super Expander 64. This BASIC listings demonstrate the new programming features of the new BASIC commands:

  • Listing 1: Logo of Commodore
  • Listing 2: Exercise of Split Screen
  • Listing 3: Polygons
  • Listing 4: Arcs, Circumferences and Ellipsis
  • Listing 5: Memorization and Resuming of Forms (Saving Shapes and Getting Shapes)
  • Listing 6: Sketch and Coloration of Forms (Drawing and Painting Shapes)
  • Listing 7: Animated Sprites (Floating Sprites)
  • Listing 8: Demonstrations Joystick
  • Listing 9: SUPER EXPANDER 64 Pong (a game by using paddles)
  • Listing 10: Ripple Effect (Moire Pattern)
  • Listing 11: Hypnotic sketch (Hypnotic Pattern)


Notes[edit | edit source]

  • When using the datasette recorder all sprites must be switched off.
  • The new BASIC commands have no new BASIC error message
  • Stopping a BASIC program with RUN/STOP  or through an error, the graphic mode switches to the text mode and automatic routines run until end. The screen mode isn't changed after the commands END or STOP.
  • By restarting a BASIC program with the command CONT automatic routines aren't started, e.g. right graphic mode, running background music, sprite collision, etc.
  • RUN/STOP +RESTORE  the program holds and stops the automatic routines
  • By using IF...THEN... "Super Expander 64" commands need first a : behind the command THEN!

Memory Map[edit | edit source]

The Super Expander 64 uses the following memory map $8000 - $9FFF (32768 - 40959) and reduces the free BASIC memory (8192 bytes are blocked from the cartridge).
Using the Commodore IEEE-488 interface the cartridge also uses 2048 more bytes, which start at the memory map $C000 (49152). If IEEE devices are used, the cartridge needs also 2048 bytes more, starting at the memory map $7800 (30720).

Hexadecimal | Decimal | Description
======================================================================================================================
$8000       | 32768   | stack for PAINT coordinates
$8A00       | 35328   | using for 8 sprite data
$8C00       | 35840   | color ram for HiRes pictures
$9000       | 36864   | moved char ROM
$A000       | 40960   | memory for HiRes pictures
$C000       | 49152   | temporarily area for saves by using IEEE-488 interface and devices
$C400       | 50176   | memory for modifying chars by the command CHAR and by using split screen with text
$CC00       | 52224   | reserved for memory expansions until ($CFFF; 53247)


Links[edit | edit source]

WP-W11.png Wikipedia: Super_Expander_64

Download: