RED-Project icon indicating copy to clipboard operation
RED-Project copied to clipboard

Activision Classics PS1 Extraction

Open mjBrickman opened this issue 1 year ago • 3 comments

Using Duckstation, I ran games within Activision Classics and dumped the RAM to a file for each game as [game].bin. I then altered a script I found online for the PC version to work with the PS1 version. Here is my altered script below:

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

done

I ran the script under WSL2 and used No-Intro's database and matched up the output sizes to find the correct game files. The original script and info is in the link below. https://forums.atariage.com/topic/336118-how-to-extract-roms-from-the-activision-anthology-for-pc-and-a-request-for-info-on-the-included-roms/

mjBrickman avatar Mar 14 '24 14:03 mjBrickman

I have a new, less tedious method.

  1. Extract the file "RESOURCE/INGAME2.PKR" from the game's filesystem.
  2. Download Offzip from here: https://www.aluigi.altervista.org/mytoolz/offzip.zip if not already downloaded.
  3. Run the command offzip.exe -a Path/To/INGAME2.PKR Path/To/Output 0x0005bb70 with adjusting it depending on file locations.
  4. Create the file extract.sh and copy this in it:
#!/bin/bash
if [ ! -d "out" ]; then
	mkdir out
fi
fieldpos="-f5"
for file in 000*.*; do
        name="$(head -c 32 "$file" | cut -d '' "$fieldpos")"
		for len in 2048 4096 8192 16384; do
                count=$((len/4))
                dd if="$file" of=out/"$name.$len.bin" skip=35 bs=4 count="$count"
        done
		fieldpos="-f4"
done
  1. Run extract.sh in the output directory used in step 5 in WSL or a Linux environment.
  2. Research the correct game file sizes and delete the unnecessary game files.

mjBrickman avatar Aug 11 '25 17:08 mjBrickman

Here are the correct files/file sizes:

  • Atlantis.4096.bin
  • Barnstorming.4096.bin
  • Boxing.2048.bin
  • Chopper Command.4096.bin
  • Cosmic Commuter.4096.bin
  • Crackpots.4096.bin
  • Dolphin.4096.bin
  • Dragster.2048.bin
  • Enduro.4096.bin
  • Fishing Derby.2048.bin
  • Freeway.2048.bin
  • Frostbite.4096.bin
  • Grand Prix.4096.bin
  • H.E.R.O..8192.bin
  • Ice Hockey.4096.bin
  • Kaboom!.2048.bin
  • Keystone Kapers.4096.bin
  • Laser Blast.2048.bin
  • Megamania.4096.bin
  • Pitfall!.4096.bin
  • Plaque Attack.4096.bin
  • River Raid II.16384.bin
  • River Raid.4096.bin
  • Seaquest.4096.bin
  • Skiing.2048.bin
  • Sky Jinks'.2048.bin
  • Spider Fighter.4096.bin
  • Stampede.2048.bin
  • Star Master.4096.bin
  • Tennis.2048.bin

mjBrickman avatar Aug 12 '25 12:08 mjBrickman

And here's a script to be ran in the "out" folder to rename the proper files and put them in a "roms" directory.

#!/bin/bash
if [ ! -d "roms" ]; then
	mkdir roms
fi
mv "Atlantis.4096.bin" "roms/Atlantis.a26"
mv "Barnstorming.4096.bin" "roms/Barnstorming.a26"
mv "Boxing.2048.bin" "roms/Boxing.a26"
mv "Chopper Command.4096.bin" "roms/Chopper Command.a26"
mv "Cosmic Commuter.4096.bin" "roms/Cosmic Commuter.a26"
mv "Crackpots.4096.bin" "roms/Crackpots.a26"
mv "Dolphin.4096.bin" "roms/Dolphin.a26"
mv "Dragster.2048.bin" "roms/Dragster.a26"
mv "Enduro.4096.bin" "roms/Enduro.a26"
mv "Fishing Derby.2048.bin" "roms/Fishing Derby.a26"
mv "Freeway.2048.bin" "roms/Freeway.a26"
mv "Frostbite.4096.bin" "roms/Frostbite.a26"
mv "Grand Prix.4096.bin" "roms/Grand Prix.a26"
mv "H.E.R.O..8192.bin" "roms/H.E.R.O..a26"
mv "Ice Hockey.4096.bin" "roms/Ice Hockey.a26"
mv "Kaboom!.2048.bin" "roms/Kaboom!.a26"
mv "Keystone Kapers.4096.bin" "roms/Keystone Kapers.a26"
mv "Laser Blast.2048.bin" "roms/Laser Blast.a26"
mv "Megamania.4096.bin" "roms/Megamania.a26"
mv "Pitfall!.4096.bin" "roms/Pitfall!.a26"
mv "Plaque Attack.4096.bin" "roms/Plaque Attack.a26"
mv "River Raid II.16384.bin" "roms/River Raid II.a26"
mv "River Raid.4096.bin" "roms/River Raid.a26"
mv "Seaquest.4096.bin" "roms/Seaquest.a26"
mv "Skiing.2048.bin" "roms/Skiing.a26"
mv "Sky Jinks'.2048.bin" "roms/Sky Jinks.a26"
mv "Spider Fighter.4096.bin" "roms/Spider Fighter.a26"
mv "Stampede.2048.bin" "roms/Stampede.a26"
mv "Star Master.4096.bin" "roms/StarMaster.a26"
mv "Tennis.2048.bin" "roms/Tennis.a26"

mjBrickman avatar Aug 12 '25 12:08 mjBrickman