Experimenting with the ED64P chinese bootleg cartridge for N64

2020-11-21

(last time edited: 2021-07-22)

tags: nintendo, games

ED64Plus

ED64Plus is a ROM Cartridge Emulator, Flash Card and Backup Card for N64 System. You can find more info about it here.

My ED64P cartridge arrived, here is a photo of it.

blogimg

Ok, let's see, ED64P is a chinese bootleg of the EverDrive 64 cartridge made by krikzz. The ED64P hardware is similar and it does the same on its on way. It basically competes in terms of hardware, software and quality.

These kinds of cartridges are made by reverse ingeneering the console hardware, in this case the N64. These programmers don't open the source code, and don't necessarily need to do so. They make a profit by designing an amazing product based on their own researches. I'm not sure by I assume the hardware of the cartridge is completely open source, except the software part. Software is compiled to machine code by themselves and then flashed into memory so FPGA CPUs can be configured.

I tested this ED64P cartridge for a while and it works perfectly. However, if you have the money and possibility, just buy the original EverDrive 64.

Companies like Nintendo will tell you that EverDrive cartridges and alike, will kill your console. They are so desperate to sell you old games for big bucks that they managed to explain and give technical proof of how can diodes be ruined and other shenanigans. I will not try discredit the technical part since I don't know much about electronics. What they say is true and could happen but I haven't seen a single destroyed console by running unofficial cartridges in my entire life. It's mostly a corporate white lie.

Here I will document small little details and other things I found out. Here is some good information by some other guy that helped me learning.

The SD card must be formatted with FAT32 filesystem. SD card should not be bigger than 32GB and partitions shouldn't matter.

The switch on top changes the video format standard of the cartridge. Bigger part of the West use NTSC, if you live in Europe you'll most likely use PAL. In Argentina we are supposed to use PAL-N but since most of our devices are NTSC we need to use multinorm televisions. Nowadays it doesn't matter. Analog signals are dead and long gone. It doesn't matter what you choose.

Cartridge comes with a CD-ROM, but it's not important and you shouldn't use it.

OS64P

OS64P is the default operative system for this bootleg cartridge.

In the official ED64P website you will find a binary containing the stock operative system in .v64 binary format. The latest version up to the date I wrote this blog is 1.28 and you can download it here.

Check the md5sum to check its integrity.

$ md5sum OS64P.v64

908eb7b02f8e5473711d6c9f8ed7859a

Here is a little example of how the directory tree structure in your SD card should be with this stock OS 64 Plus v1.28 binary.

SDCARD/
├── ED64P
│   └── OS64P.V64
└── GAMES
    └── Super Mario 64.z64

Altra64

Altra64 is a piece of programming code on top of the the original OS64P.v64 operative system. It fuctions as a new better looking menu for the ED64 cartridge. Altra64 is a fork of the first menu Alt64 made by parasyte. This Altra64 open source menu is fully customizable, you can modify it easily by editing ALT64.INI. The name is a word-play between Ultra and Alt64.

Think of Altra64 as a add-on for the ED64P. It's more secure to simply use the OS64P.v64 operative system alone without any changes, but you can try this alternative to extend the possibilities and hack further.

You can compile it yourself or download the pre-compiled binaries from here.

The directory tree structure in the SD card should look like this.

SDCARD
|
└── ED64P/
    |
    ├── OS64P.v64
    |
    ├── WALLPAPER/
    |    ├── bg_01.png
    |    └── bg_02.png
    |
    ├── SDSAVE/
    |    ├── CFZE.SRM
    |    └── NK4E.E4K
    |
    ├── FONTS/
    |   ├── 8X8!FONT.pf
    |   ├── 8X8#FONT.pf
    |   ├── 8X8@FONT.pf
    |   ├── APEAUS.pf
    |   └── ...
    |
    ├── CHEATS/
    |    ├── Banjo\ Kazooie\ (USA).yml
    |    ├── Donkey\ Kong\ 64\ (USA).yml
    |    └── ...
    |
    ├── CFG/
    |    ├── Dezaemon\ 3D\ [Patched].CFG
    |    ├── NUD-DKIJ-JPN.CFG
    |    ├── NUD-DKKJ-JPG.CFG
    |    └── ...
    |
    ├── ALT64.INI
    |
    ├── FAVOR.DAT
    |
    ├── OPT.DAT
    |
    ├── ROM.DAT
    |
    ├── UltraSMS.z64
    |
    ├── gblite.z64
    |
    ├── neon64bu.rom
    |
    └── ultraMSX2.z64

Check the md5sum to check its integrity.

$ md5sum OS64P.v64

d62647e441f3f7151df0608d303e6a71

As you see, the hash differs from the stock OS.

If opted to use Altra64 and you wanna change the wallpaper, you can add 320x240 png images in the WALLPAPER directory. Make sure to edit the ALT64.INI after that.

sd_speed=2                             ; 1=25MHz 2=50MHz
background_image=your_image_here.png   ; background png image 320x240 32bit
menu_font=TINYTYPE.pf                  ; pixelfont file

Absolutely mandatory! The OS64P directory should be always be in root containing the operative system. The same applies to your games. They could be in different formats.

  1. .n64 (Little Endian format)
  2. .v64 (Byte Swapped format)
  3. .z64 (Big Endian format)

Usamune ROM

Usamune ROM is a ROM hack designed to increase the efficiency of speedrunning practice. Written in C and assembly. Developed by circumark994 and atmpas.

This ROM is generated after 2 things: a .ppf patch file and Super Mario 64 ROM.

Why do we have to do this? Because distributing a full copy of Usamune ROM it's totally illegal in terms of copyright. Nintendo is one of the most butthurt companies when it comes to that.

The easiest way to get an Usamune ROM is by downloading the latest v1.91 patch from here. Also download an American (U) version of Super Mario 64 from some shady website. These files are NOT hosted in my server.

Check the integrity of both files.

$ md5sum Usamune_ROM_Patch_v1.91u_ppf

53108c6c2b4edd18701f0efa971faa1a

$ md5sum Super\ Mario\ 64\(U\)\ \[\!\].z64

20b854b239203baf6c961b850a4a51a2

The easiest way to patch it is using a web patcher. Go to hack64. Upload both files and save the output.

Check the Usamune ROM md5 hash before copying it to the SD card.

$ md5sum SM64_USAMUNE_v1.91u.z64

56b08b0827e6c9d3917cc262d9855469

This is how my ED64P looks with Altra64 running and a custom wallpaper changed by me. DEFAULT ED64P directory contains the stock OS and it's not currently in use. ED64P directory has the Altra64 files. I took the snapshot using VLC and my personal ElGato Video Capture v2 device.

blogimg

Though Altra64 looks cool and everything, sometimes it wont even boot my ROMs. So I prefer using the stock OS.

Stock OS loads very fast.

blogimg

This is the horrifying stock main menu, but it works!

blogimg

Mario is going to kick Bowser's ass.

blogimg

Happy hacking!