tesneddon / zk

ZK -- The Halls Of ZK
http://hallsofzk.org
15 stars 2 forks source link

Problem saving on Itanium #4

Open tesneddon opened 11 years ago

tesneddon commented 11 years ago

When attempting to save game on an Itanium system, the following error is reported:

>save "sys$login:game"
The world around you shakes violently.  This appears to have been a
really severe tremor; reality itself is threatened.  I can't guarantee
things will be the consistent after this.  Suddenly a sinister, wraith-
like figure appears before you, seemingly to float in air. In a low,
sorrowful voice he says:
Access violation, reason mask=00, virtual address=000000000000002A, PC=000000000
003B850, PS=0000001B

>

VAX does not appear to have this problem and at this point I have not tested Alpha, although I seem to recall this being reported by Joe Ferraro, sometime ago.

tesneddon commented 11 years ago

On further investigation it appears that a save file is created:

GAME.ZKO;1                                  15/16         1-JUL-2013 13:29:46.24

However, this is what happens when I attempt to restore:

>restore "sys$login:game"
(Saving system was a IA64 (ID 80000000) running VMS version V8.3)
(Saving game was version X0.0-7, built on  1-JUL-2013 at 13:27)
(This game was saved on  1-JUL-2013 at 13:29)
The world around you shakes violently.  This appears to have been a
really severe tremor; reality itself is threatened.  I can't guarantee
things will be the consistent after this.  Suddenly a sinister, wraith-
like figure appears before you, seemingly to float in air. In a low,
sorrowful voice he says:
GET attempted after end-of-file
  File "SAVE_FILE"  Filename "SYSPROG:[TSNEDDON]GAME.ZKO;1"
tesneddon commented 11 years ago

I tell a lie, after some brief testing it appears that this problem does occur on the VAX. The source code is more recent than the last binary build, V1.0-823, and it appears it has some bugs :-)

tesneddon commented 4 years ago

This may actually be related to the alignment of the record structures. On VAX these are byte aligned and naturally aligned on other architectures. While I haven't tested this yet, I did observe that a save file from VAX could not be opened by an Alpha. I also noted that the record length of a VAX save file was 81 bytes and opposed to an Alpha save file which had a record length of 84 bytes.