Replace N64 cartridges by another system

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

Moderator: Moderators

Gemelo
Posts: 11
Joined: Sun Jun 28, 2009 12:17 pm
Location: France

Re: Replace N64 cartridges by another system

Post by Gemelo »

Informations about N64 cartridges (http://en.wikipedia.org/wiki/Nintendo_64):

Nintendo 64 games were ROM cartridge based. Cartridge size varied[56] from 4 MB (32 Mbit) (e.g. Automobili Lamborghini and Dr. Mario
64) to 64 MB (512 Mbit) for Resident Evil 2 and Conker's Bad Fur Day. Some of the cartridges included internal EEPROM or
battery-backed-up RAM for saved game storage. Otherwise, game saves were put onto a separate memory card, marketed by Nintendo
as a Controller Pak.

Image
______________________________
Thank you for reading my post! :)

In a friendly manner!
Gemelo ;)
______________________________
blaze3927
Portablizer
Posts: 1114
Joined: Mon Dec 08, 2008 6:14 am
360 GamerTag: notjames
Location: Australia
Contact:

Re: Replace N64 cartridges by another system

Post by blaze3927 »

well the best of luck to you indeed, i hope you manage to pull it off
Australian Kaillera server
[url]hhttp://i56.tinypic.com/ncb0wi.gif[/url]
Gemelo
Posts: 11
Joined: Sun Jun 28, 2009 12:17 pm
Location: France

Re: Replace N64 cartridges by another system

Post by Gemelo »

blaze3927 wrote:well the best of luck to you indeed, i hope you manage to pull it off
Thank you, blaze3927 ! :D
______________________________
Thank you for reading my post! :)

In a friendly manner!
Gemelo ;)
______________________________
stuntpenguin007
Posts: 667
Joined: Sun Apr 27, 2008 12:21 pm

Re: Replace N64 cartridges by another system

Post by stuntpenguin007 »

the guy that made this is coming out with one for the n64 and other systems I think.
http://www.joystiq.com/2009/06/21/usb-s ... -pc-clean/" onclick="window.open(this.href);return false;

With modified firmware maybe it could be sort of reversed to read a usb drive as a cartridge.
although aren't flash drives nand based? so that wouldn't work if they are.
SNESP WIP
Case - 50%
acquired parts - 90%
assembly - 0%
Gemelo
Posts: 11
Joined: Sun Jun 28, 2009 12:17 pm
Location: France

Re: Replace N64 cartridges by another system

Post by Gemelo »

Ive seen today a project called USBPROG that permits us to program nor flash memory like AT49BV642D.
I think i will use this flash memory to insert a n64 game (the maximum size of the game will be 64mbit).

USBPROG project: http://www.openocd.de/index.php?page_id=236

Therefore, i think i can use the homemade cartridge and his programmer of Valerya to insert the n64 game into the AT49BV642D (U7 and/or U8
in Cartridge schematic).
-> Cartridge schematic: http://n64.icequake.net/mirror/valeryia/MyCart.gif

-> Cartridge prog schematic: http://n64.icequake.net/mirror/valeryia/MyCartProg.gif
But where i connect DB15F in this schematic ?
What component can replace AT90S4414 because it does not exist ?

-> Source of Cartridge programmer: http://n64.icequake.net/mirror/valeryia/MyCartProg.zip

What do you think?
Otherwise, are there other methods to program a nor flash memory?



EDIT:
I've found a solution maybe. I've read that interfacing Flash memory is like that interfacing SRAM.
http://www.eeherald.com/section/design- ... mod16.html
Flash Memory Interfacing:

Flash memory interface is same as SRAM interface, except that the flash memory requires a 12V/5V programming voltage to erase and write new data.
And thus, i will try to do the same thing that this man has doing in the goal to program my nor flash memory: http://dev.frozeneskimo.com/embedded_pr ... allel_sram
______________________________
Thank you for reading my post! :)

