Vision BASIC for the Commodore 64

The Commodore 64 was, for its time, quite a wonder, an inexpensive home computer with 64K of RAM and excellent for its time graphics and sound capabilities. Sadly, it came with one of the more limited versions of Microsoft BASIC out there.

Microsoft BASIC had its strengths, but many of them were not a good match for its hardware. The C64 had no commands to take advantage of any of its terrific features. To do nearly anything on the machine besides PRINTing and manipulating data, you had to refer to a small number of cryptic-yet-essential commands: POKE for putting values into arbitrary memory addresses, PEEK for reading values out of them, READ and DATA to read in lists of numbers representing machine language routines, and SYS to activate them.

And getting the values to do those things required obtaining and poring over manuals and the venerable C64 Programmer’s Reference Guide. Even then, Microsoft BASIC was notably slow, especially when doing work with numbers, due to its dogged insistence of converting all values, including integers, into floating point before doing any math on them. So while BASIC supported integers, which required less memory to store, actually slowed the machine down due to the need to convert to and from floating point whenever an operation needed to be performed on them. This doesn’t even begin to get into the many inefficiencies of being an interpreted language.

Vision BASIC, an upcoming commercial compiled language for the Commodore 64, looks to remedy many of these faults. The above video is a nearly 40-minute explainer and demonstration of the system. It requires the purchase of a memory expansion unit in order to be used on a physical machine, but it can produce executable code that can be run on a stock C64 as it came out of the box.

It’s not free, and at $59 for the basic package it may seem a little high for a system for developing software on a 40-year-old computer, but that price includes the software on floppy disk and a USB drive. It’s certainly capable, and runs much faster than many other compiled languages on the system. It’s definitely something to look into for people looking to make games on the system without digging deep into assembly, and if you have a desire to do that it has a built-in assembler for producing in-line machine code too! It is an intriguing new option for Commodore development.

Commodore 64 Ads Retrospective

This is not a real ad, it’s a reimagining, but it’s pitch-perfect.

Bryan Lunduke has a collection of old ads for what is still the best-selling model of personal computer of all time, the Commodore 64. No doubt it retains that title today on the basis of a number of technicalities, like PCs are atomized among many different makes that still all run the same OS, and people not considering an iPhone to be a computer somehow.

I’d like to draw your attention in particular to the ad for GEOS on that page, the early C64 windowed operating system that breathed new life into the system. In the end it was probably doomed due to a number of factors: Apple’s head start and much better marketing, the fact GEOS had to be booted from disk while Mac OS was partly ROM-resident, and a bit of clunkiness. But you can do rather a lot with GEOS all by itself, and it comes with a capable word processor in GeoWrite. GEOS, and its weird legacy, probably deserves a post of its own eventually.

The image above is for a fake ad, but it’s based off of an iconic, and slightly disturbing, television ad from Austrailia, Keeping Up With The Commodore:

Commodore Basic 2.0 for Other Systems

Say what you will about Commodore BASIC 2.0, the built-in programming language and makeshift shell for the Commodore 64, written by Microsoft employees and descending from code written by Bill Gates himself, it’s certainly, um, basic. Nearly everything that takes advantage of that machine’s graphics or sound features involves POKEing values into memory at various locations, requiring a programmer to memorize a long list of important numbers.

Because it doesn’t interface with the system’s unique features to any great extent, it’s a very generic version of BASIC. But this means it can be ported to other systems without tremendous effort. Fancy-pants commands don’t have to be converted to another architecture’s norms, because there aren’t any! And lots of systems used the instruction set and general capabilities of the MOS 6502, upon which the Commodore 64 is based, so now we have versions of its BASIC that work on the Nintendo Entertainment System and the Atari 800. They’re both based off of Project 64, an annotated disassembly of the C64’s BASIC and Kernal ROM code.

The NES port should be able to run on actual hardware, but you’ll need the Family Keyboard that was made to work with the Famicom’s own official BASIC to use it, which was only released in Japan.

By the way, the reason that I write BASIC in all-caps is, it’s an acronym! It stands for Beginners’ All-purpose Symbolic Instruction Code.

Link Roundup 4/24/22

Patrick Klepek for Vice, about Melon Han-Tani releasing the player movement code for his game Sephone.

Sam Machkovech for for Ars Technica, reviewing geometry puzzle game Tandis.

Alana Hauges of NintendoLife on the forthcoming Zero Tolerance Collection, which includes an unreleased sequel to the original Mega Drive/Genesis game.

Alana Hauges also informs us of preorders for a vinyl release of Ace Attorney music.

Keema Waterfield for Wired writing about playing The Legend of Zelda: Breath of the Wild with her five-year-old daughter.

Arto

Ryan McCaffrey on IGN tells us about an upcoming RPG, Arto, with a very interesting look to it.

Stephen Totilo, Axios, on the return of Ken and Rebecca Williams, founders of Sierra On-Line from years ago, and their attempt at a comeback.