N64 technical documents

Includes but not limited to: SNES, Genesis, Sega CD, PlayStation 1, Nintendo 64, Dreamcast, Game Gear and I guess the Virtual Boy.

Moderator: Moderators

Post Reply
timmeh87
Senior Member
Posts: 3047
Joined: Mon Nov 14, 2005 10:19 pm
Location: Ontario, Canada

N64 technical documents

Post by timmeh87 »

I need some technical information on the N64, specifically an outline of the communication protocol with the cartridge. i can find a bunch of technical documents out there, but most all of them deal with the processor and dont mention the cartridge.

marshall already linked me to http://crazynation.org/N64/n64_cart_info.htm . is there any other good place to find stuff like this? even a forum is good, but all the forums i found are filled with posts like "name your favorite games!" and "name your favorite games again!" (kinda reminds me of this forum... :roll:)
Image

"Linux is only free if your time is worthless"
gannon
Moderator
Posts: 6974
Joined: Sun Apr 04, 2004 4:48 pm
Location: Near that one big lake
Contact:

Post by gannon »

What more do you need? A look at the page given seems to give just about all the info needed if you couple it with the basics of memory reading with data/address lines.
timmeh87
Senior Member
Posts: 3047
Joined: Mon Nov 14, 2005 10:19 pm
Location: Ontario, Canada

Post by timmeh87 »

yeah i guess it looks like that at first. but my goal is to write code to dump roms of n64 games, and its definitely going to involve some trial+error, as well as some scoping if this is all i have to go on.

for instance, i might be able to figure out how to read a word, but what memory range can i expect to find rom data in? wheres the battery-backed ram etc.

the information itself is a bit ambiguous... the cart pinout has two pins labeled /READ, and on the timing diagrams its called READ. so is that the inverse? or is it just inconsistently labeled...

or where it says the upper 16 bits are 0x10xx which dosent make sense to me either...shouldn't that say 0x1xxxx?

it would just help me a lot to have some paragraphs of explanation to supplement these graphs
Image

"Linux is only free if your time is worthless"
gannon
Moderator
Posts: 6974
Joined: Sun Apr 04, 2004 4:48 pm
Location: Near that one big lake
Contact:

Post by gannon »

As for dumping, the original guide gives some important info. Like:
The first word read is in the cart header address 0 [0x80371240] which sets the bus speed for subsequent cart access.
byte 0:device latency
byte 1:release
byte 2: pulse width
byte 3:page size
Edit: also, google gives http://n64.icequake.net/
timmeh87
Senior Member
Posts: 3047
Joined: Mon Nov 14, 2005 10:19 pm
Location: Ontario, Canada

Post by timmeh87 »

been to icequake, not much actually there. some technical docs were taken down at the request of NOA. a lot of links are dead.

i think the thing about latency is used by the cart to set up the system hardware. in which case, it dosent really matter to me that much.

and once again, it only gives half the information. latency measured in what units?
Image

"Linux is only free if your time is worthless"
gannon
Moderator
Posts: 6974
Joined: Sun Apr 04, 2004 4:48 pm
Location: Near that one big lake
Contact:

Post by gannon »

I figured you'd be more interested in page size. Also, latency is usually in uS, isn't it?
Krepticor
Senior Member
Posts: 1567
Joined: Sun Jan 01, 2006 8:06 pm
Location: Shadow Hearts

Post by Krepticor »

what do you really want to do besides dumping? You wanna make a flash cart? or something?
I refuse to dignify myself with an intelligent and witty signature
timmeh87
Senior Member
Posts: 3047
Joined: Mon Nov 14, 2005 10:19 pm
Location: Ontario, Canada

Post by timmeh87 »

it could be uS or it could be nS. or it could just be via a LuT for all i really know.

eventually i want to make a flash cart. i also just want to expand my knowledge of computer hardware, because thats what i'm taking in school. (also: apply what i have learned so far)

maybe ill even dabble in developing some code, if i have a way to run it on the hardware (emus are no fun). not even to make a game. just something cool or useful.... maybe i could even hack some serial data over the controller ports. that would be neat.
Image

"Linux is only free if your time is worthless"
marshallh
Moderator
Posts: 2987
Joined: Sat Sep 10, 2005 2:17 pm
360 GamerTag: marshallh
Location: here and there
Contact:

Post by marshallh »

http://n64.icequake.net/mirror/

The real gold in Ryan's site are the mirrors.

http://n64.icequake.net/mirror/valeryia ... ackup.html
Read the DOCs first. They explain the n64 bus protocol.

Also, look at the schematic for the flash cart. That explains a lot of it.

I have the NOA tech docs, they don't really explain the low-level workings because programmers don't need to know it. So those aren't much help.
I just got my PIC16LF877s in the mail yesterday so I'm starting to cobble together a cart dumper :P
Image
Krepticor
Senior Member
Posts: 1567
Joined: Sun Jan 01, 2006 8:06 pm
Location: Shadow Hearts

Post by Krepticor »

hey that second link looks interesting I may give it a read

Marshallh where is a good site for some back reading I really do not have that much knowledge in programming could you direct me to something else before I do tackle that read?
I refuse to dignify myself with an intelligent and witty signature
Sparkfist
Forum Administrator
Posts: 6754
Joined: Tue Apr 20, 2004 7:12 am
Location: Michigan

Post by Sparkfist »

This really belongs in the N64 forum.

Moving...
vskid wrote:Nerd = likes school, does all their homework, dies if they don't get 100% on every assignment
Geek = likes technology, dies if the power goes out and his UPS dies too

I am a geek.
Post Reply