You need machine code

Debunking BASIC?! Don’t you need Machine Code?

Unfortunately, people couldn’t just dive into Assembler/Machine Code programming without learning to program in some other language first of all. At the time the Commodore 64 came out, BASIC was being used as a vital language to teach people about computers, before they could move on to some other language.

BASIC was never vital to the learning process at all, in fact it was considered by many to be a bad way to learn programming (at least in the dialects provided with the 8-bit computers) and quite a few programmers did indeed skip that particular step entirely, moving directly to assembly language. Others simply learnt the basics from BASIC and moved on when the speed issues caused by using an interpreted language would force them towards assembly language.

In the early days of the Apple II computer, most applications, and possibly most games as well, were programmed in a version of BASIC which Apple supplied with the computer. Originally, this was “Integer BASIC”, followed up by “Floating Point BASIC”, both by Apple, then “Applesoft BASIC” by Microsoft.

Whilst there might well have been a large number of BASIC games at the start of the Apple 2’s lifespan, those games were at best primitive, hobbled by the limitations that BASIC places on programmers. The majority of successful games were written in machine code even that early in home computing’s history and, for a while at least, having a game that could claim to be “100% machine code” was important enough a selling point for publishers to mention it on the inlay.

And it’s worth noting again that the author’s slightly skewed history of Apple BASIC dialects ab0ve meant that software written for later iterations wasn’t compatible with the earlier ones (and sometimes the reverse was true) in a similar way to how Simon’s BASIC programs didn’t work on a C64 that didn’t have the cartridge present.

I certainly can’t imagine anyone getting a Commodore 64 as their first computer, then learning to program it in Assembly Language! Surely the way to learn would be a good grounding in BASIC, followed by incorporating some Machine Code routines into your programs before taking things further.

Since the author hasn’t actually learnt assembly language on any 8-bit at the time of writing (as a slight edit, the author later claimed to have done so with the Amstrad CPC), his ability to imagine the difficulty involved is going to be somewhere between highly questionable and nonexistent. Significant numbers of people did indeed start with a C64 using BASIC V2 before moving over to assembly language including myself and quite a few friends and during the early to mid 1980s in the UK this is how a significant proportion of 8-bit games came to be, developed by enthusiastic bedroom coders.

This entry was posted in Debunking and tagged , , , . Bookmark the permalink.