Jump to content
IGNORED

2600 Rom Comparisions and Dumps


Omegamatrix

Recommended Posts

But are they? I suppose that is the real puzzler.

If only the hotspot differ, definitely!

 

Any ideas on how to automate this (i.e. consider altered bytes above bankswitch locations to be irrelivant)? It's just a DOS compare.

There was recently a discussion about this on AA. Maybe, based on Stella's automatic bankswitching detection, one could write some program which could at least filter out some of the duplicates.

Link to comment
Share on other sites

If only the hotspot differ, definitely!

 

I don't agree. The garbage code above is a good example...which suggests that an early form of game selection was going to be used in the original, rewritten to ignore it for production, and then deleted in the alternate production (on the other hand, ignored by a person dumping the game). The NMI vector differences could have also been used at some point during development. If it's a simple matter of hotspot byte values changing from zero to $FF, I'd agree about those (dumping bankswitched games often involves ignoring the actual values there...leaving them open to be filled in with the most convenient value).

 

4k Action Man is also suspect. The entire code doesn't change except for a single byte mid-binary that just so happens is never used? Since a person doing the binary dump probably wouldn't be reading through the code, that really makes it seem like 2 cart versions exist.

Edited by Nukey Shay
Link to comment
Share on other sites

I don't agree. The garbage code above is a good example...which suggests that an early form of game selection was going to be used in the original, rewritten to ignore it for production, and then deleted in the alternate production (on the other hand, ignored by a person dumping the game). The NMI vector differences could have also been used at some point during development. If it's a simple matter of hotspot byte values changing from zero to $FF, I'd agree about those (dumping bankswitched games often involves ignoring the actual values there...leaving them open to be filled in with the most convenient value).

The differences in the bankswitching hotspots is what you might get when dumping the game with the first and second release of the DevOS 7800. Both versions skip over the hotspot bytes, so the values you'd get in the binary depend on the state of the reading buffer in the PC program. In the second version of 7800CTRL the buffer gets initialized to zero. In the first version however I didn't do that. So if you'd dump a 4K game before you dump a bankswitched game, the bytes at the hotspot addresses might get filled with proper 6502 code.

 

 

Ciao, Eckhard Stolberg

Link to comment
Share on other sites

Just to be clear... What is the goal here?

 

 

May I suggest simply a bottom up approach by taking out all the [a] versions from the rom set. Then the goal is too see how many you can fit back in!!

 

 

The goal is to hunt down legit released versions (ie bugged and fixed, different bankswitching methods etc).

 

 

Lets talk about the type of alternates that should be in the rom set. Way back in this thread I verified both versions of Demon Attack with a rom dump. I'm talking the 82th level bugged and fixed versions here. Those should both be in the rom set. Space Shuttle has an FE bankswitched version and a regular F8 version. These should also be in the rom set. Alex79 dumped three versions of PAL Space Invaders and you can see clear transistions from one to the other (which correspond to the date stamps too). Those should be in the rom set with [a1], [a2], etc.

 

 

@ Rom What you really need is another text file in the rom set explaining what the differences in the [a] versions are:

 

****  Differences in the alternate [a] rom versions ****

Demon Attack (original)
 The game "ends" with a black screen after the 82nd wave of enemies.
Demon Attack [a]
 Imagic recieved some complaints shortly after the games release, because of the game's "ending". Rob Fulop corrected it so that the game would no longer end after the 82nd wave.
 

Space Invaders (PAL) original
- belongs to the text label, first conversion by Atari
- speed is not corrected from NTSC version (everything runs to slow)
Space Invaders (PAL) [A1]
- picture label, date stamped 41 2 R (41st week of 1982)
- corrected the speed, changed some colors
- a glitch now occurs in game selections 81-96 (players are supposed to alternate shots, but they cannot)
Space Invaders (PAL) [A2]
- picture label date stamped 12 3 R (12th week of 1983)
- corrected glitch from version 2
- changed some colors again


