

Bare Metal Raspberry Pi BASIC - _acme
http://highcaffeinecontent.com/rpi/

======
LeoPanthera
This sort of already exists in the form of RISC OS Pico:
[https://www.riscosopen.org/content/sales/risc-os-
pico](https://www.riscosopen.org/content/sales/risc-os-pico)

(You don't have to buy it, just download the zip.)

A bare-bones version of RISC OS with the GUI desktop stripped out, leaving
only the command line ("supervisor") prompt, and ARM BASIC V, which is
arguably still the most featureful version of BASIC:
[https://en.wikipedia.org/wiki/BBC_BASIC#Acorn_Archimedes_.28...](https://en.wikipedia.org/wiki/BBC_BASIC#Acorn_Archimedes_.28RISC_OS.29)

A unique feature of ARM BASIC is the presence of an inline assembler allowing
users to write ARM assembly language programs. The assembler is fully
integrated into the BASIC interpreter and shares variables with it, which can
be included between the [ and ] characters, saved via ★SAVE and ★LOAD, and
called via the CALL or USR commands. This allows developers to write not just
assembly language code, but also BASIC code to emit assembly language, making
it possible to use code-generation techniques and even write simple compilers
in BASIC.

~~~
to3m
Yes, you definitely want a proper BASIC, and BBC BASIC V would just about do
it. It's actually a decent BASIC, not some unstructured POS, and it's got an
integrated assembler. So even if you're an assembly language programmer, you
can treat it like an assembler with a fancy macro language.

It does smell of the 1980s, sporting line numbers and RESTORE/DATA and
implicit variable declaration. But it's a reassuring, nostalgic smell, even if
not a healthy one, a bit like four star petrol, perhaps, or stale tobacco
smoke. A far cry from its Microsoft BASIC equivalent, with its two-char
variable names and single-dimension arrays: nothing there but the stench of
ordure and corpses.

------
emillon
Fantastic! I've been meaning to do this myself, but glad to see that it
exists.

I believe that this kind of single-purpose OS can be even easily created using
an unikernel such as mirage, but that removes part of the fun of course.

------
userbinator
Too bad the SoC in the RPi is far more undocumented than the C64, and even
experimentation is unlikely to yield much. PEEK/POKE were probably the most
fun commands for doing interesting things from BASIC.

------
tdicola
Awesome! How do you boot up the processor, do you still have to use the GPU
firmware blob to get the processor to do anything?

edit: Looking at the source, yeah you have to use Broadcom's firmware.

------
donatj
Oh man, this reminds me of my Mattel Aquarius days! Numbering every line,
leaving gaps in between line numbers incase I wanted to add something in
between. So much work. Now I just need a terrible rubber keyboard and I'll be
set!

------
yincrash
When can I play Gorillas[1] on it?

[1][http://en.wikipedia.org/wiki/Gorillas_(video_game)](http://en.wikipedia.org/wiki/Gorillas_\(video_game\))

~~~
LeoPanthera
Now.
[http://store.raspberrypi.com/projects/fastdosbox](http://store.raspberrypi.com/projects/fastdosbox)

~~~
yincrash
I don't think this app will run on RPi BASIC

------
mschuster91
I'd love a full c64 emulator on a Pi :D

~~~
krallja
[http://www.commodorepi.co.nr/](http://www.commodorepi.co.nr/)

