A forum to show appreciation and respect for classic video game systems and games. Whether you're a modder, a programmer, or just a collector, this forum is about appreciating classic games and systems in a constructive community environment.
 
HomeHome  CalendarCalendar  FAQFAQ  SearchSearch  MemberlistMemberlist  UsergroupsUsergroups  RegisterRegister  Log in  

Share | 
 

 Starfox overclocked (and other superfx games)

View previous topic View next topic Go down 
AuthorMessage
Drakon
Admin
Admin
avatar

Posts : 1607
Join date : 2012-01-25
Location : Canada

PostSubject: Starfox overclocked (and other superfx games)   Thu Jan 26, 2012 11:46 am

Starfox 1 running at 57 mhz.



Stunt race fx running at 50 mhz.  Currently I have it going faster I'll upload a new video when I determine the top speed it can run at:



Starfox 2 running at 53.3 mhz:



Read this, if it still doesn't make sense, then you don't have enough skill to do this.

There's the original and ever so popular superfx overclock by marshallh.  This mod doesn't overclock too well...I tried this mod and I got games to either underclock or just match the original speed. Even using a 200 mhz 2 pin oscillator the game ran at the same speed as when it was connected to the original ceramic resonator.  Maybe this only works on specific games?  Who knows.

Thanks to a great idea by robivy64 I found a way that actually does work. After robivy posted a picture of his overclocked starfox cartridge I noticed that in the picture he wasn't using a 2 pin crystal like the marshallh mod. I sent robivy a private message and asked him what he used on that cartridge. He said he just used a 4 pin crystal oscillator feeding a clock signal into the input trace that winds up going into the mario chip. I then decided to take a good long hard look at my various superfx pcbs. Indeed my mario chip starfox cartridge has the 21.4 mhz clock pin on the cartridge connector almost directly wired into the mario chip clock pin. There's only what looks like an inductor between that pin and the mario chip. You can bypass this inductor and the chip runs fine. So this made me realize that you can feed a clock signal straight into a mario chip and it'll work fine.

The gsu 1 and gsu 2 pcbs have the clock circuit built onto the cartridge pcb for some strange reason. I wired up a 4 pin crstal oscillator to vcc and ground of the cart. I next disconnected the clock trace of the superfx chip from the original clock circuit and wired it directly into my crystal oscillator clock output pin. The game ran no problem first time and finally you could tell that the game was indeed overclocked.

Here's what I've learned from experience.

The mario chip isn't worth overclocking from what I've read (I never tested this).  According to robivy64 the mario chip only goes to around 25 mhz and gets extremely hot.

The gsu 1/2 are the chips I recommend overclocking. These chips can overclock to very high speeds.

New: I recently discovered a way to greatly increase the overclocking speeds of games by slightly reprogramming the game roms themselves.  Accomplishing this means that you need to wire up your cartridge for an eprom / flash chip since the original maskrom won't be able to go as fast.

All games when overclocked the gameplay is sped up and the framerate is sped up a huge amount.  The control response is equally as sped up so the game is still perfectly playable.  You just need to adjust your playing to the new timing.

Unfortunately getting a game to go super fast requires patching the game, and using the right type of ram chip.

Here's my description of how to do this mod:

I mostly used the amazing nocash superfx asm information here:

http://nocash.emubase.de/fullsnes.htm#snescartgsunprogrammablerisccpuakasuperfxmariochip10games

Before I started romhacking starfox 1 was the only game I had that would run at super speeds.  I figured that maybe this was because starfox 1 is the only game programmed for the mario chip therefore it doesn't enable extra hardware functions added in the gsu series chips such as the double speed internal clock.  Superfx roms enable double speed mode by writing to 3039.  You can either find the code using a debugger or just by searching the rom using a hex editor.  I just do a search for "A9 01 8D 39 30".  Then I change the "39 30" to "35 30" since 3035 is unused to disable double speed mode.

Disabling double speed mode is important because it allows you to double your overclock speed before you reach the limit.  The more you overclock the smoother the game becomes, so it's important to to make the rom as overclockable as possible.  Changing the "IRQ Interrupt Mask" is a little bit different.  Writing to 3037 lets you configure both the "IRQ Interrupt Mask" and the multiplier speed.  I noticed whether the multiplier speed is set to high or standard the overclocking limit is still the same, but for some reason setting the "IRQ Interrupt Mask" to "disable irq" allows some games to overclock faster.  Here's what starfox does when overclocked past 48 mhz before I disabled the irq interrupt mask:

https://www.youtube.com/watch?v=Zt29sSn7B3Y

After setting the "IRQ Interrupt Mask" to "disable irq" this problem went away.  Starfox 2 would flicker a lot past 48 mhz, and vortex would just freeze.  All these problems went away and all these games could overclock much faster once I disabled the irq interrupt mask.  Again use a debugger or a hex editor to look for writes to 3037, sometimes the rom will be writing "20", sometimes "A0", maybe even 80.  I usually change the value to set it the same way and also disable the irq mask.  If the rom is writing "20" to 3037 I change it to write "A0" which is the same settings just with the irq mask disabled.

