Skip to content

C# .NET utility for reading/writing cheat device firmware dumps (GameShark, Action Replay, Code Breaker, Xplorer64, etc.)

License

Notifications You must be signed in to change notification settings

LibreShark/hammerhead

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hammerhead

A Swiss Army Knife for reading, writing, encrypting, and decrypting "video game enhancer" firmware dumps.

Hammerhead icon

Written in cross-platform C# and .NET.

Usage examples

View parsed ROM data

View all information extracted by Hammerhead from a directory of ROM and cheat text files:

dotnet run --project dotnet/src/src.csproj -- \
    info *.{bin,enc}

screenshot

Dump cheats from ROM files to plain text

Dump the cheats from all supported input files to their default text file formats:

dotnet run --project dotnet/src/src.csproj -- \
    cheats dump *.{gb,gbc,gba}

screenshot

Copy cheats from one ROM to another

Copy decrypted cheats from a scrambled Xplorer 64 ROM file to an encrypted GameShark ROM file:

dotnet run --project dotnet/src/src.csproj -- \
    cheats copy \
        xplorer64-v1.000e-b1772-19990507-SCRAMBLED.bin \
        ar3-with-xplorer-cheats.enc \
        --overwrite

screenshot

Encrypt a ROM file

Encrypt a GameShark ROM file for use with Datel's official N64 Utils:

dotnet run --project dotnet/src/src.csproj -- \
    n64 gs encrypt \
        gspro-3.30-20000404-custom-cheats.bin \
        ar3.enc \
        --overwrite

screenshot

Configure ROM file preferences

Change user-configurable settings in an N64 GameShark/AR ROM file:

dotnet run --project dotnet/src/src.csproj -- \
    n64 gs config \
        libreshark-pro-v4.05-20230711-cheatocodes.bin \
            --rename-keycodes \
            --keycode-order=zelda,mario,diddy,yoshi \
            --selected-game=2 \
            --sound \
            --menu-scroll=false \
            --bg-scroll=false \
            --bg-pattern=logo \
            --bg-color=blue \
            --update-timestamp

screenshot

Dump Shark MX data to JSON

Dump GBC Shark MX contacts/messages to JSON:

dotnet run --project dotnet/src/src.csproj -- \
    info sharkmx.gbc \
        --print-format=json

screenshot

Extract embedded files from ROMs

Decompress all embedded files from N64 GameShark, Action Replay, Equalizer, and Game Buster ROMs:

dotnet run --project dotnet/src/src.csproj -- \
    n64 gs extract n64-*.bin

bits.png
bits.tg~
gslogo2.bin
gslogo2.pal
gslogo2.png
menuf.png
menuf.tg~
shell.bin
tile1.1.png
tile1.1.tg~
tile1.png
tile1.tg~
tile3.png
tile3.tg~
tile4.png
tile4.tg~

...

Supported file formats

Full support

Firmware (ROM) files:

File format Detect Read Write Extract
N64 GameShark ROMs Yes Yes Yes Yes
N64 Xplorer 64 ROMs Yes Yes Yes

Cheat code files:

File format Detect Read Write
N64 GameShark Datel cheats Yes Yes Yes
N64 Xplorer 64 FCD cheats Yes Yes Yes
Hammerhead JSON cheats Yes Yes Yes
N64 EverDrive-64 X7 cheats Yes Yes Yes

In progress

File format Detect Read Write Extract
GB GameShark v2.x ROMs Yes Yes
GBC Code Breaker ROMs Yes Yes
GBC GameShark v3.x ROMs Yes Yes
GBC GameShark v4.x ROMs Yes Yes
GBC Shark MX ROMs Yes Yes
GBC Xploder ROMs Yes Yes
GBA Datel GameShark ROMs Yes Yes
GBA FCD GameShark & Code Breaker ROMs Yes Yes

Planned

File format Detect Read Write
GBC GameShark v3.x cheats (*.gcf)
OpenEmu XML cheats
N64 Project 64 v1.x cheats
N64 Project 64 v3.x cheats

Limited support

File format Detect Read Write Extract
GBC BrainBoy / Monster Brain ROMs Yes
GBA TV Tuner ROMs Yes
N64 GB Hunter ROMs Yes

Usage

  1. Install the .NET 7 SDK

  2. Download N64 GameShark firmware images

  3. Run the CLI with no arguments to see a list of supported commands:

    dotnet run --project dotnet/src/src.csproj

Credits

This tool would not be possible without the amazing reverse engineering work of:

About

C# .NET utility for reading/writing cheat device firmware dumps (GameShark, Action Replay, Code Breaker, Xplorer64, etc.)

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published