User avatar
GavinW
Posts: 84
Joined: Tue Nov 01, 2011 8:11 pm
Location: UK
Contact: Website

BBC Basic assembler

Mon May 27, 2013 10:44 am

I see that the BBC Basic provided in the latest ROM image (RC8) of RISCOS is still version 1.3 (1989) and that it has not yet been updated to assemble VFP instructions. If you press CTRL-F12 to get a taskwindow, then enter BASIC at the * prompt, and then enter HELP [ at the > prompt you will get a concise rundown of the assembler instructions available in Basic. Any news about progress on this?
otium negare negotium vanum

oo33oo
Posts: 30
Joined: Sat Aug 03, 2013 12:12 pm

Re: BBC Basic assembler

Wed Oct 02, 2013 11:52 am

I have the following BBC Basic Assembler books in PDF.

Advance Machine Code Techniques For The BBC Micro
Assembley Language Programming For The BBC Micro Computer
Creative Assembler
Creative Assembler How To Write Arcade Games
Discovering BBC Micro Machine Code
Mastering Assembley Code
Mastering Machine Code
The BBC Micro Machine Code Portfolio 75 Expert Routines

neilf
Posts: 72
Joined: Sun Nov 11, 2012 8:14 am

Re: BBC Basic assembler

Wed Oct 02, 2013 1:00 pm

I have the following BBC Basic Assembler books in PDF.

Advance Machine Code Techniques For The BBC Micro
Assembley Language Programming For The BBC Micro Computer
Creative Assembler
Creative Assembler How To Write Arcade Games
Discovering BBC Micro Machine Code
Mastering Assembley Code
Mastering Machine Code
The BBC Micro Machine Code Portfolio 75 Expert Routines
These are all for the BBC B's 8-bit 6502 processor. None of them cover 32-bit ARM BASIC assembly.

oo33oo
Posts: 30
Joined: Sat Aug 03, 2013 12:12 pm

Re: BBC Basic assembler

Wed Oct 02, 2013 1:03 pm

Will check to see what 32-bit Assembler books that I may have.

User avatar
DavidS
Posts: 3065
Joined: Thu Dec 15, 2011 6:39 am
Location: USA
Contact: Website

Re: BBC Basic assembler

Wed Oct 02, 2013 6:46 pm

GavinW wrote:I see that the BBC Basic provided in the latest ROM image (RC8) of RISCOS is still version 1.3 (1989) and that it has not yet been updated to assemble VFP instructions. If you press CTRL-F12 to get a taskwindow, then enter BASIC at the * prompt, and then enter HELP [ at the > prompt you will get a concise rundown of the assembler instructions available in Basic. Any news about progress on this?
That is not correct. The current RISC OS OPEN ROM has an updated BBC BASIC, the version number 1.54 and the built in assembler DOES support VFP.

using HELP [

Will not show these updates unfortunately.
26-Bit R15 to 32-bit. 16-bit addressing to 24-bit. ARM and 65xx two CPU's that continue on, and are better than ever. Assembly Language forever :) .

User avatar
redhawk
Posts: 3465
Joined: Sun Mar 04, 2012 2:13 pm
Location: ::1

Re: BBC Basic assembler

Wed Oct 02, 2013 7:19 pm

Is the BBC on RiscOS an emulator or simulator??

Richard S.

User avatar
DavidS
Posts: 3065
Joined: Thu Dec 15, 2011 6:39 am
Location: USA
Contact: Website

Re: BBC Basic assembler

Wed Oct 02, 2013 7:43 pm

redhawk wrote:Is the BBC on RiscOS an emulator or simulator??

Richard S.
What?? We are talking about a programming language, not some kind of emulator.

BBC BASIC V, is an intrical part of RISC OS, and a programming language. It is only for the ARM CPU, and only runs in RISC OS. Its inline assembler is ARM and it has many features that the earlier 8-Bit BBC BASIC implementations did not.

BBC BASIC V will NOT run on an 8-BIT BBC Computer.
26-Bit R15 to 32-bit. 16-bit addressing to 24-bit. ARM and 65xx two CPU's that continue on, and are better than ever. Assembly Language forever :) .

User avatar
DavidS
Posts: 3065
Joined: Thu Dec 15, 2011 6:39 am
Location: USA
Contact: Website

Re: BBC Basic assembler

Wed Oct 02, 2013 7:45 pm

Though if you want a BBC Emulator for RISC OS that will run on the RPi there are a few out there.
26-Bit R15 to 32-bit. 16-bit addressing to 24-bit. ARM and 65xx two CPU's that continue on, and are better than ever. Assembly Language forever :) .

neilf
Posts: 72
Joined: Sun Nov 11, 2012 8:14 am

Re: BBC Basic assembler

Wed Oct 02, 2013 8:06 pm

Is the BBC on RiscOS an emulator or simulator??
Good question. What's the technical difference again?
They generally seem to refer to themselves as 'emulators', so I guess that's what they are. I presume the same goes for the Risc OS 'emulators' too.

User avatar
redhawk
Posts: 3465
Joined: Sun Mar 04, 2012 2:13 pm
Location: ::1

Re: BBC Basic assembler

Wed Oct 02, 2013 11:09 pm

An emulator is a near faithful recreation of hardware i.e. graphics, sound and the BBC's 2MHz 6502A processor with original ROM code.
A simulator is a good imitation / knock-off so on the outside it looks and feels like the real thing but inside it doesn't run any ROM code or emulates the 6502 processor.
If the BBC Basic running on RiscOS is an emulator then I'd imagine support for ARM assembler would be impossible not without breaking some kind of compatibility layer.
If however if the BBC Basic was a simulator then exposure to stuff outside the norm like directly executing ARM code would be a possibility.

Richard S.

User avatar
DavidS
Posts: 3065
Joined: Thu Dec 15, 2011 6:39 am
Location: USA
Contact: Website

Re: BBC Basic assembler

Thu Oct 03, 2013 12:07 am

redhawk wrote:An emulator is a near faithful recreation of hardware i.e. graphics, sound and the BBC's 2MHz 6502A processor with original ROM code.
A simulator is a good imitation / knock-off so on the outside it looks and feels like the real thing but inside it doesn't run any ROM code or emulates the 6502 processor.
If the BBC Basic running on RiscOS is an emulator then I'd imagine support for ARM assembler would be impossible not without breaking some kind of compatibility layer.
If however if the BBC Basic was a simulator then exposure to stuff outside the norm like directly executing ARM code would be a possibility.

Richard S.
BBC BASIC V is NOT MOS for the 6502, and NOT for the 8-bit MOS computers. There is no simulation or emulation. It is a programming Language, like C is a programming language. C is not Linux, in the same way BBC BASIC is not MOS. BBC BASIC V was written in ARM assembly from scratch for ARTHUR OS, and RISC OS, and has nothing to do with the 8-bit beeb (Other than being an extension of the programming language).
26-Bit R15 to 32-bit. 16-bit addressing to 24-bit. ARM and 65xx two CPU's that continue on, and are better than ever. Assembly Language forever :) .

User avatar
redhawk
Posts: 3465
Joined: Sun Mar 04, 2012 2:13 pm
Location: ::1

Re: BBC Basic assembler

Thu Oct 03, 2013 8:08 am

I see so it's just a BASIC interpreter, but if it has nothing to do with the original machine why is it called BBC Basic anyway??

Richard S.

User avatar
GavinW
Posts: 84
Joined: Tue Nov 01, 2011 8:11 pm
Location: UK
Contact: Website

Re: BBC Basic assembler

Thu Oct 03, 2013 8:22 am

It does have something to do with the original. When the Archimedes came out Acorn kept the name "BBC Basic" for the language they provided with it to underline that it had its roots in what had been provided on the "BBC B computer". I leave you to Google what all this had to do with the British Broadcasting Company.
otium negare negotium vanum

AMcS
Posts: 184
Joined: Sun Jan 06, 2013 11:23 am
Location: Dublin, Ireland

Re: BBC Basic assembler

Thu Oct 03, 2013 8:47 am

redhawk wrote:I see so it's just a BASIC interpreter, but if it has nothing to do with the original machine why is it called BBC Basic anyway??

Richard S.
But it has everything to do with the earlier machine ! Acorn developed the original BBC Model B and also the ARM chip and Archimedes computer that contained it.

For the model B they developed (in 6502 Assembler) the BBC BASIC interpreter - as it was fully coded in assembler it was probably the fastest 8 bit BASIC interpreter. A feature of BBC BASIC, as implemented in the BBC Model B, was that it contained a 6502 in line assembler for the CPU it ran on.

For the Archimedes they developed (in ARM Assembler) the ARM BBC BASIC V interpreter - as it was fully coded in assembler it is also very fast (probably the fastest 32 bit BASIC interpreter). A feature of ARM BBC BASIC is that it contains an ARM in line assembler.

In both cases the same person (Sophie Wilson) wrote the interpreter - so basically the same individual and same company developed both (some Archimedes machines were also "branded" as BBC computers (the Archimedes A305, A310 and a later machine called the A3010)).- so overall it made sense to call both interpreters "BBC BASIC". Both share the same syntax - although some new keywords were introduced in ARM BBC BASIC V (in addition to the changed in inline assembler) and a few (ADVAL()) behave differently - the original ADVAL() could read values from an Analog to Digital converter built into the BBC Model B but not present in the later Archimedes/RiscPC/RaspberryPi etc.,)

Hope that helps.

Steve Drain
Posts: 87
Joined: Tue Oct 30, 2012 2:08 pm
Location: Exeter UK

Re: BBC Basic assembler

Thu Oct 03, 2013 11:29 am

It should be remembered that the design of this version of BASIC was developed in conjunction with the BBC to support their computing TV programmes. The Acorn versions were written by Wilson, but there are many others available for a variety of machines and processors. Richard Russell, the principal BBC employee involved in the design, still provides BBC BASIC for Windows. Simple programs written with one version will work on another, but they are really too far apart now to be called truly the same language IMHO.

User avatar
AndrewS
Posts: 3625
Joined: Sun Apr 22, 2012 4:50 pm
Location: Cambridge, UK
Contact: Website

Re: BBC Basic assembler

Fri Oct 04, 2013 2:47 am

If RISCOS were more popular, I wonder if the BBC's corporate lawyers would demand that it was renamed? :lol:

Steve Drain
Posts: 87
Joined: Tue Oct 30, 2012 2:08 pm
Location: Exeter UK

Re: BBC Basic assembler

Fri Oct 04, 2013 9:47 am

AndrewS wrote:If RISCOS were more popular, I wonder if the BBC's corporate lawyers would demand that it was renamed? :lol:
RISC OS or BBC BASIC? OK, you mean the BASIC, but the RO version may not even be the majority version now. Back in the day, RO was very popular indeed and no-one at the BBC had any thought about the name. Today, I expect hardly anyone there knows it exists. ;-(

AMcS
Posts: 184
Joined: Sun Jan 06, 2013 11:23 am
Location: Dublin, Ireland

Re: BBC Basic assembler

Fri Oct 04, 2013 10:23 am

AndrewS wrote:If RISCOS were more popular, I wonder if the BBC's corporate lawyers would demand that it was renamed? :lol:
The syntax and features were developed in discussion with the BBC.

Richard Russell's BBC BASIC for windows also uses the "BBC name" (he originally worked for the BBC and was one of the people responsible for the specification).

BBC BASIC has been existence for over 30 years, it was used on 1.5 Million BBC micros and 0.5 Million ARM based computers (most running RISC OS for over 25 years).

Given all that I don't think the BBC would view the cost/effort of "going legal" a worthwhile endeavour at this stage. If the BBC remember it at all it would be for their having instigated a process that popularised computing - something for which they, I suspect, would justifiably be proud.

oo33oo
Posts: 30
Joined: Sat Aug 03, 2013 12:12 pm

Re: BBC Basic assembler

Fri Oct 04, 2013 10:50 am

neilf wrote:These are all for the BBC B's 8-bit 6502 processor. None of them cover 32-bit ARM BASIC assembly.
I have found the following book.

Archimedes Assembly Language - The Complete Programming Course 368 pages

User avatar
DavidS
Posts: 3065
Joined: Thu Dec 15, 2011 6:39 am
Location: USA
Contact: Website

Re: BBC Basic assembler

Fri Oct 04, 2013 11:56 am

oo33oo wrote:
neilf wrote:These are all for the BBC B's 8-bit 6502 processor. None of them cover 32-bit ARM BASIC assembly.
I have found the following book.

Archimedes Assembly Language - The Complete Programming Course 368 pages
That one is unlikely to do much good on the RPi, due to the difference between the way that 26-bit addressing was done on the early RISC OS systems. Do not get me wrong if you know how to make the small changes to make the code 32-Bit addressing clean, then the book has useful information.

There is a book on using the BBC BASIC assembler on RISC OS that specificly targets the RPi, though I can not remember the name.
26-Bit R15 to 32-bit. 16-bit addressing to 24-bit. ARM and 65xx two CPU's that continue on, and are better than ever. Assembly Language forever :) .

oo33oo
Posts: 30
Joined: Sat Aug 03, 2013 12:12 pm

Re: BBC Basic assembler

Fri Oct 04, 2013 12:44 pm

DavidS wrote:There is a book on using the BBC BASIC assembler on RISC OS that specificly targets the RPi, though I can not remember the name.
Would great if anyone finds this book.

AMcS
Posts: 184
Joined: Sun Jan 06, 2013 11:23 am
Location: Dublin, Ireland

Re: BBC Basic assembler

Fri Oct 04, 2013 12:50 pm

oo33oo wrote:
DavidS wrote:There is a book on using the BBC BASIC assembler on RISC OS that specificly targets the RPi, though I can not remember the name.
Would great if anyone finds this book.
There's a good one by Bruce Smith, details on: http://www.brucesmith.info/page25.html

Hope that helps.

neglectoru
Posts: 2
Joined: Sun Jul 12, 2015 10:58 pm

Re: BBC Basic assembler

Sun Jul 12, 2015 11:01 pm

Though off topic for the BBC Basic for Raspberry PI, I would be very interested in some of the documentation for the original BBC Basic Assembler for the 6502, such as "Assembly Language Programming for the BBC Microcomputer", which I'm told is very good.

Anyone know if this (or an archive of BBC Micro related books) are available anywhere?

neglectoru
Posts: 2
Joined: Sun Jul 12, 2015 10:58 pm

Re: BBC Basic assembler

Sun Jul 12, 2015 11:02 pm

oo33oo wrote:I have the following BBC Basic Assembler books in PDF.

Advance Machine Code Techniques For The BBC Micro
Assembley Language Programming For The BBC Micro Computer
Creative Assembler
Creative Assembler How To Write Arcade Games
Discovering BBC Micro Machine Code
Mastering Assembley Code
Mastering Machine Code
The BBC Micro Machine Code Portfolio 75 Expert Routines
Are these PDF documents available anywhere?

User avatar
rpdom
Posts: 12578
Joined: Sun May 06, 2012 5:17 am
Location: Essex, UK

Re: BBC Basic assembler

Mon Jul 13, 2015 8:37 am

I mostly just used the Advanced User Guide for the BBC Micro (Bray, Dickens & Holmes), which I still have, and worked out the rest from there and the other documents for specific hardware (ADFS/NFS/Teletext).

For the Archimedes someone kindly bought me the full Programmers Reference Manual box as part payment for a project I did for them :)

Return to “RISCOS”

Who is online

Users browsing this forum: No registered users and 1 guest