BBC BASIC for SDL 2.0 (BBCSDL) — это кроссплатформенная реализация языка программирования BBC BASIC для Windows, Linux (x86), MacOS, Raspbian (Raspberry Pi OS), Android, iOS и Emscripten/WebAssembly. Он очень совместим с BBC BASIC для Windows и имеет те же языковые расширения, но использует SDL 2.0 в качестве уровня абстракции ОС для достижения кросс-платформенной совместимости.
Редакции BBC BASIC Console Mode (BBCTTY) представляют собой облегченные реализации для Windows, Linux (x86), MacOS и Raspbian (Raspberry Pi OS), которые не поддерживают графику или звук, но в остальном совместимы с настольными, мобильными и веб-версиями. Они принимают входные данные со стандартного ввода и отправляют выходные данные на стандартный вывод, поэтому их можно использовать для сценариев, CGI и приложений удаленного терминала.
Файлы, выделенные зеленым, представляют собой общий интерпретатор BBC BASIC, который используется во всех выпусках. Файлы в красном поле используются для сборки выпусков консольного режима. Файлы в синем поле используются для сборки выпусков SDL 2.0. Файлы, выделенные коричневым цветом, выполняются в потоке графического интерфейса (основном), все остальные — в потоке интерпретатора.
Файлы с верхними индексами 1 и 2 зависят от процессора, а различные варианты перечислены ниже (существуют не все!). Обратите внимание, что bbasmb_wasm32.c не является ассемблером, а используется как удобное место для размещения оболочек функций, необходимых для поддержки SYS в версии для браузера.
На диаграмме не указано, что версия для браузера использует версии bbc.h и bbcsdl.h, отличные от остальных.
Обратите внимание, что название «BBC BASIC» используется с разрешения Британской радиовещательной корпорации и не подлежит передаче на производную или раздвоенную работу.