Starfox 1 was a bit of a pain because it didn't set this stuff so I had to hijack the first write command to 2100 and turn that into setting the rom to high multiplier speed and disabling the irq mask.  All other games set these modes so you can hunt down the code and change it without overwriting something else.

Once your rom is burned, wire it up:



Next find the clock trace on the gsu 1 / 2 and completely disconnect that trace from everything.  Wire up a wire for vcc, ground, and a third wire connecting to the gsu 1 / 2 clock trace, and wire in a four pin crystal oscillator of whatever speed you desire.

For some strange reason the ram chip on the stunt race fx cart allows you to overclock faster.  I have no idea why, the ram chip that comes on the doom pcb can't overclock as fast.  I transplanted the ram chip from a stunt race fx pcb onto a doom pcb and suddenly games on the doom pcb could overclock faster.  Therefore I recommend using stunt race fx as a donor cart, it even has a battery saving circuit.  The only thing the stunt race fx pcb can't do is run 16 mbit games like doom and mario world 2, but mario world 2 doesn't need overclocking, and even using these tricks I can't get doom to overclock very fast.

I've also applied the same tricks to the vortex rom and dirt racer rom and now both these games run happily at 55 mhz.

Some carts can overclock 2-3 mhz faster than other carts with certain games.  There's no way to tell if your cart is faster or not.  I have one gsu 2 cart that runs all games 2-3 mhz faster, one gsu 1 cart that runs all games 2-3 mhz faster, and one gsu 2 cart that runs starfox 2 faster but not stunt race fx.  The only way you can find out is trial and error, but you can get all gsu 1 / gsu 2 carts running within 2-3 mhz of each other.

Another thing that's important is using the right type of eprom.  Some eproms and even the original game maskroms have issues when overclocked.  I found that the ST m27c801 eprom to be the best chip for overclocking so far, which is good because it's very common.


Last edited by Drakon on Mon Jul 15, 2013 7:01 pm; edited 19 times in total
Back to top Go down
View user profile http://16bitgamer.canadian-forum.com/
Drakon
Admin
Admin
avatar

Posts : 1607
Join date : 2012-01-25
Location : Canada

PostSubject: Re: Starfox overclocked (and other superfx games)   Fri Jan 27, 2012 4:01 pm

*out of date guide removed*


Last edited by Drakon on Sat Apr 13, 2013 9:47 am; edited 2 times in total
Back to top Go down
View user profile http://16bitgamer.canadian-forum.com/
Drakon
Admin
Admin
avatar

Posts : 1607
Join date : 2012-01-25
Location : Canada

PostSubject: Re: Starfox overclocked (and other superfx games)   Sun Oct 07, 2012 2:10 am

Superfx eprom wiring probe guide:



It's really easy when desoldering the surface mount maskrom and soldering in wires to break / lose connections. This guide is perfect for probing all the connections once they're repaired and wired up. If your cart doesn't fire up then use this guide to test if all the pins are connecting to the right spots.
Back to top Go down
View user profile http://16bitgamer.canadian-forum.com/
Drakon
Admin
Admin
avatar

Posts : 1607
Join date : 2012-01-25
Location : Canada

PostSubject: Re: Starfox overclocked (and other superfx games)   Sun Dec 02, 2012 4:07 pm

Out of date but I kept the pictures here for fun

