devhawala / ST80

a Smalltalk-80 virtual machine based on the "Bluebook" specification
Other
40 stars 4 forks source link

Support for LOOM #1

Open iblowmymind opened 2 years ago

iblowmymind commented 2 years ago

Hello,

I've also been interested in Smalltalk recently, especially older versions (Squeak seems just too bloated!)

Would LOOM be possible to implement here? Was it documented in a PDF in Bitsavers? (There should at least be sources for the Smalltalk-side implementation of LOOM in Analyst sources) If yes, would it be difficult to implement?

devhawala commented 2 years ago

Hello,

the following is from memory:

Maybe it would be easier (relatively, surely not absolutely) to extend the current architecture/implementation of the DV6-capable ST80 to use 32-bit words (instead of 16-bit) for memory and objecttable-fields, but leave anything else unchanged: most things use the lower 16 bits of a 32-bit word (arithmetic etc.), except for object-pointers (aka objecttable-indices) and pointers from the objecttable into memory, allowing for more objects and enough data memory.
Not a mature concept, just a very wild speculation...

So surely not a thing available soon, no matter which path is chosen.

Greetings Hans

iblowmymind commented 2 years ago

Very interesting. I can't seem to pinpoint an implementation with LOOM, nor a distribution of ST-80 made by or licensed from Xerox anywhere, either. Even a search for "Smalltalk LOOM" doesn't result in anything!

The "recommended" distributions for running The Analyst (based on the sales brochure) are ParcPlace VMs for the Mac II and Sun 2/3 (only found a CHM entry for the OS/2 version of the ParcPlace VM), Tektronix 4406 (there seems to be an emulator in progress for a lower-end Tektronix Smalltalk machine, the 4404 here: https://github.com/sethm/tek4404 but it is unusable for now), and the 1108/86 systems. There is software available for the 4404 on Bitsavers.

I don't think Apple Smalltalk (not to be confused with ParcPlace ST for the Mac II) has support for LOOM.