Now Reading
BBC BASIC – Write your individual packages

BBC BASIC – Write your individual packages

2023-11-28 23:46:20


Wiki
Forum
Manual
Touch interface
Differences from BB4W
Beginners’ Tutorial
Happy Birthday!
History

Click on on image for full-size model:

Running on Windows

BBCSDL working on Home windows

Running on Linux

BBCSDL working on Linux (Ubuntu)

Running on MacOS

BBCSDL working on MacOS

Running on Raspberry Pi

BBCSDL working on Raspberry Pi

Running on Android

BBCSDL working on Android

Running on Amazon Fire TV Stick

BBCSDL working on Amazon Fireplace TV

Running on iOS

BBCSDL (64-bit) working on iOS

Running in Firefox

BBCSDL working in Firefox


BBC BASIC for SDL 2.0 (BBCSDL) is a wholly free and Open Source
cross-platform implementation of
BBC BASIC for Home windows,
MacOS, Linux (x86 CPU solely), Raspberry Pi OS (RPi3 or later), Android, iOS or for
working in a browser.
It combines the simplicity of BASIC with the sophistication
of a structured language, permitting you to jot down utilities and video games, use
sound and graphics, and carry out calculations.


The Desktop editions (Home windows, MacOS, Linux, Raspberry Pi) embrace
a BASIC program editor with syntax colouring, stay indentation, search & substitute
and plenty of different options. Constructed-in diagnostic aids akin to run-time hint, itemizing of
variables, single-step execution and a profiler make debugging even probably the most complicated packages
easy.


The Android and iOS editions, for smartphones and tablets, have a simplified interface
optimised for touchscreen management. It too supplies a BASIC program editor with syntax
colouring, stay indentation, search & substitute and different options; see
here
for extra particulars. The Android version will run properly on a (64-bit) Chromebook,
significantly in case you allow window resizing.


The in-browser version additionally makes use of the simplified interface, it’s suitable with desktop
variations of Courageous, Chrome, Edge, Firefox, Opera, Safari & Vivaldi;
the Android variations of Chrome and Firefox, and with Safari on iOS. It would additionally run on a Chromebook.


The Android version may even run on the Amazon Fireplace TV or Fireplace TV Stick and a few sensible TVs.
A number of of the provided instance packages will be operated utilizing the navigation wheel and
buttons on the distant management, together with a lot of the video games. Any sounds or music created
by a BASIC program might be performed by way of the speaker(s) of the connected TV.


You’ll be able to ‘compile’ your BASIC program to a standalone software bundle which is able to run with out
BBC BASIC having to be put in (.exe file in Home windows, .dmg file in MacOS, .zip
file in Linux or Raspberry Pi OS and .apk file in Android through the BBC2APK utility).
You’ll be able to distribute such software bundles freely with none royalty for BBC BASIC being due.


BBC BASIC for SDL 2.0 is basically suitable with BBC
BASIC for Windows
; it shares with that dialect many new and superior options
together with knowledge constructions, PRIVATE variables, an EXIT statment, lengthy strings, occasion interrupts, an
address-of operator, byte variables, a line continuation character,
oblique process and performance calls and improved numeric accuracy.
It additionally retains a excessive diploma of compatibility with the BBC Microcomputer, together with
emulation of the SOUND and ENVELOPE statements, and the MODE 7 (teletext) display screen mode.

See Also


As much as 256 Megabytes of reminiscence (16 Mbytes within the in-browser version) is offered for the person’s
program, knowledge and stack (topic to enough RAM being out there). In contrast to some older
variations of BASIC, you will not undergo the frustration of working out of reminiscence!
Line numbers are non-compulsory.


BBC BASIC incorporates an assembler* which can be utilized
when the pace or different capabilities of the interpreter are insufficient. The assembler
is determined by the CPU in your system: x86 (32-bit or 64-bit) for Home windows, MacOS or Linux;
ARM (32-bit or 64-bit) for Raspberry Pi. Within the case of Android the assembler is ARM or x86
as acceptable. You’ll be able to entry Utility Program Interface (API) features
from BASIC and from assembler code, permitting an skilled programmer to provide
subtle purposes.


