And yes, box86 is 32bits only, and cannot be built on 64bits system
Is it completely impossible to adapt Box86 to 64 bit? Because the next Pyra CPU likely will be.@Silent-Hunter : if Power9 CPU are 32bits little-endian, and a linux is running on it, then yes. Whithout dynarec of course at first, as @levi pointed out.
To repeat again: even if a box64 existed, it would not help run x86 games, because of the 1:1 translation concept. So, if you want to run ut99 for example, you still need box86, even on a aarch64 os. So you need 32bits subsystem somehow, with GPU driver and all... And yes, that can be problematic sometimes as @daveshah noted.Is it completely impossible to adapt Box86 to 64 bit? Because the next Pyra CPU likely will be.
True, but I expect pointers need slightly special handling anyway. I assume box86 probably doesn't support self-modifying code, but you still need to distinguish between a function call to a pointer and a data access of a pointer. I haven't actually looked at box86's memory handling yet but I'd expect the program code not to be in the simulated RAM, so in emulated mode at least a function call is a change of the instruction in the program data array while a memory access goes through to the simulated RAM. Actually it might be simpler if the program data were loaded into the simulated RAM and accessed from there when fetching instructions.The biggest difference when running on a native 64-bit platform (but not on a 64-bit CPU in a 32-bit compatibility mode) would be the 64-bit pointer size, where as the existing x86 code would be expecting 32-bit pointers.
Well, it is now... Partly at least. Not everything works, but a few things are running now.Oh wow! I thought WINE wasn't supported?
OK... you've got my attention!Well, it is now... Partly at least. Not everything works, but a few things are running now.