# BBCBasic — BBC BASIC Programming Language

> Advanced cross-platform implementation of the BBC BASIC programming language. (iPhone/iPad app by Richard Russell.)

- Source: https://appshunter.io/ios/app/bbcbasic/id6444498023 (this page in markdown: same URL + `.md`)
- Developer: [Richard Russell](https://appshunter.io/developer/1651141744)
- Category: Developer Tools, Education
- Price: Free
- Rating: 4.40/5 from 8 App Store ratings · 8 written reviews indexed
- Age rating: 4+
- Requires: iOS 12.0 · 55 MB
- Languages: American English
- Released: 2022-11-20
- Data updated: 2026-08-24
- Monetization: free
- User reviews in markdown: https://appshunter.io/ios/app/bbcbasic/id6444498023/reviews.md

## What is BBCBasic?

BBC BASIC is the programming language originally specified and adopted by the British Broadcasting Corporation for its groundbreaking Computer Literacy Project of the early 1980s.  This is an advanced, cross-platform, implementation with many enhancements over early versions.  As well as extensions to the language it supports anti-aliased 2D graphics, 3D graphics, shader programming and includes a 2D physics engine.  Its multimedia capabilities include stereo music, sound effects and video.  It supports networking and the accelerometer.  Nevertheless it maintains a high degree of compatibility with the BBC Microcomputer, including SOUND, ENVELOPE and MODE 7.

## Key features

- 2D and 3D graphics
- Shader programming
- 2D physics engine
- Stereo music and sound effects
- Video playback
- Networking support
- Accelerometer support

## Recent user reviews (8 of 8)

All indexed reviews: https://appshunter.io/ios/app/bbcbasic/id6444498023/reviews.md

### 4/5 — The soft button needs work

*2026-04-01*

This would be a five star app were it not for the soft back button. It is a necessary GUI element, but its execution breaks the app, or at least causes me to be constantly working around it.. First, there is no reason it should be so huge. Make it small! Second, it overlays the first lines of text. When coding, we must make space for the button or otherwise we create untouchable code at the beginning. When running programs, I often have no idea what they say on their first line because it is under that button.

Make the button small and move it out of the text area. If you need it huge, make the text screen begin under it. Something else that might be nice is an invisible ESC "area".

### 4/5 — Needs a few UI tweaks, and a mod to CR <-> LF mod.

*2025-06-03*

Takes a few seconds to work out how to create a NEW BASIC file, but does what it says. Main niggles are: 1) the lack of any feature / means to convert Carriage Returns to Line Feeds and vice versa, in the editor, to permit code blocks to be pasted in from the Web, Apple's Note app, a text editor, ... . Limiting any copy-n-pastes to a single line. 2) No proper *HELP command, with the peculiarities documented, or even how to get back to the menu 3) No *Command to get back to the MENU (other than working out a press "<" (ESCAPE) icon to bring up a keyboard, and typing: CALL!-4, QUIT, *QUIT, *Q. to kill the emulator, then reloading). Pressing or holding the "<" icon, simply results in ESCAPE being displayed on screen, a new prompt, and the on-screen keyboard appearing 5) No warning its 64bit, so 8 / 16 bit BBC, or 26 / 32 bit Archimedes listings may need to be reworked, to cope with the new bigger types, say addresses needing to be stored in the new, double %%, big Integer type, eg. freeMem%% = HIMEM - LOWMEM

**Developer response:** I can't reproduce this.  I can copy-and-paste a code block from the Pages app or a web page into BBC BASIC, and line-breaks are preserved.

### 3/5 — no voiceover support

*2024-12-28*

inaccessible. £A11Y.

### 5/5 — Amazing

*2024-07-07*

Seeing is believing. I never thought I would see an app like this on my iPad. The videotext examples were particularly impressive.

### 3/5 — Good port of BBC Basic with limitations

*2024-01-12*

