The post you guys are thinking back to is The Dumper's. Here's his source: Code: #include <iostream> #include <fstream.h> #define BITSIZE 1*1024*1024 static unsigned char bitsIn[BITSIZE]; static unsigned char bitsOut[BITSIZE]; int main( int argc, char **argv ) { unsigned int addrIn, addrOut; unsigned char c1; if( argc != 3 ) { cout << "Usage: " << argv[0] << " infile outfile" << endl; return 1; } ifstream ifile( argv[1], ios::in | ios::binary | ios::nocreate ); if( ifile.fail() ) { cout << "Error - Input file " << argv[1] << " not found" << endl; return 2; } ofstream ofile( argv[2], ios::trunc|ios::binary ); addrIn = 0; while( ifile.get(c1) ) { if( addrIn >= sizeof(bitsIn) ) { cout << "Error - bits array too small" << endl; break; } bitsIn[addrIn++] = c1; } for( addrIn = 0 ; addrIn < sizeof(bitsIn); addrIn++ ) { addrOut = addrIn; addrOut &= ~0xf0000; // Strip bits 16,17,18,19 // Swap address bits to match Nintendo pinout if( addrIn & 0x10000 ) addrOut |= 0x40000; if( addrIn & 0x20000 ) addrOut |= 0x80000; if( addrIn & 0x40000 ) addrOut |= 0x10000; if( addrIn & 0x80000 ) addrOut |= 0x20000; bitsOut[addrOut] = bitsIn[addrIn]; } for( addrOut = 0 ; addrOut < sizeof(bitsOut); addrOut++ ) { ofile.put( bitsOut[addrOut] ); } ifile.close(); ofile.close(); return 0; } You'll still need to rewire a few lines (I forget which)
From the pinout I saw, I think A16 is also one that would have to be rewired with /OE and A18. And I think that sounds right to me, you have 3 wires to rewire, the rest is straight through. I'm not sure if the "pin raster" or distance between each pin matches the pad distance but if itdid line up, I would imagine you could solder 3 wires to those points, bend up the pins on the EPROM, solder the chip directly to the board and then the wires to the appropriate legs. It'd be neater that way. Swapping address lines around to make it simpler to solder is such a nice idea. Eventually I'll have to try building my own cartridge.
Looking at The Dumper's program it looks like A16 has to be swapped with A18 and A17 with A19. Unfortunately control bits aren't swappable though.
So I'm confused then, is djelaba correct in that /OE and A18 are the only ones you'd have to wire differently than straight through pin to pad?
I think so but compare the pinouts, it's a little hard to describe: http://www.zophar.net/tech/files/snes_cart1.txt http://www.mikeg2.freeserve.co.uk/eprom/27c801.pdf BTW, Siudym has /CE and /OE swapped on the cart connector, but I'm not sure if his pinout does.
Would SF2 work on a DOOM cart? It didn't have battery backup on that cart if mey memory serves me correctly.
SF2 can be done on Doom, which is dirt cheap. But Doom uses regular WRAM, not SRAM, which means you can't add a battery without some major modding I imagine. I think Stunt Race FX is one of the best for it. It only needs a single 8Mbit EPROM so that's not much. Then you just have to solder it all together, maybe put a label on it. Funny enough Barc0de, do an ebay search for Star Fox 2, some guy in the UK was just selling one. It might have ended by now. It's best to do it yourself if you can, you're not that likely to find someone that'll do it for you without a healthy cost for their worksmanship. When I last saw that auction it had plenty of time left and was atleast at 35GBP I think. Ofcourse if you find someone doing SF2 conversions let me know.
A while back, I was reading into overclocking the SFX chip. However, the regular SFX can't be oc'd easily, but you can put SF1 on an SFX2 cart and avoid the slowdown.
You can have a look at http://nintendoallstars.w.interia.pl/romlab/cart2epr.htm A18 on the Eprom (which became A16 thanks to this program), has to be connected on A16 on the MASKROM. OE on the Eprom has to be connected to the OE on the maskrom. So yo just have to switch A18 and OE.
The SuperFX has atleast 3 models. The Mario Chip model used in StarFox, GSU1, and GSU2. All of them have the same instruction set. However I think only GSU1 and GSU2 can run at 21mhz, maybe just GSU2 but I think GSU1 can too. GSU2 can address more ROM space than GSU1 or the Mario Chip. StarFox the original isn't intended to run at 21mhz, and while it looks smoother since more frames are rendered, audio for some stuff won't sync and the game really wasn't intended to be played running that fast. StarFox 2 is intended to have the SFX running at 21mhz. I believe Stunt Race FX/Wild Trax fits the exact specs of StarFox 2 as it runs at 21mhz and has the SRAM required and is backed by a battery. Anyway, you wouldn't want to waste a cart to put StarFox 1 into 21mhz mode. Well, unless it's a Doom cart maybe.
finally someone speaks the truth. theres too much confusion regarding the different super fx revisions. i guess the mario chip can run at 21mhz, but it`s kinda unstable. that was appearently solved by using dedicated crystal oscillators in gsu1 and gsu2 carts instead of the snes` master clock. all the gsu2 adds to the mix is a rom bigger than 8mbit, so stunt race fx is indeed an exact fit for starfox2.
I am stilling trying to fully understand it actually. I know for sure that every SuperFX chip has an external clock of 21.4 MHz (from cart pin 1 or from the crystal on the carts). In SNES developer docs it is also documented how you can switch the internal speed beetween 10.7 MHz and 21.4 MHz speed from software. But is it true that you can set the initial speed to either 10.7 MHz or 21.4 MHz in hardware by using an external pin? The second thing I wonder is if StarFox 2 sets the speed in software, or just run at whatever is the default speed? I seem to remember forum posts indicating that it is important which version of Stunt Race FX that is used, so IF that is true, it is temping to believe the answers to the two questions are Yes and No respectively... WinterGold works perfect for me BTW CF
Yeah, the first revision of the SuperFX1 Chip synchs via the extra pins almost never used on the SNES cart port. Overclocking that chip mwans dodgy results. Revision 2 of SFX1 can be overclocked though, as it does not synch in the same way.
I would imagine it's possible to set the clock speed by software. I also wouldn't be surprised if there was a jumper or something to set the default start clock. And it's very possible the StarFox 2 rom doesn't try to set the 21mhz and just assumes it's the default. It definitely wouldn't be as much fun to play at 10mhz. Winter Gold didn't come out in USA so Stunt Race FX is still the most likely canidate.
Sorry guys for digging up this old thread, though I see some confusion over The Dumper's software. I happen to have a copy of that thread from the cherryroms forum, and just thought I would upload it in case someone is still interested. Grab it - http://www.sendspace.com/file/nvvuwi