Space Shuttle (original)
This uses Atari's standard F8 bankswitching.
Space Shuttle [a1]
This uses a bankswitching method by Activision known as "FE" bankswitching. It has incompatibility issues with some 7800 consol

 

Something like that. What do you think?

Link to comment
Share on other sites

Just to be clear... What is the goal here?
To eliminate rom dumps from an archive that do not correspond 100% faithful to an existing production cartridge.

 

 

May I suggest simply a bottom up approach by taking out all the [a] versions from the rom set. Then the goal is too see how many you can fit back in!!

 

The goal is to hunt down legit released versions (ie bugged and fixed, different bankswitching methods etc).

Tomato, to-mah-to. Either direction is just as fast :ponder:

As far as fixes, conversions, and bankswitch changes go, almost all of those are relatively new (and most of them happened right in these forums), so details are already known about them. None of these are considered to be alternates of original roms...and they shouldn't be...unless it can be proven that they came from a cartridge that way instead of the other way around.

 

 

Lets talk about the type of alternates that should be in the rom set. Way back in this thread I verified both versions of Demon Attack with a rom dump. I'm talking the 82th level bugged and fixed versions here. Those should both be in the rom set. Space Shuttle has an FE bankswitched version and a regular F8 version. These should also be in the rom set. Alex79 dumped three versions of PAL Space Invaders and you can see clear transistions from one to the other (which correspond to the date stamps too). Those should be in the rom set with [a1], [a2], etc.
This didn't become clear with any certianty without disassembly to double-check what was going on. A good hunch, yes...but uncertian.

 

 

 

@ Rom What you really need is another text file in the rom set explaining what the differences in the [a] versions are:
I think that he's moving the roms that are more-or-less confirmed to be bad dumps to a different folder...away from roms that are unquestionably a match of an actual cartridge. No text file is really needed, because they are unintended differences. These roms (most likely) do not match any cartridge out there...since parts show evidence of having been altered by the dumping process. There's so many people that had dumped carts on their own that it just takes time to weed through them. Good Tools might have been a good starting point if you could count on it's info...but it's been wrong before.

 

 

Of course, the only way to know for sure is to compare them against known good copies. He's got the [a] list down to below 200 that need checking...that's not bad :) Your examples of Demon Attack and Space Invaders are proven to be true [a]lternates.

Link to comment
Share on other sites

Omega,

 

I prefer the way were going through this now.

 

We will automatically reach the [a]lternate versions that were confirmed to be released carts and leave these ROMs in.

 

A list of [a]lternate versions that are true [a]lternate versions together with their characteristics would be a nice guide indeed.

 

I'm giving Nukey the ROMs that are in my current collection (which slightly differs from the V3 collection currently online), so I would very much appreciate it if we take this ten titles at a time (from # to Z).

 

8)

Link to comment
Share on other sites

What I'm getting at is when you look at the rom collection and you see "fixed" or [a] you are wondering what the difference is, or the fix is.

 

 

@ Nukey I agree we want to elimate bad dumps, but I also feel the goal is to document the differences between the versions we keep, and put that all in one place.

Edited by Omegamatrix
Link to comment
Share on other sites

I agree we want to elimate bad dumps, but I also feel the goal is to document the differences between the versions we keep.

Most certainly.

 

As soon as Nukey finds a ROM that could be a true [a]lternate version, the differences can be written down and (if possible) be verified with different cart releases.

 

The list can then be included in the ROM set.

 

8)

Edited by Rom Hunter
Link to comment
Share on other sites

Nukey,

 

Please correct me if I'm wrong, but with Eckhard's comments noted, is it fair to say that only Action Man [a] is a 'true' [a]lternate?

 

In other words:

 

2 Pak Special Black - Challenge, Surfing (1990) (HES) (771-333) (PAL) [a] REMOVE

 

2 Pak Special Dark Blue - Wall Defender, Planet Patrol (1990) (HES) (0701-406) (PAL) [a] REMOVE

 

2 Pak Special Light Green - Hoppy, Alien Force (1992) (HES) (PAL) [a] REMOVE

 

