Add Wanted and a few other games to FM incompatibility list.

This commit is contained in:
gameblabla 2022-01-23 19:16:50 +01:00 committed by negativeExponent
parent 843d1abe9d
commit 345bf09ca7
13 changed files with 170 additions and 139 deletions

View File

@ -89,6 +89,16 @@ PGA TOUR Golf (Game Gear)
Expects the low 5 bits of the VDP status register to not be zero.
https://www.smspower.org/Development/PGATourGolf-SMS
Great Baseball (1985), Pit Pot and Teddy Boy Blues (Japan)
==========================================================
These have control issues when a FM sound unit is plugged in.
Wanted (SMS)
============
Incompatible FM game. (Won't boot, red screen of death)
Zool (GG, SMS)
==============

View File

@ -34,7 +34,7 @@
uint8_t gaiden_hack = 0;
#define GAME_DATABASE_CNT 103
#define GAME_DATABASE_CNT 106
typedef struct
{
@ -45,244 +45,255 @@ typedef struct
uint8_t display;
uint8_t territory;
uint8_t console;
uint8_t fm_compatible;
const char *name;
} rominfo_t;
static rominfo_t game_list[GAME_DATABASE_CNT] =
{
/* Games requiring CODEMASTER mapper */
{0x29822980, 0, DEVICE_PAD2B, MAPPER_CODIES, DISPLAY_PAL, TERRITORY_EXPORT, CONSOLE_SMS2,
{0x29822980, 0, DEVICE_PAD2B, MAPPER_CODIES, DISPLAY_PAL, TERRITORY_EXPORT, CONSOLE_SMS2, FM_COMPATIBLE,
"Cosmic Spacehead"},
{0x6CAA625B, 0, DEVICE_PAD2B, MAPPER_CODIES, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_GG,
{0x6CAA625B, 0, DEVICE_PAD2B, MAPPER_CODIES, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_GG, FM_COMPATIBLE,
"Cosmic Spacehead (GG)"},
{0xEA5C3A6F, 0, DEVICE_PAD2B, MAPPER_CODIES, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_SMS2,
{0xEA5C3A6F, 0, DEVICE_PAD2B, MAPPER_CODIES, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_SMS2, FM_COMPATIBLE,
"Dinobasher - Starring Bignose the Caveman [Proto]"},
{0x152F0DCC, 0, DEVICE_PAD2B, MAPPER_CODIES, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_SMS2,
{0x152F0DCC, 0, DEVICE_PAD2B, MAPPER_CODIES, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_SMS2, FM_COMPATIBLE,
"Drop Zone"},
{0x5E53C7F7, 0, DEVICE_PAD2B, MAPPER_CODIES, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_GG,
{0x5E53C7F7, 0, DEVICE_PAD2B, MAPPER_CODIES, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_GG, FM_COMPATIBLE,
"Ernie Els Golf"},
{0x8813514B, 0, DEVICE_PAD2B, MAPPER_CODIES, DISPLAY_PAL, TERRITORY_EXPORT, CONSOLE_SMS2,
{0x8813514B, 0, DEVICE_PAD2B, MAPPER_CODIES, DISPLAY_PAL, TERRITORY_EXPORT, CONSOLE_SMS2, FM_COMPATIBLE,
"Excellent Dizzy Collection, The [Proto]"},
{0xAA140C9C, 0, DEVICE_PAD2B, MAPPER_CODIES, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_GGMS,
{0xAA140C9C, 0, DEVICE_PAD2B, MAPPER_CODIES, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_GGMS, FM_NOT_COMPATIBLE,
"Excellent Dizzy Collection, The [SMS-GG]"},
{0xB9664AE1, 0, DEVICE_PAD2B, MAPPER_CODIES, DISPLAY_PAL, TERRITORY_EXPORT, CONSOLE_SMS2,
{0xB9664AE1, 0, DEVICE_PAD2B, MAPPER_CODIES, DISPLAY_PAL, TERRITORY_EXPORT, CONSOLE_SMS2, FM_COMPATIBLE,
"Fantastic Dizzy"},
{0xC888222B, 0, DEVICE_PAD2B, MAPPER_CODIES, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_GGMS,
{0xC888222B, 0, DEVICE_PAD2B, MAPPER_CODIES, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_GGMS, FM_NOT_COMPATIBLE,
"Fantastic Dizzy [SMS-GG]"},
{0x76C5BDFB, 0, DEVICE_PAD2B, MAPPER_CODIES, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_GGMS,
{0x76C5BDFB, 0, DEVICE_PAD2B, MAPPER_CODIES, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_GGMS, FM_NOT_COMPATIBLE,
"Jang Pung 2 [SMS-GG]"},
{0xD9A7F170, 0, DEVICE_PAD2B, MAPPER_CODIES, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_SMS2,
{0xD9A7F170, 0, DEVICE_PAD2B, MAPPER_CODIES, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_SMS2, FM_COMPATIBLE,
"Man Overboard!"},
{0xA577CE46, 0, DEVICE_PAD2B, MAPPER_CODIES, DISPLAY_PAL, TERRITORY_EXPORT, CONSOLE_SMS2,
{0xA577CE46, 0, DEVICE_PAD2B, MAPPER_CODIES, DISPLAY_PAL, TERRITORY_EXPORT, CONSOLE_SMS2, FM_COMPATIBLE,
"Micro Machines"},
{0xF7C524F6, 0, DEVICE_PAD2B, MAPPER_CODIES, DISPLAY_PAL, TERRITORY_EXPORT, CONSOLE_SMS2,
{0xF7C524F6, 0, DEVICE_PAD2B, MAPPER_CODIES, DISPLAY_PAL, TERRITORY_EXPORT, CONSOLE_SMS2, FM_COMPATIBLE,
"Micro Machines [BAD DUMP]"},
{0xDBE8895C, 0, DEVICE_PAD2B, MAPPER_CODIES, DISPLAY_PAL, TERRITORY_EXPORT, CONSOLE_SMS2,
{0xDBE8895C, 0, DEVICE_PAD2B, MAPPER_CODIES, DISPLAY_PAL, TERRITORY_EXPORT, CONSOLE_SMS2, FM_COMPATIBLE,
"Micro Machines 2 - Turbo Tournament"},
{0xC1756BEE, 0, DEVICE_PAD2B, MAPPER_CODIES, DISPLAY_PAL, TERRITORY_EXPORT, CONSOLE_SMS2,
{0xC1756BEE, 0, DEVICE_PAD2B, MAPPER_CODIES, DISPLAY_PAL, TERRITORY_EXPORT, CONSOLE_SMS2, FM_COMPATIBLE,
"Pete Sampras Tennis"},
/* Games requiring KOREA mappers */
{0x17AB6883, 0, DEVICE_PAD2B, MAPPER_NONE, DISPLAY_NTSC, TERRITORY_DOMESTIC, CONSOLE_SMS2,
{0x17AB6883, 0, DEVICE_PAD2B, MAPPER_NONE, DISPLAY_NTSC, TERRITORY_DOMESTIC, CONSOLE_SMS2, FM_COMPATIBLE,
"FA Tetris (KR)"},
{0x61E8806F, 0, DEVICE_PAD2B, MAPPER_NONE, DISPLAY_NTSC, TERRITORY_DOMESTIC, CONSOLE_SMS2,
{0x61E8806F, 0, DEVICE_PAD2B, MAPPER_NONE, DISPLAY_NTSC, TERRITORY_DOMESTIC, CONSOLE_SMS2, FM_COMPATIBLE,
"Flash Point (KR)"},
{0x89B79E77, 0, DEVICE_PAD2B, MAPPER_KOREA, DISPLAY_NTSC, TERRITORY_DOMESTIC, CONSOLE_SMS2,
{0x89B79E77, 0, DEVICE_PAD2B, MAPPER_KOREA, DISPLAY_NTSC, TERRITORY_DOMESTIC, CONSOLE_SMS2, FM_COMPATIBLE,
"Dodgeball King (KR)"},
{0x18FB98A3, 0, DEVICE_PAD2B, MAPPER_KOREA, DISPLAY_NTSC, TERRITORY_DOMESTIC, CONSOLE_SMS2,
{0x18FB98A3, 0, DEVICE_PAD2B, MAPPER_KOREA, DISPLAY_NTSC, TERRITORY_DOMESTIC, CONSOLE_SMS2, FM_COMPATIBLE,
"Jang Pung 3 (KR)"},
{0x97D03541, 0, DEVICE_PAD2B, MAPPER_KOREA, DISPLAY_NTSC, TERRITORY_DOMESTIC, CONSOLE_SMS2,
{0x97D03541, 0, DEVICE_PAD2B, MAPPER_KOREA, DISPLAY_NTSC, TERRITORY_DOMESTIC, CONSOLE_SMS2, FM_COMPATIBLE,
"Sangokushi 3 (KR)"},
{0x67C2F0FF, 0, DEVICE_PAD2B, MAPPER_KOREA, DISPLAY_NTSC, TERRITORY_DOMESTIC, CONSOLE_SMS2,
{0x67C2F0FF, 0, DEVICE_PAD2B, MAPPER_KOREA, DISPLAY_NTSC, TERRITORY_DOMESTIC, CONSOLE_SMS2, FM_COMPATIBLE,
"Super Boy 2 (KR)"},
{0x445525E2, 0, DEVICE_PAD2B, MAPPER_KOREA_MSX, DISPLAY_NTSC, TERRITORY_DOMESTIC, CONSOLE_SMS2,
{0x445525E2, 0, DEVICE_PAD2B, MAPPER_KOREA_MSX, DISPLAY_NTSC, TERRITORY_DOMESTIC, CONSOLE_SMS2, FM_COMPATIBLE,
"Penguin Adventure (KR)"},
{0x83F0EEDE, 0, DEVICE_PAD2B, MAPPER_KOREA_MSX, DISPLAY_NTSC, TERRITORY_DOMESTIC, CONSOLE_SMS2,
{0x83F0EEDE, 0, DEVICE_PAD2B, MAPPER_KOREA_MSX, DISPLAY_NTSC, TERRITORY_DOMESTIC, CONSOLE_SMS2, FM_COMPATIBLE,
"Street Master (KR)"},
{0xA05258F5, 0, DEVICE_PAD2B, MAPPER_KOREA_MSX, DISPLAY_NTSC, TERRITORY_DOMESTIC, CONSOLE_SMS2,
{0xA05258F5, 0, DEVICE_PAD2B, MAPPER_KOREA_MSX, DISPLAY_NTSC, TERRITORY_DOMESTIC, CONSOLE_SMS2, FM_COMPATIBLE,
"Won-Si-In (KR)"},
{0x06965ED9, 0, DEVICE_PAD2B, MAPPER_KOREA_MSX, DISPLAY_NTSC, TERRITORY_DOMESTIC, CONSOLE_SMS2,
{0x06965ED9, 0, DEVICE_PAD2B, MAPPER_KOREA_MSX, DISPLAY_NTSC, TERRITORY_DOMESTIC, CONSOLE_SMS2, FM_COMPATIBLE,
"F-1 Spirit - The way to Formula-1 (KR)"},
/* Games that require PAL timings (from MEKA.nam by Omar Cornut) */
{0x72420F38, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_PAL, TERRITORY_EXPORT, CONSOLE_SMS2,
{0x72420F38, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_PAL, TERRITORY_EXPORT, CONSOLE_SMS2, FM_COMPATIBLE,
"Addams Familly"},
{0x2D48C1D3, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_PAL, TERRITORY_EXPORT, CONSOLE_SMS2,
{0x2D48C1D3, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_PAL, TERRITORY_EXPORT, CONSOLE_SMS2, FM_COMPATIBLE,
"Back to the Future Part III"},
{0x1CBB7BF1, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_PAL, TERRITORY_EXPORT, CONSOLE_SMS2,
{0x1CBB7BF1, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_PAL, TERRITORY_EXPORT, CONSOLE_SMS2, FM_COMPATIBLE,
"Battlemaniacs (BR)"},
{0x1B10A951, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_PAL, TERRITORY_EXPORT, CONSOLE_SMS2,
{0x1B10A951, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_PAL, TERRITORY_EXPORT, CONSOLE_SMS2, FM_COMPATIBLE,
"Bram Stoker's Dracula"},
{0xC0E25D62, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_PAL, TERRITORY_EXPORT, CONSOLE_SMS2,
{0xC0E25D62, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_PAL, TERRITORY_EXPORT, CONSOLE_SMS2, FM_COMPATIBLE,
"California Games II"},
{0xC9DBF936, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_PAL, TERRITORY_EXPORT, CONSOLE_SMS2,
{0xC9DBF936, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_PAL, TERRITORY_EXPORT, CONSOLE_SMS2, FM_COMPATIBLE,
"Home Alone"},
{0xA109A6FE, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_PAL, TERRITORY_EXPORT, CONSOLE_SMS2,
{0xA109A6FE, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_PAL, TERRITORY_EXPORT, CONSOLE_SMS2, FM_COMPATIBLE,
"Power Strike II"},
{0x4FF0CEC7, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_PAL, TERRITORY_EXPORT, CONSOLE_SMS2,
{0x4FF0CEC7, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_PAL, TERRITORY_EXPORT, CONSOLE_SMS2, FM_COMPATIBLE,
"Power Strike II (Game Gear Micro)"},
{0x0047B615, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_PAL, TERRITORY_EXPORT, CONSOLE_SMS2,
{0x0047B615, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_PAL, TERRITORY_EXPORT, CONSOLE_SMS2, FM_COMPATIBLE,
"Predator2"},
{0xF42E145C, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_PAL, TERRITORY_EXPORT, CONSOLE_SMS2,
{0xF42E145C, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_PAL, TERRITORY_EXPORT, CONSOLE_SMS2, FM_COMPATIBLE,
"Quest for the Shaven Yak Starring Ren Hoek & Stimpy (BR)"},
{0x9F951756, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_PAL, TERRITORY_EXPORT, CONSOLE_SMS2,
{0x9F951756, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_PAL, TERRITORY_EXPORT, CONSOLE_SMS2, FM_COMPATIBLE,
"RoboCop 3"},
{0x1575581D, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_PAL, TERRITORY_EXPORT, CONSOLE_SMS2,
{0x1575581D, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_PAL, TERRITORY_EXPORT, CONSOLE_SMS2, FM_COMPATIBLE,
"Shadow of the Beast"},
{0x96B3F29E, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_PAL, TERRITORY_EXPORT, CONSOLE_SMS2,
{0x96B3F29E, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_PAL, TERRITORY_EXPORT, CONSOLE_SMS2, FM_COMPATIBLE,
"Sonic Blast (BR)"},
{0x5B3B922C, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_PAL, TERRITORY_EXPORT, CONSOLE_SMS2,
{0x5B3B922C, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_PAL, TERRITORY_EXPORT, CONSOLE_SMS2, FM_COMPATIBLE,
"Sonic the Hedgehog 2 [V0]"},
{0xD6F2BFCA, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_PAL, TERRITORY_EXPORT, CONSOLE_SMS2,
{0xD6F2BFCA, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_PAL, TERRITORY_EXPORT, CONSOLE_SMS2, FM_COMPATIBLE,
"Sonic the Hedgehog 2 [V1]"},
{0xCA1D3752, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_PAL, TERRITORY_EXPORT, CONSOLE_SMS2,
{0xCA1D3752, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_PAL, TERRITORY_EXPORT, CONSOLE_SMS2, FM_COMPATIBLE,
"Space Harrier [50 Hz]"},
{0x85CFC9C9, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_PAL, TERRITORY_EXPORT, CONSOLE_SMS2,
{0x85CFC9C9, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_PAL, TERRITORY_EXPORT, CONSOLE_SMS2, FM_COMPATIBLE,
"Taito Chase H.Q."},
{0x38434560, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_PAL, TERRITORY_EXPORT, CONSOLE_SMS2,
{0x38434560, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_PAL, TERRITORY_EXPORT, CONSOLE_SMS2, FM_COMPATIBLE,
"Bad Apple SMS"},
{0xDA2A68C6, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_PAL, TERRITORY_EXPORT, CONSOLE_SMS2,
{0xDA2A68C6, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_PAL, TERRITORY_EXPORT, CONSOLE_SMS2, FM_COMPATIBLE,
"The Synchrobots"},
/* Games requiring 315-5124 VDP (Mark-III, Sega Master System) */
{0x32759751, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_DOMESTIC, CONSOLE_SMS,
{0x32759751, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_DOMESTIC, CONSOLE_SMS, FM_COMPATIBLE,
"Y's (J)"},
/* Games requiring Game Gear SMS compatibility mode */
{0x59840FD6, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_GGMS,
{0x59840FD6, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_GGMS, FM_NOT_COMPATIBLE,
"Castle of Illusion - Starring Mickey Mouse"},
{0x9942B69B, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_DOMESTIC, CONSOLE_GGMS,
{0x9942B69B, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_DOMESTIC, CONSOLE_GGMS, FM_NOT_COMPATIBLE,
"Castle of Illusion - Starring Mickey Mouse (J)"},
{0x5877B10D, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_DOMESTIC, CONSOLE_GGMS,
{0x5877B10D, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_DOMESTIC, CONSOLE_GGMS, FM_NOT_COMPATIBLE,
"Castle of Illusion - Starring Mickey Mouse (J) [HACK]"},
{0x9C76FB3A, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_GGMS,
{0x9C76FB3A, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_GGMS, FM_NOT_COMPATIBLE,
"Rastan Saga [SMS-GG]"},
{0x7BB81E3D, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_GGMS,
{0x7BB81E3D, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_GGMS, FM_NOT_COMPATIBLE,
"Taito Chase H.Q. [SMS-GG]"},
{0x44FBE8F6, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_GGMS,
{0x44FBE8F6, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_GGMS, FM_NOT_COMPATIBLE,
"Taito Chase H.Q. [SMS-GG][HACK]"},
{0x18086B70, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_GGMS,
{0x18086B70, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_GGMS, FM_NOT_COMPATIBLE,
"Taito Chase H.Q. [SMS-GG][HACK][BAD]"},
{0xDA8E95A9, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_GGMS,
{0xDA8E95A9, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_GGMS, FM_NOT_COMPATIBLE,
"WWF Wrestlemania Steel Cage Challenge [SMS-GG]"},
{0xCB42BD33, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_GGMS,
{0xCB42BD33, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_GGMS, FM_NOT_COMPATIBLE,
"WWF Wrestlemania Steel Cage Challenge [SMS-GG] [BAD DUMP]"},
{0x1D93246E, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_GGMS,
{0x1D93246E, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_GGMS, FM_NOT_COMPATIBLE,
"Olympic Gold [SMS-GG] [A]"},
{0xA2f9C7AF, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_GGMS,
{0xA2f9C7AF, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_GGMS, FM_NOT_COMPATIBLE,
"Olympic Gold [SMS-GG] [B]"},
{0xF037EC00, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_GGMS,
{0xF037EC00, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_GGMS, FM_NOT_COMPATIBLE,
"Out Run Europa [SMS-GG]"},
{0xE5F789B9, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_GGMS,
{0xE5F789B9, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_GGMS, FM_NOT_COMPATIBLE,
"Predator 2 [SMS-GG]"},
{0x311D2863, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_GGMS,
{0x311D2863, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_GGMS, FM_NOT_COMPATIBLE,
"Prince of Persia [SMS-GG] [A]"},
{0x45F058d6, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_GGMS,
{0x45F058d6, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_GGMS, FM_NOT_COMPATIBLE,
"Prince of Persia [SMS-GG] [B]"},
{0x56201996, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_GGMS,
{0x56201996, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_GGMS, FM_NOT_COMPATIBLE,
"R.C. Grand Prix [SMS-GG]"},
{0x10DBBEF4, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_GGMS,
{0x10DBBEF4, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_GGMS, FM_NOT_COMPATIBLE,
"Super Kick Off [SMS-GG]"},
{0xBD1CC7DF, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_DOMESTIC, CONSOLE_GGMS,
{0xBD1CC7DF, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_DOMESTIC, CONSOLE_GGMS, FM_NOT_COMPATIBLE,
"Super Tetris (KR)"},
/* Games requiring uninitialized work RAM due to Japanese BIOS not clearing memory. */
{0x08BF3DE3, 0, DEVICE_PAD2B, MAPPER_NONE, DISPLAY_NTSC, TERRITORY_DOMESTIC, CONSOLE_SMS,
{0x08BF3DE3, 0, DEVICE_PAD2B, MAPPER_NONE, DISPLAY_NTSC, TERRITORY_DOMESTIC, CONSOLE_SMS, FM_COMPATIBLE,
"Alibaba and 40 Thieves"},
{0x643B6B76, 0, DEVICE_PAD2B, MAPPER_NONE, DISPLAY_NTSC, TERRITORY_DOMESTIC, CONSOLE_SMS,
{0x643B6B76, 0, DEVICE_PAD2B, MAPPER_NONE, DISPLAY_NTSC, TERRITORY_DOMESTIC, CONSOLE_SMS, FM_COMPATIBLE,
"Block Hole"},
/* 4-PAK mapper for Australian exclusive */
{0xA67F2A5C, 0, DEVICE_PAD2B, MAPPER_4PAK, DISPLAY_PAL, TERRITORY_EXPORT, CONSOLE_SMS2,
{0xA67F2A5C, 0, DEVICE_PAD2B, MAPPER_4PAK, DISPLAY_PAL, TERRITORY_EXPORT, CONSOLE_SMS2, FM_COMPATIBLE,
"4 PAK All Action"},
/* Games requiring 3D Glasses */
{0xFBF96C81, 1, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_SMS2,
{0xFBF96C81, 1, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_SMS2, FM_COMPATIBLE,
"Blade Eagle 3-D (BR)"},
{0x8ECD201C, 1, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_SMS2,
{0x8ECD201C, 1, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_SMS2, FM_COMPATIBLE,
"Blade Eagle 3-D"},
{0x31B8040B, 1, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_SMS2,
{0x31B8040B, 1, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_SMS2, FM_COMPATIBLE,
"Maze Hunter 3-D"},
{0x871562b0, 1, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_DOMESTIC, CONSOLE_SMS,
{0x871562b0, 1, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_DOMESTIC, CONSOLE_SMS, FM_COMPATIBLE,
"Maze Walker"},
{0xABD48AD2, 1, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_SMS2,
{0xABD48AD2, 1, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_SMS2, FM_COMPATIBLE,
"Poseidon Wars 3-D"},
{0x6BD5C2BF, 1, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_SMS2,
{0x6BD5C2BF, 1, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_SMS2, FM_COMPATIBLE,
"Space Harrier 3-D"},
{0x156948f9, 1, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_DOMESTIC, CONSOLE_SMS,
{0x156948f9, 1, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_DOMESTIC, CONSOLE_SMS, FM_COMPATIBLE,
"Space Harrier 3-D (J)"},
{0xA3EF13CB, 1, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_SMS2,
{0xA3EF13CB, 1, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_SMS2, FM_COMPATIBLE,
"Zaxxon 3-D"},
{0xBBA74147, 1, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_SMS2,
{0xBBA74147, 1, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_SMS2, FM_COMPATIBLE,
"Zaxxon 3-D [Proto]"},
{0xD6F43DDA, 1, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_SMS2,
{0xD6F43DDA, 1, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_SMS2, FM_COMPATIBLE,
"Out Run 3-D"},
/* Games requiring Light Phaser & 3D Glasses */
{0xFBE5CFBB, 1, DEVICE_LIGHTGUN, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_SMS2,
{0xFBE5CFBB, 1, DEVICE_LIGHTGUN, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_SMS2, FM_COMPATIBLE,
"Missile Defense 3D"},
{0xE79BB689, 1, DEVICE_LIGHTGUN, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_SMS2,
{0xE79BB689, 1, DEVICE_LIGHTGUN, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_SMS2, FM_COMPATIBLE,
"Missile Defense 3D [BIOS]"},
/* Games requiring Light Phaser */
{0x861B6E79, 0, DEVICE_LIGHTGUN, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_SMS2,
{0x861B6E79, 0, DEVICE_LIGHTGUN, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_SMS2, FM_COMPATIBLE,
"Assault City [Light Phaser]"},
{0x5FC74D2A, 0, DEVICE_LIGHTGUN, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_SMS2,
{0x5FC74D2A, 0, DEVICE_LIGHTGUN, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_SMS2, FM_COMPATIBLE,
"Gangster Town"},
{0xE167A561, 0, DEVICE_LIGHTGUN, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_SMS2,
{0xE167A561, 0, DEVICE_LIGHTGUN, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_SMS2, FM_COMPATIBLE,
"Hang-On / Safari Hunt"},
{0xC5083000, 0, DEVICE_LIGHTGUN, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_SMS2,
{0xC5083000, 0, DEVICE_LIGHTGUN, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_SMS2, FM_COMPATIBLE,
"Hang-On / Safari Hunt [BAD DUMP]"},
{0x91E93385, 0, DEVICE_LIGHTGUN, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_SMS2,
{0x91E93385, 0, DEVICE_LIGHTGUN, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_SMS2, FM_COMPATIBLE,
"Hang-On / Safari Hunt [BIOS]"},
{0xE8EA842C, 0, DEVICE_LIGHTGUN, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_SMS2,
{0xE8EA842C, 0, DEVICE_LIGHTGUN, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_SMS2, FM_COMPATIBLE,
"Marksman Shooting / Trap Shooting"},
{0xE8215C2E, 0, DEVICE_LIGHTGUN, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_SMS2,
{0xE8215C2E, 0, DEVICE_LIGHTGUN, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_SMS2, FM_COMPATIBLE,
"Marksman Shooting / Trap Shooting / Safari Hunt"},
{0x205CAAE8, 0, DEVICE_LIGHTGUN, MAPPER_SEGA, DISPLAY_PAL, TERRITORY_EXPORT, CONSOLE_SMS2,
{0x205CAAE8, 0, DEVICE_LIGHTGUN, MAPPER_SEGA, DISPLAY_PAL, TERRITORY_EXPORT, CONSOLE_SMS2, FM_COMPATIBLE,
"Operation Wolf"}, /* Can be also played using the PLAYER2 gamepad */
{0x23283F37, 0, DEVICE_LIGHTGUN, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_SMS2,
{0x23283F37, 0, DEVICE_LIGHTGUN, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_SMS2, FM_COMPATIBLE,
"Operation Wolf [A]"}, /* Can be also played using the PLAYER2 gamepad */
{0xDA5A7013, 0, DEVICE_LIGHTGUN, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_SMS2,
{0xDA5A7013, 0, DEVICE_LIGHTGUN, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_SMS2, FM_COMPATIBLE,
"Rambo 3"},
{0x79AC8E7F, 0, DEVICE_LIGHTGUN, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_SMS2,
{0x79AC8E7F, 0, DEVICE_LIGHTGUN, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_SMS2, FM_COMPATIBLE,
"Rescue Mission"},
{0x4B051022, 0, DEVICE_LIGHTGUN, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_SMS2,
{0x4B051022, 0, DEVICE_LIGHTGUN, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_SMS2, FM_COMPATIBLE,
"Shooting Gallery"},
{0xA908CFF5, 0, DEVICE_LIGHTGUN, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_SMS2,
{0xA908CFF5, 0, DEVICE_LIGHTGUN, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_SMS2, FM_COMPATIBLE,
"Spacegun"},
{0x5359762D, 0, DEVICE_LIGHTGUN, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_SMS2,
/* This game won't work with an FM board connected */
{0x5359762D, 0, DEVICE_LIGHTGUN, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_SMS2, FM_NOT_COMPATIBLE,
"Wanted"},
{0x0CA95637, 0, DEVICE_LIGHTGUN, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_SMS2,
{0x0CA95637, 0, DEVICE_LIGHTGUN, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_SMS2, FM_COMPATIBLE,
"Laser Ghost"},
/* Games requiring Paddle */
{0xF9DBB533, 0, DEVICE_PADDLE, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_DOMESTIC, CONSOLE_SMS,
{0xF9DBB533, 0, DEVICE_PADDLE, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_DOMESTIC, CONSOLE_SMS, FM_COMPATIBLE,
"Alex Kidd BMX Trial"},
{0xA6FA42D0, 0, DEVICE_PADDLE, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_DOMESTIC, CONSOLE_SMS,
{0xA6FA42D0, 0, DEVICE_PADDLE, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_DOMESTIC, CONSOLE_SMS, FM_COMPATIBLE,
"Galactic Protector"},
{0x29BC7FAD, 0, DEVICE_PADDLE, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_DOMESTIC, CONSOLE_SMS,
{0x29BC7FAD, 0, DEVICE_PADDLE, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_DOMESTIC, CONSOLE_SMS, FM_COMPATIBLE,
"Megumi Rescue"},
{0x315917D4, 0, DEVICE_PADDLE, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_DOMESTIC, CONSOLE_SMS,
{0x315917D4, 0, DEVICE_PADDLE, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_DOMESTIC, CONSOLE_SMS, FM_COMPATIBLE,
"Woody Pop"},
/* Games requiring Sport Pad (NOT EMULATED YET) */
{0x946B8C4A, 0, DEVICE_SPORTSPAD, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_SMS2,
{0x946B8C4A, 0, DEVICE_SPORTSPAD, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_SMS2, FM_COMPATIBLE,
"Great Ice Hockey"},
{0xE42E4998, 0, DEVICE_SPORTSPAD, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_SMS2,
{0xE42E4998, 0, DEVICE_SPORTSPAD, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_SMS2, FM_COMPATIBLE,
"Sports Pad Football"},
{0x41C948BF, 0, DEVICE_SPORTSPAD, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_SMS2,
{0x41C948BF, 0, DEVICE_SPORTSPAD, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_SMS2, FM_COMPATIBLE,
"Sports Pad Soccer"},
/* Games using FM sound only when a certain region is set. Not required for the games to be playable
* but most people prefer the FM soundtrack anyway. */
{0x679E1676, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_DOMESTIC, CONSOLE_SMS2,
{0x679E1676, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_DOMESTIC, CONSOLE_SMS2, FM_COMPATIBLE,
"Wonder Boy III - The dragon's Trap"},
{0x22CCA9BB, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_DOMESTIC, CONSOLE_SMS2,
{0x22CCA9BB, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_DOMESTIC, CONSOLE_SMS2, FM_COMPATIBLE,
"Turma da Monica em O Resgate"},
{0x23BAC434, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_GG,
"Shining Force Final Conflict"}
{0x23BAC434, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_EXPORT, CONSOLE_GG, FM_NOT_COMPATIBLE,
"Shining Force Final Conflict"},
/* These games have control issues if there's an FM board connected. */
{0xE6795C53, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_DOMESTIC, CONSOLE_SMS, FM_NOT_COMPATIBLE,
"Fushigi no Oshiro Pit Pot"},
{0x89E98A7C, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_DOMESTIC, CONSOLE_SMS, FM_NOT_COMPATIBLE,
"Great Baseball (Japan)"},
{0x316727DD, 0, DEVICE_PAD2B, MAPPER_SEGA, DISPLAY_NTSC, TERRITORY_DOMESTIC, CONSOLE_SMS, FM_NOT_COMPATIBLE,
"Teddy Boy Blues (Japan)"},
};
static void set_config()
@ -343,6 +354,7 @@ static void set_config()
sms.glasses_3d = game_list[i].glasses_3d;
sms.console = game_list[i].console;
sms.device[0] = game_list[i].device;
sms.use_fm = game_list[i].fm_compatible;
if (game_list[i].device != DEVICE_LIGHTGUN) sms.device[1] = game_list[i].device;

View File

@ -988,6 +988,9 @@ int main (int argc, char *argv[])
if (option.fullscreen < 0 && option.fullscreen > upscalers_available) option.fullscreen = 1;
if (option.console != 3 && option.fullscreen > 1) option.fullscreen = 1;
if (sms.console == CONSOLE_SMS || sms.console == CONSOLE_SMS2)
sms.use_fm = 1;
// Load ROM
if(!load_rom(argv[1]))
{
@ -1027,8 +1030,6 @@ int main (int argc, char *argv[])
bitmap.viewport.y = 0x00;
//sms.territory = settings.misc_region;
if (sms.console == CONSOLE_SMS || sms.console == CONSOLE_SMS2)
sms.use_fm = 1;
bios_init();

View File

@ -691,11 +691,9 @@ int main (int argc, char *argv[])
// Sometimes Game Gear games are not properly detected, force them accordingly
else if (strcmp(strrchr(argv[1], '.'), ".gg") == 0) option.console = 3;
// Load ROM
if(!load_rom(argv[1])) {
fprintf(stderr, "Error: Failed to load %s.\n", argv[1]);
Cleanup();
return 0;
if (sms.console == CONSOLE_SMS || sms.console == CONSOLE_SMS2)
{
sms.use_fm = 1;
}
strcpy(option.game_name, argv[1]);
@ -740,11 +738,7 @@ int main (int argc, char *argv[])
bitmap.viewport.y = 0x00;
//sms.territory = settings.misc_region;
if (sms.console == CONSOLE_SMS || sms.console == CONSOLE_SMS2)
{
sms.use_fm = 1;
}
bios_init();
// Initialize all systems and power on

View File

@ -964,6 +964,9 @@ int main (int argc, char *argv[])
if (option.fullscreen < 0 && option.fullscreen > upscalers_available) option.fullscreen = 1;
if (option.console != 3 && option.fullscreen > 1) option.fullscreen = 1;
if (sms.console == CONSOLE_SMS || sms.console == CONSOLE_SMS2)
sms.use_fm = 1;
// Load ROM
if(!load_rom(argv[1]))
{
@ -996,8 +999,6 @@ int main (int argc, char *argv[])
bitmap.viewport.y = 0x00;
//sms.territory = settings.misc_region;
if (sms.console == CONSOLE_SMS || sms.console == CONSOLE_SMS2)
sms.use_fm = 1;
bios_init();

View File

@ -645,6 +645,9 @@ int main (int argc, char *argv[])
// Sometimes Game Gear games are not properly detected, force them accordingly
else if (strcmp(strrchr(argv[1], '.'), ".gg") == 0) option.console = 3;
if (sms.console == CONSOLE_SMS || sms.console == CONSOLE_SMS2)
sms.use_fm = 1;
// Load ROM
if(!load_rom(argv[1])) {
fprintf(stderr, "Error: Failed to load %s.\n", argv[1]);
@ -710,8 +713,6 @@ int main (int argc, char *argv[])
bitmap.viewport.y = 0x00;
//sms.territory = settings.misc_region;
if (sms.console == CONSOLE_SMS || sms.console == CONSOLE_SMS2)
sms.use_fm = 1;
bios_init();

View File

@ -971,6 +971,9 @@ int main (int argc, char *argv[])
if (option.fullscreen < 0 && option.fullscreen > upscalers_available) option.fullscreen = 1;
if (sms.console == CONSOLE_SMS || sms.console == CONSOLE_SMS2)
sms.use_fm = 1;
// Load ROM
if(!load_rom(argv[1]))
{
@ -1007,8 +1010,6 @@ int main (int argc, char *argv[])
bitmap.viewport.y = 0x00;
//sms.territory = settings.misc_region;
if (sms.console == CONSOLE_SMS || sms.console == CONSOLE_SMS2)
sms.use_fm = 1;
bios_init();

View File

@ -616,6 +616,9 @@ int main (int argc, char *argv[])
// Sometimes Game Gear games are not properly detected, force them accordingly
else if (strcmp(strrchr(argv[1], '.'), ".gg") == 0) option.console = 3;
if (sms.console == CONSOLE_SMS || sms.console == CONSOLE_SMS2)
sms.use_fm = 1;
// Load ROM
if(!load_rom(argv[1])) {
fprintf(stderr, "Error: Failed to load %s.\n", argv[1]);
@ -647,8 +650,6 @@ int main (int argc, char *argv[])
bitmap.viewport.y = 0x00;
//sms.territory = settings.misc_region;
if (sms.console == CONSOLE_SMS || sms.console == CONSOLE_SMS2)
sms.use_fm = 1;
bios_init();

View File

@ -770,6 +770,11 @@ int main (int argc, char *argv[])
// Sometimes Game Gear games are not properly detected, force them accordingly
else if (strcmp(strrchr(argv[1], '.'), ".gg") == 0) option.console = 3;
if (sms.console == CONSOLE_SMS || sms.console == CONSOLE_SMS2)
{
sms.use_fm = 1;
}
// Load ROM
if(!load_rom(argv[1])) {
fprintf(stderr, "Error: Failed to load %s.\n", argv[1]);
@ -816,11 +821,7 @@ int main (int argc, char *argv[])
bitmap.viewport.y = 0x00;
//sms.territory = settings.misc_region;
if (sms.console == CONSOLE_SMS || sms.console == CONSOLE_SMS2)
{
sms.use_fm = 1;
}
bios_init();
// Initialize all systems and power on

View File

@ -952,6 +952,9 @@ int main (int argc, char *argv[])
if (option.fullscreen < 0 && option.fullscreen > upscalers_available) option.fullscreen = 1;
if (option.console != 3 && option.fullscreen > 1) option.fullscreen = 1;
if (sms.console == CONSOLE_SMS || sms.console == CONSOLE_SMS2)
sms.use_fm = 1;
// Load ROM
if(!load_rom(argv[1]))
{
@ -984,8 +987,6 @@ int main (int argc, char *argv[])
bitmap.viewport.y = 0x00;
//sms.territory = settings.misc_region;
if (sms.console == CONSOLE_SMS || sms.console == CONSOLE_SMS2)
sms.use_fm = 1;
bios_init();

View File

@ -678,6 +678,12 @@ int main (int argc, char *argv[])
// Force M5
else if (strcmp(strrchr(argv[1], '.'), ".m5") == 0) option.console = 7;
/* Make sure it's before load_rom as we need to handle the cornercase in Wanted and other FM incompatible games */
if (sms.console == CONSOLE_SMS || sms.console == CONSOLE_SMS2)
{
sms.use_fm = 1;
}
// Load ROM
if(!load_rom(argv[1])) {
fprintf(stderr, "Error: Failed to load %s.\n", argv[1]);
@ -717,10 +723,6 @@ int main (int argc, char *argv[])
bitmap.viewport.y = 0x00;
//sms.territory = settings.misc_region;
if (sms.console == CONSOLE_SMS || sms.console == CONSOLE_SMS2)
{
sms.use_fm = 1;
}
bios_init();

View File

@ -604,6 +604,9 @@ int main (int argc, char *argv[])
// Sometimes Game Gear games are not properly detected, force them accordingly
else if (strcmp(strrchr(argv[1], '.'), ".gg") == 0) option.console = 3;
if (sms.console == CONSOLE_SMS || sms.console == CONSOLE_SMS2)
sms.use_fm = 1;
// Load ROM
if(!load_rom(argv[1])) {
fprintf(stderr, "Error: Failed to load %s.\n", argv[1]);
@ -636,9 +639,7 @@ int main (int argc, char *argv[])
bitmap.viewport.y = 0x00;
//sms.territory = settings.misc_region;
if (sms.console == CONSOLE_SMS || sms.console == CONSOLE_SMS2)
sms.use_fm = 1;
bios_init();
// Initialize all systems and power on

View File

@ -79,6 +79,11 @@ enum {
CONSOLE_GENPBC = 0x83
};
enum {
FM_NOT_COMPATIBLE = 0,
FM_COMPATIBLE = 1
};
#define HWTYPE_TMS CONSOLE_COLECO
#define HWTYPE_SMS CONSOLE_SMS
#define HWTYPE_GG CONSOLE_GG