SMS: Korean mappers work. Fixes Cyborg Z, Dodgeball King, F1 Spirit, Jang Pang III, Knightmare II, Nemesis, Nemesis 2, Penguin Adventure, Sangokushi 3, Street Master, Wonsiin
This commit is contained in:
parent
b1a37724a1
commit
8496f71812
|
@ -1303,12 +1303,12 @@ namespace BizHawk.Client.EmuHawk
|
||||||
ShowClippedRegionsMenuItem.Checked = s.ShowClippedRegions;
|
ShowClippedRegionsMenuItem.Checked = s.ShowClippedRegions;
|
||||||
HighlightActiveDisplayRegionMenuItem.Checked = s.HighlightActiveDisplayRegion;
|
HighlightActiveDisplayRegionMenuItem.Checked = s.HighlightActiveDisplayRegion;
|
||||||
|
|
||||||
SMSFix3DGameDisplayToolStripMenuItem.Visible =
|
SMSEnableFMChipMenuItem.Visible =
|
||||||
|
SMSFix3DGameDisplayToolStripMenuItem.Visible =
|
||||||
SMSenableBIOSToolStripMenuItem.Visible =
|
SMSenableBIOSToolStripMenuItem.Visible =
|
||||||
Global.Game.System == "SMS";
|
Global.Game.System == "SMS";
|
||||||
|
|
||||||
SMSEnableFMChipMenuItem.Visible =
|
SMSOverclockMenuItem.Visible =
|
||||||
SMSOverclockMenuItem.Visible =
|
|
||||||
SMSForceStereoMenuItem.Visible =
|
SMSForceStereoMenuItem.Visible =
|
||||||
SMS_NTSCToolStripMenuItem.Visible =
|
SMS_NTSCToolStripMenuItem.Visible =
|
||||||
SMS_PALToolStripMenuItem.Visible =
|
SMS_PALToolStripMenuItem.Visible =
|
||||||
|
|
|
@ -435,6 +435,7 @@
|
||||||
<Compile Include="Consoles\Sega\Saturn\FilePiping.cs" />
|
<Compile Include="Consoles\Sega\Saturn\FilePiping.cs" />
|
||||||
<Compile Include="Consoles\Sega\Saturn\LibYabause.cs" />
|
<Compile Include="Consoles\Sega\Saturn\LibYabause.cs" />
|
||||||
<Compile Include="Consoles\Sega\Saturn\Yabause.cs" />
|
<Compile Include="Consoles\Sega\Saturn\Yabause.cs" />
|
||||||
|
<Compile Include="Consoles\Sega\SMS\MemoryMap.Korea.cs" />
|
||||||
<Compile Include="Consoles\Sega\SMS\MemoryMap.ExtRam.cs" />
|
<Compile Include="Consoles\Sega\SMS\MemoryMap.ExtRam.cs" />
|
||||||
<Compile Include="Consoles\Sega\SMS\MemoryMap.CodeMasters.cs" />
|
<Compile Include="Consoles\Sega\SMS\MemoryMap.CodeMasters.cs" />
|
||||||
<Compile Include="Consoles\Sega\SMS\MemoryMap.Sega.cs" />
|
<Compile Include="Consoles\Sega\SMS\MemoryMap.Sega.cs" />
|
||||||
|
|
|
@ -0,0 +1,89 @@
|
||||||
|
namespace BizHawk.Emulation.Cores.Sega.MasterSystem
|
||||||
|
{
|
||||||
|
public partial class SMS
|
||||||
|
{
|
||||||
|
// Bank 0: Fixed - Maps $0000 - $3FFF
|
||||||
|
// Bank 1: Fixed - Maps $4000 - $7FFF
|
||||||
|
// Bank 2: Control Address $A000 - Maps $8000 - $BFFF
|
||||||
|
|
||||||
|
byte ReadMemoryKR(ushort address)
|
||||||
|
{
|
||||||
|
if (address < 0x8000) return RomData[address & 0x7FFF];
|
||||||
|
if (address < 0xC000) return RomData[(RomBank2 * BankSize) + (address & BankSizeMask)];
|
||||||
|
return SystemRam[address & RamSizeMask];
|
||||||
|
}
|
||||||
|
|
||||||
|
void WriteMemoryKR(ushort address, byte value)
|
||||||
|
{
|
||||||
|
if (address >= 0xC000)
|
||||||
|
SystemRam[address & RamSizeMask] = value;
|
||||||
|
else if (address == 0xA000)
|
||||||
|
RomBank2 = (byte)(value % RomBanks);
|
||||||
|
}
|
||||||
|
|
||||||
|
void InitKoreaMapper()
|
||||||
|
{
|
||||||
|
Cpu.ReadMemory = ReadMemoryKR;
|
||||||
|
Cpu.WriteMemory = WriteMemoryKR;
|
||||||
|
RomBank0 = 0;
|
||||||
|
RomBank1 = 1;
|
||||||
|
RomBank2 = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ======================================================================
|
||||||
|
// MSX mapper & Nemesis mapper
|
||||||
|
// ======================================================================
|
||||||
|
|
||||||
|
byte ReadMemoryMSX(ushort address)
|
||||||
|
{
|
||||||
|
if (address < 0x4000) return RomData[address & 0x3FFF];
|
||||||
|
if (address < 0x6000) return RomData[(RomBank0 * 0x2000) + (address & 0x1FFF)];
|
||||||
|
if (address < 0x8000) return RomData[(RomBank1 * 0x2000) + (address & 0x1FFF)];
|
||||||
|
if (address < 0xA000) return RomData[(RomBank2 * 0x2000) + (address & 0x1FFF)];
|
||||||
|
if (address < 0xC000) return RomData[(RomBank3 * 0x2000) + (address & 0x1FFF)];
|
||||||
|
return SystemRam[address & RamSizeMask];
|
||||||
|
}
|
||||||
|
|
||||||
|
byte ReadMemoryNemesis(ushort address)
|
||||||
|
{
|
||||||
|
if (address < 0x2000) return RomData[(15 * 0x2000) + (address & 0x1FFF)];
|
||||||
|
if (address < 0x4000) return RomData[address & 0x3FFF];
|
||||||
|
if (address < 0x6000) return RomData[(RomBank0 * 0x2000) + (address & 0x1FFF)];
|
||||||
|
if (address < 0x8000) return RomData[(RomBank1 * 0x2000) + (address & 0x1FFF)];
|
||||||
|
if (address < 0xA000) return RomData[(RomBank2 * 0x2000) + (address & 0x1FFF)];
|
||||||
|
if (address < 0xC000) return RomData[(RomBank3 * 0x2000) + (address & 0x1FFF)];
|
||||||
|
return SystemRam[address & RamSizeMask];
|
||||||
|
}
|
||||||
|
|
||||||
|
void WriteMemoryMSX(ushort address, byte value)
|
||||||
|
{
|
||||||
|
if (address >= 0xC000)
|
||||||
|
SystemRam[address & RamSizeMask] = value;
|
||||||
|
|
||||||
|
else if (address == 0)
|
||||||
|
RomBank2 = (byte)(value % (RomBanks*2));
|
||||||
|
else if (address == 1)
|
||||||
|
RomBank3 = (byte)(value % (RomBanks * 2));
|
||||||
|
else if (address == 2)
|
||||||
|
RomBank0 = (byte)(value % (RomBanks * 2));
|
||||||
|
else if (address == 3)
|
||||||
|
RomBank1 = (byte)(value % (RomBanks * 2));
|
||||||
|
}
|
||||||
|
|
||||||
|
void InitMSXMapper()
|
||||||
|
{
|
||||||
|
Cpu.ReadMemory = ReadMemoryMSX;
|
||||||
|
Cpu.WriteMemory = WriteMemoryMSX;
|
||||||
|
RomBank0 = 0;
|
||||||
|
RomBank1 = 0;
|
||||||
|
RomBank2 = 0;
|
||||||
|
RomBank3 = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
void InitNemesisMapper()
|
||||||
|
{
|
||||||
|
InitMSXMapper();
|
||||||
|
Cpu.ReadMemory = ReadMemoryNemesis;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -18,6 +18,8 @@ using BizHawk.Emulation.Cores.Components.Z80;
|
||||||
+ Add Region to GameDB.
|
+ Add Region to GameDB.
|
||||||
+ Still need a "disable bios for japan-only games when bios is enabled and region is export" functionality
|
+ Still need a "disable bios for japan-only games when bios is enabled and region is export" functionality
|
||||||
+ Or a "force region to japan if game is only for japan" thing. Which one is better?
|
+ Or a "force region to japan if game is only for japan" thing. Which one is better?
|
||||||
|
+ I confess, Mapper system needs some refactoring and love. But right now I want to get all games to work and THEN refactor it.
|
||||||
|
+ Savestate system.... maybe use a zeromus-like system. Except maintain the text-savestate compatibility. Might give up some speed for improved maintainability tho.
|
||||||
|
|
||||||
**********************************************************/
|
**********************************************************/
|
||||||
|
|
||||||
|
@ -30,7 +32,7 @@ namespace BizHawk.Emulation.Cores.Sega.MasterSystem
|
||||||
|
|
||||||
// ROM
|
// ROM
|
||||||
public byte[] RomData;
|
public byte[] RomData;
|
||||||
public byte RomBank0, RomBank1, RomBank2;
|
public byte RomBank0, RomBank1, RomBank2, RomBank3;
|
||||||
public byte RomBanks;
|
public byte RomBanks;
|
||||||
|
|
||||||
// SaveRAM
|
// SaveRAM
|
||||||
|
@ -186,6 +188,12 @@ namespace BizHawk.Emulation.Cores.Sega.MasterSystem
|
||||||
InitCodeMastersMapper();
|
InitCodeMastersMapper();
|
||||||
else if (game["ExtRam"])
|
else if (game["ExtRam"])
|
||||||
InitExt2kMapper(int.Parse(game.OptionValue("ExtRam")));
|
InitExt2kMapper(int.Parse(game.OptionValue("ExtRam")));
|
||||||
|
else if (game["KoreaMapper"])
|
||||||
|
InitKoreaMapper();
|
||||||
|
else if (game["MSXMapper"])
|
||||||
|
InitMSXMapper();
|
||||||
|
else if (game["NemesisMapper"])
|
||||||
|
InitNemesisMapper();
|
||||||
else
|
else
|
||||||
InitSegaMapper();
|
InitSegaMapper();
|
||||||
|
|
||||||
|
@ -313,6 +321,7 @@ namespace BizHawk.Emulation.Cores.Sega.MasterSystem
|
||||||
writer.WriteLine("Bank0 {0}", RomBank0);
|
writer.WriteLine("Bank0 {0}", RomBank0);
|
||||||
writer.WriteLine("Bank1 {0}", RomBank1);
|
writer.WriteLine("Bank1 {0}", RomBank1);
|
||||||
writer.WriteLine("Bank2 {0}", RomBank2);
|
writer.WriteLine("Bank2 {0}", RomBank2);
|
||||||
|
writer.WriteLine("Bank3 {0}", RomBank3);
|
||||||
writer.Write("RAM ");
|
writer.Write("RAM ");
|
||||||
SystemRam.SaveAsHex(writer);
|
SystemRam.SaveAsHex(writer);
|
||||||
writer.WriteLine("Port01 {0:X2}", Port01);
|
writer.WriteLine("Port01 {0:X2}", Port01);
|
||||||
|
@ -352,6 +361,8 @@ namespace BizHawk.Emulation.Cores.Sega.MasterSystem
|
||||||
RomBank1 = byte.Parse(args[1]);
|
RomBank1 = byte.Parse(args[1]);
|
||||||
else if (args[0] == "Bank2")
|
else if (args[0] == "Bank2")
|
||||||
RomBank2 = byte.Parse(args[1]);
|
RomBank2 = byte.Parse(args[1]);
|
||||||
|
else if (args[0] == "Bank3")
|
||||||
|
RomBank3 = byte.Parse(args[1]);
|
||||||
else if (args[0] == "Frame")
|
else if (args[0] == "Frame")
|
||||||
Frame = int.Parse(args[1]);
|
Frame = int.Parse(args[1]);
|
||||||
else if (args[0] == "Lag")
|
else if (args[0] == "Lag")
|
||||||
|
@ -398,7 +409,7 @@ namespace BizHawk.Emulation.Cores.Sega.MasterSystem
|
||||||
|
|
||||||
public byte[] SaveStateBinary()
|
public byte[] SaveStateBinary()
|
||||||
{
|
{
|
||||||
int buflen = 24808 + 16384 + 16384;
|
int buflen = 24809 + 16384 + 16384;
|
||||||
if (ExtRam != null)
|
if (ExtRam != null)
|
||||||
buflen += ExtRam.Length;
|
buflen += ExtRam.Length;
|
||||||
var buf = new byte[buflen];
|
var buf = new byte[buflen];
|
||||||
|
@ -425,6 +436,7 @@ namespace BizHawk.Emulation.Cores.Sega.MasterSystem
|
||||||
writer.Write(RomBank0);
|
writer.Write(RomBank0);
|
||||||
writer.Write(RomBank1);
|
writer.Write(RomBank1);
|
||||||
writer.Write(RomBank2);
|
writer.Write(RomBank2);
|
||||||
|
writer.Write(RomBank3);
|
||||||
writer.Write(SystemRam);
|
writer.Write(SystemRam);
|
||||||
writer.Write(SaveRAM);
|
writer.Write(SaveRAM);
|
||||||
writer.Write(Port01);
|
writer.Write(Port01);
|
||||||
|
@ -448,6 +460,7 @@ namespace BizHawk.Emulation.Cores.Sega.MasterSystem
|
||||||
RomBank0 = reader.ReadByte();
|
RomBank0 = reader.ReadByte();
|
||||||
RomBank1 = reader.ReadByte();
|
RomBank1 = reader.ReadByte();
|
||||||
RomBank2 = reader.ReadByte();
|
RomBank2 = reader.ReadByte();
|
||||||
|
RomBank3 = reader.ReadByte();
|
||||||
SystemRam = reader.ReadBytes(SystemRam.Length);
|
SystemRam = reader.ReadBytes(SystemRam.Length);
|
||||||
reader.Read(SaveRAM, 0, SaveRAM.Length);
|
reader.Read(SaveRAM, 0, SaveRAM.Length);
|
||||||
Port01 = reader.ReadByte();
|
Port01 = reader.ReadByte();
|
||||||
|
|
|
@ -244,6 +244,7 @@ C576C058 T The Cyber Shinobi (FR) SMS Terminus Traduction; v1.00
|
||||||
903AAD36 T Cyborg Hunter (BR) SMS FM
|
903AAD36 T Cyborg Hunter (BR) SMS FM
|
||||||
BDD034EE T Cyborg Hunter (IT) SMS FM
|
BDD034EE T Cyborg Hunter (IT) SMS FM
|
||||||
0F2E4F1E T Cyborg Hunter (FR) SMS Terminus Traduction; v1.00 FM
|
0F2E4F1E T Cyborg Hunter (FR) SMS Terminus Traduction; v1.00 FM
|
||||||
|
77EFE84A Cyborg Z (KR) SMS MSXMapper
|
||||||
7694ED1C D Cycle Counter SMS FluBBa
|
7694ED1C D Cycle Counter SMS FluBBa
|
||||||
71ABEF27 Daffy Duck in Hollywood SMS
|
71ABEF27 Daffy Duck in Hollywood SMS
|
||||||
FCEFD481 D Damiana (v1) SMS Heliophobe; Y2Kode entry; accidentally has a very short level
|
FCEFD481 D Damiana (v1) SMS Heliophobe; Y2Kode entry; accidentally has a very short level
|
||||||
|
@ -264,8 +265,8 @@ D1341667 D Digger Ball SMS Aypok & PlayGeneration; SMS Power Sega 8-bit Coding C
|
||||||
C4CA6878 D Digger Chan SMS Aypok; SMS Power Sega 8-bit Coding Competition 2006 entry
|
C4CA6878 D Digger Chan SMS Aypok; SMS Power Sega 8-bit Coding Competition 2006 entry
|
||||||
EA5C3A6F Dinobasher - Starring Bignose the Caveman [Proto] SMS
|
EA5C3A6F Dinobasher - Starring Bignose the Caveman [Proto] SMS
|
||||||
32F4B791 The Dinosaur Dooley (KR) SMS
|
32F4B791 The Dinosaur Dooley (KR) SMS
|
||||||
89B79E77 Dodgeball King (KR) SMS
|
89B79E77 Dodgeball King (KR) SMS KoreaMapper
|
||||||
A672D27C O Dodgeball King (KR) (80KB overdump) SMS
|
A672D27C O Dodgeball King (KR) (80KB overdump) SMS KoreaMapper
|
||||||
A55D89F3 Double Dragon SMS FM
|
A55D89F3 Double Dragon SMS FM
|
||||||
B8CFFA0F F Double Dragon (h) [A] SMS FM
|
B8CFFA0F F Double Dragon (h) [A] SMS FM
|
||||||
3010152A F Double Dragon (h) [B] SMS FM
|
3010152A F Double Dragon (h) [B] SMS FM
|
||||||
|
@ -305,6 +306,7 @@ C10FCE39 E-SWAT [B] SMS
|
||||||
AA140C9C THe Excellent Dizzy Collection [SMS-GG] SMS CMMapper
|
AA140C9C THe Excellent Dizzy Collection [SMS-GG] SMS CMMapper
|
||||||
EC788661 F1 SMS
|
EC788661 F1 SMS
|
||||||
8AB10CB4 V F1 (first 128KB only) SMS
|
8AB10CB4 V F1 (first 128KB only) SMS
|
||||||
|
06965ED9 F1 Spirit (KR) SMS MSXMapper
|
||||||
EAEBF323 F-16 Fighter SMS
|
EAEBF323 F-16 Fighter SMS
|
||||||
7CE06FCE F-16 Fighting Falcon (JP) SMS
|
7CE06FCE F-16 Fighting Falcon (JP) SMS
|
||||||
184C23B7 F-16 Fighting Falcon (US) SMS
|
184C23B7 F-16 Fighting Falcon (US) SMS
|
||||||
|
@ -500,6 +502,7 @@ BE9A7071 The Incredible Hulk SMS
|
||||||
102D5FEA James Pond II - Codename - Robocod SMS
|
102D5FEA James Pond II - Codename - Robocod SMS
|
||||||
FEF68275 B James Pond II - Codename - Robocod (bad byte) SMS
|
FEF68275 B James Pond II - Codename - Robocod (bad byte) SMS
|
||||||
76C5BDFB Jang Pung II [SMS-GG] (KR) SMS
|
76C5BDFB Jang Pung II [SMS-GG] (KR) SMS
|
||||||
|
18FB98A3 Jang Pang III (KR) SMS KoreaMapper
|
||||||
0A9089E5 Joe Montana Football SMS
|
0A9089E5 Joe Montana Football SMS
|
||||||
45C50294 Jogos de Verao II (BR) SMS
|
45C50294 Jogos de Verao II (BR) SMS
|
||||||
EF2F37C9 H Jornada do Krazy SMS Psycho Fox
|
EF2F37C9 H Jornada do Krazy SMS Psycho Fox
|
||||||
|
@ -529,6 +532,7 @@ b7fe0a9d King's Quest - Quest for the Crown [Proto] (US) SMS
|
||||||
ED15F21E B KLAX (26 bad bytes) SMS
|
ED15F21E B KLAX (26 bad bytes) SMS
|
||||||
BB351118 B KLAX (bad byte) SMS
|
BB351118 B KLAX (bad byte) SMS
|
||||||
97B38E8A V KLAX (bad dump) SMS Blank areas
|
97B38E8A V KLAX (bad dump) SMS Blank areas
|
||||||
|
F89AF3CC Knightmare II - The Maze of Galious (KR) SMS MSXMapper
|
||||||
64A585EB Krusty's Fun House SMS
|
64A585EB Krusty's Fun House SMS
|
||||||
D11D32E4 Kujakuou (JP) SMS
|
D11D32E4 Kujakuou (JP) SMS
|
||||||
68108314 B Kujakuou (JP) (bad byte) SMS
|
68108314 B Kujakuou (JP) (bad byte) SMS
|
||||||
|
@ -642,6 +646,8 @@ A06D065C D NanoWars 8k SMS Haroldo O. Pinheiro; v0.7
|
||||||
5B5F9106 Nekyuu Kousien (JP) SMS FM
|
5B5F9106 Nekyuu Kousien (JP) SMS FM
|
||||||
C660FF34 The New Zealand Story SMS
|
C660FF34 The New Zealand Story SMS
|
||||||
FBC66CBF B The New Zealand Story (bad byte) SMS
|
FBC66CBF B The New Zealand Story (bad byte) SMS
|
||||||
|
E316C06D Nemesis (KR) SMS NemesisMapper
|
||||||
|
0A77FA5E Nemesis 2 (KR) SMS MSXMapper
|
||||||
383E7EBD D New Duel SMS losinggeneration; SMS Power 8-bit Coding Comptetition 2011 Entry
|
383E7EBD D New Duel SMS losinggeneration; SMS Power 8-bit Coding Comptetition 2011 Entry
|
||||||
82AE5ACD D Nine Pixels SMS Heliophobe; SMS Power Sega 8-bit Coding Competition 2006 entry
|
82AE5ACD D Nine Pixels SMS Heliophobe; SMS Power Sega 8-bit Coding Competition 2006 entry
|
||||||
1B1D8CC2 Ninja Gaiden SMS
|
1B1D8CC2 Ninja Gaiden SMS
|
||||||
|
@ -700,6 +706,7 @@ E030E66C Parlour Games SMS FM
|
||||||
9AEFE664 Pat Riley Basketball [Proto] SMS
|
9AEFE664 Pat Riley Basketball [Proto] SMS
|
||||||
592B8297 D Pause Test SMS FluBBa
|
592B8297 D Pause Test SMS FluBBa
|
||||||
85060847 D Paws SMS An!mal; SMS Power Sega 8-bit Coding Competition 2006 entry
|
85060847 D Paws SMS An!mal; SMS Power Sega 8-bit Coding Competition 2006 entry
|
||||||
|
445525E2 Penguin Adventure (KR) SMS MSXMapper
|
||||||
F97E9875 Penguin Land SMS FM;StereoByte=237
|
F97E9875 Penguin Land SMS FM;StereoByte=237
|
||||||
F6552DA8 O Penguin Land (4x overdump) SMS FM;StereoByte=237
|
F6552DA8 O Penguin Land (4x overdump) SMS FM;StereoByte=237
|
||||||
2BCDB8FA Penguin Land (JP) SMS FM;StereoByte=237
|
2BCDB8FA Penguin Land (JP) SMS FM;StereoByte=237
|
||||||
|
@ -857,7 +864,7 @@ C0EA7FB7 O Sagaia (2x overdump) SMS
|
||||||
CB5D369B B Sagaia (bad byte) SMS
|
CB5D369B B Sagaia (bad byte) SMS
|
||||||
7CBD4432 D SALY [v1.00] SMS Marc Klemp; v1.00 31/5/03
|
7CBD4432 D SALY [v1.00] SMS Marc Klemp; v1.00 31/5/03
|
||||||
5D62F2D1 D SALY [v1.00a] SMS Marc Klemp; v1.00 15/12/05
|
5D62F2D1 D SALY [v1.00a] SMS Marc Klemp; v1.00 15/12/05
|
||||||
97D03541 Sangokushi 3 (KR) SMS
|
97D03541 Sangokushi 3 (KR) SMS KoreaMapper
|
||||||
890E83E4 Sapo Xule O Mestre do Kung Fu (BR) SMS
|
890E83E4 Sapo Xule O Mestre do Kung Fu (BR) SMS
|
||||||
7AB2946A Sapo Xule S.O.S. Lagoa Poluida (BR) SMS
|
7AB2946A Sapo Xule S.O.S. Lagoa Poluida (BR) SMS
|
||||||
9A608327 Sapo Xule Vs Os Invasores do Brejo (BR) SMS
|
9A608327 Sapo Xule Vs Os Invasores do Brejo (BR) SMS
|
||||||
|
@ -1021,6 +1028,7 @@ D4B8F66D Star Wars SMS
|
||||||
0F8287EC Street Fighter II' (BR) SMS
|
0F8287EC Street Fighter II' (BR) SMS
|
||||||
599901BB B Street Fighter II' (BR) (five bad bytes) SMS
|
599901BB B Street Fighter II' (BR) (five bad bytes) SMS
|
||||||
87AABDFE B Street Fighter II' (BR) (four bad bytes) SMS
|
87AABDFE B Street Fighter II' (BR) (four bad bytes) SMS
|
||||||
|
83F0EEDE Street Master (KR) SMS MSXMapper
|
||||||
4AB3790F Streets of Rage SMS
|
4AB3790F Streets of Rage SMS
|
||||||
ECC18147 T Streets of Rage (FR) SMS
|
ECC18147 T Streets of Rage (FR) SMS
|
||||||
6F2CF48A B Streets of Rage (two bad bytes) SMS
|
6F2CF48A B Streets of Rage (two bad bytes) SMS
|
||||||
|
@ -1188,6 +1196,7 @@ CA500A43 H Wonder Boy III DC SMS Wonder Boy III FM
|
||||||
5C87B0AE T Wonder Boy in Monster World (FR) SMS MacroTrads
|
5C87B0AE T Wonder Boy in Monster World (FR) SMS MacroTrads
|
||||||
81BFF9BB Wonder Boy in Monster World [Proto] SMS
|
81BFF9BB Wonder Boy in Monster World [Proto] SMS
|
||||||
FA8B5F3D B Wonder Boy in Monster World [Proto] (bad byte) SMS
|
FA8B5F3D B Wonder Boy in Monster World [Proto] (bad byte) SMS
|
||||||
|
A05258F5 Wonsiin (KR) SMS MSXMapper
|
||||||
315917D4 Woody Pop - Shinjinrui no Block Kuzushi (JP) SMS
|
315917D4 Woody Pop - Shinjinrui no Block Kuzushi (JP) SMS
|
||||||
C9A449B7 World Class Leader Board SMS
|
C9A449B7 World Class Leader Board SMS
|
||||||
6E1AD6FD World Cup Italia '90 SMS
|
6E1AD6FD World Cup Italia '90 SMS
|
||||||
|
|
Loading…
Reference in New Issue