THE ULTIMATE STARFOX 2 FAQ V0.9 (i hate doing ascii art ;) done by d4s/science d4s.scyence.net d4s[at]scyence.net **************************************************************************************************************************** content overview **************************************************************************************************************************** _ | +_1._ stuff | +_1.1 about this faq | +_1.2 legal stuff | +_1.3 greets | +_2._ general rom information | +_2.1 starfox (early beta) | +_2.2 starfox (beta) | +_2.3 starfox (final beta) | +_2.3.2 starfox (final beta) game information | +_3._ hardware information | +_3.1 super fx (2) general information | +_3.1.2 100 pin gsu-1 custom argonaut/nintendo risc cpu partial pinout | +_3.1.3 32pin soic mask rom (custom nintendo pinout) for gsu-1 carts |_ | +_3.2.2 36pin soic mask rom (custom nintendo pinout) for gsu-2 carts | +_3.2.3 112 pin gsu-2 custom argonaut/nintendo risc cpu partial pinout | +_3.3 modding a gsu-1/2 cart to boot from JEDEC-compatible roms (play starfox 2 on your real snes ;) | +_3.3.2 general information on gsu-cart modding | +_3.3.3 JEDEC rom->snes mask rom adaptor pinout | +_3.3.4 building a gsu 1/2 adaptor for your snes backup unit (play starfox 2 on your real snes ;) **************************************************************************************************************************** 1.1 about this FAQ **************************************************************************************************************************** the reason why i wrote this faq is that lately much bullshit has been spreaded about starfox 2 and its different versions, by people who dont know anything, or ones who explictitly spread misinformation to gain respect, reputation etc. you mustnt believe me, but be assured that all information i give you was either proven by me(the electronics stuff mainly) or verified by the starfox2 developers, mainly its coders.excuse my bad english, i think its ok as long as you know what i mean. ;) concerning the completeness, this is everything but the ultimate starfox2 faq, i hate writing useless stuff so i just wrote down what i personally found interesting. if you got additional questions, dont hesitate to mail me, i'll add them here. **************************************************************************************************************************** 1.2 legal stuff **************************************************************************************************************************** i am not affiliated with nintendo, argonaut, all trademarks belong to their respective owners blah i wont send you any roms, nor will i tell you where to get them. i dont have any roms at all. hope i didnt forget anything... **************************************************************************************************************************** 1.3 greets **************************************************************************************************************************** thanks to: the ones who made this rom release possible(you know who you are) the dumper (for fixing the sf2 final beta rom) lavos spawn of g-trans fire-wsp (for having contacts all around the globe) **************************************************************************************************************************** 2.1 starfox (early beta) **************************************************************************************************************************** QUESTION: how far into development was this beta? QUESTION: why doesnt it run on emus? QUESTION: does it run on a real snes? QUESTION: does this rom use the super fx,the super fx 2 or the spc7110 chip? not much is known to me about this beta, except that it was a real early beta (you knew this before ;) and that it definitely used the super fx 1 chip (this was confirmed by the main coders) some lamers spread the word that it used the spc7110 chip wich is really bullshit. i didnt find much info on this chips instruction set / flexibility but the only games that use it use it as a gfx decompression device. also, these games have the 8mbit program rom tied directly to the snes cartridge interface bus, the spc7110 can only access the 32megs(in the case of FEoEZ) rom, that contains the compressed graphics.Im no coder, but i assume, its like this because the spc7110 needs to be initialized first by the snes, and because it has no pass-through for the roms data and adress lines(like the super fx for example), so the snes couldnt boot from the rom behind the spc7110 at all. but why would argonaut want to write a game for a completely new chip when they designed an own chip 2 years before, that was just like what they needed, using another one would be completely pointless. staying with the super fx (2) also meant they could reuse the old starfox poly rendering engine. this is what they did actually, according to the coders, the engine was only slightly enhanced. in the next weeks im gonna build a sfx1 protocart and try if i get this early beta to run, but its only of minor interest to me. **************************************************************************************************************************** 2.2 starfox (beta) **************************************************************************************************************************** i think you already know everything i know about this version, maybe i'll add more infos later, for completeness sake ;) **************************************************************************************************************************** 2.3 starfox (final beta) **************************************************************************************************************************** QUESTION: why do 2 versions of the rom exist? QUESTION: is the rom freely available on the net? QUESTION: were the roms dumped from a real protocart? the last beta is (at the time i wrote this doc, summer 2002) not available to the public. this beta represents the final game in japanese with a few debug options(level select,fps,sprite/poly counter) many think there exist two different "dumps" of the game,but there is only one real "dump",the one that is exactly 1046983 bytes in filesize,and has the nintendo rom info sector in the wrong place(16 bytes too early,to be correct) this rom image runs flawless on a real snes,but fails to run on emulators,because they depend on that sector to check for special chips inside the game cart etc.this was discovered by "the dumper" in the first place,and he was the one who fixed it.unfortunaly some lamer (namely skyhawk of alemanic translations) got ahold of that rom and was stating that he got that rom dumped from a real protocart,wich is definitely not true,because there never existed a version at argonaut with the header in the right place(this was checked and verified by the main coders). by the way,its possible that once the rom is released,there will only be one(the fixed) rom available, cause the original rom wasnt really an off-cart dump, the game was recompiled from the still existing source without caring about rom size,checksum, rom info sector etc. if a dump of a real protocart of this version would appear,it would be exactly 8mbits in size and with the header in the wrong place. it is possible to build a super-fx2 protocart yourself if you got the soldering skills to play this game on a real snes, we'll come to that later. anyway,its relatively easy to distinguish a fake protocart in case someone tries to sell you one. (you dont wanna be fooled like zeldaboy,dont ya?) ;) first, a real protocart always got sram and eproms socketed, always got battery backup up ram with the battery BELOW the eprom,and the gsu-2 DIRECTLY above the cartridge connector.(the retail gsu-2 cart has the gsu-2 in the middle of the board. for gsu-1 proto-boards i cant tell you exactly cause i dont own one,but i ASSUME its looking similar to its gsu-2 counterpart. **************************************************************************************************************************** 2.3.2 game information **************************************************************************************************************************** QUESTION: is this beta the last version of starfox 2? QUESTION: is the game complete and playable to the end? QUESTION: whats the gameplay like? according to its developers,this is the latest version of starfox 2 before it was cancelled in 1995. the game is absolutely complete and playable with credits,ending and everything to the end in story mode, the only things that would have been removed in a retail version would have been level select, framerate indicator and poly count per scene, level skip cheats etc. this version has only minor improvements compared to the version that was shown on CES(i guess)95. if you play the game,youll notice thats its actually pretty easy,far too easy, most likely missing last beta testing phases... the gameplay very much reminded me of air diver 2(also on super famicom) basically, you have your base(in this case the planet corneria and your mothership) in the lower right corner and the death-star-clone of andross(whos name is andorf in sf2,weird...) in the upper left corner of the screen.on this tactical map you move your arwing towards hostile ships, missles or planets you gotta free from andorfs ppl.if you happen to meet an enemy on this tactical map, the game switches to a realtime 3d sequence in wich you can move freely like in some of the starfox64 boss battles,you know what i mean ;) generally,there arent no more straight-forward-levels as seen in starfox 1. many,many aspects of the game are directly taken from starfox 1(the final boss is nearly the same,just a graphical fix-up) and only the game concept itself is really innovative. QUESTION: who were the ppl behind starfox 2? executive producer: HIROSHI YAMAUCHI producer: SHIGERU MIYAMOTO director: KATSUYA EGUCHI assistant director: YOICHI YAMADA coder: DYLAN CUTHBERT coder: TAKUMI KAWAGOE coder: YASUHIRO KAWAGUCHI assistant coder: HAJIME YAJIMA superfx chip design/ PETE WARNES, superfx software CARL GRAHAM gfx artist: MASANAO ARIMOTO 3d artist: TSUYOSHI WATANABE spc700 sound routine:YOJI INAGAKI sound&music samples: KOZUE ISHIKAWA music composer: YUMIKO KANKI custom 3d editor by: DAIKI IWAMOTO **************************************************************************************************************************** 3.1 [super fx (2) information] **************************************************************************************************************************** im no coder,so i can only tell you about this chip from what i definitely know on the electronics side. its a risc processor optimised for rendering polys,it has passthrough for the rom data and adresslines and has no protection against backup units etc.(a funny sidenote: you can even run games on a super fx cart that werent ment for this chip if you replace the rom, wich is of course completely pointless,since it works just like on a normal cart.) it was developed by argonaut and manufactured by nintendo between 1992-1995. its working title was "mario chip" and its company-internal name was "gsu-1" and "gsu-2". apart from the speed difference(sfx1=10mhz, sfx2=21.blah mhz) the gsu-1 was only able to access up to 8mbit of romdata because it was missing the additional adress lines. i guess they werent implemented because the pin raster only allowed for 100 pins on the chip, wich were all in use, and in 1992, noone would have developed a +16mbit+sfx+sram game as it would just have been too expensive,even for nintendo. the gsu-2 has the additional adresslines thanks to a smaller pinraster(with 112 pins available on the chip) and had its debut in 1994. the super fx has external ram,wich can also be shared wich the battery backed up ram area, to cut cartridge costs. the ram on sfx carts ranges from 256kbit to 512kbit. **************************************************************************************************************************** 3.1.2 [100 pin gsu-1 custom argonaut/nintendo risc cpu pinout] **************************************************************************************************************************** i only added the lines relevant for hacking a new rom into an existing super fx cart. [rom data bus=gsu-1 pin] D0=29 D1=28 D2=26 D3=25 D4=24 D5=23 D6=22 D7=21 A00=20 A01=19 A02=18 A03=17 A04=16 A05=15 A06=14 A07=13 A08=12 A09=11 A10=10 A11=09 A12=08 A13=07 A14=06 A15=05 A16=04 A17=03 A18=02 A19=100 /CE,/OE=GND **************************************************************************************************************************** 3.1.3 [32pin soic mask rom (custom nintendo pinout) for gsu-1 carts] **************************************************************************************************************************** A17 |01\/32| VCC A18 |02 31| /OE A15 |03 30| A19 A12 |04 29| A14 A07 |05 28| A13 A06 |06 27| A08 A05 |07 26| A09 A04 |08 25| A11 A03 |09 24| A16 A02 |10 23| A10 A01 |11 22| /CE A00 |12 21| D07 D00 |13 20| D06 D01 |14 19| D05 D02 |15 18| D04 VSS |16 17| D03 /CE,/OE tied to GND **************************************************************************************************************************** 3.2.2 [36pin soic mask rom (custom nintendo pinout) for gsu-2 carts] **************************************************************************************************************************** A20 |01\/36| VCC A21 |02 35| A22 A17 |03 34| VCC A18 |04 33| /OE A15 |05 32| A19 A12 |06 31| A14 A07 |07 30| A13 A06 |08 29| A08 A05 |09 28| A09 A04 |10 27| A11 A03 |11 26| A16 A02 |12 25| A10 A01 |13 24| /CE A00 |14 23| D07 D00 |15 22| D06 D01 |16 21| D05 D02 |17 20| D04 VSS |18 19| D03 /CE,/OE tied to GND **************************************************************************************************************************** 3.2.3 [112 pin gsu-2 custom argonaut/nintendo risc cpu pinout] **************************************************************************************************************************** again, i only added the lines relevant for hacking a new rom into an existing super fx cart. [rom data bus=gsu-2 pin] D0=30 D1=29 D2=27 D3=26 D4=25 D5=24 D6=23 D7=22 A00=20 A01=19 A02=18 A03=17 A04=16 A05=15 A06=13 A07=12 A08=11 A09=10 A10=09 A11=08 A12=07 A13=06 A14=05 A15=04 A16=03 A17=02 A18=01 A19=112 **************************************************************************************************************************** 3.3 modding a gsu-1,2 cart to boot from JEDEC-compatible roms **************************************************************************************************************************** wanna play starfox 2/clock tower english/starfox competition/hacked yoshis island (dunno what shit youre up to ;) on your real snes? here ya go... **************************************************************************************************************************** 3.3.2 general information on gsu-cart modding **************************************************************************************************************************** youre gonna need the following devices/parts: -eprom programmer -gsu1/gsu2 cart (depending on what game you wanna run) gsu-1 games are: stunt race fx vortex gsu-2 games are: yoshis island doom clock tower there may be more,but i only wrote down the carts i checked myself. -eprom 27c0x0-120 or 27cx001-120 series (where "x" represents the rom size,for example 27c080-120 for 8mbit roms) -dil32 socket(for 8mbit roms) -some wire the mod itself is very easy.open the gsu cart with an appropriate screwdriver,remove the small 32pin(gsu-1) or 36pin(gsu-2) chip labelled mask rom,attach wires to all rom solder pads and solder them to the dil32(8mbit max) socket like this: EPROM ROM ROM EPROM _______ _______ A20 | 1 \__/ 36 | VCC A21 | 2___ ___35 | A22 A19 A17 | 3 \__/ 34 | VCC VCC A16 A18 | 4 33 | *OE A18 A15 A15 | 5 32 | A19 A17 A12 A12 | 6 31 | A14 A14 A7 A7 | 7 30 | A13 A13 A6 A6 | 8 29 | A8 A8 A5 A5 | 9 28 | A9 A9 A4 A4 | 10 27 | A11 A11 A3 A3 | 11 26 | A16 *OE A2 A2 | 12 25 | A10 A10 A1 A1 | 13 24 | *CE *CE A0 A0 | 14 23 | D7 D7 D0 D0 | 15 22 | D6 D6 D1 D1 | 16 21 | D5 D5 D2 D2 | 17 20 | D4 D4 GND GND | 18 19 | D3 D3 |________________| for roms bigger than 8mbit you can go figure the pinout yourself, i dont have the datasheets here now,maybe i'll add this later. on your gsu cart,all the adress lines that arent used are tied to ground directly. if you want to fit a 32mbit rom (you can also link for example 4 8mbit roms to work like a 32mbit rom via a 74hc139,its really easy theoretically but i dont want to add info here i havent tested myself,ill add that later,too) lets say on a yoshis island cart,youll have to connect the additional adress line to the gsu-2 manually. (see my gsu-2 pinout for this one) if you got the cart done,you can burn the rom image onto an eprom and test it. IMPORTANT:if your rom image has a 512 backup unit header,you'll have to remove it ofcourse otherwise the game WONT RUN troubleshooting: if it doesnt work,double-check all connections. if it still doesnt work,take a dil mask rom from a working normal snes cart with the size of the game you programmed to your eprom, swap around again the /OE,A18,A16,A19 lines like shown in the maskrom->eprom adapter above and plug it into your gsu cart. if it doesnt work,your cart doesnt work.->recheck connections if it works,the eprom you programmed is corrupt. if it works on an emu->check if a 512byte backup unit header is present and if you removed it(it must be removed to work on a real snes) if it still doesnt work check your eprom programmer or try another one. check if your game needs 32/64kb gsu work ram/battery sram. a good idea is to always have 64kb(512kbit) ram on the gsu board and to fix eventual sram protections before you burn the game onto an eprom.(snestool can do this for example) **************************************************************************************************************************** 3.3.4 building a gsu 1/2 adaptor for your snes backup unit **************************************************************************************************************************** if you just want to play the games without having actual carts,it might be wiser to just build a universal super fx (2) adaptor cart for your backup unit because its much more flexible and you can test games before you buy expensive eproms. i already made such an adaptor,but i dont have a backup unit to test it,and i dont want to spread infos i havent proven to be right. if you are willing to sell/lend me your backup unit so i can test this,please contact me asap,thnx. download the latest version of this faq only from d4s.scyence.net this faq (c)opyright 2002 d4s/science