hpi-swa / RSqueak

A Squeak/Smalltalk VM written in RPython.
BSD 3-Clause "New" or "Revised" License
83 stars 15 forks source link
interpreter jit raspberry-pi rpython smalltalk squeak virtual-machine vm

RSqueak/VM Linux Build Status Windows Build Status Coverage Status Benchmarks Documentation Status

A Squeak VM written in RPython.

Download

All-in-One bundle for Linux, Windows and macOS:

Download zip Download tar.gz

Pre-built 32-bit binaries:

Download Linux Download macOS Download Windows

Pre-built 64-bit binaries (note that the goal for RSqueak/VM to support all image formats that are <= the native word size - so the 64-bit VMs should open both 32-bit and 64-bit images; it should simply be faster. Due to limitations of the underlying RPython toolchain, Windows binaries cannot currently be built in 64-bit mode):

Download Linux x86_64 Download macOS x86_64

We also have experimental builds for Raspberry Pi:

Download Raspberry Pi 1 Download Raspberry Pi 2 Download Raspberry Pi 3

Finding a working image

Although RSqueak can load images starting with Squeak 2, many primitives are not implemented and instead rely on in-image fallback code to be available and correct. For example, we do not have a BitBlt implementation, so unprepared images will simply stay black. This is why only a Trunk image of Squeak with the latest version of VMMaker from the VMMaker.oscog branch fully works. Try this in a recent Trunk image to prepare it for use with RSqueak/VM:

(Installer squeak project: 'VMMaker') install: 'VMMaker.oscog'.
MCMcmUpdater updateFromServer.

Note that RSqueak/VM will always save images in 32-bit Cog-Spur format, regardless of what it was when you opened it. So make sure to save as new version if you want to keep the original around.

Building from Source

Development