This is cool. Granted, the language presented here is absolutely horrid, but at the same time so much better than what was available at the time. The ZX Spectrum was a quirky ball of low-cost hacks (the Ferranti ULA that implemented most hardware stuff was driven beyond its intended use hard, with brilliant-yet-horrible features such as using the same pin for audio input and output...). Its BASIC lacked most features that are taken for granted these days, like control blocks: GOTO-another-line-number was the only way back in the days, and the resulting spaghetti code was... rough.
Inline assembly, which also hadn't been invented yet other than by embedding raw opcodes in DATA statements, is absolutely required to get the performance required for gaming: I still cherish my HiSoft Devpac tape (officially purchased and shipped from the UK at great expense and requiring extensive negotiations with the local customs people, for whom this entire 'software' thing was a bit new...) and Z80 assembly reference (pirated from a library with the school photocopier). So, in one sense, the limited BASIC was a blessing: it required you to really get to know your machine, which is probably the first and last time in my life that happened: I've not considered the timing implications of the CRT and optimized my code around that for a long time.
Nice to see people are still enjoying a 44-year-old platform!
This is cool. Granted, the language presented here is absolutely horrid, but at the same time so much better than what was available at the time. The ZX Spectrum was a quirky ball of low-cost hacks (the Ferranti ULA that implemented most hardware stuff was driven beyond its intended use hard, with brilliant-yet-horrible features such as using the same pin for audio input and output...). Its BASIC lacked most features that are taken for granted these days, like control blocks: GOTO-another-line-number was the only way back in the days, and the resulting spaghetti code was... rough.
Inline assembly, which also hadn't been invented yet other than by embedding raw opcodes in DATA statements, is absolutely required to get the performance required for gaming: I still cherish my HiSoft Devpac tape (officially purchased and shipped from the UK at great expense and requiring extensive negotiations with the local customs people, for whom this entire 'software' thing was a bit new...) and Z80 assembly reference (pirated from a library with the school photocopier). So, in one sense, the limited BASIC was a blessing: it required you to really get to know your machine, which is probably the first and last time in my life that happened: I've not considered the timing implications of the CRT and optimized my code around that for a long time.
Nice to see people are still enjoying a 44-year-old platform!