Beware, there's a bug on ARM11-based Raspberry Pis (BCM2835 on Pi 1/Zero/Zero W and CM1) that crashes the VM when executing drawing functions. I'm currently investigating the problem.
FYI, your commits are signed with "Your Name <you@example.com>". You'll want to fix your git config. For these existing commits, you can use git-filter-repo [0] to rewrite the author name and email.
It seems to be a problem with the USB controller driver in circle. Startup hangs with the message "XHCI: HW reset failed".
I was under the impression that the hardware of the 8GB Raspberry Pi 4 was identical to the versions with less memory except for (obviously) the memory chip and some fixes for USB-C power delivery. Maybe it's a subtle timing problem - another item on my to-do list...
I'll have to give this a try on my Raspberry Pi 4 4GB. I've setup Ubuntu, Arch, Kali, Raspbian, and Raspberry Pi OS on my Pis, but this'll certainly be the most exotic, given that it's not Linux. Do you know of any bare metal Forth- or Lisp-based systems for RPi?
There's the Interim OS project [1] (already discussed in another comment here) as a bare-metal Lisp and it might be interesting to port Movitz [2], a bare-metal Lisp project for x86 that seems to be abandoned for quite some time now.
There also seems to be a bare metal Forth implementation, pijFORTHos [3], but I haven't played around with that one so far.
Not in the current version, here the drivers are implemented in C/C++ in the circle bare-metal library [1].
In general, I think Smalltalk is not that well suited as a systems programming language since garbage collection might mess with your timing and you would also need to find a way to handle asynchronous events (such as interrupts).
Nevertheless, Smalltalk has been used for low-level control of robots, e.g. in NXTalk [2] for the Mindstorms NXT ARM7 platform. However, the VM also relied on C code (the LegOS project) for driver code.
There is an almost all-Smalltalk bare metal system for X86, CogNOS. It runs on top of NopSys, about 3500 lines of C and 600 lines of assembler for booting, accessing device registers, and responding to interrupts. But the file system etc. are in Smalltalk.
Do you know anything about the status of this project? I started following it on Github a couple of years ago when it appeared but it does not seem like anyone is working on it
It’s interesting that the 8GB Pi4 won’t work, but the 4GB version will. Any clues as to why? I would assume that they are the same, just with more memory.
Beware, there's a bug on ARM11-based Raspberry Pis (BCM2835 on Pi 1/Zero/Zero W and CM1) that crashes the VM when executing drawing functions. I'm currently investigating the problem.