Tempest Posted April 3, 2022 Share Posted April 3, 2022 I've had some time to look over this prototype for Solaris and as far as I can see only a few bytes have been changed and some code rearranged. This makes the code look very different when doing a comparison. The actual gameplay looks exactly the same. Maybe someone can look and see what those bytes do? solaris_proto.bin Quote Link to comment Share on other sites More sharing options...
Thomas Jentzsch Posted April 4, 2022 Share Posted April 4, 2022 (edited) The ROM is named "Solaris (The Last Starfighter, Star Raiders II, Universe) (1986) (Atari, Douglas Neubauer, Mimi Nyden) (CX26136) (Prototype).bin" in ROM Hunters V17 collection. The differences are minimal, but since code got inserted here and there, all bytes differ when doing 1:1 comparison. Without these shifts the ROM is 99% identical with the final release. The minor differences I found seems to affect the input (console RESET, joystick directions and button). Could be debouncing or blocking input in certain situations. Edited April 4, 2022 by Thomas Jentzsch Quote Link to comment Share on other sites More sharing options...
Tempest Posted April 4, 2022 Author Share Posted April 4, 2022 Thank you for looking into this. BTW how do you account for code shifts when comparing code? I have several 5200 prototypes (not your area, I know) that are hard to compare due to the code being shifted by a few bytes in a way similar to this prototype. Is there a way to shift the code around when using a comparison tool to see if they line up when adding or removing some code? Quote Link to comment Share on other sites More sharing options...
Thomas Jentzsch Posted April 4, 2022 Share Posted April 4, 2022 CloneSpy does this automatically when comparing ROMs, that was crucial point during its development. For details, I am running the ROMs in Stella (the longer and more exhaustive, the better, especially for multi bank games) and then save the disassemblies. Stella will identify code and data during runtime. Then I am comparing the disassemblies by hand. I am using WinMerge, but there are numerous alternatives. The attached screenshot shows how the bytes start to differ when code is inserted. The label at the very top is still in sync, after the inserted byte, all following addresses are increased by 3. Quote Link to comment Share on other sites More sharing options...
Tempest Posted April 4, 2022 Author Share Posted April 4, 2022 Ok wow that helps. I'll have to see about doing something like this. I hope I can get them to run in Linux using WINE Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.