NPDP Cartridge

From GC-Forever Wiki
Jump to navigation Jump to search

NPDP Cartridge


Background

The NPDP Cartridge interfaces with the Nintendo GameCube DVD interface. These can be used on a NPDP Console or GDEV-NPDP, these were used during the testing part of the development life-cycle for rapid version changing by simply writing a version of the game to a slot on the HDD in around 3-5 minutes and plugging it into the console.

Hardware

The cartridge itself has the bulk of the optical drive emulation hardware, while the port on the NPDP Console/GDEV is just redirecting the custom connector to a few switches/LEDs to change "disc" or simulate a disc open then finally to the console.

6GB Hard disk drives are used, which is enough storage for 4 GameCube games.

It has a SH-3 CPU and a Spartan (more info).

Hard drive specifics

The hard disk drive is 6GB as stated above, however a larger HDD can be used but the game offets are hardcoded at 0x200000, 0x59200000, 0xB2200000, 0x10B200000. These coincide with the "slots" on the NPDP Console/GDEV. Each game entry seems to be 0x59000000 bytes long (to be confirmed).

The hard disk is locked with a master password at the high security level. The password is 'N-PDP Master Passwd', and it can depend on your view if you need to byteswap it or not. Sending the ATA commands 0xF2 (UNLOCK) then a 0xF6 (DISABLE) with the correct packet data will get you the Hard Disk unlocked, then you are able to read/write the contents, and put it back in the NPDP Reader to have it lock again with the master password.

The games (not in between areas) are XOR'd with a 32bit key which is seeded by 0xDEADBEEF + the response from either 0x12 or NPDP-ID command sent to the card - need to confirm this part. After applying the XOR to get the decypted content, you need to byteswap the dump to get it into proper format.