Why did a broadcasting corporation have a version of BASIC?
BBC Basic returns on multiple platforms, open sourced
81–90 of 120 posts
Re: BBC Basic returns on multiple platforms, open sourced
#82Why did a broadcasting corporation have a version of BASIC?
Part of the BBC's mandate (public funding requires public benefit, the mandate is essentially the contractual definition of the BBC's "deliverables") requires the production of educational content. As part of this, they had a programs for computer literacy in the early 80s - and commissioned a computer to go with them. So we had the BBC Micro running BBC Basic. We still had some left in school well into the 90s.
It's an interesting bit of history, because it gave a huge boost to the company that won the contract. Acorn soon after went on to develop the Acorn RISC Machine, featuring the ARM1 processor.
Re: BBC Basic returns on multiple platforms, open sourced
#83Earlier quoted context omitted.
SDL is simply not optimised for this use-case, but that doesn't mean it can't be done. If you're writing single-threaded code (which I assume BBC Basic is!), you can cut out the locking and directly poke a 640x480x3 array in memory. This part is extremely fast, as fast as your memory subsystem can go. Then, convert that into a texture and send it to the GPU once per frame. This is the only added overhead relative to…
I made a quick moving xor texture demo, it can hit 4K240fps on my machine. https://gist.github.com/DavidBuchanan314/2f68ff42df047a448be...
Every bit (pun intended) helps.
Re: BBC Basic returns on multiple platforms, open sourced
#84Re: BBC Basic returns on multiple platforms, open sourced
#85Why did a broadcasting corporation have a version of BASIC?
Sophie Wilson wrote the language, first in 6502 assembler, later in ARM assembler.
https://en.wikipedia.org/wiki/BBC_BASIC
This linked article of interviews has much greater depth.
Re: BBC Basic returns on multiple platforms, open sourced
#86If you're teaching 10 year old kids to code, is there an advantage to using something like this over Python or JavaScript?
Re: BBC Basic returns on multiple platforms, open sourced
#87This is cool, but not new. "Returns" is a bit misleading, it never went away. Apart from anything else, BBC BASIC is built into RISC OS which can run natively on the Raspberry Pi.
Re: BBC Basic returns on multiple platforms, open sourced
#88Looking at the difference page, it's not BBC BASIC as one might remember it. But that's not possible outwith actual BBC Micro hardware, complete with Kenneth Kendall's voice in ROM. And I suspect that Kenneth Kendall cannot be open sourced. (-: It looks like it has preserved the spirit of BBC Micro development on modern platforms, though. The use of INKEY$(-256) to determine underlying platform is amusing.
Re: BBC Basic returns on multiple platforms, open sourced
#89Why did a broadcasting corporation have a version of BASIC?
The history of BBC Basic is on the wiki. Sophie Wilson wrote the language, first in 6502 assembler, later in ARM assembler. https://en.wikipedia.org/wiki/BBC_BASIC This linked article of interviews has much greater depth. http://news.bbc.co.uk/2/hi/technology/7307636.stm
Re: BBC Basic returns on multiple platforms, open sourced
#90The killer features of BBC Basic for me were: - instant-on - you turned on the power switch at the back of the BBC Micro, got the double beep, and in less than a second were dropped into a REPL / shell with the language - integrated assembler - you could inline assembly language really easily - great documentation - before the web, documentation meant books - of which there were many - but also crucially in the BBC M…
Yes, as easily as this:
some BASIC statements here
[ some assembly statements here ]
some BASIC statements here
IOW, you just had to enclose your assembly language statements in square brackets. That's it.
Of course, you would need to know what memory addresses to operate on, in a real-life program, as opposed to a demo, so that you could share data in some way between the BASIC code and the assembly code, otherwise the program might not be able to do anything useful.
I don’t know about the multi-pass assembler feature that others have mentioned in this thread.