Forums

Sega Master System / Mark III / Game Gear
SG-1000 / SC-3000 / SF-7000 / OMV
Home - Forums - Games - Scans - Maps - Cheats - Credits
Music - Videos - Development - Hacks - Translations - Homebrew

View topic - Finding differences between game revisions (was: SMS Roms)

Reply to topic
Author Message
  • Joined: 01 Oct 2019
  • Posts: 3
Reply with quote
Finding differences between game revisions (was: SMS Roms)
Post Posted: Tue Oct 01, 2019 12:35 pm
Hi Guys,

Im new here and i have an important question i have a complete library of SMS Roms and many of these games have multiple revisions like Rev 1 or Rev 2 and there are also games that have separate versions for different regions like Japan, North America and Europe.

I found this website The Cutting Room Floor by accident because i was looking for revision changes betweens roms and it is very helpful but how do people find out about all these changes between roms?

My question is simply how can i find or see what they exactly changed between the revisions of a particular game or what is different between regional versions of a game?
  View user's profile Send private message
  • Joined: 08 Sep 2018
  • Posts: 215
Reply with quote
Post Posted: Tue Oct 01, 2019 2:01 pm
a lot of times the checksum tells you if a rom is a different version. There is also a portion of the rom header that can store information such as version, build date, region, and so on for determining the revision and region of a game. For finding out what exactly is changed is hard to say, often theyre just bug fixes to avoid unexpected crashes or lockups. Other times it may be to removes obscene text or graphics from a game, the latter being the easiest to detect. There is software out there that can compare the contents of two binary files and spit out the difference between the two, this often can help determine where and what was changed in a rom. A lot of extracting and de-compiling goes down to figure this out.
  View user's profile Send private message
  • Joined: 22 Sep 2019
  • Posts: 27
Reply with quote
Post Posted: Tue Oct 01, 2019 2:02 pm
If you want to investigate for yourself, there's a couple of things I can suggest:

1. Play each version to completion and note down the differences. Not even joking, playing a game is the number one way of figuring these things out.

2. Disassemble the different versions using Emulicious, then load two different ROMs into a hex editor with comparison (I use HxD), compare the two and then find where the changes are in the disassemblies. Learn Z80 and try to understand the changes. This is a more thorough method, but the reward over time can be much, much lower.
  View user's profile Send private message
  • Joined: 01 Oct 2019
  • Posts: 3
Reply with quote
SMS Roms
Post Posted: Tue Oct 01, 2019 6:51 pm
IllusionOfMana wrote
a lot of times the checksum tells you if a rom is a different version. There is also a portion of the rom header that can store information such as version, build date, region, and so on for determining the revision and region of a game. For finding out what exactly is changed is hard to say, often theyre just bug fixes to avoid unexpected crashes or lockups. Other times it may be to removes obscene text or graphics from a game, the latter being the easiest to detect. There is software out there that can compare the contents of two binary files and spit out the difference between the two, this often can help determine where and what was changed in a rom. A lot of extracting and de-compiling goes down to figure this out.


I am not a genius in this sort of things but i definitely would like to learn could you please tell me which program to use to find about checksums, versions, build dates, regions and rom changes?

I definitely would like to use that software you are talking about to find exactly what they have changed if its either just bug fixes or obscene text or graphics from the game please could you tell me which program i should use?

thanks for the help
  View user's profile Send private message
  • Joined: 08 Sep 2018
  • Posts: 215
Reply with quote
Post Posted: Tue Oct 01, 2019 7:11 pm
i mean if you just want to dive into memory then Emulicious has a wide array of debug tools that can help you peer into ROM, RAM, VRAM, and even look at decompiled ASM. As for binary compare software well just google binary compare software then im sure youll find something thatll allow you to compare two files and find differences. I would also recommend looking software that can compare two assembly files together as well since decoding a bin file is a chore and at least z80 ASM is readable when you have the opcode table in hand.
  View user's profile Send private message
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 12988
  • Location: London
Reply with quote
Post Posted: Tue Oct 01, 2019 7:51 pm
The development section on this site includes several such comparisons. Maybe have a look to see some examples.
  View user's profile Send private message Visit poster's website
  • Joined: 01 Oct 2019
  • Posts: 3
Reply with quote
Post Posted: Tue Oct 01, 2019 9:18 pm
IllusionOfMana wrote
i mean if you just want to dive into memory then Emulicious has a wide array of debug tools that can help you peer into ROM, RAM, VRAM, and even look at decompiled ASM. As for binary compare software well just google binary compare software then im sure youll find something thatll allow you to compare two files and find differences. I would also recommend looking software that can compare two assembly files together as well since decoding a bin file is a chore and at least z80 ASM is readable when you have the opcode table in hand.


I found a program called ROM Hasher that i think can find differences between revisions like version and region but how do i find out what has exactly changed ingame like the people at The Cutting Room Floor do like for example changed ingame text or graphical changes?
  View user's profile Send private message
  • Joined: 23 Aug 2009
  • Posts: 85
  • Location: Seattle, WA
Reply with quote
Post Posted: Tue Oct 01, 2019 10:25 pm
You'll need to learn how to identify code and content that varies between versions. TCRF identifies things through a variety of methods:

1. Dumb luck (if the developers stored things in plain text)
2. Disassembling the code and tracing through the paths it takes (this means understanding and thinking like a programmer)
3. Using tools to experiment (MEKA, MAME, Emulicious, Tile Decoder, etc.).

Start your quest here: http://www.smspower.org/Development/Tools
  View user's profile Send private message
  • Joined: 08 Sep 2018
  • Posts: 215
Reply with quote
Post Posted: Wed Oct 02, 2019 3:25 am
If you're looking for graphical or text changes from different regions or revisions of games then the best option is to just play those games, each different rom and keep your eyes out for things that might be different. Thats the fastest way to find things like that to be honest.
  View user's profile Send private message
Reply to topic



Back to the top of this page

Back to SMS Power!