2 Pak Special Red - Motocross, Boom Bang (1990) (HES) (0701-157) (PAL) [a] REMOVE

 

2 Pak Special Yellow - Star Warrior, Frogger (1990) (HES) (771-422) (PAL) [a1] REMOVE

2 Pak Special Yellow - Star Warrior, Frogger (1990) (HES) (771-422) (PAL) [a2] REMOVE

 

Action Man - Action Force (AKA G.I. Joe - Cobra Strike) (Paddle) (1983) (Parker Brothers, John Emerson) (931511) (PAL) [a] KEEP

 

Alpha Beam with Ernie (Alpha Beam) (Kid's Controller) (Children's Computer Workshop) (1983) (Atari, Michael Callahan, Preston Stuart) (CX26103) (PAL) [a] REMOVE

 

Artillery Duel (1983) (Xonox - K-Tel Software, John Perkins) (6230, 7210, 06004, 99004) (PAL) [a] REMOVE

 

Artillery Duel (1983) (Xonox - K-Tel Software, John Perkins) (6230, 7210, 06004, 99004) [a] REMOVE

 

Asterix (AKA Taz) (1983) (Atari, Jerome Domurat, Steve Woita) (CX2696) (PAL) [a] REMOVE

 

8)

Link to comment
Share on other sites

That's a question that's up in the air. It's only a single byte that differs, and that byte is never used by either version. Very good chance that it was just a glitch when dumping (even though how improbable it is that it just happens to be unused by the program). Both versions stuck a value in there ($65 for "the original", and $95 for [a])...so you'd need to confirm it against the actual cartridge to be sure which one is the real McCoy, I'd say. But fairly conclusive if there are more "original" images around than [a]'s.

 

 

 

BTW International Soccer differs by the last byte only. It doesn't use interrupts. The "original" sticks the START addy in the NMI, Reset, and Interrupt vectors. [a] zeroes out the last byte instead.

B-b-b-b-b-bad dump.

Link to comment
Share on other sites

Close...the reset/interrupt vector changes in Asteroids-PAL [a2] for the first bank (but the code down below does not change). There could be cases where the cart does not boot properly. Need to look at this one a little closer to discover the effect...but it would seem that [a2] is bad (pointing to the wrong bank).

 

Comparison of:

Asteroids (1981) (Atari, Brad Stewart) (CX2649, CX2649P) (PAL) ($D591)

Asteroids (1981) (Atari, Brad Stewart) (CX2649, CX2649P) (PAL) [a2] ($F9DA)

00000FF9: FF 00

00000FFA: 91 DA

00000FFB: D5 F9

00000FFC: 91 DA

00000FFD: D5 F9

00000FFE: 91 DA

00000FFF: D5 F9

00001FF8: FF 44

 

The other bankswitched cart in this set (A-Team) has massive differences due to at least 1 missing instruction (possibly 2)...and is a true alternate because of it. Need to look at this one closer via disassembly for the effect too.

 

The same thing happens for all of the 4k games in this set. A bit of byte-shifting causing a lot of differences between versions. Those are also assumed to be true alternates. If it were possible for a simple binary to "lose" a byte or two in the middle someplace, it would most likely break the game (subsequent JMPs and the like would no longer function correctly...pointing to the wrong addresses). They all appear to have been created by seperate assembler builds...and need disassembly to discover the effect.

 

 

 

Keep the A-Team and 4k games in the set. Should I just take a look at Asteroids for more detail? It could have been a mistake done by the person dumping the game (whether the correct vectors are $D591 or $F9DA remains to be seen).

Edited by Nukey Shay
Link to comment
Share on other sites

The point is that the instructions themselves change (regardless of bitmap data) ;) As mentioned earlier, it's really impossible to know if actual cartridges exist based on this info alone. Anybody can hack a game. It's just gotten easier to do over the years.

 

All I can offer is evidence pointing one way or the other. Not conclusive proof.

Link to comment
Share on other sites

