Repository navigation
NFSHP2 v1.0.1
An unofficial homebrew port of the PS2 version of Need for Speed: Hot Pursuit 2 to the New Nintendo 3DS: the PS2 game's code, reverse-engineered from the retail disc and reimplemented in C. It plays from your own disc's files. No game data comes with it.
What's new in 1.0.1
A fix release. On a disc whose file list differs from SLES-50731's, 1.0.0's tools/zdir_extract.py put files under each other's names. The sound banks then failed to convert, and the 3DS crashed at boot.
tools/zdir_extract.pynow names each file by its hash, the way the game finds it. It lists any names your disc doesn't have, and it refuses a folder that the old version made.tools/audio_pack.pyandtools/make_card.pystop with a message saying what to redo, instead of a Python error.make_card.py --prunealso deletes old files from the card (it keepsNFSHP2/SAVES).- If a data file is missing or wrong, the port now stops at boot with a message naming it instead of crashing.
If you set up the SD card with 1.0.0's tools, download this version's source, delete extracted-retail/, and do README steps 2 to 4 again. Run step 4 as python tools/make_card.py E:\ --prune (with your SD card's drive letter). Your saves are kept.
What you need
- A New 3DS, New 3DS XL or New 2DS XL with custom firmware (Luma3DS) and FBI. An Old 3DS or 2DS shows a message at boot and stops.
- Your own PS2 disc of Need for Speed: Hot Pursuit 2. It was made and tested with SLES-50731, the PAL version. Other discs should now extract correctly, but the game hasn't been tested with their files.
- About 2.9 GB free on the SD card, and a computer with Python 3.8 or newer.
The README explains how to put the disc's files on the SD card.
Files
| File | For | SHA-256 |
|---|---|---|
NFSHP2-3DS.cia |
install with FBI, start from the HOME Menu | 8a8bae94dcfefead371b4574e367cc5b6761360f3c862a556cab8d0c69f900e0 |
NFSHP2-3DS.3dsx |
the Homebrew Launcher | 5662d56ab3a557bf095f749acfc2c70aa8854ea042c84e9d556815163cf567fc |
1.0.1 has been tested in the Azahar emulator. 1.0.0 was also tested on a real 3DS, and 1.0.1 only adds the data checks above.
Known issues
- On Ancient Ruins, at the curb turn by the cones, the road can vanish for a frame or two.
- The frame rate drops below 30 in the heaviest places: the fire on Coastal Parklands, the end of Desert Heat, and by some roadblocks.
- On Coastal Parklands, the low stone wall before the tunnel can look blocky and flicker when seen side-on.
- Attract mode doesn't play the disc's demo replays: on the 3DS they leave the PS2's path after one frame, so it plays its AI race demo instead.
DemoReplays 1in the config file turns them back on. - In Local Wireless, the consoles can fall out of step just after a player finishes (two races in eight in testing): that car, driven by the CPU from the finish on, can end up in a different place on each console.
- In French, the LOADING screen and the Need for Speed logo keep their English art.
- The language screen at boot appears at once, without the PS2's slide-in.
A fan project, not made, endorsed or supported by Electronic Arts. Need for Speed Hot Pursuit 2 and Need for Speed are Electronic Arts' trademarks. The port's own code is under the GPL-3.0.