Sega - MS/GG (Gearsystem)¶
Background¶
Gearsystem is an open source, cross-platform Sega Master System, Game Gear, SG-1000, and Othello Multivision emulator written in C++.
- Very accurate emulation with support for ROM-only cartridges and Sega, Codemasters, Korean, MSX, Janggun, SG-1000, EEPROM, and multicart mappers.
- Automatic region detection: NTSC-JAP, NTSC-USA, PAL-EUR.
- Accurate VDP emulation, including timing and VDP specifics for SMS, SMS2, GG and TMS9918 modes.
- Support for YM2413 (OPLL) FM sound chip.
- Light Phaser, Paddle Control and Sports Pad support.
- Game Gear Link Cable (Gear-to-Gear) support with two systems, independent controllers, configurable screens and audio, and two-ROM subsystem loading.
- Internal database for ROM detection.
- Battery-backed RAM save support.
- Game Genie and Pro Action Replay cheat support.
- Supported platforms (libretro): Windows, Linux, macOS, Raspberry Pi, Android, iOS, tvOS, webOS, PlayStation Vita, PlayStation 3, Nintendo 3DS, Nintendo GameCube, Nintendo Wii, Nintendo WiiU, Nintendo Switch, Emscripten, Classic Mini systems (NES, SNES, C64, ...), OpenDingux, RetroFW and QNX.
The Gearsystem core has been authored by
The Gearsystem core is licensed under
A summary of the licenses behind RetroArch and its cores can be found here.
BIOS¶
Gearsystem does not require BIOS (boot ROM) files, but they can be used optionally.
When enabled, the BIOS runs as it does on original hardware. Invalid ROMs or ROMs for a different region or system may fail to boot. Disable the BIOS if this occurs.
Required or optional firmware files go in the frontend's system directory.
Attention
If you’d like to use any BIOS, you can place the following files in RetroArch's system directory. Then, you need to enable Master System BIOS and/or Game Gear BIOS core options for these BIOS files to be used.
| Filename | Description | md5sum |
|---|---|---|
| bios.sms | Master System BIOS - Optional | 840481177270d5642a14ca71ee72844c |
| bios.gg | Game Gear BIOS - Optional | 672e104c3be3a238301aceffc3b23fd6 |
Extensions¶
Content that can be loaded by the Gearsystem core have the following file extensions:
- .sms
- .gg
- .sg
- .mv
- .bin
- .rom
RetroArch database(s) that are associated with the Gearsystem core:
Features¶
Frontend-level settings or features that the Gearsystem core respects.
| Feature | Supported |
|---|---|
| Restart | ✔ |
| Screenshots | ✔ |
| Saves | ✔ |
| States | ✔ |
| Rewind | ✔ |
| Run-Ahead | ✔ |
| Netplay | ✔ |
| Core Options | ✔ |
| Memory Monitoring (achievements) | ✔ |
| RetroArch Cheats - Game Genie | ✔ |
| RetroArch Cheats - Pro Action Replay | ✔ |
| Native Cheats | ✕ |
| Controls | ✔ |
| Remapping | ✔ |
| Multi-Mouse | ✕ |
| Rumble | ✕ |
| Sensors | ✕ |
| Camera | ✕ |
| Location | ✕ |
| Subsystem | ✔ |
| Softpatching | ✔ |
| Disk Control | ✕ |
| Username | ✕ |
| Language | ✕ |
| Crop Overscan | ✔ |
| LEDs | ✕ |
Achievements are supported in single-player mode and disabled in linked sessions. In linked mode, the same enabled Game Genie and Pro Action Replay cheat entries apply to both Screen 1 and Screen 2, including when using the two-ROM subsystem.
Directories¶
The Gearsystem core's library name is 'Gearsystem'
The Gearsystem core saves/loads to/from these directories.
Frontend's Save directory
| File | Description |
|---|---|
| *.srm | Cartridge battery RAM or EEPROM save |
| *.srm2 | Screen 2 cartridge battery RAM or EEPROM save in linked mode |
Frontend's State directory
| File | Description |
|---|---|
| *.state# | State |
Geometry and timing¶
- The Gearsystem core's provided FPS is approximately 59.92 for NTSC games, 49.70 for PAL Master System games and 50.17 for PAL SG-1000 games
- The Gearsystem core's provided sample rate is 44100 Hz
- The Gearsystem core's base width is 256 for Master System / SG-1000 games and 160 for native Game Gear games; Game Gear SMS mode uses the Master System dimensions
- The Gearsystem core's base height is 192 for Master System / SG-1000 games, or 224 in Master System extended mode, and 144 for native Game Gear games
- Overscan uses a width of 256, 284 or 320 pixels and a height of 240 lines for NTSC or 288 lines for PAL. It also applies to Game Gear SMS mode, but not native Game Gear mode
- Left-bar cropping removes 8 pixels from Master System Mode 4 output when overscan is disabled or set to Top+Bottom
- Linked mode displays 320x144 horizontally, 160x288 vertically, or 160x144 when only one screen is selected
- The Gearsystem core's max width is 320
- The Gearsystem core's max height is 288
- The Gearsystem core uses square pixels by default (4:3 at 256x192 and 10:9 at 160x144); the 'Aspect Ratio' core option can override this
- Linked mode always uses square pixels: 20:9 for two horizontal screens, 5:9 for two vertical screens, and 10:9 for a single screen
Game Gear Link Cable¶
Enable Game Link Cable Enable (restart), choose Close Content, then load a Game Gear ROM again to run two independent copies of the same ROM. Controller port 1 controls Screen 1, and controller port 2 controls Screen 2. Both machines continue running when only one screen is displayed. RetroArch's Restart action resets the existing machine or linked pair and preserves battery memory. It does not apply changes to Game Link Cable Enable; both enabling and disabling this option require Close Content followed by loading the ROM again.
To link different ROMs, load the 2 Player Game Gear Link subsystem (gg_link_2p) and select a ROM for each screen. Selecting this subsystem enables linked mode regardless of the enable option. A command-line example is:
Use the core library extension for your platform (.dylib on macOS or .dll on Windows). The subsystem can also load the same ROM into both slots.
Linking requires native Game Gear mode on both screens and ROMs with matching NTSC/PAL timing. When the enable option is on and the loaded content runs as Master System, SG-1000 or Game Gear SMS mode, the core runs a single system as usual; the two-ROM subsystem fails to load instead. Both machines run inside one core instance; this does not connect to desktop Gearsystem link sessions.
Linked saves¶
When loading a single ROM in linked mode, Screen 1 keeps its usual frontend-managed .srm file. Screen 2 uses <content name>.srm2 in the frontend's save directory, or alongside the ROM if no save directory is provided. Screen 2's file is restored when content loads and written when content unloads or the core shuts down. Content supplied without a path has no automatic Screen 2 save filename.
The two-ROM subsystem exposes both cartridges' save RAM to the frontend. Screen 1 uses .srm and Screen 2 uses .srm2. The separate extensions prevent the saves from overwriting each other when both slots load the same ROM.
Linked save states contain both machines, both screens, and link transfers in progress. They use a separate format from single-player states.
Core options¶
The Gearsystem core has the following options that can be tweaked from the core options menu. The default setting is bolded.
Settings marked (restart) take effect after restarting or reloading the content.
-
System (restart) [gearsystem_system] (Auto|Master System / Mark III|Game Gear (2 ASIC)|Game Gear (2 ASIC) SMS Mode|Game Gear (1 ASIC)|Game Gear (1 ASIC) SMS Mode|SG-1000 / Multivision|SG-1000 II)
Select the console type to emulate. 'Auto' automatically detects the appropriate system based on the loaded content.
- Auto selects the best hardware based on the ROM.
- Master System / Mark III forces original Master System / Mark III hardware.
- Game Gear (2 ASIC) forces Game Gear hardware with 2 ASIC configuration.
- Game Gear (2 ASIC) SMS Mode forces Game Gear in SMS compatibility mode (2 ASIC).
- Game Gear (1 ASIC) forces Game Gear hardware with 1 ASIC configuration.
- Game Gear (1 ASIC) SMS Mode forces Game Gear in SMS compatibility mode (1 ASIC).
- SG-1000 / Multivision forces SG-1000 / Multivision hardware.
- SG-1000 II forces SG-1000 II hardware.
-
Region (restart) [gearsystem_region] (Auto|Master System Japan|Master System Export|Game Gear Japan|Game Gear Export|Game Gear International)
Select which region is emulated.
- Auto selects the best region based on the ROM.
- Master System Japan forces Master System Japan region.
- Master System Export forces Master System Export region.
- Game Gear Japan forces Game Gear Japan region.
- Game Gear Export forces Game Gear Export region.
- Game Gear International forces Game Gear International region.
-
Mapper (restart) [gearsystem_mapper] (Auto|ROM|SEGA|Codemasters|Korean|SG-1000|MSX|Janggun|Korean 2000 XOR 1F|Korean MSX 32KB 2000|Korean MSX SMS 8000|Korean SMS 32KB 2000|Korean MSX 8KB 0300|Korean 0000 XOR FF|Korean FFFF HiCom|Korean FFFE|Korean BFFC|Korean FFF3 FFFC|Korean MD FFF5|Korean MD FFF0|Jumbo Dahjee|EEPROM 93C46|Multi 4PAK All Action|Iratahack)
Select which mapper (memory bank controller) is emulated. 'Auto' automatically detects the appropriate mapper based on the loaded content. Only change this if a game does not work correctly with the default setting.
- Auto selects the best mapper based on the ROM.
- ROM forces no mapper.
- SEGA forces SEGA mapper.
- Codemasters forces Codemasters mapper.
- Korean forces Korean mapper.
- SG-1000 forces SG-1000 mapper.
- MSX forces MSX mapper.
- Janggun forces Janggun mapper.
- Korean 2000 XOR 1F forces the Korean 2000 XOR 1F mapper.
- Korean MSX 32KB 2000 forces the Korean MSX 32KB 2000 mapper.
- Korean MSX SMS 8000 forces the Korean MSX SMS 8000 mapper.
- Korean SMS 32KB 2000 forces the Korean SMS 32KB 2000 mapper.
- Korean MSX 8KB 0300 forces the Korean MSX 8KB 0300 mapper.
- Korean 0000 XOR FF forces the Korean 0000 XOR FF mapper.
- Korean FFFF HiCom forces the Korean FFFF HiCom mapper.
- Korean FFFE forces the Korean FFFE mapper.
- Korean BFFC forces the Korean BFFC mapper.
- Korean FFF3 FFFC forces the Korean FFF3 FFFC mapper.
- Korean MD FFF5 forces the Korean MD FFF5 mapper.
- Korean MD FFF0 forces the Korean MD FFF0 mapper.
- Jumbo Dahjee forces the Jumbo Dahjee mapper.
- EEPROM 93C46 forces the EEPROM 93C46 mapper.
- Multi 4PAK All Action forces the Multi 4PAK All Action mapper.
- Iratahack forces the Iratahack mapper.
-
Refresh Rate (restart) [gearsystem_timing] (Auto|NTSC (60 Hz)|PAL (50 Hz))
Select which refresh rate will be used in emulation.
- Auto selects the best refresh rate based on the ROM.
- NTSC (60 Hz) selects NTSC timing.
- PAL (50 Hz) selects PAL timing.
-
Aspect Ratio [gearsystem_aspect_ratio] (1:1 PAR|4:3 DAR|16:9 DAR|16:10 DAR)
Select which aspect ratio will be presented by the core.
- 1:1 PAR selects an aspect ratio that produces square pixels.
- 4:3 DAR forces 4:3 aspect ratio.
- 16:9 DAR forces 16:9 aspect ratio.
- 16:10 DAR forces 16:10 aspect ratio.
-
Overscan [gearsystem_overscan] (Disabled|Top+Bottom|Full (284 width)|Full (320 width))
Select which overscan (borders) will be displayed. This applies to Master System, SG-1000 and Game Gear SMS mode; native Game Gear output remains 160x144. All enabled modes display 240 lines for NTSC or 288 lines for PAL.
- Disabled disables overscan.
- Top+Bottom enables overscan for top and bottom.
- Full (284 width) enables overscan for top, bottom, left and right (284 width).
- Full (320 width) enables overscan for top, bottom, left and right (320 width).
-
Hide Left Bar (SMS only) [gearsystem_hide_left_bar] (No|Auto|Always)
Select when to crop the leftmost 8 pixels in Master System games. This applies only when Overscan is Disabled or Top+Bottom.
- No never hides the left bar.
- Auto crops the left column when the game enables left-column masking.
- Always always hides the left bar even if no left bar is detected.
-
No Sprite Limit [gearsystem_no_sprite_limit] (Disabled|Enabled)
Remove the per-line sprite limit. This reduces flickering but may cause glitches in some games.
-
Master System BIOS (restart) [gearsystem_bios_sms] (Disabled|Enabled)
Enable or disable the Master System BIOS. The
bios.smsfile must exist in the frontend's system directory. When enabled, it runs as it does on original hardware, so invalid ROMs may fail to boot. The BIOS is not used in SG-1000 or Game Gear SMS mode. -
Game Gear BIOS (restart) [gearsystem_bios_gg] (Disabled|Enabled)
Enable or disable the Game Gear BIOS. The
bios.ggfile must exist in the frontend's system directory. When enabled, it runs as it does on original hardware, so invalid ROMs may fail to boot. The BIOS is used only in native Game Gear mode. -
YM2413 (restart) [gearsystem_ym2413] (Auto|Disabled)
Enable or disable the YM2413 (OPLL) FM sound chip. 'Auto' enables the chip based on the loaded content. Some Master System games use this chip for enhanced music.
- Auto selects the best option based on the ROM.
- Disabled disables YM2413.
-
PSG Volume [gearsystem_psg_volume] (100|0-200 in increments of 10)
Set the volume of the PSG (SN76489): 0 mutes it, 100 is the normal level and 200 doubles it.
-
FM Volume [gearsystem_fm_volume] (100|0-200 in increments of 10)
Set the volume of the YM2413 (OPLL) FM sound chip: 0 mutes it, 100 is the normal level and 200 doubles it.
-
3D Glasses [gearsystem_glasses] (Both Eyes / OFF|Left Eye|Right Eye)
For games with 3D glasses support this option will let you choose to display only left or right eye.
- Both Eyes / OFF is required for games with NO 3D support or if you want to display both eyes in 3D games.
- Left Eye displays the left eye only.
- Right Eye displays the right eye only.
-
Allow Up+Down / Left+Right [gearsystem_up_down_allowed] (Disabled|Enabled)
Enable this option to press, quickly alternate, or hold both left and right, or up and down, at the same time.
This may cause movement-based glitches in some games.
It is best to keep this option disabled.
-
Light Gun Input [gearsystem_lightgun_input] (Light Gun|Touchscreen)
Select the input used when controller port 1 is set to Sega Light Phaser.
- Light Gun uses the frontend's RetroLightgun coordinates and trigger.
- Touchscreen uses RetroPointer coordinates and presses, supplied by a touchscreen or another frontend pointer device.
-
Light Gun Crosshair [gearsystem_lightgun_crosshair] (Disabled|Enabled)
Enable or disable the crosshair for Light Phaser games.
-
Light Gun Crosshair Shape [gearsystem_lightgun_shape] (Cross|Square)
Select the shape of the crosshair for Light Phaser games.
-
Light Gun Crosshair Color [gearsystem_lightgun_color] (White|Black|Red|Green|Blue|Yellow|Magenta|Cyan)
Select the color of the crosshair for Light Phaser games.
-
Light Gun Crosshair Offset X [gearsystem_lightgun_crosshair_offset_x] (0|-10 - 10)
Set the horizontal pixel offset of the Light Phaser aim relative to the displayed crosshair.
-
Light Gun Crosshair Offset Y [gearsystem_lightgun_crosshair_offset_y] (0|-10 - 10)
Set the vertical pixel offset of the Light Phaser aim relative to the displayed crosshair.
-
Paddle Sensitivity [gearsystem_paddle_sensitivity] (1|1-15)
Set the sensitivity of the Paddle Control.
- 1 is the lowest sensitivity.
- 15 is the highest sensitivity.
-
Sports Pad Sensitivity [gearsystem_sports_pad_sensitivity] (8|1-15)
Set the sensitivity of the Sports Pad. Higher values produce faster trackball movement.
-
Game Link Cable Enable (restart) [gearsystem_link_enable] (Disabled|Enabled)
Run two linked Game Gear systems. Loading one ROM runs an independent copy on each screen. After changing this option, choose Close Content and load the ROM again; Restart alone is not sufficient. Use the two-ROM subsystem to load different ROMs. Only native Game Gear mode supports linking; other systems run normally.
-
Dual Screen Placement [gearsystem_link_placement] (Horizontal|Vertical)
Arrange both screens side by side or one above the other. This setting changes immediately.
-
Dual Screen Switch [gearsystem_link_switch] (Disabled|Enabled)
Swap the positions of the two screens. Controller assignments, screen selection and audio selection continue to refer to the original screen numbers.
-
Dual Screen Selection [gearsystem_link_screen] (Both Screens|Screen 1|Screen 2)
Display both machines or only the selected screen. Both machines keep running.
-
Dual Screen Audio [gearsystem_link_audio] (Screen 1|Screen 2|Mix)
Play audio from the selected machine, or mix both outputs at half volume each.
Joypad¶
Select the emulated controller using the frontend's port device type. Joypad Auto and Master System / Game Gear Pad use the mappings below; Joypad Port Empty disables input on that port. Sports Pad is available on ports 1 and 2; Sega Light Phaser and Paddle Control are available on port 1.
In linked mode, both ports accept only Joypad Auto, Joypad Port Empty and Master System / Game Gear Pad, with the same mapping. Port 1 controls Screen 1 and port 2 controls Screen 2, including after swapping or hiding screens.



| RetroPad Inputs | SMS / GG Pad |
|---|---|
![]() |
Up |
![]() |
Down |
![]() |
Left |
![]() |
Right |
![]() |
1 |
![]() |
2 |
![]() |
Pause / Start |
![]() |
Reset |
Sports Pad¶
Select Sports Pad as the device type for the desired port. The left analog stick controls the trackball.
| RetroPad Inputs | Sports Pad |
|---|---|
![]() |
Trackball movement |
![]() |
1 |
![]() |
2 |
![]() |
Pause |
![]() |
Reset |
Light Gun¶
Select Sega Light Phaser as the device type for port 1 and set Light Gun Input to Light Gun. Configure the light-gun device in the frontend.
| RetroLightgun Inputs | Light Phaser |
|---|---|
Gun Crosshair |
Light Phaser Crosshair |
| Gun Trigger | Light Phaser Trigger |
Pointer¶
Select Sega Light Phaser as the device type for port 1 and set Light Gun Input to Touchscreen. Pressing the pointer acts as the trigger.
| RetroPointer Inputs | Light Phaser |
|---|---|
or Pointer Position |
Light Phaser Crosshair |
Mouse 1 |
Light Phaser Trigger |
Mouse¶
Select Paddle Control as the device type for port 1. Horizontal mouse movement turns the paddle; the left mouse button presses its button. Adjust movement with Paddle Sensitivity.
| RetroMouse Inputs | Paddle Control |
|---|---|
Mouse Cursor |
Paddle wheel |
Mouse 1 |
Paddle button |
Compatibility¶
External Links¶
- Official Gearsystem Repository
- Libretro Gearsystem Core info file
- Report Libretro Gearsystem Core Issues Here
See also¶
Sega - Game Gear¶
Sega - Master System - Mark III¶
- Sega - Master System (Emux SMS)
- Sega - MS/GG/MD/CD (Genesis Plus GX)
- Sega - MS/MD/CD/32X (PicoDrive)









Gun Crosshair
Pointer Position
Mouse 1