In a friendly manner!
Gemelo ;)
______________________________
marshallh
Moderator
Posts: 2987
Joined: Sat Sep 10, 2005 2:17 pm
360 GamerTag: marshallh
Location: here and there
Contact:

Re: Replace N64 cartridges by another system

Post by marshallh »

1.The MyCart interface is pretty neat, its only limitations are that you need an external programmer, programming takes a very long time, and you are very limited with space.

2. The microcontroller used in the programmer is long obsolete. The Atmel AVR AT90S8515 is a drop-in replacement.

3. The DB15 is actually a DB9 serial port.

4. Valeriya used 16mbit flash ROMs in the original design. I found that an AT49BV163A is an identical replacement. However, you can use an ST M29W640FB (64-mbit).

5. The board is much easier to make if you only put one flash chip on it.

6. SRAM is read/written much like a normal EEPROM. Flash ROM is different, for example I used an old PC bios chip to hold Atari games. It was 128KB I think. To write, you had write 256 bytes at a time, and send some commands. Reading was very simple, same as an eeprom. This holds true for all Flash ROM. (They are 0x5555 and 0xAAA, or something like that)
Image
Gemelo
Posts: 11
Joined: Sun Jun 28, 2009 12:17 pm
Location: France

Re: Replace N64 cartridges by another system

Post by Gemelo »

Thank you, marshallh! :)

Indeed, I find in the datasheet of AT49BV642D this table and the method to program this flash memory.
Can i use an atmega to program this flash memory as has done this man for his SRAM (http://dev.frozeneskimo.com/embedded_pr ... allel_sram)?

Table:
Image

Method:
Image
______________________________
Thank you for reading my post! :)

In a friendly manner!
Gemelo ;)
______________________________
marshallh
Moderator
Posts: 2987
Joined: Sat Sep 10, 2005 2:17 pm
360 GamerTag: marshallh
Location: here and there
Contact:

Re: Replace N64 cartridges by another system

Post by marshallh »

Yes, it will be similar, but the AT49 flash chip you mentioned only operates in 16-bit mode. This means you need fewer address lines, but you need 16 data lines instead of just 8 (the SRAM example has 8 )

The ATmega32 would work, except it doesn't have enough I/O pins to drive all the address and data pins of the Flash ROM.


For FlashROM you need to write some commands before you write a block.
For example, my code was

Code: Select all

// write to ROM
		writeROMByte(0xAA, 0x5555);
		writeROMByte(0x55, 0x2AAA);
		writeROMByte(0xA0, 0x5555);
		writeROMByte('p', 0);
		writeROMByte('a', 1);
		writeROMByte('g', 2);
		writeROMByte('e', 3);
		writeROMByte('d', 4);
		writeROMByte('1', 5);
		writeROMByte('u', 6);
		writeROMByte('p', 7);
Now back to your problem.
If you look at the AT49BV642d datasheet, it has 22 address lines, and 16 I/O lines. You only have 24 I/O lines available on the ATmega.

For the address lines, you will only be outputting to them with the microcontroller. So, you can use a shift register.
http://www.allaboutcircuits.com/vol_4/chpt_12/4.html" onclick="window.open(this.href);return false;

Try this one: http://www.fairchildsemi.com/ds/74/74VHC164.pdf" onclick="window.open(this.href);return false;

You have 22 address lines, so you need 3 of these chips. Tie the B input high and only use the A input. Connect all three A inputs together. This goes to an I/O on your ATmega. Now use three more I/O for the CP inputs.

So now you have 22 address lines reduced to 4 I/O. That will work fine :) Now you have to modify the source code to work with this arrangement. But it is possible.
Image
Gemelo
Posts: 11
Joined: Sun Jun 28, 2009 12:17 pm
Location: France

Re: Replace N64 cartridges by another system

Post by Gemelo »

Thank you for your explanations, marshallh ! :)
I will try this. :wink:

