Up To Date Basic Compiler
John Sandgrounder (1650) 574 posts |
I have an old copy of !ABC (not used for a decade or more) which I expect will not run run on Ras Pi. Can I obtain a Basic compiler which will run on a Ras Pi 2 or later with 5.24? without buying the whole DDE which is a lot more than I need. And, if so, where? |
Chris Mahoney (1684) 2099 posts |
Which version do you have? The oldest I have is 4.14 from Jan 2003, which works on the Pi (although I also have 4.18 from Nov 2016). As for your question, I believe that it’s only available in the DDE. |
Jon Abbott (1421) 2597 posts |
It’s not the answer you’re after, but you could install ArcEm on your Pi and run ABC under that to compile. |
Steve Fryatt (216) 2044 posts |
Maybe think of it as supporting ROOL in the work that they did to make you an OS for the Pi? |
David Feugey (2125) 2687 posts |
Free version of ABC is here: |
John Sandgrounder (1650) 574 posts |
The glossy user guide says “Version 2 Update”. The copyright statement on the Floppy Disc says 1988.
Sooner pay the 50 Quid.
OK, my last bounty contribution must have expired by now. DDE ordered. |
Tristan M. (2946) 1035 posts |
…which version of the BBC BASIC reference manual comes with the “free” (sponsored) BASIC DDE27? I have DDE27, which I know does not come with a BBC BASIC manual. Is it the 2011 Steve Drain StrongHelp manual? |
Rick Murray (539) 13385 posts |
Hmm. It’s not in DDE28 either. It used to be there. An omission, perhaps? |
Rick Murray (539) 13385 posts |
It’s worth pointing out that while the DDE (and David) have an up to date version of the compiler, the compiler itself does not support up to date versions of BASIC. For instance, it won’t understand GCOL r,g,b (introduced in 3.5) nor the COLOUR OF… ON… (or whatever it is) syntax of more recent versions of BASIC. Two examples that came to mind. Indeed, expect it to understand that which was current in the times of RISC OS 3.1. |
Colin Ferris (399) 1738 posts |
Didn’t someone back along – offer to update ABC – ‘Rick’! You can get around some of the restrictions – like using SWI’s for colour. ie something like – I seem to remember. Also I think swi OS_EvaluateExpression can come in handy. Handy for checking a BASIC prog – if you write in ABC style. |
Rick Murray (539) 13385 posts |
Someone did, and someone’s still awaiting a response… |
Colin Ferris (399) 1738 posts |
Some basic questions? SYS “Internet_Syslog” swi from where? |
Rick Murray (539) 13385 posts |
Debug or third party versions of the Internet module? It’s not present in the OS supplied one. Just looked at Internet 5.02 (20 Sep 1996) and there’s no mention of it there either. I’ve found a reference stating: #define Internet_Syslog 0x04a240 #define Internet_LogFile 0x04a241 #define Internet_LogLevel 0x04a242 #define Internet_ReadErrorMessage 0x04a243 That’s not the same SWI chunk as used by the Internet module (&41200).
No idea if it affects Z. It shouldn’t, but I believe that on the 32 bit OS, one should not assume the state of flags to be preserved over SWI calls… https://www.riscosopen.org/viewer/view/~checkout~/castle/RiscOS/Sources/Kernel/Docs/32bit?rev=4.4 from line 49 says: On a 32-bit system, SWIs are no longer expected to preserve the N Z and C flags. They may still set/clear them to return results. 32-bit code should not assume that SWIs preserve flags.
Read the help?
It’s doing “something” if the Shift key is held. |
Jon Abbott (1421) 2597 posts |
Putting aside the fact no SWI is expected to preserve flags on RO5, on RO3.11 I believe all OS_Byte preserve Z from the tests I performed for ADFFS (I didn’t document any at any rate.) The C flag however is a different story, many OS_Byte corrupt C |
Rick Murray (539) 13385 posts |
That’s probably by design and probably more widespread… After all, there’s a reason CLib’s kernel library gives us |
Jeffrey Lee (213) 6046 posts |
I’d be surprised if corrupting C was by design. But, there are several kernel SWIs which return values in C (OS_ReadC, OS_CheckModeValid, etc.) |
Rick Murray (539) 13385 posts |
…which corrupts the previous value of C… intentionally… by design. ;-) |
Jon Abbott (1421) 2597 posts |
It is. It’s due to the way the CLRV macro is implemented. |