I remember when I was in high school (I am from the 80s) and had no money to buy a Sega Saturn. It was the best! And I didn’t like Sony; I’m not sure why. Today, I have my first PlayStation, the first after 30 years. But this is another story.
I started working as a waiter at 16 years old just to buy all the stuff I needed. I worked on Saturday nights, then went to a club, and returned to work on Sundays and school on Mondays.
After I started working, I began to understand the meaning of money and that excessive attachment to things is the source of all evil. So, I gave up the idea of spending my money on consoles, electric guitars, or whatever popped up in my mind.
Fast-forward to when I was 18 years old. My father bought me a computer. It was a Celeron 300A, easily overclocked to 450Mhz. It was my start as a programmer. One day (I was 28 years old), I found that Wipeout 2097, the second installment of the Wipeout series, was ported onto Windows. Wow!
My computer was too performant
Yes, it was. The problem was that my hover car was undrivable. It was too fast and impossible to turn corners without hitting the sides. So, I needed to limit the frame rate to 30 fps.
For obvious reasons, I didn’t want to patch the .exe and redistribute the file, so I discovered that I could inject a DLL on Windows.
I’ve lost my old code, but if I remember well, I disassembled it, found the main rendering loop, and tried a couple of solutions. Both working:
- Place a call to Sleep(DWORD dwMilliseconds) to ensure the minimum number of milliseconds passed is 1.000/30
- Trick the parent code by changing the return value of GetTickCount()
I was thrilled! It was working well, and the techno soundtrack was great. The game wasn’t that funny, but disassembling was by far the most amusing thing I had ever done.
Why not look forward and help the community?
I then started working on adding the network mode on Guilty Gear X. Why not create a tool to start games and patch them on the fly? There were plenty of poor ports on Windows. People could have a simple tool to start the game executable and have it patched on the fly.
I created a small C program called Gear using the Win32 List View control, a Wipeout 2097 launcher, and the promise for the Guilty Gear X one. You can see the game, click on the executable icon, and enjoy your game. It had as an icon the frame that appears on screen before Justice uses the Overdrive Attack.
I went to WipEoutZone forum and wrote about it. I got this response:
No matter how old these games are, they are still owned and copyrighted by Sony, who are still actively selling them for different consoles than they were originally produced for. IIRC, the copyrights specifically forbid any modification of the games without permission from the copyright holder.
I also received a cease and desist letter promise by email, so I was done playing around with copyrighted materials.
But it was fun.