Very cool. I wonder if this kind of work is something that LLMs will be good at someday. (Has anyone trained an LLM on machine code yet?) Is it reasonable to hope that 20 years from now you'll be able to say "Hey CodeGPT, this binary doesn't run on Windows 17, can you make a patch?" The deep understanding and creative thinking that Nathan Baggs demonstrates here seems far beyond the capabilities of any tool I'm aware…
You need to be able to explain the goal sufficiently well, and then you need something goal-seeky to do the work, i.e. a closed-loop system. LLMs are impersonators. They take a prompt and then make up something that relates to the prompt based on their corpus - they are open-loop systems in that sense.
Hacking a 25 Year Old Game to Make It Work [video]
21–27 of 27 posts
Re: Hacking a 25 Year Old Game to Make It Work [video]
#22I didn't follow too closely when watching the video, so pardon me if it's already answered in the video: did he end up hijacking a different button for opening multi-player dialog? I assume there is no way to recover the removed multi-play button since the sprite (?) was already removed? Also I'm surprised not only they removed the multiplayer button, they even centered the remaining one.
Re: Hacking a 25 Year Old Game to Make It Work [video]
#23I didn't follow too closely when watching the video, so pardon me if it's already answered in the video: did he end up hijacking a different button for opening multi-player dialog? I assume there is no way to recover the removed multi-play button since the sprite (?) was already removed? Also I'm surprised not only they removed the multiplayer button, they even centered the remaining one.
The sprites weren't modified. The vendor of the online version (GOG) had patched-out the button that he patched back in.
In his GOG copy, even after fix, there is only B1 and it's centered now to occupy the full space.
At the end of the video, after the fix, he was still clicking B1 button to enter "network play" since no B2 button is there.
So I'm still confused.
He didn't restore the missing button. But of course he did something. Did he re-bind the networkplay dialog entrance from missing B2 to B1? What happens if you just click B1 before the fix? Was B1's original functionality overridden by his fix?
Alternatively, if it's indeed supposed to be at B1 (I can't tell from icon what its functionality is), then why even mentioning the mission B2 to begin with?
Re: Hacking a 25 Year Old Game to Make It Work [video]
#24Looks like the main blocking problem was that the game was stuck in a loop looking for a multimedia system DLL that was missing, because it assumed there would always be a CDROM available. OP lucked out that the code that called winmm.dll had a GitHub link and he could just patch it. Too bad Microsoft has kind of softened and lost its reputation for Windows's impeccable backward compatibility. This seems like it coul…
Not quite, from my understanding.
The DLL was already patched in GOG version (using the one from GitHub) to redirect any resources from CD-ROM to a local one; however the patch isn't working in Win10 due to some relative path issues (which I'm not sure why; the issue is having system32/ prefix at various places, which Win10 does have?). He patched the DLL again by removing these system32/ paths, and it works again.
Re: Hacking a 25 Year Old Game to Make It Work [video]
#25Looks like the main blocking problem was that the game was stuck in a loop looking for a multimedia system DLL that was missing, because it assumed there would always be a CDROM available. OP lucked out that the code that called winmm.dll had a GitHub link and he could just patch it. Too bad Microsoft has kind of softened and lost its reputation for Windows's impeccable backward compatibility. This seems like it coul…
https://learn.microsoft.com/en-us/windows/deployment/plannin...
This hack could be accomplished with one of those. In fact here is something that might work https://ryanwill.com/create-and-use-shims-with-microsoft-app...
>CorrectFilePaths – These are similar to symbolic links, but are defined per .EXE instead of system wide
Re: Hacking a 25 Year Old Game to Make It Work [video]
#26Reminds me of the unsung hero who was selflessly patching and fixing AOE2 for many many years before the AOE2 HD stuff on steam. These people are awesome.
Re: Hacking a 25 Year Old Game to Make It Work [video]
#27Looks like the main blocking problem was that the game was stuck in a loop looking for a multimedia system DLL that was missing, because it assumed there would always be a CDROM available. OP lucked out that the code that called winmm.dll had a GitHub link and he could just patch it. Too bad Microsoft has kind of softened and lost its reputation for Windows's impeccable backward compatibility. This seems like it coul…
Microsoft used to keep a really good Shim library to hot patch troublesome applications. Application Compatibility Toolkit (ACT)/Microsoft Windows Application Compatibility Infrastructure. https://learn.microsoft.com/en-us/windows/deployment/plannin... This hack could be accomplished with one of those. In fact here is something that might work https://ryanwill.com/create-and-use-shims-with-microsoft-app... >CorrectFi…
The problem I have with some of these GoG releases is they just patch out buttons for things like networking, when features like local IPX multiplayer can still work with shims.