How to convert 32-bit images to 64-bit images?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

How to convert 32-bit images to 64-bit images?

marcel.taeumel
 
Hi all!

How would one convert a 32-bit image into a 64-bit one? Is there a tool or tutorial?

Best,
Marcel
Reply | Threaded
Open this post in threaded view
|

Re: How to convert 32-bit images to 64-bit images?

timrowledge
 


> On 2021-04-12, at 2:39 AM, Marcel Taeumel <[hidden email]> wrote:
>
> Hi all!
>
> How would one convert a 32-bit image into a 64-bit one? Is there a tool or tutorial?

There's a very good tool; part of the VMMaker package.
Load VMMaker and use
`Spur64to32BitImageConverter new bootstrapImage: 'My64bit.image'`
or indeed the Spur32to64BitImageConverter.

tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
Strange OpCodes: XER: Exclusive ERror


Reply | Threaded
Open this post in threaded view
|

Re: How to convert 32-bit images to 64-bit images?

stes
In reply to this post by marcel.taeumel
 
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256


Hi,

One document that I've found interesting is :

http://wiki.squeak.org/squeak/769

"FAQ: How can I bootstrap a Squeak image?"

It discusses technologies that I'm personally NOT familiar with such as
KernelImage and SystemTracer.

This is not really an answer to your question but the subject is similar,
namely how to build or convert an image.

As to Tim Rowledge answer to check out Spur32to64BitImageConverter,
this is probably a much better answer.

Regards,
David Stes

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAEBCAAGBQJgdIC0AAoJENdFDkXGicizcuEIAKPKWKmOpfew7n25Kvz7My+Z
ZbRXRiM8RxePA+mZg8r+CHqlgFL6D+PvCGyNkqmdJsvZyaiaiuu5uI8OOUTVsD0F
xjsRBY8XcDpiQel5M/5qyn5pV1D69ev9phCN+mwl+UPTluU7FNXJJ2zeZ1qeTDpe
gpwzSxErPN1PfhwJJPax55eJehIX6MVd6mPqT2Grqc7aldZ249N5rElRhgeWEfSi
dyoa/EvI3r3Cwrfwz7YQPHwlIYTAw4pKtk91/nG0d8L2S6ptbyr60lwuNb8Ama9o
XddZiQSnOid9beeiTWG+PGvTIZYGymVAlm98A7ARVjoksXJoP7JlGoy/XeNqrno=
=nK9F
-----END PGP SIGNATURE-----
Reply | Threaded
Open this post in threaded view
|

Re: How to convert 32-bit images to 64-bit images?

stes
 
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256


According to http://wiki.squeak.org/squeak/2315
using the package from http://www.squeaksource.com/SystemTracing
an old (but potentially interesting) method would be :

  SystemTracer64 writeImage: 'clone-64bit.image'

et voila ... image cloned to a 64bit image.

In practice it may be a little bit more complex.

For example I open Squeak4.6-15102.image,
then fileIn the SystemTracing package (Monticello) that works.

Loading SystemTracingV3-dtl.29.mcz works

It has an interesting looking script : traceTo64Script

"This is a script that can be filed into a 32bit image to trace that image
to 64bit format ..."

But the above method creates for me the error

Tracing and writing 421965 objects ... MessageNotUnderstood:isCompiledCode

If you manage to do this, I'd be interested in your experiences.

David Stes

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAEBCAAGBQJggZqcAAoJENdFDkXGicizciwH+wW9tq5OO+c8GWM83VDXA6Hr
jqAUFZzjuEZQ0nciosSXSou09xfJZCQJHsoHVG95XjWrAK+n3oIR/Z/sPcYs+h8K
4mFdPAGoDp9Jr8eVslRhA5LODLNz7dl+B3v3xbw0tVspJcsiUYIe/gMoxAmVIgfW
2tzJtDozs3Ux+ai0Tg96Nn1K3xk03887WgfDlRqbP3GeQ4hGhlg4CMs5wC80w7Mw
tmhXOmrHQpc8F+V9THmVXoyiC6hIT0Ng41yLH++Sxo8AX2HBiP+yn2rALKHoYMFQ
8FfA2hGDhI7bbSOxMa8jZrnhdXUieCeg8+vLLFL8KRqr7jyVTUUcW8sn3VzIi/Y=
=c3Fh
-----END PGP SIGNATURE-----
Reply | Threaded
Open this post in threaded view
|

