3 ms·
Was the GUI really written in BBC Basic? Coo ur.
by bonaldi 14y ago
Was the GUI really written in BBC Basic? Coo ur.
- pja 14y agoIt was really easy in BBC Basic to drop in some inline assembler whenever you needed to. It wouldn't surprise me if Arthur was really a mix of Basic and inline ARM assembler. Anyone ever seen the source code?
- ralph 14y agoThere's some confusion here. The Arthur OS ROMs, starting with 0.2 on EPROM, that's why Acorn wanted them back on the upgrade to 0.3 on ROM, were written in assembler, including `modules' like the filing systems, BASIC, and the Wimp that gave SWIs like Wimp_CreateIcon. More as a demo of WIMP rather than anything useful there was a Desktop program stored in the ROM, written in BASIC, that used the Wimp module to present a crude selection of calculator, etc. Nothing like the later drag-and-drop RISC OS desktop; no other programs could run with the Arthur version. So there was some BASIC in the OS but only as one stores sprites and other data files too. The source of RISC OS was opened up. https://www.riscosopen.org/viewer/view/castle/RiscOS/Sources/Programmer/BASIC/s/Lexical?rev=1.6;content-type=text%2Fx-cvsweb-markup https://www.riscosopen.org/viewer/view/castle/RiscOS/Sources... shows part of the BASIC module which has pedigree going back to when Sophie Wilson, designer of the ARM instruction set, wrote it.
- stusmith1977 14y agoIt does seem surprising, but ARM BASIC was fast. Seriously fast. I read somewhere that it was later optimized further for the ARM3, so that its core working set (for common operations) would fit inside the ARM3's cache. When you consider that was only 4kb, you get a feel for how well-written ARM BASIC was.
- ralph 14y agoIt was very fast, and the built-in assembler and easy integration of your code from BASIC, e.g. [.mol% mov r0, #42:mov pc, r14]:PRINT USR mol%, meant there were easy options when it wasn't quite fast enough. But then you've got to remember that Sophie Wilson wrote the 16KiB 6502 BASIC interpreter for the BBC micro, and the BASIC for the Z80 second processor IIRC, and then brought that experience to bear when designing the ARM instruction set. Having done so, she then wrote BBC BASIC V in ARM; hardly surprising if it knew every little nuance and could wring speed out of it. In later years, the BBC BASIC code, 6502 and ARM, were good stress tests for emulators because of her wide use of the instruction sets.