I have some questions:
-> Is it important the placement of the boot sector in flash memory?
-> in flash memory like AT49 flash, must i change the adress to read the other datas? for example, i would like to read datas
from adress 0x000 to 0x100.
Because when i power on N64 console, N64 sends 0x1000 and 0x0000 in the goal to read the first datas of the rom. But when
it reads the roms, it doesn't change adress because AD bus becomes datas for the N64.
Here is an example with a pic found in YAN64BU Website:
Image

EDIT:
I've seen your project called FLASH64 (http://www.eurasia.nu/wiki/index.php?pa ... 64GameCart).
Solves it the problem of switching between sending adress initialisation by N64 console to the flash memory and reading datas
of the flash memory with the automatic change of adress thanks to IC1 (74192), IC2 (74192), IC3 (74573) and IC4 (74573) ?
Image
______________________________
Thank you for reading my post! :)

In a friendly manner!
Gemelo ;)
______________________________
Gemelo
Posts: 11
Joined: Sun Jun 28, 2009 12:17 pm
Location: France

Re: Replace N64 cartridges by another system

Post by Gemelo »

For the memory flash, i will use the Spansion - S29GL032A90FFIR20 ;):

Spansion - S29GL032A90FFIR20
Memory capacity: 32 Mbits
Organisation: 4Mx8/2Mx16
Access time: 90ns
Power supply : +2.7 → +3.6V
Vpp V: +2.7 → +3.6
Sector Size: 8 x 8, 63 x 64 ko
Block boot: Yes

What do you think about this choice?
______________________________
Thank you for reading my post! :)

In a friendly manner!
Gemelo ;)
______________________________
blaze3927
Portablizer
Posts: 1114
Joined: Mon Dec 08, 2008 6:14 am
360 GamerTag: notjames
Location: Australia
Contact:

Re: Replace N64 cartridges by another system

Post by blaze3927 »

will 32 Mbits be enough?
Australian Kaillera server
[url]hhttp://i56.tinypic.com/ncb0wi.gif[/url]
marshallh
Moderator
Posts: 2987
Joined: Sat Sep 10, 2005 2:17 pm
360 GamerTag: marshallh
Location: here and there
Contact:

Re: Replace N64 cartridges by another system

Post by marshallh »

That is a discontinued part. Use S29GL064N (this one is 64mbit)


The FLash64 schematic is simply a re-drawing of Valeriya's MyCart. It was one of the first schematics I ever drew and you should avoid it (I can spot a few errors right now...)
Image
marceloespunyti
Posts: 25
Joined: Fri Jun 19, 2009 1:34 am

Re: Replace N64 cartridges by another system

Post by marceloespunyti »

Uhmmm.. Cool

Im think that if someone could make some project (easy to my and other dumbs) we can make something special :D

Like..

Imagine u buy a old cartridge and modifie to send the "rom" file to this cartridge by USB.. so the progress is just put the "rom", plug the cartridge on n64 and play..
evilteddy
Portablizer
Posts: 423
Joined: Tue Mar 25, 2008 2:11 am
360 GamerTag: Kirren of Smeg
Steam ID: kizzinator
Location: Newcastle, Australia

Re: Replace N64 cartridges by another system

Post by evilteddy »

To make it short and sweet it's not going to work that easily. The concept is not entirely infeasible. I'm pretty sure I read about something very similar involving SNES games but the N64's carts are a whole different kettle of fish. For one you have the many different save types (I think its around 5) that would be incompatible with other games with different save types. Then You have the Lockout Chip that is different for different games. In the end you'd end up needing around 25 different types of carts for the SNES replace rom approach. Finally the 64 doesn't even use a simple eeprom.

Of course I could be completely wrong about what I have said above. If you're looking for an easy solution wait for Neoflash's solution. If you don't want to have to insert a GBA flash cart and another N64 cart at boot then you should probably wait and see if another flash cart (or at least plans) come out that uses, say, CF cards :wink: .

Evilteddy
Knocks
Posts: 10
Joined: Sat Mar 28, 2009 12:29 am

Re: Replace N64 cartridges by another system

Post by Knocks »

Why not just clone the Z64 (and make it smaller)?
Post Reply