BBC BASIC for SDL 2.0 v0.28a released

discuss PC<>Acorn file transfer issues & the use of FDC, XFER, Omniflop/disk etc.
Post Reply
User avatar
Richard Russell
Posts: 598
Joined: Sun Feb 27, 2011 10:35 am
Location: Downham Market, Norfolk
Contact:

BBC BASIC for SDL 2.0 v0.28a released

Post by Richard Russell » Sun Dec 16, 2018 6:55 pm

I've released BBC BASIC for SDL 2.0 version 0.28a, for full details of the changes in this release please see the announcement here. The headlines are the introduction of a new Dark Mode for the IDE, and that the 64-bit Linux edition is now fully supported (an x86-64 assembler is included, and the Debug and Profiler features now work in that edition).

Coeus
Posts: 1159
Joined: Mon Jul 25, 2016 11:05 am
Contact:

Re: BBC BASIC for SDL 2.0 v0.28a released

Post by Coeus » Sun Dec 16, 2018 8:23 pm

Richard Russell wrote:
Sun Dec 16, 2018 6:55 pm
I've released BBC BASIC for SDL 2.0 version 0.28a, for full details of the changes in this release please see the announcement here. The headlines are the introduction of a new Dark Mode for the IDE, and that the 64-bit Linux edition is now fully supported (an x86-64 assembler is included, and the Debug and Profiler features now work in that edition).
Good news, Richard. Did you end up writing the assembler yourself, then?

User avatar
Richard Russell
Posts: 598
Joined: Sun Feb 27, 2011 10:35 am
Location: Downham Market, Norfolk
Contact:

Re: BBC BASIC for SDL 2.0 v0.28a released

Post by Richard Russell » Mon Dec 17, 2018 12:27 am

Coeus wrote:
Sun Dec 16, 2018 8:23 pm
Did you end up writing the assembler yourself, then?
Sort of. What made it practical was the discovery of a website which hosts a 'machine readable' x86-64 instruction set reference. This is exactly what was needed to transform the task of writing an assembler from being highly labour-intensive (and requiring detailed knowledge of the CPU, which I don't have) to something that could largely be automated. I wrote a relatively simple BBC BASIC program (naturally!) that parsed the online reference into a large lookup table, and that comprises the bulk of the assembler.

The weakness of this approach is that whilst it correctly assembles valid instructions it's poor at detecting invalid ones. So if you're not very familiar with the x86-64 instruction set, and simply guess at an instruction that looks as if it might exist but doesn't, it's quite likely that rather than reporting an error the assembler will spew out an encoding that will either crash or at least do something different from what you expected. This isn't ideal but beggars can't be choosers and it's a lot better than not having an assembler at all!

User avatar
Richard Russell
Posts: 598
Joined: Sun Feb 27, 2011 10:35 am
Location: Downham Market, Norfolk
Contact:

BBC BASIC for SDL 2.0 v0.29a released

Post by Richard Russell » Thu Jan 10, 2019 11:04 pm

I've released version 0.29a of BBC BASIC for SDL 2.0, for full details see the announcement here. The headlines are that support for playing MP3 files has been added, and the MacOS edition is now 64-bits. The GitHub repository has been updated with the source files used to build the MacOS, Raspberry Pi, 64-bit Linux and iOS editions.

Post Reply