Looking for N64 schematics/pinouts

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

Moderator: Moderators

Bigmac
Posts: 59
Joined: Mon Dec 24, 2007 6:38 am

Post by Bigmac »

collinE wrote:
ShockSlayer wrote:
Electric Rain wrote:I would absolutly LOVE to get my hands on the N64 schematic. Then I could re-build it from the ground up, and make a PCB much smaller than the original. :D
*face palm*

30 more pages to read? OH NOEZ!

:P

SS
lulz :lol:
Epic lulz. Thanks SS, you just made my day. :D
palmertech wrote: As several members have told me, "pics or GTFO!".
ShockSlayer
Niblet 64
Posts: 5059
Joined: Thu Jun 29, 2006 12:47 pm
Location: In my inbox.

Post by ShockSlayer »

Bigmac wrote:
collinE wrote:
ShockSlayer wrote:
Electric Rain wrote:I would absolutly LOVE to get my hands on the N64 schematic. Then I could re-build it from the ground up, and make a PCB much smaller than the original. :D
*face palm*

30 more pages to read? OH NOEZ!

:P

SS
lulz :lol:
Epic lulz. Thanks SS, you just made my day. :D
Yeah, but thats why we all love him, he is the only forum member who can write 30 pages of super long posts himself without actually doing the project untill the last 5 pages. But his contribution will be the best evah.

SS
http://twitter.com/ShockSlayer" onclick="window.open(this.href);return false;
OzOnE
Posts: 48
Joined: Tue Dec 16, 2008 7:32 am

Post by OzOnE »

Hi,

This is my first post, so be gentle! I do usually type a lot, but stick with it as I do have a bit of a gift for some of you...

I'd like to start off by saying that although I haven't built any portable consoles yet, I'm definitely an N64 obsessive. You can read some of my other ramblings on the dextrose forum....

http://www.dextrose.com/_forum/showthre ... 497&page=5

As you can see, I spent many YEARS trying to get a hard drive working on the D*ctor V64 and actually succeded recently in getting the damn thing to work. I can now read games directly from a compact-flash card! (You still need to use the V64 though).

