Author here, feel free to ask any questions you have :).<p>It's amazing this little project shows up again here. So far, I received a lot of very positive and friendly feedback about this little pet project of mine.<p>The whole project would not have been possible without the work of Rene Stange, who created the circle bare-metal library for the Raspberry Pi (<a href="https://github.com/rsta2">https://github.com/rsta2</a>) and Dan Banay, who created a C++ implementation of the Smalltalk-80 VM (<a href="https://github.com/dbanay/Smalltalk">https://github.com/dbanay/Smalltalk</a>). I mostly hacked together some glue code...<p>If you want to dig deeper, the Blue Book by Adele Goldberg and David Robson (scan provided by Stephane Ducasse, thanks a lot!) is _the_ reference on both the language and the structure and implementation of the underlying bytecode VM: <a href="http://stephane.ducasse.free.fr/FreeBooks/BlueBook/Bluebook.pdf" rel="nofollow">http://stephane.ducasse.free.fr/FreeBooks/BlueBook/Bluebook....</a><p>Beware, though it's fully functional, crosstalk is still limited by constraints of the original Smalltalk 80 system - e.g. in terms of color (black and white only), possible screen resolution (2^20 pixels, the system crashes if you try to increase the resolution beyond this) and available memory (~1 MB!).<p>Nevertheless, I think it's a rather authentic reproduction of a more than 40 year old system and I learned (in a comment thread on a completely different topic) that one of our fellow hackernews regulars used it to teach his kid Smalltalk programming - love it! I haven't tried to optimize it significantly, so there's no JIT compiler or bitblit acceleration using the Raspberry Pi GPU.<p>There's a more modern bare-metal Smalltalk implementation based on Squeak (<a href="https://squeak.org" rel="nofollow">https://squeak.org</a>) for the Raspberry Pi by Pablo Marx, though this seems to have some stability problems according to the author: <a href="https://github.com/pablomarx/RaspberrySqueak">https://github.com/pablomarx/RaspberrySqueak</a><p>Finally, if you are interested in alternative bare-metal language/OS environments for the Raspberry Pi, you could also give Lukas Hartmann's (of MNT Reform notebook fame) Interim OS a try: <a href="http://interim-os.com" rel="nofollow">http://interim-os.com</a>
Related:<p><i>Bare metal Smalltalk-80 port to the Raspberry Pi</i> - <a href="https://news.ycombinator.com/item?id=23874206" rel="nofollow">https://news.ycombinator.com/item?id=23874206</a> - July 2020 (63 comments)<p><i>Ask HN: Automated SW testing on different Raspberry Pi models?</i> - <a href="https://news.ycombinator.com/item?id=23806323" rel="nofollow">https://news.ycombinator.com/item?id=23806323</a> - July 2020 (1 comment)
I love ST the language, I like ST the image but I hate the tight coupling to the antiquated UI. I know there’s GNU ST but I wish there were more options. I also wonder how difficult it would be to create a modern IDE integration with GNU ST with something like IntelliJ, Eclipse, Net Beans or VS Code.
Also, this Java implementation is nice <a href="https://github.com/victorr/jsqueak">https://github.com/victorr/jsqueak</a><p>Look at Squeak Smalltalk for further enhancements
The README states:<p>>"Smalltalk-80 for Raspberry Pi version 0.2 This is a bare metal Smalltalk-80 port to the Raspberry Pi."<p>I was curious what "bare metal" means in this context. Does this just mean that the Small Talk VM itself was ported to ARM?