Basic always answer "Mistake"
Marten Feldtmann (1811) 13 posts |
Hello, I tried again RiscOS under RaspberryPI and wanted to play around with the integrate BASIC. I have build a card with the latest image (12a) and my PI-1 is booting without problems … but whatever I enter in the basic interpreter this tools always returns “Mistake”. I pressed Ctrl+F12, then “*basic” and from that I just type “print 1+2” and the answer I get: “Mistake”. Any idea, what I did wrong ? Marten Feldtmann |
Vladimir Shevchenko (2094) 88 posts |
Try capital letters: PRINT 1+2 |
Marten Feldtmann (1811) 13 posts |
What a joke ! Thanks ! |
Dave Higton (1515) 3526 posts |
All of BBC BASIC’s keywords and reserved variable names are in upper case. |
Steffen Huber (91) 1953 posts |
This behaviour of BBC BASIC drove me crazy when migrating from the Amstrad CPC. There, you could type in lower or upper or mixed case – reserved tokens were detected and automatically – if you LISTed your program – converted to upper case. |
Rick Murray (539) 13840 posts |
Just had a look at a wiki documenting the Locomotive BASIC to see how it looked in use and…
The real wiki says that the 8910 “It produced very similar results to the Texas Instruments SN76489 and was on the market for a similar period”, so given that it is contemporary to the SNblah used in the Beeb, it ought to be worth pointing out that generic BBC BASIC did the same thing. ;-) |
Rick Murray (539) 13840 posts |
The reason that I was looking – if the Amstrad BASIC could accept keywords in either case, did it have limits on what could be accepted as variable names? Update: I like the idea of The thing is, I take it the CPC didn’t have much of an MOS? For this reason BBC BASIC didn’t need functions to deal with listing files (*.) or redefining characters (OS_Byte), indeed there was a plethora of functions available with just a few fairly simple calls. Want text and graphics windows? Spit some VDU codes, no need to reserve a keyword in BASIC. |
Steve Pampling (1551) 8170 posts |
Whereas in BBC BASIC print can be a variable while PRINT is always an instruction
Mentioned in the linked wiki, but it rather glosses over the benefit of structured programming on both the program and the programmers education. I’d used another BASIC (on a mainframe) before BBC, the earlier ICL beastie was a pain. |
Steffen Huber (91) 1953 posts |
The CPCs OS was not great, but OKish. From BASIC, you could use it via the CALL command. You can see the reference here: http://www.cantrell.org.uk/david/tech/cpc/cpc-firmware/ or the original OCRed here http://www.cpcwiki.eu/index.php/Soft968:CPC_464/664/6128Firmware The AMSDOS (the firmware for the disc drive) was very basic. No directories, 8+3 characters, ISTR it was only 6.5 KB of code. Many things are better in BBC BASIC. Locomotive BASIC was fast, but its attempt at structured programming was basically GOSUB, so everything was line number based. And no integrated assembler. One of the reasons I can still fluently read Z80 hexdumps… But as I said, the handling of the keyword tokenization was miles ahead. And there were cool commands to seperate variable namespaces to save you from writing this% and that$: you could do “DEFINT a-m”, and all variables starting with a to m were automatically integers. |
Steffen Huber (91) 1953 posts |
BTW, the CPC has seen one of the most impressive projects for 8bit computers: SymbOS, a fully multitasking GUI-enabled OS. It has also been ported to more powerful Z80-based computers like the MSX Turbo R machines or the Enterprise 128. On the CPC, together with the Symbiface II, it is a hell of a combination for an 8bit computer. |