WimBasic

Today's Extended Basic Level II extension for VIC20 featuring SuperNumbers (tm)

Introduction

WimBasic is an extension for CBM Basic V2 on the famous Commodore VIC20. It is built from the Extended Basic Level II extension that was published by Michael Krause and Andreas Dripke in 1982.

From this, the function DEC() was removed and the following was added: 

  • Function XOR()
  • Command UNNEW
  • A faster SQR() algorithm (5x faster than the CBM Basic version)
  • Left-MID$ function to replace (part of) a string by (part of) another string
  • Inline hexadecimal and binary notation (A=$1E00:B=%1101)
  • SuperNumbers (20% faster floating variables)
  • INPUTLINE#<file>
  • ERROR <code>
  • Joystick support (through USR())
  • DIVMOD, to calculate DIV and MOD
  • WHILE-WEND and QUIT

In total, WimBasic adds 48 new commands and 14 new functions to your VIC20. It enhances existing commands and functions, such as RESTORE and RND(). 

What began as simply patching the ROM-file, ended up as a nearly complete rewrite of this little gem. A lot of bugs and shortcomings were fixed and a lot of optimizations were done.

The project is finished in the fall of 2012. WimBasic is 8153 bytes in size and is built to run in BLK5, just like its predecessor.

 

Thanks to forum members on Denial for support and inspiration.

 

To download WimBasic, click here: wimbasic.zip

The ZIP-file contains two .ASM files, two .PRG files and two .CART files. The wimbasic.* files contain the 6502-version, whereas the wbc02.* files contain the 65C02 version. The 65C02 version is 196 bytes shorter and a little faster at some points (e.g. RENUM is 4% faster). Both versions have the same functionality.

The .PRGs and the .CARTs are padded with $ff. The .CART files do not have the load address prepended.

If you have RAM in BLK5: The .PRG must be loaded with ,<dev>,1 so that it ends up in $A000-$BFFF. After that, a SYS64802 must be performed so WimBasic will start automatically.

If you do not have RAM in BLK5, make sure you burn an 8KB EPROM with the .CART file and hook it up. Or acquire a Final Expansion 3 or a MegaCart.

 

 Some sample programs can be downloaded from:  wb_samples.zip