QUAKE II N64

PASSCODE ENCRYPTION SYSTEM

MISSION PROFILE

VITAL STATUS

WEAPONS HUD & INVENTORY

AMMUNITION ARSENAL

PASSCODE GENERATED

---- ---- ---- ----

DECRYPT PASSCODE

DECRYPTED DATA BUFFER

Byte Array Payload: 00 00 00 00 00 00 00 00 00 00
Payload Sum (Checksum): 0x00 (0)
Transmitted Bitstream: 00000000 00000000 00000000 ...

TECHNICAL OVERVIEW & SYSTEM DOCUMENTATION

What is Quake II N64 Passcode Encryption System?

Quake II on the N64 uses a password system which encodes values such as level number, health and a list of weapons into a 16 digit password.

This generator allows you to customize those values to your liking and generate a functional password, which enables all kinds of fun (and less fun) play opportunities. The only reason this exists is because there was no way to do "shotgun start" in Quake II and I wanted to give that a go.

How Password Encoding & Decryption Works

Quake II 64 packs player inventory and mission status into an 80-bit binary payload (10 bytes). Values are mapped into the following bit fields:

Bits Data
1-5 Level
6-7 Difficulty
8-16 Weapons Inventory
17 Ammo Pack
18-24 Health
25-28 Max Health
29-30 Armor Type
31-36 Armor
37 --
38-70 Ammo
71-72 --
73-80 Checksum

Before rendering the 16-character password, the 10-byte payload undergoes a scramble followed by checksum validation. Decryption reverses the process to reconstruct the payload.

Reverse Engineering & Credits

The password logic was reverse engineered by dumping the ROM using Ghidra for analysis and performing extensive empirical black-box testing.

This project and its source code are open source under the MIT License on GitHub.