Hooked up the GB Printer option in the wx menu

This commit is contained in:
skidau 2015-05-08 01:26:21 +00:00
parent 573a91cb00
commit 88f21433b3
5 changed files with 13 additions and 16 deletions

View File

@ -1007,7 +1007,7 @@ void gbWriteMemory(register u16 address, register u8 value)
} }
EmuReseted = false; EmuReseted = false;
gbMemory[0xff02] = value; gbMemory[0xff02] = value;
if (gbSerialOn && GetLinkMode() == LINK_GAMEBOY) { if (gbSerialOn && (GetLinkMode() == LINK_GAMEBOY || winGbPrinterEnabled)) {
gbSerialTicks = GBSERIAL_CLOCK_TICKS; gbSerialTicks = GBSERIAL_CLOCK_TICKS;
LinkIsWaiting = true; LinkIsWaiting = true;

View File

@ -1841,7 +1841,6 @@ EVT_HANDLER(GameBoyConfigure, "Game Boy options...")
wxDialog *dlg = GetXRCDialog("GameBoyConfig"); wxDialog *dlg = GetXRCDialog("GameBoyConfig");
wxChoice *c = XRCCTRL(*dlg, "Borders", wxChoice); wxChoice *c = XRCCTRL(*dlg, "Borders", wxChoice);
bool borderon = gbBorderOn; bool borderon = gbBorderOn;
bool printeron = gopts.gbprint;
if(!gbBorderOn && !gbBorderAutomatic) if(!gbBorderOn && !gbBorderAutomatic)
c->SetSelection(0); c->SetSelection(0);
else if(gbBorderOn) else if(gbBorderOn)
@ -1877,15 +1876,6 @@ EVT_HANDLER(GameBoyConfigure, "Game Boy options...")
// don't want to have to reset to change colors // don't want to have to reset to change colors
memcpy(gbPalette, &systemGbPalette[gbPaletteOption * 8], 8 * sizeof(systemGbPalette[0])); memcpy(gbPalette, &systemGbPalette[gbPaletteOption * 8], 8 * sizeof(systemGbPalette[0]));
} }
#if (defined __WIN32__ || defined _WIN32)
gbSerialFunction = gbStartLink;
#else
gbSerialFunction = NULL;
#endif
if(printeron != gopts.gbprint) {
if(gopts.gbprint)
gbSerialFunction = gbPrinterSend;
}
update_opts(); update_opts();
} }
@ -2226,7 +2216,15 @@ EVT_HANDLER(RetainAspect, "Retain aspect ratio when resizing")
EVT_HANDLER(Printer, "Enable printer emulation") EVT_HANDLER(Printer, "Enable printer emulation")
{ {
GetMenuOptionBool("Printer", gopts.gbprint); GetMenuOptionInt("Printer", winGbPrinterEnabled, 1);
#if (defined __WIN32__ || defined _WIN32)
gbSerialFunction = gbStartLink;
#else
gbSerialFunction = NULL;
#endif
if (winGbPrinterEnabled)
gbSerialFunction = gbPrinterSend;
update_opts(); update_opts();
} }

View File

@ -148,7 +148,6 @@ opt_desc opts[] = {
/// GB /// GB
STROPT ("GB/BiosFile", "", wxTRANSLATE("BIOS file to use for GB, if enabled"), gopts.gb_bios), STROPT ("GB/BiosFile", "", wxTRANSLATE("BIOS file to use for GB, if enabled"), gopts.gb_bios),
BOOLOPT("GB/EnablePrinter", "Printer", wxTRANSLATE("Enable printer emulation"), gopts.gbprint),
STROPT ("GB/GBCBiosFile", "", wxTRANSLATE("BIOS file to use for GBC, if enabled"), gopts.gbc_bios), STROPT ("GB/GBCBiosFile", "", wxTRANSLATE("BIOS file to use for GBC, if enabled"), gopts.gbc_bios),
BOOLOPT("GB/LCDColor", "Color", wxTRANSLATE("Emulate washed colors of LCD"), gopts.gbcColorOption), BOOLOPT("GB/LCDColor", "Color", wxTRANSLATE("Emulate washed colors of LCD"), gopts.gbcColorOption),
{ wxT("GB/Palette0"), "", wxTRANSLATE("The default palette, as 8 comma-separated 4-digit hex integers (rgb555).") }, { wxT("GB/Palette0"), "", wxTRANSLATE("The default palette, as 8 comma-separated 4-digit hex integers (rgb555).") },
@ -212,6 +211,7 @@ opt_desc opts[] = {
INTOPT ("preferences/fullScreen", "Fullscreen", wxTRANSLATE("Enter fullscreen mode at startup"), fullScreen, 0, 1), INTOPT ("preferences/fullScreen", "Fullscreen", wxTRANSLATE("Enter fullscreen mode at startup"), fullScreen, 0, 1),
INTOPT ("preferences/gbFrameSkip", "", wxTRANSLATE("Skip frames. Values are 0-9 or -1 to skip automatically based on time."), gbFrameSkip, -1, 9), INTOPT ("preferences/gbFrameSkip", "", wxTRANSLATE("Skip frames. Values are 0-9 or -1 to skip automatically based on time."), gbFrameSkip, -1, 9),
INTOPT ("preferences/gbPaletteOption", "", wxTRANSLATE("The palette to use"), gbPaletteOption, 0, 2), INTOPT ("preferences/gbPaletteOption", "", wxTRANSLATE("The palette to use"), gbPaletteOption, 0, 2),
INTOPT ("preferences/gbPrinter", "Printer", wxTRANSLATE("Enable printer emulation"), winGbPrinterEnabled, 0, 1),
INTOPT ("preferences/gdbBreakOnLoad", "DebugGDBBreakOnLoad", wxTRANSLATE("Break into GDB after loading the game."), gdbBreakOnLoad, 0, 1), INTOPT ("preferences/gdbBreakOnLoad", "DebugGDBBreakOnLoad", wxTRANSLATE("Break into GDB after loading the game."), gdbBreakOnLoad, 0, 1),
INTOPT ("preferences/gdbPort", "DebugGDBPort", wxTRANSLATE("Port to connect GDB to."), gdbPort, 0, 65535), INTOPT ("preferences/gdbPort", "DebugGDBPort", wxTRANSLATE("Port to connect GDB to."), gdbPort, 0, 65535),
#ifndef NO_LINK #ifndef NO_LINK
@ -288,7 +288,7 @@ opts_t::opts_t()
} }
recent = new wxFileHistory(10); recent = new wxFileHistory(10);
autofire_rate = 1; autofire_rate = 1;
gbprint = print_auto_page = true; print_auto_page = true;
autoPatch = true; autoPatch = true;
} }

View File

@ -23,7 +23,6 @@ extern struct opts_t {
/// GB /// GB
wxString gb_bios; wxString gb_bios;
bool gbprint; // gbSerialFunction
wxString gbc_bios; wxString gbc_bios;
bool gbcColorOption; bool gbcColorOption;
// u16 systemGbPalette[8*3]; // u16 systemGbPalette[8*3];

View File

@ -278,7 +278,7 @@ void GameArea::LoadGame(const wxString &name)
gbSerialFunction = NULL; gbSerialFunction = NULL;
#endif #endif
// probably only need to do this for GB carts // probably only need to do this for GB carts
if(gopts.gbprint) if(winGbPrinterEnabled)
gbSerialFunction = gbPrinterSend; gbSerialFunction = gbPrinterSend;
// probably only need to do this for GBA carts // probably only need to do this for GBA carts