In the course of trying to get the V64 stuff working, I collected quite a lot of data on the N64, and recently went as far as figuring out the pinout of the RCP (I'd never seen this pinout anywhere else).

It's not amazingly difficult to find the pinouts of the other main chips. The different sources I used were things like the VR4300 (NEC) product brief for the CPU pinouts. (NEC supposedly made the N64 CPU, and the pinouts have matched perfectly so far)....

http://www.cs.clemson.edu/~mark/R4300i.pdf

The Rambus pinouts.... (again, not exactly the same part number, but pinouts are the same)...

http://www.datasheetcatalog.org/datashe ... 718C50.pdf

...And the cart pinouts can be found on quite a few sites.

The PV Backup site was my main inspiration all those years ago (here's a mirror)...

http://n64.icequake.net/mirror/valeryia ... ackup.html

All I needed then was to figure out how on Earth the video DAC pinout worked. I tried for ages to see if I could create an RGB DAC for the PAL N64, but without success. And then I came across this great site about a year ago....

http://members.optusnet.com.au/eviltim/ ... 64rgb.html

Finally, the mystery of the digital video format was put to rest, and it would actually be quite simple to implement.

The audio DAC stuff is quite standard - the N64 typically uses a BU9480F audio DAC. I also do a lot of audiophile / HiFi stuff, so this is fairly straightforward...

http://pdf.eicom.ru/datasheets/rohm_pdf ... u9480f.pdf

"Where is all this leading?" I hear you ask... Well, I've been browsing the benheck site for a few years and recently saw posts from people asking for the N64 schematics. I already had most of the pinouts at this point, so I figured I might as well go a few steps further....

It's not finished yet, but it only took me about a week to get most of it drawn up (much quicker than I thought it would take). Can you guess what it is yet?....

Image

OzOnE

P.S. As a side note to the video DAC stuff - using an alternative video DAC would mean that pretty much everything could run on 3.3v and the 5v regulator would no longer be needed....

The 12v line seems to only power the 5v reg and the audio amp. The audio "amp" is mainly there to serve as an audio mixer - the cart slot has audio input pins, and this is to mix the N64's main audio output with an external input. eg. for a "karaoke mic" game. I've personally never seen such a game, but I'm guessing they might have one in Japan??
OzOnE
Posts: 48
Joined: Tue Dec 16, 2008 7:32 am

Post by OzOnE »

Oh, btw,

I'm now having fun finding out just how fussy Rambus can be. I tried removing the expansion pack connector from my N64 to do a "proof of concept" and see if I could implement the termination resistors directly on the N64 PCB. So far, it doesn't boot because I'm still using wires to attach the jumper pack (which are too long).

The Rambus system is extremely fussy about the impedance matching between the tracks / pins. The termination resistors in the jumper pack / expansion pack are there to equalize the signals and to stop signal reflections from the end of the bus.

The resistors are also required to "pull up" the Rambus signals - Each chip then "pulls down" the signals when they are operating. This is why the resistors are a necessity - without the resistors, the signals stay at 0 volts!

Another thing the jumper pack does is to feed the main clock signal from the onboard clock generator to the "end of the line". The jumper pack simply routes the clock signal from pin 3 of the expansion slot back to pin 17. Pin 17 on the exp slot supplies the main clock to TXCLK (pin 15) of the onboard Rambus chips.

In the 4MB expansion pack the same thing happens, but the clock signal is also supplied to TXCLK (pin 15) of the expansion pack's own Rambus chip.

So, I now also have the expansion slot pinout and a much better understand of the Rambus weirdness (the pinout has probably been posted elsewhere, but it was a good exercise for me to work out how Rambus works.)

Another revelation that came of this was that the 4MB expansion pack only has one Rambus chip. I also noticed that the newer N64's only have Rambus one chip on the board...

http://www.project-casemod.de/modules/n ... t_id=13111

This obviously means that the chips marked RDRAM18 are the 18Mbit chips, and the RDRAM36 ones are the 36Mbit chips.

What this means is that for people trying to save space in their console mods, it should be possible to fit two 36Mbit chips (from two expansion packs) directly onto the N64 board, then add the termination resistors. This would give the full 8MB memory without the need for the entire expansion pack!

Or, it might be possible to mod an older (two-chip) N64 with one 36Mbit chip to save space.

I'll try to help with any questions, but I'm no expert!

OzOnE.
Kyo
Senior Member
Posts: 2470
Joined: Tue Jan 02, 2007 11:59 am
Location: Germany

Post by Kyo »

Wow... I think you'll fit in perfectly. Now Electric Rain finally found a playmate :P

btw, are you german as well?
OzOnE
Posts: 48
Joined: Tue Dec 16, 2008 7:32 am

Post by OzOnE »

Hi,

Hopefully I might be of some help. This obsession is not exactly healthy though. I've only recently realized how much of my life I've actually spent on this stuff.

A bit of nostalgia goes a long way! Here's a blast from the past that some folks may remember....

http://uk.youtube.com/watch?v=8dYqBQL6jEM&fmt=18

OzOnE.
P.S. I'm English btw. It seems you have to say "British" these days, thanks to the politically-correct madness in this country. :)
marshallh
Moderator
Posts: 2986
Joined: Sat Sep 10, 2005 2:17 pm
360 GamerTag: marshallh
Location: here and there
Contact:

Post by marshallh »

Hey Ozone, nice to see you poking around again :D

Last year Destop also made a lot of progress with drawing up a schematic after I showed him the RDRAM pinouts you found.

Do you have AIM or MSN so I can send you the file? We can bounce some ideas off each other

:P
Image
OzOnE
Posts: 48
Joined: Tue Dec 16, 2008 7:32 am

Post by OzOnE »

OK, good news and bad news....

The good news is - I've removed the two original 18Mbit Rambus chips from my N64 and soldered on two 36Mbit chips from two expansion packs. This has been tested with Turok 2 for the past hour - it detected the extra memory and has been working fine so far!

The bad news is - this unfortunately still requires the use of the jumper pack as I couldn't find a simple way of soldering the termination resistors directly onto the N64 motherboard (believe me, I tried).

At one point, I did try soldering some separate resistors to the relevant pins (where the expansion pack connector used to be), but the N64 wouldn't boot. This is more than likely because I didn't have any 51ohm resistors at the time, only 62 ohms.

So, for the moment, I have the jumper pack soldered directly to the N64 and it only boots if you solder the extra couple of ground pins. I'm sure that using separate resistors would work fine, so I'll get and order some soon.

I've also been checking out some photos of the SGI / Ultra 64 development board... Interestingly, it uses 12 separate termination resistors next to the Rambus chips. These resistors appear to all be 40.2ohms (due to the shorter track lengths and different track design.)

It shouldn't be too difficult to find the correct resistor values for the N64 and it might even work fine with 51 ohms anyway (I'll try it soon).

btw, I'm constantly impressed by the work that goes on in this forum. I'm still reading through some of the builds, but it's very inspiring so far. I might consider building a portable one day, but I personally don't really like the idea of cutting PCBs down. :D

I have been giving a lot of thought to what I could add to the re-designed N64 PCB (once I can sort out the little problems). It would be quite easy to add an FPGA to the board which would allow for all SORTS of tricks. For example, you could add a compact-flash interface to store "you know what"!

Or, seeing that the video DAC protocol has now been found, you could actually add extra video outputs to the N64 so that each player in a multiplayer (split-screen) game like Mario Kart could have their own TV! The FPGA would output a "zoomed-in" version of each quarter of the original image. It might be a bit grainy though.

Another possibility (although extremely unlikely) is that you could even add an extra RCP to the board to create a MEGA-DUAL-64!!
Since I'm designing a new PCB anyway, adding an RCP wouldn't actually be difficult, it's just that implementing it might be almost impossible.

So, the multiple video DAC idea is quite possible to do, but the RCP thing might be a bit of a pipe dream of mine.

Speaking of pipes (ie. plumbers) - there are some very impressive things happening on the Mario 64 hacking scene. They've even started changing the music now! Check out the video clip. lol....

http://jul.rustedlogic.net/thread.php?p ... &r=1#85936

OzOnE.
jjhammerstein
Senior Member
Posts: 1562
Joined: Tue Nov 18, 2008 7:15 pm
Location: Southern CT
Contact:

Post by jjhammerstein »

Wow, I'm so impressed.
I can only understand half of the things that you're saying, but it doesn't even matter.

I think that you should have NO fear of cutting down PCBs.
Even if you mess up, I can't think of a person more qualified to repair it.
GET FREE WOW GOLD SEX VISIT MODRETRO

marshallh
Moderator
Posts: 2986
Joined: Sat Sep 10, 2005 2:17 pm
360 GamerTag: marshallh
Location: here and there
Contact:

Post by marshallh »

Good to hear your experiment worked :) This means that the RAMBUS chips are probed upon startup to report memory size and ID.