Re: How to convert 32-bit images to 64-bit images?

stes
 
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256


When I use an older version of the SystemTracing package, it is fast,
and it converts from 32bit to 64bit, so it works !

In my case for Squeak4.6-15102.image I used SystemTracing-dtl.21.mcz
instead of the latest SystemTracing-dtl.29.mcz.  The 21 version seems to be OK.

It's very fast and says after a few seconds: "Done tracing!"

I'm impressed:

$ ckformat test-64bit.image
68002

it effectively seems to clone the

$ ckformat test.image
6505

to a 64bit format image.

Unfortunately when I open the 68002 image, it works, the image opens,
but it seems it's still displaying the "Tracing and writing" message.

I think I probably have to follow the SystemTracing instructions to
do this without first filing in the package ...

David Stes

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAEBCAAGBQJggZ2iAAoJENdFDkXGicizm3wIAKnGRr5wjwxDBKohd9usq289
bkAIEWuj0njn8WDluOFtpPu17UZM5EMs4Gi47eKnFxvrBsLiQK7PTSvucn3rIync
yCMSMQEchbPo4ClzmpSYv14WG8ypyR3YrPQnoTrYpGx7F/nfOC3LHkUq6ln90dPV
viZX/+etXRtlDsq0nIABo/LCVVrO0JvT89egfxr3Hg2M1QYkIFlcoVswFZ2FNNO8
AomZu5jMFziGPP0UGpFJpg5HbU77ILkxJn0S8efDLGB8iEH+IQGzzo3DJ+C4tFBh
BrVCZLUvpDnYL7m4qUtkk1zaQJrJhZE8m7v91tLn/cHHYc2TsmfSvYSBuw9Kjno=
=xd5k
-----END PGP SIGNATURE-----
Reply | Threaded
Open this post in threaded view
|

Re: How to convert 32-bit images to 64-bit images?

marcel.taeumel
 
Hi David,

thanks for the info. I suppose that converting non-Spur 32-bit to Spur 64-bit would be a little bit more tricky. At least there are no 64-bit VMs for the pre-Spur (e.g. V3) object format on Windows. Also, I think, converting pre-Spur to Spur requires in-image changes such as to Character, which is then immediate.

Best,
Marcel

Am 22.04.2021 18:02:23 schrieb [hidden email] <[hidden email]>:


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256


When I use an older version of the SystemTracing package, it is fast,
and it converts from 32bit to 64bit, so it works !

In my case for Squeak4.6-15102.image I used SystemTracing-dtl.21.mcz
instead of the latest SystemTracing-dtl.29.mcz. The 21 version seems to be OK.

It's very fast and says after a few seconds: "Done tracing!"

I'm impressed:

$ ckformat test-64bit.image
68002

it effectively seems to clone the

$ ckformat test.image
6505

to a 64bit format image.

Unfortunately when I open the 68002 image, it works, the image opens,
but it seems it's still displaying the "Tracing and writing" message.

I think I probably have to follow the SystemTracing instructions to
do this without first filing in the package ...

