Re: Fancy a BASIC compiler?
Posted: Sun Feb 12, 2023 9:23 pm
No worries.
I wholeheartedly agree.
There are several interesting retro projects being realised right now, but the problem is availability. I've had my eye on the Color Maximite 2 for a while, but it's sold out everywhere. The Mega65 and the F256K are hard to get hold of as well (and ridiculously expensive, I might add). I hope it doesn't take too long for the X16 hardware to become generally available.
I started out with a Z80-based system (the EACA Colour Genie) and was totally hooked. Later on I got a C64, admittedly mostly for the games, but that's when I started playing around with 6502 assembly code.
I started working on an X16 port of a C64 game, and thought "hey, the CPU is running quite a bit faster than it did on the C64, so why not give BASIC a try?" After all, somebody managed to write a Boulder Dash clone in BASIC. What could possibly go wrong? (Ahem.)
Unfortunately, I guess I just wasn't prepared for the culture shock of going back to CBM BASIC after all these years: Two-letter variables, no local variables, no labels, no structured loops, no way to move the DATA pointer to a specific line, no sound support, extremely limited graphics support, no way to efficiently store binary data within the code... and so on.
I suddenly remembered what an absolute chore it had been to write a small database application on the C64 to organize my files, and how the program listing ended up being at least 50% comments in order to avoid the infamous "cold spaghetti" experience when revisiting the code a few months later.
But don't get me wrong: I really like the X16, and I also like the concept of being dumped directly into a BASIC interpreter at power-up. My issue is solely with this specific BASIC dialect, which admittedly I don't even have to use.
As things stand, I'll probably end up using a PC for development. Now, if someone were to create a macro assembler with an IDE that would fit into the ROM banks of the X16, and perhaps use the higher RAM banks for source code storage...