Jump to content
Sign in to follow this  
rje

SuperBASIC 64, overview

Recommended Posts

This is a mention of a BASIC 2.0 extension by Martin Kees back in December 1983 or so.

It added 41 commands for sound, sprites, hi-res graphics, and memory management in a 3K wedge... and it looks like an "error wedge", meaning it doesn't slow down BASIC execution. 

It also tweaked some existing commands -- for example, it allowed a variable in GOTO and GOSUB statements, so you could say

100 L = 100
110 ? "HELLO WORLD"
120 GOTO L

Consider the power and chaos of that!

It also allows RESTORE to target from a specific line of data, which is interesting from a Turing point of view perhaps.

And ASC returns 0 for null strings(!).  Yes, I've been bitten by that when reading SEQ files.

The ASM file, the 64 PRG file, and documentation are attached for your amusement.

SUPERBASIC.PRG SuperBASIC64.txt SUPERBASIC.asm

Share this post


Link to post
Share on other sites

3K wedge? That's pretty impressive. Most of the BASIC extenders I have used end up eating the 8K cartridge space and reducing the RAM available to programs by that amount. 

Does this load into the 4K free memory at C000, or does it sit at the top of BASIC RAM?  (Never mind. That's in the manual. It uses the RAM under BASIC ROM and occupies some of the $C000 block.)

RESTORE looks especially useful for writing text adventure games. By making each room a line number, you can RESTORE straight to a specific room by simply selecting the desired line. 
 

Edited by TomXP411
  • Like 1

Share this post


Link to post
Share on other sites

I think most of the commands are essentially shortcuts.  Also, since every command is 4 characters long, there's probably some optimization of the scanning logic.

I used the sound and sprite commands extensively in the mid 80s and loved it.  They were USEFUL.

Quote

RESTORE looks especially useful for writing text adventure games. By making each room a line number, you can RESTORE straight to a specific room by simply selecting the desired line. 

Huh, that's a very clever use of a selective RESTORE!    Using DATA lines as a slow array of structured data.

 

Edited by rje

Share this post


Link to post
Share on other sites
4 hours ago, rje said:

Huh, that's a very clever use of a selective RESTORE!    Using DATA lines as a slow array of structured data.

Yeah, that's actually a standard feature of later Microsoft BASIC implementations. I'm pretty sure it's in the TRS-80 Model 100, and it's definitely in Advanced BASIC (aka BASICA or GWBASIC on the PC.)

That was the first thing I tried to do when I was writing a simple template for someone... and it totally didn't work. So i ended up putting that project on the shelf for now. I'll come back to it when we have BASIC tools to manipulate banked memory... something to load and save strings, floats, and integers to banked RAM are key to being able to exploit all that memory for anything other than assembly programs.

 

Share this post


Link to post
Share on other sites

Wasn't there a BASIC expander (cart) for the c64 that added mundane but useful utilities such as renumber lines, the dos wedge, maybe a 'find' (maybe I made that last one up).

I read the readme; was this scanned?  I saw reference to MIX and iirc that was MLX (LOL).

If he is copying ROM to RAM and modifying, is the aforementioned 3K just the additional RAM needed after possibly optimizing code in other parts?  I remember countless routines that leveraged the tape routes/buffer area but obviously, they are just 'routines' not full blown utilities or programming aids.

I tried double clicking on this for use in X64 of VICE, did that work for others?

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...

Important Information

Please review our Terms of Use