Jump to content
IGNORED

What is the difference between these two carts?


Mr Robot

Recommended Posts

I'm finding differences like this in a few 5200 cart roms, where D0 becomes F0 and DC becomes FC in a few places in the file.

Any explanation as to what this means and why it happens would be greatly received.

 

Here's a screenshot of Hex fiend showing the diffs

1455292183_Screenshot2020-05-26at12_03_00.thumb.png.e2826d848840f0040836a60bbdb57a24.png

 

Here are the two roms

Buck Rogers - Planet of Zoom (1983) (Sega).binBuck Rogers - Planet of Zoom (1983) (Sega) [a1].bin

Link to comment
Share on other sites

The D to F thing seems quite common, I found one earlier this a single byte difference, a change from DF to FF. I wish I knew what the change was, having [a] in the filename isn't good enough, I want to know why its an alt.

 

 

Link to comment
Share on other sites

there's no code there so maybe these are just some graphic changes?

D = 11 01 or colours 3 & 1

F = 11 11 or colours 3 & 3

 

But (just speculating) could also be a value written to h/w register where the value of the changed bit (here = bit 5) actually makes no difference or perhaps makes a 4 port behave the same as a 2 port

 

[Edit] also wouldn't be hard t use Altirra to stick a breakpoint on read of one of the addresses and then step through to see how it is used.

Edited by Wrathchild
Link to comment
Share on other sites

9 hours ago, Wrathchild said:

there's no code there so maybe these are just some graphic changes?

D = 11 01 or colours 3 & 1

F = 11 11 or colours 3 & 3

 

But (just speculating) could also be a value written to h/w register where the value of the changed bit (here = bit 5) actually makes no difference or perhaps makes a 4 port behave the same as a 2 port

 

[Edit] also wouldn't be hard t use Altirra to stick a breakpoint on read of one of the addresses and then step through to see how it is used.

With a read breakpoint on the first byte which is different, using the first image posted it stopped here:

(2409: 26, 88) A=00 X=59 Y=00 S=FB P=36 (   IZ )  67EE: 31 72             AND ($72),Y  [$9581] = $DC
(2409: 26, 89) A=00 X=59 Y=00 S=FB P=36 (   IZ )  67F0: 11 76             ORA ($76),Y  [$89DB] = $03
(2409: 26, 94) A=03 X=59 Y=00 S=FB P=34 (   I  )  67F2: 91 74             STA ($74),Y  [$2EFF]

The byte is a mask. It looks like it is trying to set the two bottom bits (i.e. one pixel) leaving the rest of the byte unchanged, but the $DC mask results in a bit being cleared in the upper nibble. The mask value should be $FC, which it is in the second image.

 

So it looks like someone altered it to correct the masks. I think it will only make a difference when things overlap on-screen and even then you may need a young man's eyesight to notice it.

  • Like 1
Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...