BBC BASIC for Home windows packages that decision Working System API features, or that depend on libraries
that don’t have a direct equal in each dialects, will have to be tailored to be able to be suitable with
BBCSDL. Additionally, packages that use the *FONT command would require a small alteration. However in any other case
packages will be anticipated to run with little or no modification. After all, packages that incorporate
meeting language code is not going to run on an ARM-based Android system or Raspberry Pi with out vital adjustments.
Particulars of the variations between BB4W and BBCSDL could also be discovered here.


BBC BASIC for SDL 2.0 is fully free and could also be downloaded for
the supported platforms as follows
:


The Home windows version is on the market both as an installer or a Zip archive which merely must be extracted to an appropriate place.
The MacOS, Android and iOS editions are self-installing. The Linux and Raspberry Pi editions
should first be unzipped, after which put in based on the directions within the provided textual content file. The in-browser version wants no set up.



‡ On a Mac you will want to override the “unidentified developer” safety warning; there are directions for doing that
here. Please be aware that the app is
signed and is due to this fact protected in opposition to tampering; the warning merely implies that it has not been reviewed by Apple. This
version is x86 (Intel) code however will run properly on an M1 (‘Apple silicon’) Mac underneath Rosetta 2 emulation.



* The iOS and in-browser editions are exceptions. As a result of iOS doesn’t allow ‘arbitrary code execution’ the assembler, the CALL assertion and the USR operate
usually are not usable. This can be a restriction imposed by Apple and is unavoidable.