The BBC Basic implementation is very close to other versions created by this author. Unfortunately the main functions like displaying folders and files and editing etc. are very rudimentary. The virtual keyboard has no extensions for making editing easier.
I was not able to create folders and files either. 
Overall a good start and look forward to future releases.

### 4/5 — Needs a few UI tweaks, and a mod to CR <-> LF mod.

*2023-03-27, version 1.34a*

Takes a few seconds to work out how to create a NEW BASIC file, but does what it says. Main niggle is the lack of any feature / means to convert Carriage Returns to Line Feeds and vice versa, to permit code blocks to be pasted in from the Web, Apple's Note app, a text editor, ... . Limiting any copy-n-pastes to a single line.

### 5/5 — The majority of commands work perfectly

*2023-03-06*

Generally this app is amazing. The only issue is ensuring you disable smart punctuation in the keyboard system setting on your iPad if the " character is playing up.

### 5/5 — The best by far, but some idiosyncrasies

*2022-11-23*

This is the most powerful implementation of Basic on iOS by miles. It's also completely free, with no ads; it doesn't harvest your data; and it doesn't even take up too much space on your device. You probably won't become a Silicon Valley billionaire writing BBC Basic, but there's no better way to (a) learn programming and (b) write useful programs of your own to do jobs you can't find an app for. There's lots of documentation online to help you get started with the BBC Basic language.

A few minor points to be aware of:

(1) The app itself takes a bit of getting used to. It isn't that the user interface is bad, but it's quite different from most other iOS apps.

(2) This is an implementation of the BBC Basic language, not a BBC Micro emulator. Old 1980s programs written in pure Basic will almost certainly run, although you might need to make some minor changes (e.g. a few COLOUR statements to get the palette looking the same) and they'll be much faster; but anything that relies on the particular processor or particular memory addresses definitely won't. Don't expect to be able to run commercial BBC Micro software!

(3) Other modern structured Basics are mostly derived from Microsoft's QBasic, but this one isn't. Straightforward differences of syntax won't cause anyone much trouble—it's easy to put ENDPROC instead of END SUB. But there are more subtle differences (parameters in BBC Basic are passed by value unless you specifically ask for pass by reference, local variables have dynamic scope instead of lexical scope, etc.) that won't always stop your programs running but can sometimes cause awkward bugs. So if you're used to a Microsoft-style Basic you should read up on how BBC Basic does things. (You don't need to worry about these issues at all if you're new to programming!)

## Frequently asked questions about BBCBasic

### What is BBCBasic?

BBCBasic is an advanced, cross-platform implementation of the BBC BASIC programming language, originally developed for the British Broadcasting Corporation's Computer Literacy Project. It includes modern enhancements like 2D/3D graphics, a physics engine, and multimedia capabilities.

### Is BBCBasic free to use?

Yes, BBCBasic is available for free. It does not have any in-app purchases or advertisements, making it entirely free to download and use.

### What devices does BBCBasic support?

BBCBasic is designed for iOS devices, including iPhone, iPad, and iPod. It is optimized for these platforms to provide a seamless programming experience.

### What kind of graphics does BBCBasic support?

BBCBasic supports anti-aliased 2D graphics, advanced 3D graphics, and shader programming. This allows for visually rich applications and games to be developed within the environment.

### Does BBCBasic have ads?

No, BBCBasic is completely ad-free. Users can enjoy an uninterrupted programming experience without any advertisements interrupting their workflow.

### How often is BBCBasic updated?

The latest version, 1.44a, was released on March 26, 2026. While the provided data indicates a future release date, typically updates for such developer tools aim to improve stability and add features based on user feedback.

### What is the age rating for BBCBasic?

BBCBasic has an age rating of 4+. This indicates that the content is generally suitable for all ages, with no mature themes or content that would be inappropriate for younger users.

### Can BBCBasic be used for game development?

Yes, BBCBasic's capabilities, including its 2D physics engine, 2D/3D graphics, and multimedia features, make it suitable for developing games. It also supports networking, which could be used for multiplayer features.

## Version history (last 5 releases)

