All Hail The Cloud

Hello everyone.  It’s been a while.

To recap some of my previous posts about the HMAPL Project, I was trying to decompile the game’s code at one point from it’s main executable file.

Due to some complications in the code, I was never ultimately able to find any machine that exists with enough pure RAM to satisfy the optimization procedure, resulting in large, confusing, inefficient code.  However, the retdec program I was using can also use “virtual memory” which includes a “page file” stored on the hard drive.  The downside to using a page file is that it’s much slower than RAM, and also can cause all other running programs to slow down or crash.

So to solve my issues, I was able to create a Windows Server 2016 virtual machine on Google Cloud that included:

  • 1 vCPU
  • 52 GB Memory
  • 2 TB Standard persistent disk
  • Windows Server 2016 Datacenter

Once configured, I installed the necessary retdec software, manually set the page file to a size of 1.8TB and let the program do it’s thing. I made sure not to even log in while the app was running, as even that could mess with memory usage and cause a system crash.  I instead based my readings off of the CPU/disk activity from the Google Dashboard.

It took roughly 12 days for the program to run it’s full course with optimizations, but it actually did complete successfully.

I decided to go with a python interpreter, as that should make the code overall simpler to interpret.  The code can be found on my [GitHub].

It’s worth noting that the decompiled code is not the same code that the developers would have used to create the game.  This is just a file generated using AI to interpret the executable powerpc data of the game.

I’ll be going over the new code dump over the next few weeks to see what I can find, and will post back with my results.

Advertisement