HP Forums
HP-Emulator 64 bit program versions - Printable Version

+- HP Forums (https://archived.hpcalc.org/museumforum)
+-- Forum: HP Museum Forums (https://archived.hpcalc.org/museumforum/forum-1.html)
+--- Forum: Old HP Forum Archives (https://archived.hpcalc.org/museumforum/forum-2.html)
+--- Thread: HP-Emulator 64 bit program versions (/thread-163443.html)



HP-Emulator 64 bit program versions - Christoph Giesselink - 02-24-2010

Hello, there was a thread from Mike about running Emu42 on Win7-64bit some weeks ago. Three years ago I began making my emulators x64 compatible. Last week Richard Garner tried a x64 bit version of Emu42 on his Win7 64bit PC. A new session emulating a HP-42S worked, but when loading a state file created with the Win32 version of Emu42 the x64 version freezed. I detected the reason for this behavior, which is a design problem of the original Emu48 emulator and was handed down to Emu28 and Emu42.

So you shouldn't create x64 versions base on the current published sources of Emu28, Emu42 and Emu48 by yourself.

Meanwhile I fixed the design problem in my beta versions of Emu28 v1.20, Emu42 v1.13 and Emu48 v1.50. This allowed me to make a benchmark test with Emu48. Several years ago I wrote UserRPL program splitting a real number into it's prime factors. Which a large prime number the program runs about 3 minutes depending on the PC hardware.

On my test computer with Win7-64bit Enterprise the x64 version of Emu48 was about 8% slower then the x86 version. Because Emu42 x64 takes no advantage from the larger address area, it makes IMHO no sense to publish the x64 versions.

Regards

Christoph

Edited: 25 Feb 2010, 4:57 p.m. after one or more responses were posted


Re: HP-Emulator 64 bit program versions - Marcus von Cube, Germany - 02-25-2010

Christoph, just out of curiosity: Alignment problems? Data size differences (long, int?)


Re: HP-Emulator 64 bit program versions - Paul Dale - 02-25-2010

No surprise that the extra address space isn't of any use.

The wider registers could be useful -- the saturn is 64 bits internally (at least sort of). Making use of these will likely require extra effort and the benefits are unlikely to be huge.
More so given the weirdness of the saturn's register fields etc.

- Pauli


Re: HP-Emulator 64 bit program versions - Christoph Giesselink - 02-25-2010

Quote:
Christoph, just out of curiosity: Alignment problems? Data size differences (long, int?)

A structure hold the internal state of the CPU, but also contain three memory pointers to the port memory. These pointer grow up from 4 bytes in the x86 to 8 bytes in the x64 version. It's also possible that these pointers moved too, to adjust them to an aligned address.

This "CPU structure" is part of the calculator state file, so the state file format differed from the x86 to the x64 version and caused the described problems.

Christoph


Re: HP-Emulator 64 bit program versions - Egan Ford - 02-25-2010

Thanks for EMU*.