For those as confused as I was, the BASIC as written will not run on a C64 (two immediate notes: BASIC 2.0 doesn't have labels, and a variable like STATS would be illegal because it clashes with the status word ST). This only works in their custom IDE which "compiles" (read "adds line numbers, alters names and tokenizes") it.
sbuttgereit 16 hours ago [-]
To be fair, this isn't that different from things we'd do back in the day.
I use to write BBS software in BASIC on the C64, and one of the things we'd do is use a "compiler" that would do some optimizations. What this allowed was being able to write a program too big to actually run, but the optimized version of it could.
I wish I could share more details and be less hand-wavy... but it turns out the 80's were a long time ago and I just haven't given it much thought since then (at least until I saw your comment).
sedatk 14 hours ago [-]
Computer magazines of the era also did that with C64 listings because they were such a pain to type as is. They usually distributed a tool to type your program in first, and then published much more legible and plain text (non-PETSCII) code listings instead.
"Commodore BASIC–style interpreter written in C, but with modern conveniences."
krige 16 hours ago [-]
Yeah seeing GOSUB and no line numbers was an instant warning light.
sedatk 14 hours ago [-]
I had briefly thought that C64 could use variables with GOTO/GOSUB. Sinclair BASIC could do that for example.
EmX_3000 8 hours ago [-]
What a brilliant machine, it easily has the most active scene of any retro computer going at this point. It's a bit of a shame about the BASIC not taking better advantage of the hardware though. OTOH a lot of the brilliant programmers of today's era cut their teeth on the C64 (and Apple IIs) and probably had to resort to assembly code at times thus honing their skills. I had an Apple IIgs and it lacked an advanced BASIC to take full advantage of the video and sound capabilities. In fact home computers with a really good BASIC tuned to the computer's hardware capabilties were very rare.
Someone 2 hours ago [-]
> In fact home computers with a really good BASIC tuned to the computer's hardware capabilities were very rare.
And either a lot more expensive or later to the market. ROM was cheaper than RAM, but still expensive.
The Apple IIgs was later to the market, so it could have afforded a good basic in ROM, but it was so late that it could afford to load one in RAM, too, and, I guess, needed an Apple II basic in ROM for backwards compatibility.
teddyh 9 hours ago [-]
IIRC, the 1983 dungeon crawler Sword of Fargoal was written in real Commodore 64 BASIC.
Rendered at 09:21:41 GMT+0000 (UTC) with Wasmer Edge.
The review of the book isn't so good, though I'd still own it as a charming period artifact: https://gmkeros.wordpress.com/2024/01/19/write-your-own-fant...
Dungeon Crawlers for the C64 always make me think of the Sword of Fargoal! https://www.lemon64.com/game/sword-of-fargoal
There’s also a GitHub project for the C64 listing(s) at https://github.com/HAnthonyHoyt/c64-dungeon-of-doom .
I use to write BBS software in BASIC on the C64, and one of the things we'd do is use a "compiler" that would do some optimizations. What this allowed was being able to write a program too big to actually run, but the optimized version of it could.
I wish I could share more details and be less hand-wavy... but it turns out the 80's were a long time ago and I just haven't given it much thought since then (at least until I saw your comment).
"Commodore BASIC–style interpreter written in C, but with modern conveniences."
And either a lot more expensive or later to the market. ROM was cheaper than RAM, but still expensive.
The Apple IIgs was later to the market, so it could have afforded a good basic in ROM, but it was so late that it could afford to load one in RAM, too, and, I guess, needed an Apple II basic in ROM for backwards compatibility.