|
ForumsSega Master System / Mark III / Game GearSG-1000 / SC-3000 / SF-7000 / OMV |
Home - Forums - Games - Scans - Maps - Cheats - Credits Music - Videos - Development - Hacks - Translations - Homebrew |
Author | Message |
---|---|
|
Fix for FM Expansion Board
Posted: Fri May 22, 2009 11:54 am
|
Today I spent some time and found out why Time Soldiers and Wonder Boy III don't work with my FM boards.
Found the problem, fortunately the fix is a simple one. Here are some instructions for anybody who wants to attempt it: 1) Lift up pins 1 and 13 of IC2 (HCF4066) from the PCB. First remove solder with some solder wick and then lift them carefully with a knife blade or small screwdriver while heating with a soldering iron. 2) Solder a jumper wire from IC2 pin 1 to IC5 (YM2413) pin 2. 3) Solder a jumper wire from IC2 pin 13 to IC3 (74HCT74) pin 4. Instead of soldering to the pin, you could solder to the jumper point close by. Use fine, solid core wire (wire wrap wire, winding wire, etc) and put some hot glue around the foaty pins of IC2 so they're not broken off in the future. The problem is that I didn't realise that bit 2 of $F2 was checked during the FM board detection. I had only accounted for bits 0 and 1. It was just pure luck that when the I/O controller is disabled, the value of bit 2 read on the floating bus was always low. If the I/O controller wasn't disabled by setting the appropriate bit of $3E then it would pull up line enough to return a high. And from this I can now safely say that KILLJOY (or whatever you like to call it) is not reqired for the FM Board to function (except in WBIII and TS) so there is nothing preventing someone from fitting an FM board to a Megadrive or Game Gear in MS mode. All that is required is to generate !KBSEL = !(!IORW) AND A6 AND A7. Either the I/O controller must be turned off or KILLJOY must be asserted. Most games will turn off the I/O controller before FM board detection... And just to make it that much more difficult, WBIII will only try to detect the FM sound board if it first detects that it's running on Japanese hardware. Shorting the TH lines at the controller port seems to be what most people are doing but it doesn't always work and could potentially damage the I/O controller. |
|
|
Posted: Fri May 22, 2009 1:05 pm |
So does this increase the chances of a second production run? I'm sure some would rather re-purchase than attempt desoldering. (Others will give it a go and destroy it. More would rather not attempt to mod an irreplaceable item.) | |
|
Posted: Sun May 24, 2009 12:42 am |
Tim, if I re-post mine back to you can you do this mod for me??
Of course ill pay you as well :) |
|
|
Posted: Sun May 24, 2009 9:49 am |
lol.. Maybe its time you learnt to do a bit of soldering Jacko.. then you would have the freedom to all these projects yourself :) | |
|
Posted: Sun May 24, 2009 1:27 pm |
Its not that I can't solder, its just its not something I dont want to stuff up. Aaannd also my soldering iron is at uni, not in easy reach. The only reason why its at uni is cause ive been reparing guitar amps and stuff |
|
|
Fix for FM Expansion Board
Posted: Mon May 25, 2009 4:22 pm
|
Sounds like you and your FM board need to pay a visit to an electronics expert in your local city Jaco (pronounced with a 'y') | |
|
Posted: Tue May 26, 2009 11:53 pm |
What you tryin to say :P |
|
|
Posted: Fri Aug 07, 2009 6:35 am |
I think the reason for it being HIGH when I/O wasn't disabled is because it's anding the FM chip input lines with the control input lines. Since bit2 wasn't attached and the controller wasn't pressed it's always going to be high. The reason this bug can get past the developers is because when the controller isn't pressed it's always returning high and will give correct results. In emulators like MEKA, they have no issue with this because they simply detect PORT F2 as a separate thing, whereas on the real machine it would conflict. Alternatively instead of wiring up this pin couldn't you just hold LEFT on control1 at startup? Or is this the killjoy you make reference to. |
|
|
Posted: Fri Aug 07, 2009 6:57 am |
This works, I have my system in JAP mode, turn it on holding left and BAM I get FM sound on an unmodded board! |
|
|
Posted: Fri Aug 07, 2009 9:37 am |
Haha... Fantastic. |
|
|
Posted: Fri Aug 07, 2009 2:42 pm |
Glad to hear it worked. In theory you could also simulate a FM chip detection by ripping off the DPAD cover and pressing UP/DOWN/LEFT at the same time? It might work anyhow. | |
|
Posted: Fri Aug 07, 2009 3:03 pm |
As far as I understand http://www.smspower.org/dev/docs/wiki/CodeSnippets/FMChipDetection it wouldn't pass this code. |
|
|
Posted: Fri Aug 07, 2009 3:28 pm |
Yeah I think it just depends on the detection routine. I thought it strange some games try to read F2 without disabling the IO and it breaks certain games detections if you don't AND the inputs like a real machine (or alternatively just mask it out as a special case). I prefer the AND method though as it allows the user to stuff it up by pressing the direction pad, like the real machine. You need a similar feature for when multiple slots are enabled through port 3E. Though nothing seems to use this feature (nothing really plays with the slots unless it's a BIOS). |
|
|
Posted: Fri Aug 07, 2009 4:08 pm |
Are any of the schematics updated ? | |
|
Posted: Sat Aug 08, 2009 7:57 am |
Here's the circuit for the new version. It's pretty much the same as the old one with the fix. |
|
|
Posted: Sat Aug 08, 2009 11:51 am |
I'm still interested in getting a bare YM2413........it'd make a fine addition into my MD2 ;) | |
|
Posted: Wed Sep 09, 2009 7:10 pm |
Just to confirm before I start doing this fix: is it still needed even with good FM chip? | |
|
Posted: Thu Sep 10, 2009 2:52 pm |
Yes, they are seperate problems. |
|