Tuesday, January 6, 2015

My very own 65c02 assembler in Forth

In which our protagonist insists on writing his own assembler in a quirky language for a 30-year-old CPU and then makes everything worse by inventing his own syntax.

One of the things Forth traditionally excels at is assembler programming -- see Brad Rodriguez' BYO Assembler in Forth for more details on this. Since at some point I'm probably going to switch from the 65c02 to the more powerful 65816, which will likely involve writing my own assembler, I decided to give it a try.

The result is A Typist's 65c02 Assembler in Forth [GitHub], so named because I used the occasion to create a different syntax that doesn't have those annoying uppercase symbols like "$" and "(". In other words, it's more fun for ten-finger typists. See the introduction on 6502.org for details. I've just started dogfooding larger programs, so it might be a while before that sort of code shows up here.

(If anybody is interested in assemblers as such, and why else would you be here, take a look at the free PDF version of Assemblers
and Loaders
by David Salomon.)

In the next entry, we will at least try to get back to our regular scheduled programming.