First post, by FredAngstadt
Hi everyone, this is my first time posting as I never felt I had the need to post anything. This is my first attempt at using an LLM to reverse engineer a binary to C code so it can be ported to other platforms and modified. I chose LineWars II because its normally the first game I run on an old MSDOS machine as I love the Princess Escort track. I emailed Patrick Aalto and have permission to distribute as long as it remains freeware and he keeps ownership of anything commerial.
I thought it would be a good challenge to push what an LLM can do. I tied first zero shotting it with Opus 4.8 and Sonnet 5. The Opus model was almost there the Sonnet 5 did manage to realize the game was packed and decompressed it then it drolled all over its self by inventing a new game from the disassembly. It did do the title screen correctly however but the rest was LW2 in name only. Anyway I took what Opus did and descided to poke it along and brought in the Fable 5 model to help. I ended up creating a workflow that can be followed for future games. Zone66 or Jet Fighter 2 is where my mind is going next. If I continue working on LW2 my thoughts are adding TCP/IP network play, missiles for teammates and enemy as a toggle option in settings, and a custom mission launcher for a 10th mission. This is not a 100% reverse engineering effort. I did not target every video and audio mode. I also did not aim for byte perfect functions as no original C exists for hand written assembly.
Below are the links to my two repos. The game is 100% functional with VGA and Soundblaster. I can brush up the DOS side and finish the config menu or other audio/video modes but I didnt think it was worth my time as porting over to SDL was my actual goal. The SDL port does run under both Linux and Windows and prebuilt executables are provided under releases.
https://github.com/fredangstadt-lang/LineWarsII-DOS