David Stes

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAEBCAAGBQJggZ2iAAoJENdFDkXGicizm3wIAKnGRr5wjwxDBKohd9usq289
bkAIEWuj0njn8WDluOFtpPu17UZM5EMs4Gi47eKnFxvrBsLiQK7PTSvucn3rIync
yCMSMQEchbPo4ClzmpSYv14WG8ypyR3YrPQnoTrYpGx7F/nfOC3LHkUq6ln90dPV
viZX/+etXRtlDsq0nIABo/LCVVrO0JvT89egfxr3Hg2M1QYkIFlcoVswFZ2FNNO8
AomZu5jMFziGPP0UGpFJpg5HbU77ILkxJn0S8efDLGB8iEH+IQGzzo3DJ+C4tFBh
BrVCZLUvpDnYL7m4qUtkk1zaQJrJhZE8m7v91tLn/cHHYc2TsmfSvYSBuw9Kjno=
=xd5k
-----END PGP SIGNATURE-----
Reply | Threaded
Open this post in threaded view
|

Re: How to convert 32-bit images to 64-bit images?

stes
In reply to this post by stes
 
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256


Hi Marcel,

The reference in http://wiki.squeak.org/squeak/2315 (last paragraph),
I read the info in the "The Interactive Programming Environment" red book,
by Adele Goldberg: it says in 23.4 page 487

"To initiate the VMem-write, evaluate the expression
       
        SystemTracer writeClone"

Anyway I have not yet been succesful in running converted 64bit images,
but if you have done it, I'd be interested in this.

Also the above SystemTracer writeClone which according to the red book,
worked in old Smalltalk systems, does not work for me nowadays.

I get the error:  SmalltalkImage allBehaviorsDo: message not understood.
in Squeak4.6.

In Squeak6.0 with the Cog VM I get a subscript out of bounds in clamp:

I think writeClone and clamp: are messages from the SystemTracer package.

David Stes

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAEBCAAGBQJgg7F0AAoJENdFDkXGiciz6h8IAKQaWa/BMMyZcHfa/lHpgLS5
ZFUkNeTNLMOq+qJ0BW5gT0pxH0R/HYoeCT+F9L7OVpbGO0txUIJrRhhTpOmUzrjS
kwm9iExGUIhOgwfGGRAeo2lzTArgG+to+5beG7vA5i/rqOR4lrgBGrQF4FVgJ9ws
EeGhJS06tkdILQ752FiUIUcT/YNB9MSFwfgMt7+Ca6FVNuWKiPtlQWHAo3wZ5kJc
JytH19C8Ka0orxK6dVCe/4phKYKcK9fO6bo7jHBLo8/CSbGel0PoIcniJGN2NnmT
P81MlfI9mtvK2xvcZZL249Fm5dV204yY+O19mDl1Rn2635XDcd/6MiJFK1k7ghc=
=a3c7
-----END PGP SIGNATURE-----
Reply | Threaded
Open this post in threaded view
|

Re: How to convert 32-bit images to 64-bit images?

johnmci
 
10 Years back Dan provided a system tracer to convert Squeak images from 32 bit PowerPC to 64 bit intel. I recall spending a few days resolving an issue where the floating point endian wasn’t correct for some FP situations. So check the archives for a post from him with regard to 64 bit.  I also built a number of vm variations, perhaps an image from there is useful? ftp://smalltalkconsulting.com/experimental/64bit/



Sent from ProtonMail for iOS


On Fri, Apr 23, 2021 at 22:50, [hidden email] <[hidden email]> wrote:

Hi Marcel,

The reference in http://wiki.squeak.org/squeak/2315 (last paragraph),
I read the info in the "The Interactive Programming Environment" red book,
by Adele Goldberg: it says in 23.4 page 487

"To initiate the VMem-write, evaluate the expression

SystemTracer writeClone"

Anyway I have not yet been succesful in running converted 64bit images,
but if you have done it, I'd be interested in this.

Also the above SystemTracer writeClone which according to the red book,
worked in old Smalltalk systems, does not work for me nowadays.

I get the error: SmalltalkImage allBehaviorsDo: message not understood.
in Squeak4.6.

In Squeak6.0 with the Cog VM I get a subscript out of bounds in clamp:

I think writeClone and clamp: are messages from the SystemTracer package.

David Stes