Model Date Modification abstract (click on on the model quantity for particulars)
1.38a 13-Nov-2023 Added Hebrew to DejaVuSansMono; added @fn%(21) desk entry; added tabs to editbox.bbc; added timerdem.bbc & settab.bbc; bug fixes.
1.37a 01-Sep-2023 Added system variable @cache%; up to date SDLIDE & BBCEdit IDEs; added calculator.bbc instance program; a couple of minor bug fixes.
1.36a 31-Jul-2023 Home windows version makes standalone EXEs; SDLIDE helps bi-directional textual content; new analyser & Hello_Box2D examples; up to date libraries.
1.35a 06-Apr-2023 Fastened PLOT 68 plotting when it should not; use unbuffered I/O for serial gadgets; new examples blacksmith.bbc, carousel.bbc, welcome.bbc.
1.34a 07-Feb-2023 Up to date SDL2, SDL2_ttf and SDL2_net to the newest variations; up to date pdflib library; new script library; new Add SDL Constants utility.
1.33a 28-Oct-2022 Enabled *float 80 in ARM editions; mounted compiler.bbc failed add; added FN_readlinesocketM to socklib; restored Ceefax Sport index.
1.32a 20-Aug-2022 SDLIDE helps key phrase abbreviations; added mysqllib library & mysqldem instance program; mounted a minor mouse coordinate problem.
1.31a 18-Jun-2022 Up to date SDL2, SDL2_ttf & stb_image; listboxes now help a number of choice; up to date telstar.bbc; new pdfdemo.bbc instance program.
1.30a 08-Might-2022 Improved iOS version; up to date the compile & touchide utilities; up to date gfxlib library;
added bugs.bbc & pageturn.bbc instance packages.
1.29a 26-Mar-2022 Up to date aagfxlib library; up to date searchin utility; added conway.bbc & video.bbc instance packages; help for serial I/O; minor bug fixes.
1.28a 10-Feb-2022 Up to date dlglib, gfxlib & imglib (to help animated GIFs) libraries; added anigif.bbc instance program; modified telstar.bbc to ship CR.
1.27a 30-Dec-2021 Added help for net bundles; up to date audiolib and gfxlib libraries; added candle.bbc instance program; a number of minor bug fixes.
1.26a 19-Nov-2021 New audiolib & gfxlib libraries; new cowboy.bbc & metronome.bbc instance packages; minor compatibility enhancements & bug fixes.
1.25a 08-Oct-2021 PAGE could also be lowered (with care!); new SUM operator (modulo-264 addition); stringlib library up to date to help 64-bit integers.
1.24a 20-Aug-2021 Added GCOL 5-7; relative plot instructions do not discard the LSB; mounted a reminiscence leak on string array initialisation; mounted bugs in SDLIDE.
1.23a 09-Jul-2021 Added 64-bit Raspberry Pi version; added msgbox library; up to date BBCEdit; extra Mac shortcuts; mounted cruncher bugs, and extra.
1.22a 28-Might-2021 Added extra Mac keyboard shortcuts; added cradle.bbc & Box2D pattern demos; up to date sudoku.bbc; some efficiency optimisations.
1.21a 16-Apr-2021 Helps some Mac keyboard shortcuts; added box2ddbg library; added pinball.bbc & voronoi.bbc examples; a number of minor bug fixes.
1.20a 03-Mar-2021 Fastened FOR…NEXT bug in ARM editions; added f1-f4 shortcuts in Ceefax.bbc; eliminated timeout from sudoku.bbc; a number of minor bug fixes.
1.19a 22-Jan-2021 Prolonged *dump cmd; new editbox & menulib libraries; new gorillas & textedit examples; new macro recorder for SDLIDE; bug fixes and many others.
1.18a 04-Dec-2020 New -borderless swap; PTR() accepts FN/PROC identify; pdflib.bbc, raytrace.bbc & saa505x.bbc added; BBCEdit up to date; bug fixes and many others.
1.17a 23-Oct-2020 New shaderlib and webgllib libraries; BBCEdit IDE up to date; Ceefax.bbc up to date to trace BBC web site adjustments; bug fixes and extra.
1.15a 11-Sep-2020 New PTR()= assertion and SYS operate; SDLIDE has breakpoints and might print a list; up to date Ceefax.bbc & telstar.bbc; bug fixes and many others.
1.14a 03-Aug-2020 New *dump command, up to date IDEs, up to date dlglib.bbc & filedlg.bbc, up to date SkyBaby.bbc & telstar.bbc examples, bug fixes and many others.
1.13a 19-Jun-2020 MODE7 & SOUND enhancements, clean listbox scrolling, new classlib & mode7lib libraries, new instance sortdemo.bbc, bug fixes & extra.
1.12a 08-Might-2020 Improved file selector, touchide copies directories, new instance packages bbclock.bbc, dunebuggy.bbc & kerning.bbc; bug fixes and extra.
1.11a 27-Mar-2020 Render batching; MODE 7 font modified; new instance packages highlight.bbc, pintograph.bbc & trebuchet.bbc; bug fixes and extra.
1.10a 15-Feb-2020 Box2D physics engine bundled; kaleidoscope.bbc, crates.bbc, dangle.bbc & lotto.bbc instance packages added; bug fixes and extra.
1.09a 11-Jan-2020 New Reminiscence Monitor utility, dlglib library improved, Ceefax simulator up to date to incorporate climate, journey & native information, and extra.
1.08a 01-Dec-2019 Bug fixes, eventlib made 64-bit suitable, added ellipsefit.bbc, bezierfit.bbc and multitouch.bbc instance packages, SkyBaby up to date.
1.07a 20-Oct-2019 Bug fixes, treeview has a scrollbar, aagfxlib helps dotted/dashed traces, listboxes will be drag-scrolled, new SkyBaby instance program.
1.06a 03-Sep-2019 Antialiased graphics (through new aagfxlib library); assembler fixes; aagfxdem.bbc, knots.bbc & BBSterm.bbc instance packages added.
1.05a 25-Jul-2019 Bug fixes, Goto Line in SDLIDE, combobox help, up to date DejaVuSans font, new fluid.bbc & 3D animation to accompany skaters.bbc .
1.04a 23-Jun-2019 VDU 23,24,n| adjusts character spacing; @tmp$ is now at all times user-specific; hangman.bbc & figleaf.bbc instance packages added.
1.03a 12-Might-2019 BBCEdit IDE up to date; Search BASIC packages utility added; multi-column listing packing containers; mandel.bbc rewritten to run on all platforms.
1.02a 04-Apr-2019 ARM & 64-bit editions buffer recordsdata; dlglib consists of trackbar help; new polydots & recorder
examples, telstar.bbc up to date, bug fixes.
1.01a 23-Feb-2019 VDU 23,23 works with circles/ellipses/arcs; RECTANGLE SWAP added; SDLIDE enhancements; disco, slitscan, surks & swirl examples.
1.00a 01-Feb-2019 SDLIDE masses Acorn-format recordsdata, Cross Reference utility, ARM align directive, ellipse & treeview libraries, seascape & ellipses examples.

Source Link

What's Your Reaction?
Excited
0
Happy
0
In Love
0
Not Sure
0
Silly
0
View Comments (0)

Leave a Reply

Your email address will not be published.

2022 Blinking Robots.
WordPress by Doejo

Scroll To Top