And it does seem likely that the termination resistors are depending on trace/wire length. Maybe a different value of resistor can be found to allow for longer wiring?

Did you get the Eagle / Electra files I sent you? MSN gives me an error when I try to view the message I sent.

Marshall
Image
OzOnE
Posts: 48
Joined: Tue Dec 16, 2008 7:32 am

Post by OzOnE »

Hi,

Yes, it seems that they actually implemented a proper Rambus interface instead of a half-lame attempt. I thought at one point that that the N64's with one Rambus chip might have a different RCP revision, but it seems not.

I couldn't get my N64 to boot with just one 36Mbit chip installed, but that could be down to my cart issues (see below). It's more than likely that the termination resistor value needs changing for one chip too.

I haven't received an e-mail yet? I checked again just now (see time of post).
Maybe a different value of resistor can be found to allow for longer wiring?
I never thought about it like that. As long as we use enough ground traces around each signal, I would have thought we could extend the wires to the chip(s) and / or termination resistors. Rambus was used on PC's a few years back as you know (would be cheaper to buy the moon now!), and the overall track lengths through the RAM slots were quite long.

tbh, I think some of my booting issues were also down to the fact that my Goldeneye cart is getting tired, and the pins are worn out. It has caused problems the last few days until I cleaned everything with flux cleaner. The only carts I have left these days is Goldeneye, Turok 2, and a Jap version of Mario 64! (I often used a naughty "backup" unit).

It's nice having the full 8MB on board. If I can get rid of the jumper pack, I might make a modding guide for this. I don't think it will be easy without some good soldering experience and a decent iron. I have a nice Metcal soldering iron, and I used a hot air soldering machine to swap the Rambus chips.

I'm still trying to decipher Mooglyguy's work. It's a shame his great work is held up by contractual issues, so I'm going to attempt to implement some of his changes to the MESS code to see if I can actually learn some more C++.

I'm also going to try and create an N64 in an FPGA design. I wouldn't hold your breath though - I'm not very experienced with this stuff and it might take YEARS to get any proper code running on it. Should be fun to attempt though.

OzOnE.
Kyo
Senior Member
Posts: 2470
Joined: Tue Jan 02, 2007 11:59 am
Location: Germany

Post by Kyo »

very impressive work. Must've been quite some work to solder that, eh?
(I'd love to see some pictures of that, btw, just to see how clean or dirty it is)

Say, what do you do for a living? Just out of curiosity
timmeh87
Senior Member
Posts: 3047
Joined: Mon Nov 14, 2005 10:19 pm
Location: Ontario, Canada

Post by timmeh87 »

OzOnE wrote: I couldn't get my N64 to boot with just one 36Mbit chip installed, but that could be down to my cart issues (see below). It's more than likely that the termination resistor value needs changing for
Follow the traces.... It might look like a straight bus, but there is one trace that sort of "daisy-chains" all the chips together IIRC. Its the one trace that doesnt pass straight under all the chips, but stops at each chip and starts again at a different pin. If you a missing one chip, that path is probably broken.

Its been like two years since I looked at this closely though.
Image

"Linux is only free if your time is worthless"
OzOnE
Posts: 48
Joined: Tue Dec 16, 2008 7:32 am

Post by OzOnE »

Yep, the extra traces are the SIN / SOUT pins. The only signals on the memory bus which are routed differently are the SIN / SOUT pins and the main clock signal. So, I'm not sure why it didn't boot. My Goldeneye cart was more worn out than I first thought, so it was probably due to that.

It's working great with both chips installed now and I had Turok 2 running in high-res mode for about 3 hours yesterday to test everything. The N64 is also slightly overclocked so it has a fan to keep it cool. It never crashed once, so all is fine.

The clock signal only needs to be looped on the expansion port connector (connect pin 3 of exp port to pin 17). The jumper pack and 4MB pack normally does this.

The SIN / SOUT pins are used to initialize each chip in turn. The SIN pin of the first onboard chip (U14 on the UK N64) is tied to 3.3v - the first chip's SOUT pin then goes to the SIN pin of the next chip along (U11).

The SOUT pin of second onboard chip (U11) goes to pin 33 of the exp port connector. With the jumper pack connected, this pin is just left floating. With the 4MB expansion pack plugged in, this SOUT signal connects to the expansion pack's SIN pin.

The official expansion pack only has one Rambus chip. With the two-chip packs, this same SOUT / SIN daisy-chain would happen.

For some reason though, the last SOUT pin of the official pack's chip is grounded, but the jumper pack doesn't ground the onboard chip's SOUT pin?

I'm currently starting (attempting) to modify the "Plasma" MIPS core from opencores.org so that it has the same opcodes as the R4300i. It should be possible to add the RSP vector opcodes to it as well (to create the RSP processor). My VHDL / Verilog knowledge is limited though, so I'll have to learn as I go along (a LONG term project!)

I'm using the MESS N64 source code to try to convert the C++ opcodes to Verilog / VHDL. I'd love just to get a basic RDP core working so I can draw unshaded polygons and display them via a VGA port.

If I can get a new N64 PCB made, I can add an FPGA to it so people can start trying to "emulate" an RCP. This will be on real silicon inside the FPGA though, so it should (in theory) be possible to achieve full speed.

OzOnE.
Mario
Posts: 1383
Joined: Mon Mar 05, 2007 7:20 pm
Location: Sunny California

Post by Mario »

Wow... That is so cool. :)
If you get a working version done, could I possibly buy one from you? You name the price.
Is the amp draw much higher with the 36meg chips? On regular N64s, the amp draw is 1.5A with the jumper pack and 2.0A with the expansion pack.
Post Reply