The latest starfox overclocked (it's a bit rough)





Last edited by Drakon on Sat Jun 22, 2013 10:07 am; edited 1 time in total
Back to top Go down
View user profile http://16bitgamer.canadian-forum.com/
Drakon
Admin
Admin
avatar

Posts : 1607
Join date : 2012-01-25
Location : Canada

PostSubject: Re: Starfox overclocked (and other superfx games)   Wed Mar 20, 2013 9:23 am

Update: Completely rewrote my guides I've made a lot of discoveries and proved a bunch of stuff that I said in the older guides to be completely false. Now I can get all superfx games running at full speed on either a gsu 1 or gsu 2 with my new techniques.
Back to top Go down
View user profile http://16bitgamer.canadian-forum.com/
Drakon
Admin
Admin
avatar

Posts : 1607
Join date : 2012-01-25
Location : Canada

PostSubject: Re: Starfox overclocked (and other superfx games)   Fri Apr 05, 2013 11:28 pm

Updated the first post with new demo videos.
Back to top Go down
View user profile http://16bitgamer.canadian-forum.com/
Grambo

avatar

Posts : 116
Join date : 2013-01-30
Age : 30
Location : Saskatchewan, Canada

PostSubject: Re: Starfox overclocked (and other superfx games)   Sun Apr 07, 2013 12:29 pm

Drakon wrote:
Superfx eprom wiring probe guide:

It's really easy when desoldering the surface mount maskrom and soldering in wires to break / lose connections. This guide is perfect for probing all the connections once they're repaired and wired up. If your cart doesn't fire up then use this guide to test if all the pins are connecting to the right spots.

I've heard of good results with Chip Quik.
http://www.youtube.com/watch?v=7kyaz4Zrd78

It's an alloy that reduces the original solder's melting point and gives you enough time to melt all the pins before you remove the chip.


Last edited by Grambo on Mon Apr 08, 2013 2:55 am; edited 1 time in total
Back to top Go down
View user profile
Drakon
Admin
Admin
avatar

Posts : 1607
Join date : 2012-01-25
Location : Canada

PostSubject: Re: Starfox overclocked (and other superfx games)   Sun Apr 07, 2013 10:26 pm

With my 15$ paint removing heatgun and some electrical tape I can get the entire chip off cleanly with zero damage in less than a minute. Thanks to tiido for suggesting it. The electrical tape is used to cover surrounding parts so I only desolder the one chip and not everything around it. Chip quick is a terrible idea.

Here's a video I made of me using the heatgun to remove famicom maskroms:



Surface mount comes off even quicker with it.
Back to top Go down
View user profile http://16bitgamer.canadian-forum.com/
Grambo

avatar

Posts : 116
Join date : 2013-01-30
Age : 30
Location : Saskatchewan, Canada

PostSubject: Re: Starfox overclocked (and other superfx games)   Mon Apr 08, 2013 2:54 am

Drakon wrote:
Chip quick is a terrible idea.
What? Why?

You find a single layer of e-tape protects other components enough? Interesting. I wouldn't have guessed that.
I have a little butane Weller torch that works quite similarly too, but I haven't used it in close proximity of other parts. It works great for the odd surface mount component I use, however.
Back to top Go down
View user profile
Drakon
Admin
Admin
avatar

Posts : 1607
Join date : 2012-01-25
Location : Canada

PostSubject: Re: Starfox overclocked (and other superfx games)   Mon Apr 08, 2013 11:16 am

Yeah electrical tape works perfectly. When I first got the heatgun I tested it on some broken stuff. I noticed it was removing surrounding parts. I cover the parts in electrical tape and it holds them firmly in place. Only thing I need to be careful is it's nowhere near plastic parts as it'll warp plastic quite easily. Before I started doing this stuff myself I hired a guy who used chipquick, that sh#t is expensive and he still managed to break solder pads and a number of carts using it. With my heatgun I've done countless surface mount transplants without breaking anything. You can spend 300$ and get a fancy solder station with a heatgun, but I just bought myself some 15$ paint removing heatguns. I use my paint removing heatgun at 450 c / 842 f. The paint removing heatgun is way more powerful than a soldering one but if you learn to use it right it works much faster. I strongly recommend practicing on a few broken boards at first. What's important to remember is to not have it too close to the pcb (if it starts to smoke a little back off a tiny bit), keep it moving, be patient, make sure all surrounding surface mount stuff is tightly covered with electrical tape, and if you're desoldering dip make sure to keep the pcb upright at all times and remove the chip using tweezers. Whenever you heatgun a pcb always keep the pcb upright at all times and don't move it too quickly otherwise parts may come off.
Back to top Go down
View user profile http://16bitgamer.canadian-forum.com/
Drakon
Admin
Admin
avatar

Posts : 1607
Join date : 2012-01-25
Location : Canada

PostSubject: Re: Starfox overclocked (and other superfx games)   Sat Apr 13, 2013 9:47 am

Completely re-wrote my guide again as I made a lot of new discoveries.
Back to top Go down
View user profile http://16bitgamer.canadian-forum.com/
snucker



Posts : 5
Join date : 2013-04-24

PostSubject: Re: Starfox overclocked (and other superfx games)   Wed Apr 24, 2013 3:46 pm

I've been following your overclocking for a while now Drakon, and, I'm impressed. I'm going to try and overclock a few of my games shortly. I was wondering if you could post the hex values to search for when disabling the IRQ Interrupt. As well as maybe post the code you used for Star Fox. How exactly did you manage to Hijack the writes to 2100? Thanks!
Back to top Go down
View user profile
Sponsored content




PostSubject: Re: Starfox overclocked (and other superfx games)   

Back to top Go down
 
Starfox overclocked (and other superfx games)
View previous topic View next topic Back to top 
Page 1 of 1
 Similar topics
-
» Eastside Games and Cards Slow Grow League
» Black Powder from Warlord Games
» Newport Games Updates for Week Ending June 19th.
» Newport Games Now Carries Corvus Belli 15mm 100 Years War
» ACME Games is MOVING

Permissions in this forum:You cannot reply to topics in this forum
 :: Projects / Showcase :: Completed Projects-
Jump to: