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 - G2G Pad2; was: Initializing the Gear-to-Gear port on early Game Gear models?

Reply to topic
Author Message
  • Joined: 22 Apr 2018
  • Posts: 530
Reply with quote
G2G Pad2; was: Initializing the Gear-to-Gear port on early Game Gear models?
Post Posted: Mon Dec 24, 2018 4:05 am
I'm trying to use a second Game Gear and a Gear-to-Gear cable to simulate a Player 2 controller for GG-SMS games. I have it working fine in three out of four of my Game Gears (all those are non-JP models with the BIOS bumper screen), but not in the fourth (an early no-BIOS JP model).

However, if I run a regular two-player Game Gear game (not written by me) and then hot-swap to my program, the Gear-to-Gear port works fine in all four Game Gears. Does anyone have a clue what's going on here? Are there any successful examples of homebrew using the Gear-to-Gear port in "raw" mode?

edit: deleted pasted code, it was truncated and also not the last version I tested; the current version of the utility (both source and binary) is bundled with the SG2GG patches over in the SG-1000/SC-3000/Mark III/JP SMS ⇒ Export SMS ⇒ Game Gear Converter thread

edit 2: directly attaching the ZIP here, since it's small (look for G2G Pad2.gg inside it, or G2G Pad2.s and common.s for sources)

G2G Pad2: Player 2 Gear-to-Gear Cable SMS Controller Emulator
=============================================================

NOTE: Use of trademarked terms in this document does not imply
affiliation, endorsement, or sponsorship.

BUGS: This does not seem to work on early Game Gear models due to some
(unknown) missing Gear-to-Gear port initialization. It works fine on
later models, though.

This turns a second Game Gear with a standard Gear-to-Gear cable into
a virtual SMS controller for Player 2.

BONUS!!! Experience viewing angles so narrow you'll quickly understand
why this was never officially released. Over-the-shoulder multiplayer
is definitely awkward. This setup is roughly equivalent to using a
Master Link converter and an SMS control pad for player 2, except that
the buttons aren't as nice, the controller is really heavy, the second
screen is pretty much wasted, the batteries run out, and turning off
the Player Two Game Gear causes all Player 2 button signals to be
asserted simultaneously.

Be sure to connect cables while both systems are off, and always boots
the Player 2 Game Gear into G2G Pad2 before starting the Player 1 Game
Gear to avoid spurious button presses. For the same reason, always
power off the Player 1 Game Gear first, and power off both Game Gears
before disconnecting cables.

The following ASCII-art diagram is intended to show how two
systes should be connected to use this software:

```
 [ Fixed-width font required for viewing diagram. ]


                     Gear-to-Gear Cable
                             v
              _______________________________
             /.-----------------------------.\
            //                               \\
           //  Gear Master or                 \\
          //     Master Gear                   \\
          ||      Converter                    ||
          ||         and                       ||
          ||     Two-Player                    ||
          }{   SMS Cartridge                   ||
          }{          v                        ||
         |  |____________________              ||
         |__|UBBLE:BOBBLE"::::::|              ||
         |--|:::============::::|              ||
  _____--====---"----------"----'----__.__     ||
 /   \  _--------------------------_  /   \    ||
 |    \(     |\==============/|     )/\   |    ||
 | ____\\    ||__  ______  __||    //_/   |    ||
 |//||\\\\ o ||__   Game   __||   //    _ |    ::
 |(=)(=)\\\  ||__  Screen  __||  // _ /(_)|  <-++---  Player One
 | \||/ | \\ ||______________|| // (_)   /|    ::
 |      /  \\|/==============\|//  /    / |    ||
 |-___-'    \\________________//  (___-'  |    ||
 |  .::::.   `----------------'           |    ||
  \ '::::'                               /     ||
   -____________________________________-      ||
                                               //
                                              //
              _______________________________//
             /.------------------------------'
            //
           //
          //
          ||
          }{
          }{      Game Gear
         |  |   Cartridge with
         |__|    G2G Pad2.gg
         |--|         v
  _____--====------------------------__.__
 /   \  _--------------------------_  /   \
 |    \(     |\==============/|     )/\   |
 | ____\\    ||::::::::::::::||    //_/   |
 |//||\\\\ o ||:::G2G:Pad2:::||   //    _ |
 |(=)(=)\\\  ||::::Screen::::||  // _ /(_)|  <------  Player Two
 | \||/ | \\ ||::::::::::::::|| // (_)   /|
 |      /  \\|/==============\|//  /    / |
 |-___-'    \\________________//  (___-'  |
 |  .::::.   `----------------'           |
  \ '::::'                               /
   -____________________________________-

```

This program mirrors button presses over Gear-to-Gear Cable for
two-player support using two Game Gears. The second screen doesn't
show anything interesting, it just reflects the button presses
visually. While START is held it indicates liveness by animating the
background.

The Game Gear running this program displays a screen whose
background colors reflect button state. It only works in native Game
Gear mode, not GG-SMS mode, as it uses the Game Gear-only I/O port
registers to send data. When instead loaded in GG-SMS mode it simply
echoes controller data, merging button presses from both
Player 1 and Player 2 - in other words, it can be used to
test the set-up by running on the Player One Game Gear.

The first Game Gear loads a two-player game in GG-SMS mode using a
Master Gear Converter or equivalent Game Gear cartridge wiring. The
second player will need to peek over the shoulder of the first,
though, as the second Game Gear cannot display a video signal from the
first - even if it could, it could not display it using the
TV adapter while also reading the controllers and echoing
their values.

See the excellent SMS Power! documentation to learn more about
the Gear-to-Gear Cable, the Master Link, and the Master Gear Converter:

https://www.smspower.org/Development/GearToGearCable
https://www.smspower.org/Development/GearToGearPortSMSControllerAdaptor
https://www.smspower.org/Hardware/MasterGearConverter

G2G Pad2.png (341 B)
G2G Pad2 screenshot from mednafen showing up + 1 + 2 pressed
G2G Pad2.png
sg2gg.zip (104.32 KB)

  View user's profile Send private message
Reply to topic



Back to the top of this page

Back to SMS Power!