How to run Commodore BASIC as a Scripting Language on macOS

Did you know you can run Commodore BASIC v2 on your Mac and Linux systems as a scripting language? It’s true – thanks to the marvellous efforts of Michael Steil and James Abbatiello. They’ve adapted the original BASIC v2 as featured on the VIC-20 and C64 with additional routines so that it works natively on … Read more

Writing HELLO WORLD in Machine Language on the Commodore 128

The Commodore 128 has a built-in machine language monitor which makes it ideal for ML development. However, most (or pretty much all) documentation on this subject is geared towards the Commodore 64, making it slightly difficult to get a head start in writing ML code for the 128. Before I forget how to do it, … Read more

Lottery Statistics in Commodore BASIC

In this episode I’m adding statistics support to my previous lottery generator on the Commodore 64. I’ll add an array that is updated if my supplied numbers have been matched, and how many times over how many draws this has happened. I’ll also add an option to pause the programme and display the statistics before … Read more

Matching Lottery Numbers on the Commodore 64

In this episode I’m amending my previous lottery number generator to take six lucky numbers from the user to match against the randomly drawn numbers from the Commodore 64. This will allow us to compare what the computer has drawn to the user’s input, as well as keep drawing numbers until the user input comes … Read more

Thoughts on Windows 10 Upgrade Error 0xc190020e

My first generation Surface Pro only has 64GB of space, roughly 20 of which I’m allowed to use (the rest of it is kind of forever “lost in cyberspace” – or so it seems). It’s been running all Windows 10 updates fine until a few months ago, when Windows kept bugging me that the latest security patches needed to be installed.

I was happily running Version 1703 up to that point and never had an issue with space limitations or deferring updates. Until early 2018, when Microsoft started  aggressively forcing the Fall Creator’s Update down my throat. 

Read more

Working with Keyboard Input in Commodore BASIC

In this episode I’ll show you three ways to take user input from the keyboard in Commodore BASIC. The INPUT and GET commands work on all systems, while the GETKEY command only works on the Plus/4 and C128. I’ll demonstrate how to use all of them. This will come in handy for our little lottery … Read more

Thoughts about the C64 Mini by Retro Games Ltd

In Europe, the brand new C64 Mini has just been released. Although I don’t have one myself, I’ve been following the Indiegogo campaign and have watched several “unboxing reviews” on YouTube. I must admit it’s a neat little machine, and I like the idea of somebody making the Commodore days available to a new generation … Read more

How to print numbers as columns in Commodore BASIC

In this episode I’m demonstrating how to print numbers in evenly spaced columns in Commodore BASIC.

On the C128 and the Plus/4 we can use a nifty little function called PRINT USING for this, with which we can format the output of any printed text or variable.

On the C64 and VIC-20 that function doesn’t exist, so we’ll have to convert a numeric value into a string (using the STR$ function), and then determine how long our string is. Following that we’ll have to manually pad our string value with as many spaces as are required.

Read more