Jump to content
IGNORED

How to extract ROMs from the Activision Anthology for PC (and a request for info on the included ROMs)


ajshell1

Recommended Posts

Recently, I decided to acquire a copy of "Activision Anthology: Remix Edition" for PC, mainly because I'm on a quest to see how many ROMs for older machines I can acquire legally.

 

It took some work, I eventually figured out how to extract them. Unfortunately, it's not a simple process. It involves making memory dumps of  the game and finding the location of the ROM in memory, and then copying it to an .a26 file.

 

Here's the complete process:

 

Spoiler

 

I'm on Linux, so I ran the game under Wine. Then, I started one of the included 2600 games.

Then, using a console and the "ps -ax | grep wine" command, I got the process ID of the game.

I then created a shell script to accelerate the process of getting the memory dump:


#!/bin/bash
echo -e "dump memory $1 0x00400000 0x04000000" > tempfile    
gdb -p 3058 -x tempfile

where 3058 was the process ID. After making that script executable, pass the desired name of the memory dump file as an argument. e.g., if you named the script "memdump.sh", you'd run it like this "./memdump.sh riverraid.raw"

After running it, you'll need to exit GDB.

 

Repeat this 76 times.

 

Now comes the tricky part. You need to locate the ROM file in those memory dumps. Luckily, they will ALWAYS be in the same memory offset. At least, for the same session, on the same OS.

The first few bytes of River Raid are "78d8a200a90095009ae8d0fa200cffa9". Try to find that.

With that in mind, I made the following script to extract the roms:



 

#!/bin/bash
for f in *.raw; do
        g="${f%%.raw}"
        for len in 2048 4096 8192 16384; do
                count=$((len/16))
                dd if="$f" of=out/"$g.$len" skip=995349 bs=16 count="$count"
        done

done

 

What the fuck does that do? Well, when run, it will iterate over every ".raw" file in that directory. the "g=..." line sets "g" equal to the name of the .raw file name, except without the ".raw".

Then, it iterates over four numbers. These are the four most common Atari 2600 rom sizes. Just be aware that Pitfall 2 is actually 10495 bytes for some reason. My script won't produce it.

Then, count is equal to that length value divided by 16. This will be clear in the next line.

This line uses the "dd" command. The input file is the .raw file, the output file is named after the length. "skip" and "bs" WILL need to be changed by anyone who uses this. Let's go through the math to how I got those numbers:

  1. Find the hexadecimal offset of where the ROM starts. In my case, it was 0xF30150

  2. Convert that number to decimal. 15925584

  3. You want skip multiplied by bs to be equal to 15925584. A higher bs will make the process faster, but it MUST also be a factor of 2048, 4096, 8192, and 16384. Don't forget to change this value in the "count=" line. It's okay if bs=1, but it won't be as fast.

Then, take all the new files and use Clrmamepro, RomVault, or RomCenter to rename them for you.

So yeah. Unless you're SUPER enthusiastic about not having pirated ROMs, you might as well download them from elsewhere

 

 

 

Of the 76 included games, 55 matched No-Intro's database when I started this process. And because I want my collection of legally acquired ROMs to be nice and organized, I've been in the process of adding the remaining 21 to their dats.

 

Alas, the Atari 2600 is a rather neglected system in No-Intro's database, and I'm not an Atari 2600 expert anyway, so I'm reaching out to you guys to make sure I don't screw anything up. In addition, I thought I'd share some info about some potentially never-before-seen ROMs.

 


With that in mind, I'm going to make a second post detailing the 21 other games. Stay tuned!

Edited by ajshell1
  • Like 1
Link to comment
Share on other sites

All four Absolute Entertainment games included in the compilation were altered to have the copyright text say "Copyright 2002 Skyworks Technology Inc" instead of "Copyright 198x Absolute Entertainment Inc. These include "Pete Rose Baseball" (which is just called "Baseball" here for licensing reasons) (CRC32: ef851fa2), Title Match Pro Wrestling (CRC32: b6f28c18 ), F-14 Tomcat (CRC32: cb5d1c42), and Skate Boardin' (CRC32: 49739144).  Skyworks Technology seems to be a company founded by former members of Absolute Entertainment, and evidently were the copyright holders of those games when the collection was released. I've already added those four to No-Intro. TOSEC only seems  to contain "Pete Rose Baseball", while none of them appear on Atarimania. Also, F-14 Tomcat appears to be a PAL release (at least, based on the fact that Stella autodetects it as PAL and the screen is shaky when I force it  into NTSC mode)

 

Several prototype games appear on this compilation, but only two didn't match existing entries in No-Intro's database. These are "Bloody Human Freeway" (CRC32: 7afb2277) and what the collection calls "Activision Prototype 2" but what we now know as "Hard Head" (CRC32: 3f805ade). This version of Bloody Human Freeway matches the NTSC release in this post: https://atariage.com/features/activision_protos/ , but the Hard Head dump is different from the NTSC release in that same post by two bytes, and Stella tells me that it actually runs in PAL mode. I've since added "Bloody Human Freeway", but I'd like some insight into the origin of this alternate dump of Hard Head.

 

Seven homebrew games were also released on the AA:RE. (Video) Euchre (CRC32: b600ae88) and Oystron (CRC32: 8155dccf )matches what is available for download here on AtariAge. The rest do not match, which includes Climber 5 (CRC32: 9a44da87), Okie Dokie (CRC32: e3900b50), Skeleton Plus (CRC32: 914ce6b7), Space Treat Deluxe (CRC32: 724e6b61), and Vault Assault (CRC32: 0fbee2ab).

 

The rest are just regular commercial releases that don't seem to be in No-Intro:

 

 

 

Atlantis (CRC32: c22e6a25)

Demon Attack (CRC32: 40dbe6d9)

Frostbite (CRC32: 9d88d250)

Keystone Kapers (CRC32: 5d27f7fb)

Moonsweeper (CRC32: bb513282)

River Raid 2 (CRC32: e0166b13)

Wing War (CRC32: 8a38509e)

 

I plan on checking whether these are present in Atarimania ASAP. I know that Atlantis, Demon Attack, and Frostbite are in TOSEC.

 

 

The last one is "Activision Decathlon", which technically not in the database due to a moderator mistakenly interpreted a "fixed rom" as meaning "this rom dump is a correct dump, use it instead of the previous one, which was dumped incorrectly" instead of the intended "This is a revised release of the same game that no longer has a bug".

 

 

 

 

  • Like 1
Link to comment
Share on other sites

Please remember that Atarimania only contains VCS ROMs from 1977-1992 (old era) period.

Almost all the ROMs you mentioned were already examined many years ago.

The only one I'm curious about is the alternate Hard-Head ROM.

Can you post this one, so we can find out the exact differences?

TOSEC for Atari 2600 is a prehistoric mess.

Same goes for Good2600.

8)

Edited by Rom Hunter
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...