GBA: add gamedb. besides hash identification, this includes the data that various vba variants put in a "vba-over.ini" file (will be hooked up to core soon

This commit is contained in:
goyuken 2014-08-11 15:29:53 +00:00
parent 0be92800fd
commit b29f9e5be1
6 changed files with 2940 additions and 8 deletions
BizHawk.Client.Common
BizHawk.Client.EmuHawk
BizHawk.Emulation.Cores/Consoles/Nintendo/GBA
output/gamedb

View File

@ -154,7 +154,7 @@ namespace BizHawk.Client.Common
using (var file = new HawkFile())
{
var romExtensions = new[] { "SMS", "SMC", "SFC", "PCE", "SGX", "GG", "SG", "BIN", "GEN", "MD", "SMD", "GB", "NES", "FDS", "ROM", "INT", "GBC", "UNF", "A78", "CRT", "COL", "XML", "Z64", "V64", "N64", "WS", "WSC" };
var romExtensions = new[] { "SMS", "SMC", "SFC", "PCE", "SGX", "GG", "SG", "BIN", "GEN", "MD", "SMD", "GB", "NES", "FDS", "ROM", "INT", "GBC", "UNF", "A78", "CRT", "COL", "XML", "Z64", "V64", "N64", "WS", "WSC", "GBA" };
// lets not use this unless we need to
// file.NonArchiveExtensions = romExtensions;

View File

@ -1778,7 +1778,7 @@ namespace BizHawk.Client.EmuHawk
if (VersionInfo.DeveloperBuild)
{
ofd.Filter = FormatFilter(
"Rom Files", "*.nes;*.fds;*.sms;*.gg;*.sg;*.pce;*.sgx;*.bin;*.smd;*.rom;*.a26;*.a78;*.cue;*.exe;*.gb;*.gbc;*.gen;*.md;*.col;.int;*.smc;*.sfc;*.prg;*.d64;*.g64;*.crt;*.sgb;*.xml;*.z64;*.v64;*.n64;*.ws;*.wsc;%ARCH%",
"Rom Files", "*.nes;*.fds;*.sms;*.gg;*.sg;*.pce;*.sgx;*.bin;*.smd;*.rom;*.a26;*.a78;*.cue;*.exe;*.gb;*.gbc;*.gba;*.gen;*.md;*.col;.int;*.smc;*.sfc;*.prg;*.d64;*.g64;*.crt;*.sgb;*.xml;*.z64;*.v64;*.n64;*.ws;*.wsc;%ARCH%",
"Music Files", "*.psf;*.sid",
"Disc Images", "*.cue",
"NES", "*.nes;*.fds;%ARCH%",
@ -1792,6 +1792,7 @@ namespace BizHawk.Client.EmuHawk
"Atari 7800", "*.a78;*.bin;%ARCH%",
"Genesis", "*.gen;*.smd;*.bin;*.md;*.cue;%ARCH%",
"Gameboy", "*.gb;*.gbc;*.sgb;%ARCH%",
"Gameboy Advance", "*.gba;%ARCH%",
"Colecovision", "*.col;%ARCH%",
"Intellivision (very experimental)", "*.int;*.bin;*.rom;%ARCH%",
"PSX Executables (very experimental)", "*.exe",

View File

@ -55,9 +55,11 @@ namespace BizHawk.Client.EmuHawk
public int Frames; // number of frames successfully run
public int LaggedFrames; // number of those that were lagged
public string BoardName; // iemulator's board name return (could be null!)
public void DumpToTW(System.IO.TextWriter tw)
{
tw.WriteLine("{0}\t{1}\t{2}\t{3}\t{4}\t{5}", Filename, Fullname, CoreType, Status, Frames, LaggedFrames);
tw.WriteLine("{0}\t{1}\t{2}\t{3}\t{4}\t{5}\t{6}\t{7}", Filename, Fullname, CoreType, Status, Frames, LaggedFrames, GI.Hash, BoardName);
}
}
@ -158,6 +160,12 @@ namespace BizHawk.Client.EmuHawk
current.GI = ldr.Game;
current.CoreType = emu.GetType();
emu.Controller = new Controller(emu.ControllerDefinition);
current.BoardName = emu.BoardName;
// hack
if (emu is Emulation.Cores.Nintendo.GBA.VBANext)
{
current.BoardName = (emu as Emulation.Cores.Nintendo.GBA.VBANext).GameCode;
}
current.Frames = 0;
current.LaggedFrames = 0;

View File

@ -39,6 +39,9 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBA
CoreComm.NominalWidth = 240;
CoreComm.NominalHeight = 160;
GameCode = Encoding.ASCII.GetString(romfile, 0xac, 4);
Console.WriteLine("Game code \"{0}\"", GameCode);
savebuff = new byte[LibVBANext.BinStateSize(Core)];
savebuff2 = new byte[savebuff.Length + 13];
}
@ -80,11 +83,11 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBA
IsLagFrame = false;
}
public string BoardName
{
// could we do something useful here?
get { return "BAMBOOZLED!"; }
}
public string BoardName { get { return null; } }
/// <summary>
/// set in the ROM internal header
/// </summary>
public string GameCode { get; private set; }
public CoreComm CoreComm { get; private set; }

View File

@ -21,6 +21,7 @@
#include gamedb_gbc.txt
#include gamedb_snes.txt
#include gamedb_n64.txt
#include gamedb_gba.txt
; ************ TI-83 ************

2919
output/gamedb/gamedb_gba.txt Normal file

File diff suppressed because it is too large Load Diff