Jacel,
I put a 64-bit V3 image (image format 68002) here:
https://drive.google.com/file/d/1q-3CtzrRM6ECdeopshZX2OEo1EOpZXiT/view?usp=s...
Images in this format were never really published, although there were a couple of them available on squeakvm.org at one time.
Dave
On 2023-10-01 17:18, Jecel Assumpcao Jr wrote:
David,
Can you please confirm what version of the interpreter VM you are building? For me, using up to date sources from squeakvm.org, my VM is labeled as version '4.20.5.3825':
Mine is 4.20.3-3825 which is what I got from the following commands on Thursday late at night:
svn co http://squeakvm.org/svn/squeak/trunk/platforms svn co http://squeakvm.org/svn/squeak/trunk/src
Regarding image versions (V3, Spur, etc) you may want to load package 'ImageFormat' from the VMMaker repository (https://source.squeak.org/VMMaker). Class ImageFormat is the executable documentation for image formats. It also provides the C source for the compiled ckformat program that you will find in your VM folder when you compile an interpreter VM.
The ckformat program does help verify what the images I downloaded are, but it does mean I have to download them first. Sadly, all v3 images I have found so far are 32 bits. I have traced the problem to the VM getting basic integer math wrong when numbers get large. My first guess was that there was some problem with the timer since the system was running. I am always amazed at how Smalltalk can keep running (for years, sometimes!) while having some very serious bugs. Other systems fall down like a house of cards if everything isn't just perfect.
I imagine that the squeakvm64 won't have this bug, But I need an image with version up to 68003 to test that.
This is a RV64G machine, so I probably have to make some change to fix squeakvm for 32 bit images. I don't think I want a RV32G binary. Each processor that can do 32 or 64 bits has a different way of doing it. The RISC-V way has advantages in some cases, but complicates things in others.
-- Jecel