A Swiss Army Knife for reading, writing, encrypting, and decrypting "video game enhancer" firmware dumps.
Written in cross-platform C# and .NET.
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}
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}
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
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
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
Dump GBC Shark MX contacts/messages to JSON:
dotnet run --project dotnet/src/src.csproj -- \
info sharkmx.gbc \
--print-format=json
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~
...
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 |
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 |
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 |
File format | Detect | Read | Write | Extract |
---|---|---|---|---|
GBC BrainBoy / Monster Brain ROMs | Yes | |||
GBA TV Tuner ROMs | Yes | |||
N64 GB Hunter ROMs | Yes |
-
Run the CLI with no arguments to see a list of supported commands:
dotnet run --project dotnet/src/src.csproj
This tool would not be possible without the amazing reverse engineering work of: