View Full Version : N64 Cartridge Pinout
hastypete
Fri 21 May 1999, 03:17
Does anyone know where I can find this information?
Thanks in advance.
thogard
Wed 26 May 1999, 08:53
I haven't found it published anywhere. I
also haven't even found out how the roms work other than they are basicly a ram-bus style device. They bits move too fast for any of the tools I've got.
What it seems like is that there is a serial bus type device that is used for the eeprom and CIC chip while the main rom uses 17 signals to move the bulk of the data around. I'm thinking that 16 bits get put on the bus, by the cpu and then it gets clocked a bunch of times and on each clock, the rom dumps out a 16 bit word. If this is the case then for a 128 bit rom, a single "read" will pull back about 128 double bytes and most likly 256 (so they can expand for bigger roms)
------------------
-tim
web.abnormal.com (http://web.abnormal.com)
Qcoder
Thu 27 May 1999, 21:46
The best documentation I've found is at http://www.cs.earlham.edu/~odo/N64/interface/oscill.html
Unfortunately it isn't totally complete.
_kid
Sat 29 May 1999, 12:14
The N64 cart port is really 2 interfaces in one.
The io subsystem is based around a serial interface (SI) which
controls the EEPROM, the CIC, and the joypads:
the comes in two formats: synchronous (using a clock line and a
bidirectional data line -- this one is used on the cart port) and
asynchronous (just a bidirectional data line).
The synchronous version also has a chip select line for each
peripherial (EEPROM and CIC) the asynchronous one has 4 data lines,
one for each joypad.
The bus to the ROM and SRAM is parallel: it is based
around 20 signals. 16 signals are a 16 bits multiplexed address+data
bus, the other 4 signals are CARD_ALEL (low 16 bits of address latch
enable), CARD_ALEH (hi 16 bits of address latch), CARD_RD (read 16
bits form cart ROM or SRAM) and CARD_WR (write 16 bits to the card
SRAM). To avoid the performance hit of sending the address for every
word, the bus allows for burst-accesses: the address is set, then the
CART_RD (or CART_WR) is clocked several times, reading (or writting) a
number of words.
hastypete
Tue 1 Jun 1999, 15:48
Thanks for the great information.
Thats more than I've been able to glean from any source.
The reason I'm interested is that I would like to make an interface for the Z64 that would work with other platforms. After reading this last information, I'm afraid it might be more work that it's worth. I still want to look into it. It might be better than trying to reinvent the wheel.
I'd like to get the specific pinouts if possible.
Any help is greatly appreciated.
hastypete
Tue 1 Jun 1999, 15:54
I also could really use more specific info on the protocol.
Oh yeah, fries would be nice too http://www.dextrose.com/ubb/wink.gif
Here is a link to my info on an earlier project for PC engine if anyone is as interested in console hardware as myself.
http://www.concentric.net/~Pholley/index3.html
_kid
Wed 2 Jun 1999, 20:50
These informations were obtained initially with the help of another
#n64dev guy: superdoc, who opened and unsoldered 10 carts to see what
changed between the various sizes etc... After that, all you need is a
decend scope with memory and computer interface (now this could sound
advertisement, but I used the Fluke ScopeMeter 99B and worked fine...)
Anyway, tell me something more about your N64 hardware projects, so we
can arrange something.
Moreover, I am going to release these informations to the public
sooner or later (I need to arrange everything in some decent shape...)
hastypete
Thu 3 Jun 1999, 20:31
I don't have your email address.
The project involves using the Z64 as a backup unit for other consoles.
ie,
SNES
NES
PCE
etc.
The idea is to make an interface as cheaply as possible.
This may be considered off topic.
So let's go to email.
thogard
Mon 7 Jun 1999, 10:08
It looks like _kid verified the "psuedo-rambus" concept. Its got a few differences but has the same base concept.
_kid, Do you mind if I put your coments above
on my web site (i'm tring to collect these kinds of details)? its at web.abnormal.com/~thogard/n64/pinout.html
------------------
-tim
web.abnormal.com (http://web.abnormal.com)
_kid
Mon 7 Jun 1999, 21:26
You're welcome to publish it whereever you like.
Besides, due to the multiplexed nature of the address/data bus is
quite difficult to convert it to a straight bus interface... Not to
menntion that the NES had an extremely large amount of different
"mappers" hardwares, that you'd need to emulate...
Valeriya
Thu 17 Jun 1999, 12:14
_kid wrote
>CARD_ALEL (low 16 bits of address latch enable)
>CARD_ALEH (hi 16 bits of address latch)
What is different betwin latch and latch enable?
If nothing to -
-Whay this signals have 3V in one time?
>CARD_RD (read 16 bits form cart ROM or SRAM)
>CARD_WR (write)
BUT!
I saw 3 lines for control of ROM in cartridge.
pin 10 connect to ROM pin 7 and pin 21
pin 33 connect to ROM pin 6
pin 35 connect to rom pin 9
pin 8 no connect I think that is write ( or so )
this pin always has 3V ( Does not writing to cart )
pin 10 has frequece around 2,5mHz period = 400 ns , lenght of 3V = 100 ns.
It line has burst mode
!!!use fix font!!!
pin_10|----___-___-___-___-___-___-___-___-___-___-----
data__|::::x:::x:::x:::x:::x:::x:::x:::x:::x:::x:: :::::
pin 33 has 3V impulse, lenght 250 ns
pin 35 is strange
!!!use fix font!!!
pin_33|____-----________________________________________
pin_35|:::::--__________________________________________
pin_10|----------------___-___-___-___-___-___-___-___--
data__|:::::x:x::::::::x:::x:::x:::x:::x:::x:::x:: :x::::
____________--- adress latch
_______________________---data read
N.B.
_____ is 0V
----- is 3V
::::: is 0V or 3V ( time to time )
char x is front of signals 1 to 0 or 0 to 1 (time to time)
I think :
that pin 10 is /OE or /RD or /DS
It can be CARD_RD
that pin 33 is AS/DS
What is it? CARD_ALEL
that pin 35 is HightAdress/LoAdress
What is it? CARD_ALEH
that pin 8 can be RD/WR
It can be CARD_RD
Who know it better?
Valery
[This message has been edited by Valery (edited 06-17-1999).]
_kid
Thu 17 Jun 1999, 20:22
I see you did your homework really well, valery...
As you have seen pin 33 is CARD_ALEH, pin 35 is CARD_ALEL, pin 10 is
CARD_RD and pin 8 is CARD_WR... Oddly enough the CARD_RD is connected
to 2 points on the ROM and SRAM chips. Once you set up and address via
the address latch lines (both lines are latch enable, i did just miss
hthe "enable" in one of the two) you can read up to 128 words from the
card: to be more precise you can read from the address you did setup
up to xxxxxxfe, as the counter is 7 bits wide.
The ROM chip ignores the state of the bit 0 of the address, that is
reading from 0x10000001 will yeld the same result as reading from
0x10000000.
The SRAM seems to understand an odd address somewhat (or simply gets
completely confused and responds with crap...)
Note that you CAN'T generate an odd address using the N64 PI interface
(or so I was told. the manuals say to not to do that anyway)
What else you need? http://www.dextrose.com/ubb/smile.gif
UvulaBob
Thu 17 Jun 1999, 20:27
Fries?
Where?
Valeriya
Fri 18 Jun 1999, 07:20
_Kid wrote:
What else you need?
In the time diagramm a saw that ALEH and ALEL crossing when set to "H"
Or my scope make a mistake?
time_T------1-----2---3-----
card_aleh|____----------____
card_alel|======----________
data_bus_|======x===x=======
N.B.
1 use fix font!
2 "_" is 0V
3 "-" is 3V
4 "=" is 0V or 3V ( time to time )
5 "x" is front of signals 1 to 0 or 0 to 1 (time to time)
My Quesitons
1. Wny card_alel has ===== diagramm before set to 3v?
2. When data bus has HIGHT and LOW adress (timeT 1, 2 or 3)
3. Pinouts DataBus
!!!! May be
AD0 28 | AD5 37 | AD10 12 | AD15 3
AD1 29 | AD6 40 | AD11 11 |
AD2 30 | AD7 41 | AD12 7 .|
AD3 32 | AD8 16 | AD13 5 .|
AD4 36 | AD9 15 | AD14 4 .|
_kid are You know better?
4. Seriall EEprom
pin19 is Clock 1.6mHz
pin20 Cold Rreset out to N64
pin21 Serial Data in/out
Or so?
Valery
Sorry for my english?
[This message has been edited by Valery (edited 06-29-1999).]
vBulletin v3.6.2, Copyright ©2000-2009, Jelsoft Enterprises Ltd.