Um...tho I should mention that some games DO have actual proof even without a cartridges to verify them against. Take the 3 Space Invaders PAL alternates, for example. There's video proof of those from old commercials. No cartridge verifications needed.

 

At least we can eliminate [a]lternates where the differences do not matter (and hence, 99.9% probable not to have a production cartridge associated with them).

Link to comment
Share on other sites

Asteroids (1981) (Atari, Brad Stewart) (CX2649, CX2649P) (PAL) [a2] does not point at valid code for powerup in the first bank. AFAIK, this has a 50% chance of booting in a garbled state on actual hardware (i.e. "frying"). The vectors appear to have just been copied directly from the 2nd bank to the 1st - most likely caused by somebody skipping over them when dumping the game...and either manually entering the wrong ones, or the dumping process automatically inserting them as described by Eckhard.

 

The correct boot routine at $D591 is present...with nothing pointing at it.

 

;* = $D591
   lda	#$DA   ;2 set init routine LSB ($F9DA)
   sta	$F7	;3 store
   lda	#$F9   ;2 set init routine MSB
   sta	$F8	;3 store
   jmp	$DFF0  ;3 jump to bankswitch routine

Edited by Nukey Shay
Link to comment
Share on other sites

So, correct me if I'm wrong, these ROMS can be REMOVED:

 

Asteroids (1981) (Atari, Brad Stewart - Sears) (CX2649 - 49-75163) [a1]

Asteroids (1981) (Atari, Brad Stewart - Sears) (CX2649 - 49-75163) [a2]

 

Asteroids (1981) (Atari, Brad Stewart) (CX2649, CX2649P) (PAL) [a1]

Asteroids (1981) (Atari, Brad Stewart) (CX2649, CX2649P) (PAL) [a2]

 

Battlezone (1983) (Atari - GCC, Mike Feinstein) (CX2681, CX2681P) (PAL) [a]

 

Big Bird's Egg Catch (Grover's Egg Catch) (Kid's Controller) (Children's Computer Workshop) (1983) (Atari, Christopher H. Omarzu) (CX26104) (PAL) [a]

 

All others can stay in.

 

Right?

 

8)

Link to comment
Share on other sites

Berzerk (Unknown) (PAL) [a] is actually an NTSC hack. The only differences between it and the verified good dump of the NTSC version are timer values adjusted in the wrong spots, and an erased logo. The entire program, data, and color palette is otherwise the same as NTSC.

 

BTW Berzerk (Unknown) (PAL) is a PAL hack that's missing the logo (and also the head of reserve lives!).

 

Theory:

Perhaps a pirate version (Unknown [a]) was produced for PAL televisions using the NTSC version as it's base (hence the 99% identical code with NTSC)? This version could have been replaced by (Unknown) once Atari released their own PAL version to hack out the logo (explaining the otherwise 100% identical code between those). Hmm...

 

Here's a -very- rough disassembly that combines all the versions so you can see where the program itself differs...

Berzerk_all_versions_.zip

Edited by Nukey Shay
Link to comment
Share on other sites

I've always wondered why a lot of the 4K alternates have differences just in the last two bytes ($FFFE, $FFFF). I see this over and over again. I kind of thought it might be the dumper flaking out at the end.

 

 

With roms 8k and above there a slew of them out there that just differ in the bankswitching hotspots. We'll see that coming up with Dig Dug. IIRC I could match different versions with the same cart dumping it different ways. I shit you not. 1 cart, 4 rom versions.

 

- check hotspot, check ram

- check hotspot, ignore ram

- ignore hotspot, check ram

- ignore hotspot, ignore ram

 

This is done by alternating the -t26S6 and -t26F6 switches, while using and then not using -a switch.

 

I always believed in ignoring the ram, but I'm at the point now where I say to Hell with the hotspots. I hope Stephena gives Thomas some auto detect bankswitching code from Stella and he can put something together to clean that up.

 

 

@ Thomas, sorry I'm speaking for you man, I have no idea if you even intend to do that project.

 

 

@ Nukey I'm taking a look at Crackpots right now. I'll post the disassembly when it comes up.

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...