When timesharing was a new thing, people tended to create software for virtual machines of all sizes.Are there any simple Virtual designs for 32 bits that could easly implimented with a 2901 cpu? After the IBM PC, I suspect all this stuff was mostly forgotten, lost from the public eyes.
In 2015 Long Tien Nguyen and Alan Kay proposed a simple 32 bit virtual machine called “Chifir” in their paper “The Cuneiform Tablets of 2015”. The idea is to store executable versions of historical software systems to that future archeologists can just implement the simple VM in whatever computer they have and then experience the saved software.
The instruction set is not very compact - each instruction takes four 32 bit words even though several instructions need less than three arguments and there are fewer than 16 instructions (so a 32 bit opcode is absurdly wasteful).
I like the idea of something simple and regular, even if it loses some efficiency.
Do you have a reference for SKIMP? I can’t find anything. I found these candidates which may or may not be the kind of thing you’re thinking of:
- BANCStar, originally bytecode for an interface-building tool but used also as a language
- The Dis virtual machine that executes Limbo code is a CISC-like VM
- EM, the Amsterdam Compiler Kit virtual machine
- Ericsson implementation of Erlang uses BEAM bytecodes
- Infocom used the Z-machine
- p-code of UCSD Pascal implementation of the Pascal language
- Pick BASIC also referred to as Data BASIC or MultiValue BASIC
I’m not sure if various Lisp and Scheme bytecodes are targeting something recognisable as a virtual machine in the sense you’re looking for.
Actually this page has appropriate information including about SNOBOL and TinyBasic:
Ah thanks, a skinny IMP, circa 1979, with a 32-bit virtual target.
Three commercial computers that were specifically designed to run virtual machines:
Nice to see someone else remembers the QM-1! I was friends with one of their systems programmers. It was a fascinating system!
You might be able to help with the question “What was the history of Nanodata Corporation?” on the Retrocomputing Stack Exchange.
I used IMP-77 on a 32-bit Interdata 7/32 “mini” in 78/79. the OS, Mouses, was a cut-down version of EMAS (also written in Imp) and in-use at Edinburgh University (and I think Manchester).
Nice to know that there is a cut-down version of it floating about - it might even be a candidate for a self-hosting retro style system, but there’s the need to compile the compiler …