11 ms·
One of the coolest things about BBC BASIC was the ability to slot inline assembly, and (I think?) reference the same variables in both modes as in the code on t
by mellosouls 2y ago
One of the coolest things about BBC BASIC was the ability to slot inline assembly, and (I think?) reference the same variables in both modes as in the code on the op site.
[BASIC]
FOR I% = 1 TO (TILES_Z - 1) / 2
[
[ASSEMBLY]
OPT pass%
EQUB &E3, TILES_X \ Tile row data (even)
EQUB &E4, TILES_X \ Tile row data (odd)
]
[BASIC AGAIN]
NEXT
[
https://lander.bbcelite.com/source/all/lander_a.html#landscapeconfig https://lander.bbcelite.com/source/all/lander_a.html#landsca...
- eschneider 2y agoOh the envy. The rest of us shlubs on other platforms had to hand assemble and poke it into memory. Ugh.
- MarkMoxon 2y agoI love the BASIC assembler on the BBC Micro and Archimedes. It is a work of art. Incidentally, the fully buildable Lander source code in the website's accompanying git repository is also in BBC BASIC format - as an attempt to imagine what the original source might have looked like. A Python script converts it to vasm-compatible format for compiling, but you can also build it on a real Archimedes if you want to. See https://lander.bbcelite.com/about_site/building_lander.html https://lander.bbcelite.com/about_site/building_lander.html for details.
- Sophira 2y agoTo clarify for anyone else reading this: BBC BASIC had an assembler built in so that you could write in-line assembly language to be assembled at a given memory location, and the source is in the format used by the inline assembler. It doesn't mean there's a port of the game written completely in BASIC!