Forums

Sega Master System / Mark III / Game Gear
SG-1000 / SC-3000 / SF-7000 / OMV
Home - Forums - Games - Scans - Maps - Cheats - Credits
Music - Videos - Development - Hacks - Translations - Homebrew

View topic - Fix for FM Expansion Board

Reply to topic
Author Message
  • Joined: 24 Sep 2006
  • Posts: 191
  • Location: Sydney, Australia
Reply with quote
Fix for FM Expansion Board
Post 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.
smsfm_fix.jpg (91.54 KB)
smsfm_fix.jpg

  View user's profile Send private message
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 11883
  • Location: London
Reply with quote
Post 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.)
  View user's profile Send private message Visit poster's website
  • Joined: 01 Feb 2004
  • Posts: 1457
  • Location: Sunny ol Tamworth, New England NSW AU
Reply with quote
Post 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 :)
  View user's profile Send private message Visit poster's website
  • Joined: 25 Jul 2007
  • Posts: 540
  • Location: Melbourne, Australia
Reply with quote
Post 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 :)
  View user's profile Send private message
  • Joined: 01 Feb 2004
  • Posts: 1457
  • Location: Sunny ol Tamworth, New England NSW AU
Reply with quote
Post Posted: Sun May 24, 2009 1:27 pm
djbass wrote
lol.. Maybe its time you learnt to do a bit of soldering Jacko.. then you would have the freedom to all these projects yourself :)


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
  View user's profile Send private message Visit poster's website
  • Joined: 14 Aug 2000
  • Posts: 444
  • Location: Adelaide, Australia
Reply with quote
Fix for FM Expansion Board
Post 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')
  View user's profile Send private message
  • Joined: 01 Feb 2004
  • Posts: 1457
  • Location: Sunny ol Tamworth, New England NSW AU
Reply with quote
Post Posted: Tue May 26, 2009 11:53 pm
asynchronous wrote
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')


What you tryin to say :P
  View user's profile Send private message Visit poster's website
  • Joined: 26 Aug 2008
  • Posts: 292
  • Location: Australia
Reply with quote
Post Posted: Fri Aug 07, 2009 6:35 am
viletim wrote
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.


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.
  View user's profile Send private message Visit poster's website
  • Joined: 01 Feb 2004
  • Posts: 1457
  • Location: Sunny ol Tamworth, New England NSW AU
Reply with quote
Post Posted: Fri Aug 07, 2009 6:57 am
PoorAussie wrote
viletim wrote
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.

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.


This works, I have my system in JAP mode, turn it on holding left and BAM I get FM sound on an unmodded board!
  View user's profile Send private message Visit poster's website
  • Joined: 24 Sep 2006
  • Posts: 191
  • Location: Sydney, Australia
Reply with quote
Post Posted: Fri Aug 07, 2009 9:37 am
Jacko wrote
PoorAussie wrote

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.


This works, I have my system in JAP mode, turn it on holding left and BAM I get FM sound on an unmodded board!


Haha... Fantastic.
  View user's profile Send private message
  • Joined: 26 Aug 2008
  • Posts: 292
  • Location: Australia
Reply with quote
Post 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.
  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 11883
  • Location: London
Reply with quote
Post Posted: Fri Aug 07, 2009 3:03 pm
PoorAussie wrote
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.

As far as I understand http://www.smspower.org/dev/docs/wiki/CodeSnippets/FMChipDetection it wouldn't pass this code.
  View user's profile Send private message Visit poster's website
  • Joined: 26 Aug 2008
  • Posts: 292
  • Location: Australia
Reply with quote
Post Posted: Fri Aug 07, 2009 3:28 pm
Maxim wrote
PoorAussie wrote
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.

As far as I understand http://www.smspower.org/dev/docs/wiki/CodeSnippets/FMChipDetection it wouldn't pass this code.


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).
  View user's profile Send private message Visit poster's website
  • Joined: 31 Oct 2007
  • Posts: 808
  • Location: Estonia, Rapla city
Reply with quote
Post Posted: Fri Aug 07, 2009 4:08 pm
Are any of the schematics updated ?
  View user's profile Send private message Visit poster's website
  • Joined: 24 Sep 2006
  • Posts: 191
  • Location: Sydney, Australia
Reply with quote
Post Posted: Sat Aug 08, 2009 7:57 am
TmEE wrote
Are any of the schematics updated ?


Here's the circuit for the new version. It's pretty much the same as the old one with the fix.
smsfm11.png (24.33 KB)
smsfm11.png

  View user's profile Send private message
  • Joined: 31 Oct 2007
  • Posts: 808
  • Location: Estonia, Rapla city
Reply with quote
Post 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 ;)
  View user's profile Send private message Visit poster's website
  • Joined: 03 Jul 2005
  • Posts: 45
  • Location: Toronto, Canada
Reply with quote
Post 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?
  View user's profile Send private message Visit poster's website
  • Joined: 24 Sep 2006
  • Posts: 191
  • Location: Sydney, Australia
Reply with quote
Post Posted: Thu Sep 10, 2009 2:52 pm
dhau wrote
Just to confirm before I start doing this fix: is it still needed even with good FM chip?


Yes, they are seperate problems.
  View user's profile Send private message
Reply to topic



Back to the top of this page

Back to SMS Power!