### 1.44a — 2026-03-26

This update from Apple will improve the functionality of this app. No new features are included.

Added eight new 'dark theme' IDE backgrounds.
Long-press in keywords.bbc, starcmds.bbc and vducodes.bbc copies to the clipboard.
Added graphics/illusion.bbc and sounds/dubois.bbc example programs.
*FX 20 restores User-Defined Characters to their default appearance.
VDU 26 zeroes the @panx% and @pany% variables.

### 1.42a — 2025-07-01

Updated SDL to version 2.32.8.
Extended the arbitrary-precision integer arithmetic library.
Fixed a bug occasionally affecting integer multiplication.
Added starcmds.bbc and vducodes.bbc for information.
Added bigdem.bbc to demonstrate the bigint.bbc library.

### 1.41b — 2025-04-12

v1.41b fixes a bug in the dlglib library, and adds the Gnu Unifont font.

v1.41a Updated SDL to version SDL 2.32.0.
Added array slicing, using the syntax: array(first TO [last]) or array(row, first TO [last]).
Compound assignment and array arithmetic now accept the exponentiation operator ^.
By default, PRINT~ and STR$~ report an error if the value cannot be expressed as 32-bit hex.
Updated gfxlib.bbc to add PROC_gfxInvert, PROC_gfxPlotScaleDissolve and PROC_gfxPlotScaleAlphaBlend.
Updated arraylib.bbc to support creating alias arrays from slices of 1D and 2D arrays.
Added filters.bbc, soccerball.bbc, spinmaze.bbc, bauble.bbc and belier.bbc example programs.

### 1.41a — 2025-03-15

Updated SDL to version SDL 2.32.0.
Added array slicing, using the syntax: array(first TO [last]) or array(row, first TO [last]).
Compound assignment and array arithmetic now accept the exponentiation operator ^.
By default, PRINT~ and STR$~ report an error if the value cannot be expressed as 32-bit hex.
Updated gfxlib.bbc to add PROC_gfxInvert, PROC_gfxPlotScaleDissolve and PROC_gfxPlotScaleAlphaBlend.
Updated arraylib.bbc to support creating alias arrays from slices of 1D and 2D arrays.
Added filters.bbc, soccerball.bbc, spinmaze.bbc, bauble.bbc and belier.bbc example programs.

### 1.40a — 2024-07-01

Improved Bézier curves and arcs which have arrow endcaps.
Added example programs 'truchet.bbc' and 'vampire.bbc'.
Some minor bug fixes.

## Apps similar to BBCBasic

| App | Rating | Price | Category |
| --- | --- | --- | --- |
| [Network Debugger - TCP/UDP](https://appshunter.io/ios/app/network-debugger-tcpudp/id1562086552) | — | Free | Developer Tools |
| [La Terminal: Mosh & SSH Client](https://appshunter.io/ios/app/la-terminal-mosh-and-ssh-client/id1629902861) | 4.7 (103) | Free | Developer Tools |
| [Push Notification - Client](https://appshunter.io/ios/app/push-notification-client/id1516378834) | 4.1 (58) | Free | Developer Tools |
| [WebDebug - Web debugging tool](https://appshunter.io/ios/app/webdebug-web-debugging-tool/id1519592550) | 4.5 (15) | Free | Developer Tools |
| [Thermals](https://appshunter.io/ios/app/thermals/id1567050762) | 4.5 (26) | Free | Developer Tools |
| [Mods For Minecarft](https://appshunter.io/ios/app/mods-for-minecarft/id1582360192) | — | Free | Developer Tools |

## More apps by Richard Russell

- [Inverter](https://appshunter.io/ios/app/inverter/id6443976497)

All apps by Richard Russell: https://appshunter.io/developer/1651141744

---

*Data collected daily from the US App Store and indexed by [AppsHunter](https://appshunter.io/). User reviews are verbatim App Store reviews. Ratings, prices and chart positions refresh continuously; this snapshot is from 2026-08-24.*
