Earlier quoted context omitted.
The integrated assembler was very good. I worked for Acorn in the early 80s (was co-author of Acorn ISO Pascal), and we used our own H/W and S/W for all software development. ISO Pascal came in two 16K ROMS, one holding the compiler (in VM code), and one everything else (virtual machine, screen editor, Pascal libraries etc) which was all written in assembler using BBC Basic. The combination of BASIC with the basic ab…
There's no contact in your profile so I'll say it here: Thank you! That work had a big impact on me when I was getting started and I still think of the B incredibly fondly.
BBC Basic returns on multiple platforms, open sourced
101–110 of 120 posts
Re: BBC Basic returns on multiple platforms, open sourced
#102Earlier quoted context omitted.
>- integrated assembler - you could inline assembly language really easily 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 shar…
On your last point: on the first pass the assembler wouldn't know about labels that came later on the assembly, but on the second pass it would have seen them. IIRC normal way to run the assembler was to do to a for loop from 0 to 3 with step size 3, as 0 indicated suppressing all assembler errors.
Re: BBC Basic returns on multiple platforms, open sourced
#103Earlier quoted context omitted.
On your last point: on the first pass the assembler wouldn't know about labels that came later on the assembly, but on the second pass it would have seen them. IIRC normal way to run the assembler was to do to a for loop from 0 to 3 with step size 3, as 0 indicated suppressing all assembler errors.
Ah, got it, thanks. But why not 0 to 1 with step size 1? Wouldn't that also give two passes, which should be sufficient, and which the said normal way also does?
Using 1 would suppress errors, which would mean you wouldn't know if your code was bad.
You could use 0 and 3 or, if you don't want a listing, 0 and 2.
Search this page for 'first pass', for a more complete explanation: https://central.kaserver5.org/Kasoft/Typeset/BBC/Ch43.html
Re: BBC Basic returns on multiple platforms, open sourced
#104Earlier quoted context omitted.
Before getting my hands on a BBC Micro I'd done all my teenage programming on an Apple II - so the killer feature of BBC Basic for me was that it had a renumber command. No more having to re-type code because I'd used-up all the line numbers between line 110 and 120. A little thing but it felt like magic.
I absolutely hated line numbers. In my current paid job I'm paid to develop Visual Basic applications, not a single line number in sight. Basic has certainly come a long way since the 80s.
Re: BBC Basic returns on multiple platforms, open sourced
#105Re: BBC Basic returns on multiple platforms, open sourced
#106Earlier quoted context omitted.
Ah, got it, thanks. But why not 0 to 1 with step size 1? Wouldn't that also give two passes, which should be sufficient, and which the said normal way also does?
There were four OPT (modes) for the assembler, numbered 0 to 3. 0 suppressed all errors and screen output. 3 did the opposite. Using 1 would suppress errors, which would mean you wouldn't know if your code was bad. You could use 0 and 3 or, if you don't want a listing, 0 and 2. Search this page for 'first pass', for a more complete explanation: https://central.kaserver5.org/Kasoft/Typeset/BBC/Ch43.html
But I'll check that page out anyway.
Thanks again.
Re: BBC Basic returns on multiple platforms, open sourced
#107Earlier quoted context omitted.
There were four OPT (modes) for the assembler, numbered 0 to 3. 0 suppressed all errors and screen output. 3 did the opposite. Using 1 would suppress errors, which would mean you wouldn't know if your code was bad. You could use 0 and 3 or, if you don't want a listing, 0 and 2. Search this page for 'first pass', for a more complete explanation: https://central.kaserver5.org/Kasoft/Typeset/BBC/Ch43.html
I think it's clear now - mode 0 is used to suppress the error messages about yet-unseen labels in the first pass, and 3 to give the output with any errors. Meanwhile, by the end of the first pass, all labels would have been seen, so in the second pass, the assembler could insert the correct addresses for them, at the places where those labels were used in jump statements, even if some of those statements were before…
Re: BBC Basic returns on multiple platforms, open sourced
#108Earlier quoted context omitted.
>Those BBC TV shows had the unusual feature of broadcasting software over the end credits. Just had to tape the screeching and play it back into the computer. Can you explain this? Do you mean that BASIC programs were encoded as sound in some way, and then could be uploaded into the computer and run?
Never used a BBC but 8bit computers of this era often used cassettes to load and save data. The tape would contain bleeps and blurps which would be decoded into bytes by the computer. EG this is the sound produced by an Amstrad cpc464 loading a game: https://www.youtube.com/watch?v=OvChkOHgDIo This meant that to copy software you didn't even need a computer, just a double cassette deck. And that by recording the cred…
Re: BBC Basic returns on multiple platforms, open sourced
#109Earlier quoted context omitted.
>Those BBC TV shows had the unusual feature of broadcasting software over the end credits. Just had to tape the screeching and play it back into the computer. Can you explain this? Do you mean that BASIC programs were encoded as sound in some way, and then could be uploaded into the computer and run?
Yes. That's exactly it. Just like an acoustic modem. And also how software and data was stored on compact audio cassette when disk drives (the floppy kind, not the hard kind) were too expensive or out of reach of the average person.
Re: BBC Basic returns on multiple platforms, open sourced
#110Earlier quoted context omitted.
I donated my BBC Model B+ to a computer museum recently, along with a stack of Acorn User magazines (available on the Internet Archive, BTW) and software on cassette. Felt strong pangs of regret driving away. I can still feel the excitement of figuring it all out, a world opening up to me. Those BBC TV shows had the unusual feature of broadcasting software over the end credits. Just had to tape the screeching and pla…
>Those BBC TV shows had the unusual feature of broadcasting software over the end credits. Just had to tape the screeching and play it back into the computer. Can you explain this? Do you mean that BASIC programs were encoded as sound in some way, and then could be uploaded into the computer and run?
Software has even been distributed on vinyl records and flexi singles!
You could connect a domestic cassette recorder up to a BBC Micro and use to save and load software onto normal cassettes!
There were favoured devices that would give better results and better cassettes for data storage and so on.
Its all ancient history and folklore now :-)