Hello there! Can anyone please be so kind to tip me on a good
NES backup-system and/or where I can (safely) buy one?
I just changed the connector on my good ol' NES and thought
that it would be nice to write something for it as well.
dr sloppy wrote:
Hello there! Can anyone please be so kind to tip me on a good
NES backup-system and/or where I can (safely) buy one?
I just changed the connector on my good ol' NES and thought
that it would be nice to write something for it as well.
There is currently no backup system, copier, or dev kit for the NES. However, there are 4 projects in the works, one of them is already finished actually, but it is only for music and sound effects development. Your best bet for the near future is the Squeedo flash cart. The main limitation of making a copier for the NES is the fact that there are 100s of different circuit boards for different games. Hence there is less of a distinction between software and hardware than we are used to these days. So in order to recreate a game, you need more than a NES and the game ROM(s), you also need the cart's circuitry. One project listed below is doing just that for every circuit!
1. Squeedo: A NES flash cart made by the admin (Memblers) of the NESDev site and these forums. It should be available for sale later this year. It will support a few of the official Nintendo mappers such as UNROM and CNROM. The Squeedo also has a very powerful co-processor that can be used alongside the NES's CPU for whatever you can imagine.
More info here.
2. MIDINES: A NES cart for audio developers. It lets you use your NES as a musical insturament via the standard MIDI cable. Probably not what you are looking for, unless you are really into NES music and sound effects.
More info here. You can sometimes find them on Ebay too.
3. NES Maxicart: Not anywhere near being completed, AFAIK. I am not sure how many official mappers it will support, but I think it will support more mappers than the Squeedo cart.
More info and even some pictures of the cart are in this forum.
4. Kevtendo: This is probably the coolest of the bunch. It is a pixel-perfect cycle accurate clone of the NES and all of its hundreds of mappers. The project started out as a universal flash cart for the NES and morphed into a complete clone of the NES system. It will be able to use official NES peripherials such as lightguns, controllers, R.O.B., Power Glove (so cool), etc... and it plays games off of small standard SD flash cards.
More info here.
Aww..
Thank you for the information, Jagasian! It was quite
illuminating and interesting all-in-all.
I made a little list of the mappers:
TOTAL MAPPERS:
-----------------------
483 Nintendo MMC1
438 Nintendo MMC3
178 UNROM
155 No Mapper
130 CNROM
39 Color Dreams
38 AOROM
35 Unknown
30 Namcot 106
26 Bandai
21 Nintendo MMC5
17 74161/32
15 Jaleco SS8806
14 GNROM
13 Nina-3 (AVE)
11 Taito TC0190
11 Camerica
10 Konami VRC2
9 Sunsoft Mapper 5
7 Taito X-005
6 Konami VRC4
6 Jaleco SS8805
6 IQS MMC3
5 Irem G-101
4 Sunsoft Mapper 4
4 SACHEN TC-005
4 Namco 118
4 Irem H-3001
4 HK-TK2
4 Codemasters BF9096
3 Tengen
3 Taito X1-17
3 Nintendo MMC4
3 Nina-1
3 Konami VRC6
3 KOF96, SFZ2'97
3 Jaleco Mapper 2
3 Active Enterprises
2 TQROM
2 Sunsoft Mapper 3
2 PC-Cony
2 PC-Asder
2 Nintendo MMC2
2 Konami VRC7
2 Jaleco Mapper 1
2 Jaleco Mapper 0
2 Irem 74HC161/32
2 HK-SF3
1 Videomation
1 Taiwan Number 1
1 Taiwan MMC3
1 Sunsoft Early Mapper
1 PC-CartSaint
1 Namco 109
1 Namco 1
1 Mario Baby (bootleg)
1 Konami VRC3
1 Irem Mapper 0
1 Irem 74161/32
1 Future Media
1 FC-001EMC
1 Caltron/Myriad 6 in 1
1 AVE NINA-07
1 Aladdin
1 58-in-1
1 22-in-1/Contra
1 110-in-1 cart
1 100-in-1
As you can see, if you can mimic MMC1, MMC3, UNROM, NROM, and CNROM, you can play the majority of NES games. Of course there are games that use specific mappers that I need to play. (Punch-Out, Akumajo Densetsu, and all the FDS games).
drk421 wrote:
As you can see, if you can mimic MMC1, MMC3, UNROM, NROM, and CNROM, you can play the majority of NES games.
Camerica can probably piggyback as a variant of UNROM, and NROM is the special case of CNROM with the upper CHR address lines not connected to anything.
Jagasian wrote:
It will support a few of the official Nintendo mappers such as UNROM and CNROM.
Note that for Squeedo, it's normal way of operating would be similar enough in some cases, but not all them. It's the other way around unfortunately, the game would have to be compatible with Squeedo, heh (4-screen mode).
I should mention that I am working on a "universal" dev cart that uses an FPGA to implement any mapper necessary. I was planning on testing the idea by implementing the top 3 or 4 listed above, but adding others should be easy with the current knowledge of the mapper hardware. I don't really have anything done but the high-level design, but I did order the development board. I would think that in a couple of weeks I will have a proof of concept mapperless cart. If everything pans out, I'll make sure I post the info in these forums. If anyone has schematics of mappers, or even better vhdl or verilog implementations they want to share it would certainly help!
Would register level specs suffice?
Kevin Horton's site has those.
thanks tepples, that's about as good as it comes. Converting that info into a schematic is pretty easy, just need a good way to verify the design. I think I can probably test the mappers independently of everything else, which will help give me confidence it will work when I put it all together. I'll just remove the MMC chip from some cart, wire in my test implementation from the FPGA and plug it into the NES. I just have to pick a game that uses most of the functionality of the MMC, because I don't want to have to do that too many times!
I would love to see the device that can emulate some of the advanced sound chips in the Japanese games. The Namco 106 and Konami VRC7 chips are awfully advanced, you may need add-in sockets for them. (We can use FDS loader for Famicom Disk System games.)
I wonder if you can't just stick like a Z80 or something in the cart, and have it emulate mappers?
Anonymous wrote:
I wonder if you can't just stick like a Z80 or something in the cart, and have it emulate mappers?
Any CPU would be too slow. Mappers don't have much time to work with (think 10's of nanoseconds). So everything has to be done in parallel.
teaguecl wrote:
I should mention that I am working on a "universal" dev cart that uses an FPGA to implement any mapper necessary. I was planning on testing the idea by implementing the top 3 or 4 listed above, but adding others should be easy with the current knowledge of the mapper hardware. I don't really have anything done but the high-level design, but I did order the development board. I would think that in a couple of weeks I will have a proof of concept mapperless cart. If everything pans out, I'll make sure I post the info in these forums. If anyone has schematics of mappers, or even better vhdl or verilog implementations they want to share it would certainly help!
You found a 5V TTL outputting modern FPGA?
kyuusaku wrote:
You found a 5V TTL outputting modern FPGA?
No, there doesn't seem to be such an animal. Most FPGA's I looked at claimed to be "5V compliant", which is a bit of a disappointment. You need to be above 2.7V for a 5V TTL signal to be considered "high". This means using a 3.0V output pin from the FPGA you can drive a 5V TTL input on your old hardware. However, this doesn't work the other way. Driving 5V into a 3.0V input is a fantastic way to make your apartment smell like burnt plastic. So I'm using some bus level shifters to do it all, about 80 channels worth of it.
BTW, what's the part # of the level shifter you use? I've looked at some TI ones that seem pretty decent and reasonably priced, I forgot the part # though.
I'm using several of the Phillips CBTD16211 level shifters. They're a little pricey, but I get lots of channels in a single chip.
Ah, nice. 24 channels sounds pretty good, though it looks like the inputs and outputs are seperate.
I am an electronics engineer student and I'm also developing a flashcart for NES.
Hardware:
Xilinx XC95144 CPLD chip
512 KB PRG FLASH
32 KB PRG RAM (Battery backed with DS1210)
512 KB CHR FLASH
32 KB CHR RAM
It should run commercial carts.
I believe MMC5 is impossible to do with that chip, but almost any other mapper is (including MMC3 that I have done already and fills about 70% of the chip).
The flashing software will read UNIF ROM files.
(NES files should be converted to UNIF using UCON64 first)
Flash and mapper programming will be done thru a simple parallel port cable, no external cart programming device needed.
I'll get the prototype PCB in the mail next week and I'll put up the whole thing together and let u know if it works.
Later (in september, I think) I'll have PCB's available for sale (for around 20 EUR shipped) for people who want to build one and by then I have several mappers finished. The only bitchy thing is the CPLD chip in a Quad Flat Package that is quite hard to solder, but not impossible.
Xilinx, Digikey and Elfa in sweden sell those CPLD chips at least.
I'll post a link to my webpage later.
The first guy to build a NES flash cart that supports the popular mappers will easily be able to sell them, even in kit form.
Anonymous wrote:
I am an electronics engineer student and I'm also developing a flashcart for NES.
Cool! MMC3 flash cart would be teh win.
Quote:
Hardware:
Xilinx XC95144 CPLD chip
512 KB PRG FLASH
32 KB PRG RAM (Battery backed with DS1210)
512 KB CHR FLASH
32 KB CHR RAM
What kind of lockout defeat? Or will it require me to open my frontloader and cut pin 4? Will it be available in both 60 and 72 pin versions for those who own a Famicom or Dendy system?
Quote:
Flash and mapper programming will be done thru a simple parallel port cable, no external cart programming device needed.
Will the PC-side software be free software, or will it be proprietary?
Quote:
Later (in september, I think) I'll have PCB's available for sale (for around 20 EUR shipped) for people who want to build one and by then I have several mappers finished.
Will you also sell fully assembled pieces the way
dspassme.com does?
Sounds great. I'd almost certainly order a PCB of that. BTW man, register a name on the forum! We don't spam your email here, heheh.
How does the CPLD get reconfigured? Through the same parallel cable, or a seperate JTAG cable or what?
I haven't tried any Xilinx design tools yet.
Quote:
What kind of lockout defeat? Or will it require me to open my frontloader and cut pin 4? Will it be available in both 60 and 72 pin versions for those who own a Famicom or Dendy system?
No lockout defeat at all.. so it will require you to cut the pin 4 .. or get a lockout chip from some useless game/machine. The PCB had no room for a lockout chip so you'd need to wire wrap the chip to the pins
I might consider doing a Famicom version... though I think an adapter would be a better choice.
Quote:
Will the PC-side software be free software, or will it be proprietary?
Free software, with source.
Quote:
Will you also sell fully assembled pieces the way dspassme.com does?
Depends on the demand. I don't have much free time or money to buy the expensive components for several carts.
Quote:
How does the CPLD get reconfigured? Through the same parallel cable, or a seperate JTAG cable or what?
The CPLD gets reconfigured thru the JTAG port. The ROM-chips are also flashed thru the JTAG port, by forcing the CPLD chip to EXTEST mode (can control the outputs freely). The problem is the parallel port is so slow that it takes now an hour to transfer a 512KB game now. I'm thinking about a PIC cable that'd make things faster.
artoh wrote:
Quote:
What kind of lockout defeat? Or will it require me to open my frontloader and cut pin 4? Will it be available in both 60 and 72 pin versions for those who own a Famicom or Dendy system?
No lockout defeat at all.. so it will require you to cut the pin 4 .. or get a lockout chip from some useless game/machine. The PCB had no room for a lockout chip so you'd need to wire wrap the chip to the pins
I might consider doing a Famicom version... though I think an adapter would be a better choice.
How big is the PCB? You couldn't find enough space for solder holes on a full sized NES cart PCB? In my opinion, it is only complete if it runs in an un-modded NES
Quote:
Quote:
Will you also sell fully assembled pieces the way dspassme.com does?
Depends on the demand. I don't have much free time or money to buy the expensive components for several carts.
There will be plenty of demand for a fully assembled NES flash cart with a CPLD capable supporting most commercial mappers. If you can do MMC3, then all of the other _popular_ mappers are a piece of cake, right? It would be the first of its kind!
Quote:
Quote:
How does the CPLD get reconfigured? Through the same parallel cable, or a seperate JTAG cable or what?
The CPLD gets reconfigured thru the JTAG port. The ROM-chips are also flashed thru the JTAG port, by forcing the CPLD chip to EXTEST mode (can control the outputs freely). The problem is the parallel port is so slow that it takes now an hour to transfer a 512KB game now. I'm thinking about a PIC cable that'd make things faster.
A PIC controlled MMC/SD flash card slot would be even more ideal. You'd get good loading speed, and people wouldn't have to tether their cart to transfer games. Also, you could switch to using volitile RAMs instead of flash, since MMC flash is used as non-volitile storage.
If you can get MMC1, MMC3, UNROM and CNROM going, that's about 75% of all NES games.
Jagasian wrote:
How big is the PCB? You couldn't find enough space for solder holes on a full sized NES cart PCB? In my opinion, it is only complete if it runs in an un-modded NES
Something with no lockout defeat would run in an unmodified toploader. Or are you claiming that something is only complete if somebody has taken a micro-X-ray of the lockout chip, transcribed its program, and created a lockout chip in some of the CPLD cells?
Quote:
There will be plenty of demand for a fully assembled NES flash cart with a CPLD capable supporting most commercial mappers. If you can do MMC3, then all of the other _popular_ mappers are a piece of cake, right?
Even
Sunsoft's FME-7 used in
Batman: Return of the Joker and several (J) titles?
Quote:
A PIC controlled MMC/SD flash card slot would be even more ideal. You'd get good loading speed
But then you'd get connectors that wear down quickly as you take the card back and forth between the NES and the PC, and you'd run the risk of corrupting the card's file system when you write the contents of battery-backed SRAM out to the card unless you do rigorous validation of your FAT16 and FAT32 code. Is it even possible to fit working FAT16 and FAT32 drivers with VFAT into a PIC's ROM?
Quote:
How big is the PCB? You couldn't find enough space for solder holes on a full sized NES cart PCB? In my opinion, it is only complete if it runs in an un-modded NES
The PCB is around 80x100mm and it's quite full packed already. There are so many NES consoles in the world that people could always get another one if they want to keep an unmodified console
Quote:
A PIC controlled MMC/SD flash card slot would be even more ideal. You'd get good loading speed, and people wouldn't have to tether their cart to transfer games. Also, you could switch to using volitile RAMs instead of flash, since MMC flash is used as non-volitile storage.
That would be too complex
.. And using a PIC always involves CODING and that is something I deeply hate. I'll try to keep the device simple.
Now you could leave the cart in the console, just plug in the cable and load a new game.
Quote:
Even Sunsoft's FME-7 used in Batman: Return of the Joker and several (J) titles?
Might be possible.. I'll have to check it out.. it doesn't have that much registers over MMC3.. The sound wouldn't be simulated, though.
Maybe even a limited MMC5 would be possible (a one that could run Castlevania 3)
Right now I am discussing with myropcb... that would be a cheap place to get the final PCBs.. I can sell them for less price than the 20 EUR. And you can get the cool blue solder resist + golden connectors... Thank you, memblers
Maybe I could make a few fully assemblied units (like 5 pieces) and see if people buy them.. After that I could make more..
If you can stick 6 fat vias on the left edge of the NES board (say holes for 0.1 in spaced pins), then someone can run wires to a CIC chip hanging loose or on a piece of perf (or PCB if you take it out of a MHROM cart) in the top half of the case. You need a case to put your cart in, and why not make it a crappy sports game or a really common game and rip the CIC out while you're at it. The lockout defeats aren't particularly complex (feed it -5V, either continously, or in short pulses under game control), but they aren't particularly good either, and can damage toploaders.
Tepples: Working FAT32 drivers aren't that big, although they are a pain to write in asm, and 'connectors that wear down', won't wear down any faster than a camera with a socket or the socket in your PC reader.
Jagsian, quite apart from the added complexity, you still need a boot ROM, unless he's got bus switches to isolate the NES from the cart while the RAM gets stuffed via jtag, and the user then resets the console (stupid nintendo and their stupid lack of /reset on the card edge, and while we're at it, lack of audio in/out, 2.5 mm instead of 2.54 mm pitch, and 0.047 instead of 0.062 board thickness, grr).
109/MIMIC-1, FME-7, RAMBO-1, and MMC3 are all of similar complexity. You need more register bits and irq bits for FME7 and rambo (well, in a different fusemap, you can use the latch as the top half of the counter instead), but if you can do one, you should probably be able to get them all (although perhaps not at the same time, with the additional mode bits and convoluted low CHR banking logic). I can't fit MMC3 along with MMC1/discretes though, MMC3 barely fits on it's own into a 128 (although I don't have the A12 timeout/deglitching stuff done yet, but perhaps the external cap is enough), while all the rest fits happily into a 64 (which is what I'm using for now).
What about some Konami VRC? One of them has like 24 registers, of course all far more rudimentary than a MMC3 register but twenty-freaking-four of them, that seems a little out of a CPLD's scope.
Due to the thing being CPLD based, I think PC configuration is the right way to go.
Anonymous wrote:
'connectors that wear down', won't wear down any faster than a camera with a socket or the socket in your PC reader.
Cameras might be unloaded once or twice a day. A new build might be loaded once every five minutes during a 4 hour development session.
I should clarify. By popular mappers, I mean the most used mappers, such as UNROM, CNROM, MMC1, and a few others.
Some progress...
Here is a picture of NES FunkyFlashCart prototype
http://img173.imageshack.us/img173/7741/device5hv.jpg
I just got it to run super mario bros 3....
The code works fine but the graphics are garbled... there is some odd problem with the CHR side..
Cool, looks very nice!
What is that huge thing? A cap, a battery? Also, what is that little socket for? A lockout chip? It looks like there is plenty of room for lockout chip holes, especially if you increase the size of the PCB. That way people could solder in their own lockout chip if they wanted. I'd say, start selling PCBs, construction directions, and the CPLD code the second you get MMC3 support working. I can't wait to play with such a device! For many people MMC3 support with future support for other mappers would be enough to buy a PCB immediately.
Also, how do you do that surface mount soldering of the CPLD?
Quote:
What is that huge thing? A cap, a battery? Also, what is that little socket for? A lockout chip? It looks like there is plenty of room for lockout chip holes, especially if you increase the size of the PCB. That way people could solder in their own lockout chip if they wanted. I'd say, start selling PCBs, construction directions, and the CLPD code the second you get MMC3 support working. I can't wait to play with such a device! For many people MMC3 support with future support for other mappers would be enough to buy a PCB immediately.
The huge thing is a 100V 100uF cap... Couldn't find a physically smaller from my junkbox... The little socket is for DS1210 chip that handles the battery backup. The final PCB will have solder pads for a lockout chip if someone wants to wire-wrap one. The graphics work now 100%... IRQs still have some probs.
teaguecl wrote:
thanks tepples, that's about as good as it comes. Converting that info into a <B style="color:black;background-color:#A0FFFF">schematic</B> is pretty easy, just need a good way to verify the design. I think I can probably test the mappers independently of everything else, which will help give me confidence it will work when I put it all together. I'll just remove the MMC chip from some cart, wire in my test implementation from the FPGA and plug it into the NES. I just have to pick a game that uses most of the functionality of the MMC, because I don't want to have to do that too many times!
What kind of battery does the NV-SRAM use? Might I suggest designing the PCB with a coin holder in mind? Motherboards do it and I typically don't keep them around long enough to change the battery... but my NES carts... they are kept long enough that battery replacement is necessary.
Is game transfer still really slow? Would you consider selling pre-built kits? You could make more money if you could get price breaks on the ICs... and you could obviously charge for the difficulty of soldering that CPLD.
Looks like it has a spot for a coin holder, just not installed.