114 changes: 66 additions & 48 deletions snapshot.cpp
Expand Up @@ -342,7 +342,7 @@ struct SnapshotScreenshotInfo

static struct Obsolete
{
uint8 reserved;
uint8 CPU_IRQActive;
} Obsolete;

#define STRUCT struct SCPUState
Expand All @@ -353,7 +353,7 @@ static FreezeData SnapCPU[] =
INT_ENTRY(6, PrevCycles),
INT_ENTRY(6, V_Counter),
INT_ENTRY(6, Flags),
INT_ENTRY(6, IRQActive),
OBSOLETE_INT_ENTRY(6, 7, CPU_IRQActive),
INT_ENTRY(6, IRQPending),
INT_ENTRY(6, MemSpeed),
INT_ENTRY(6, MemSpeedx2),
Expand All @@ -366,9 +366,14 @@ static FreezeData SnapCPU[] =
INT_ENTRY(6, WhichEvent),
INT_ENTRY(6, NextEvent),
INT_ENTRY(6, WaitingForInterrupt),
INT_ENTRY(6, WaitAddress),
INT_ENTRY(6, WaitCounter),
INT_ENTRY(6, PBPCAtOpcodeStart)
DELETED_INT_ENTRY(6, 7, WaitAddress, 4),
DELETED_INT_ENTRY(6, 7, WaitCounter, 4),
DELETED_INT_ENTRY(6, 7, PBPCAtOpcodeStart, 4),
INT_ENTRY(7, NMILine),
INT_ENTRY(7, IRQLine),
INT_ENTRY(7, IRQTransition),
INT_ENTRY(7, IRQLastState),
INT_ENTRY(7, IRQExternal)
};

#undef STRUCT
Expand Down Expand Up @@ -576,11 +581,11 @@ static FreezeData SnapTimings[] =
INT_ENTRY(6, DMACPUSync),
INT_ENTRY(6, NMIDMADelay),
INT_ENTRY(6, IRQPendCount),
INT_ENTRY(6, APUSpeedup)
INT_ENTRY(6, APUSpeedup),
INT_ENTRY(7, IRQTriggerCycles),
INT_ENTRY(7, APUAllowTimeOverflow)
};

#ifndef ZSNES_FX

#undef STRUCT
#define STRUCT struct FxRegs_s

Expand Down Expand Up @@ -642,32 +647,40 @@ static FreezeData SnapFX[] =
INT_ENTRY(6, vSCBRDirty)
};

#endif

#undef STRUCT
#define STRUCT struct SSA1

static FreezeData SnapSA1[] =
{
INT_ENTRY(6, CPUExecuting),
DELETED_INT_ENTRY(6, 7, CPUExecuting, 1),
INT_ENTRY(6, ShiftedPB),
INT_ENTRY(6, ShiftedDB),
INT_ENTRY(6, Flags),
INT_ENTRY(6, IRQActive),
INT_ENTRY(6, Waiting),
DELETED_INT_ENTRY(6, 7, IRQActive, 1),
DELETED_INT_ENTRY(6, 7, Waiting, 1),
INT_ENTRY(6, WaitingForInterrupt),
INT_ENTRY(6, WaitAddress),
INT_ENTRY(6, WaitCounter),
INT_ENTRY(6, PBPCAtOpcodeStart),
INT_ENTRY(6, Executing),
DELETED_INT_ENTRY(6, 7, WaitAddress, 4),
DELETED_INT_ENTRY(6, 7, WaitCounter, 4),
DELETED_INT_ENTRY(6, 7, PBPCAtOpcodeStart, 4),
DELETED_INT_ENTRY(6, 7, Executing, 1),
INT_ENTRY(6, overflow),
INT_ENTRY(6, in_char_dma),
INT_ENTRY(6, op1),
INT_ENTRY(6, op2),
INT_ENTRY(6, arithmetic_op),
INT_ENTRY(6, sum),
INT_ENTRY(6, VirtualBitmapFormat),
INT_ENTRY(6, variable_bit_pos)
INT_ENTRY(6, variable_bit_pos),
INT_ENTRY(7, Cycles),
INT_ENTRY(7, PrevCycles),
INT_ENTRY(7, TimerIRQLastState),
INT_ENTRY(7, HTimerIRQPos),
INT_ENTRY(7, VTimerIRQPos),
INT_ENTRY(7, HCounter),
INT_ENTRY(7, VCounter),
INT_ENTRY(7, PrevHCounter),
INT_ENTRY(7, MemSpeed),
INT_ENTRY(7, MemSpeedx2)
};

#undef STRUCT
Expand Down Expand Up @@ -1255,15 +1268,10 @@ bool8 S9xUnfreezeGame (const char *filename)
void S9xFreezeToStream (STREAM stream)
{
char buffer[1024];
uint8 *soundsnapshot = new uint8[SPC_SAVE_STATE_BLOCK_SIZE];
uint8 *soundsnapshot = new uint8[SPC_SAVE_STATE_BLOCK_SIZE];

S9xSetSoundMute(TRUE);

#ifdef ZSNES_FX
if (Settings.SuperFX)
S9xSuperFXPreSaveState();
#endif

sprintf(buffer, "%s:%04d\n", SNAPSHOT_MAGIC, SNAPSHOT_VERSION);
WRITE_STREAM(buffer, strlen(buffer), stream);

Expand Down Expand Up @@ -1298,13 +1306,11 @@ void S9xFreezeToStream (STREAM stream)

FreezeStruct(stream, "TIM", &Timings, SnapTimings, COUNT(SnapTimings));

#ifndef ZSNES_FX
if (Settings.SuperFX)
{
GSU.avRegAddr = (uint8 *) &GSU.avReg;
FreezeStruct(stream, "SFX", &GSU, SnapFX, COUNT(SnapFX));
}
#endif

if (Settings.SA1)
{
Expand All @@ -1323,11 +1329,7 @@ void S9xFreezeToStream (STREAM stream)
FreezeStruct(stream, "DP4", &DSP4, SnapDSP4, COUNT(SnapDSP4));

if (Settings.C4)
#ifndef ZSNES_C4
FreezeBlock (stream, "CX4", Memory.C4RAM, 8192);
#else
FreezeBlock (stream, "CX4", C4Ram, 8192);
#endif

if (Settings.SETA == ST_010)
FreezeStruct(stream, "ST0", &ST010, SnapST010, COUNT(SnapST010));
Expand Down Expand Up @@ -1405,11 +1407,6 @@ void S9xFreezeToStream (STREAM stream)
}
}

#ifdef ZSNES_FX
if (Settings.SuperFX)
S9xSuperFXPostSaveState();
#endif

S9xSetSoundMute(FALSE);

delete [] soundsnapshot;
Expand Down Expand Up @@ -1510,11 +1507,9 @@ int S9xUnfreezeFromStream (STREAM stream)
if (result != SUCCESS)
break;

#ifndef ZSNES_FX
result = UnfreezeStructCopy(stream, "SFX", &local_superfx, SnapFX, COUNT(SnapFX), version);
if (result != SUCCESS && Settings.SuperFX)
break;
#endif

result = UnfreezeStructCopy(stream, "SA1", &local_sa1, SnapSA1, COUNT(SnapSA1), version);
if (result != SUCCESS && Settings.SA1)
Expand Down Expand Up @@ -1637,13 +1632,11 @@ int S9xUnfreezeFromStream (STREAM stream)

UnfreezeStructFromCopy(&Timings, SnapTimings, COUNT(SnapTimings), local_timing_data, version);

#ifndef ZSNES_FX
if (local_superfx)
{
GSU.avRegAddr = (uint8 *) &GSU.avReg;
UnfreezeStructFromCopy(&GSU, SnapFX, COUNT(SnapFX), local_superfx, version);
}
#endif

if (local_sa1)
UnfreezeStructFromCopy(&SA1, SnapSA1, COUNT(SnapSA1), local_sa1, version);
Expand All @@ -1661,11 +1654,7 @@ int S9xUnfreezeFromStream (STREAM stream)
UnfreezeStructFromCopy(&DSP4, SnapDSP4, COUNT(SnapDSP4), local_dsp4, version);

if (local_cx4_data)
#ifndef ZSNES_C4
memcpy(Memory.C4RAM, local_cx4_data, 8192);
#else
memcpy(C4Ram, local_cx4_data, 8192);
#endif

if (local_st010)
UnfreezeStructFromCopy(&ST010, SnapST010, COUNT(SnapST010), local_st010, version);
Expand All @@ -1688,6 +1677,40 @@ int S9xUnfreezeFromStream (STREAM stream)
if (local_bsx_data)
UnfreezeStructFromCopy(&BSX, SnapBSX, COUNT(SnapBSX), local_bsx_data, version);

if (version < SNAPSHOT_VERSION)
{
printf("Converting old snapshot version %d to %d\n...", version, SNAPSHOT_VERSION);

CPU.NMILine = (CPU.Flags & (1 << 7)) ? TRUE : FALSE;
CPU.IRQLine = (CPU.Flags & (1 << 11)) ? TRUE : FALSE;
CPU.IRQTransition = FALSE;
CPU.IRQLastState = FALSE;
CPU.IRQExternal = (Obsolete.CPU_IRQActive & ~(1 << 1)) ? TRUE : FALSE;

switch (CPU.WhichEvent)
{
case 12: case 1: CPU.WhichEvent = 1; break;
case 2: case 3: CPU.WhichEvent = 2; break;
case 4: case 5: CPU.WhichEvent = 3; break;
case 6: case 7: CPU.WhichEvent = 4; break;
case 8: case 9: CPU.WhichEvent = 5; break;
case 10: case 11: CPU.WhichEvent = 6; break;
}

if (local_sa1) // FIXME
{
SA1.Cycles = SA1.PrevCycles = 0;
SA1.TimerIRQLastState = FALSE;
SA1.HTimerIRQPos = Memory.FillRAM[0x2212] | (Memory.FillRAM[0x2213] << 8);
SA1.VTimerIRQPos = Memory.FillRAM[0x2214] | (Memory.FillRAM[0x2215] << 8);
SA1.HCounter = 0;
SA1.VCounter = 0;
SA1.PrevHCounter = 0;
SA1.MemSpeed = SLOW_ONE_CYCLE;
SA1.MemSpeedx2 = SLOW_ONE_CYCLE * 2;
}
}

CPU.Flags |= old_flags & (DEBUG_MODE_FLAG | TRACE_FLAG | SINGLE_STEP_FLAG | FRAME_ADVANCE_FLAG);
ICPU.ShiftedPB = Registers.PB << 16;
ICPU.ShiftedDB = Registers.DB << 16;
Expand All @@ -1711,16 +1734,11 @@ int S9xUnfreezeFromStream (STREAM stream)

S9xControlPostLoadState(&ctl_snap);

#ifndef ZSNES_FX
if (local_superfx)
{
GSU.pfPlot = fx_PlotTable[GSU.vMode];
GSU.pfRpix = fx_PlotTable[GSU.vMode + 5];
}
#else
if (Settings.SuperFX)
S9xSuperFXPostLoadState();
#endif

if (local_sa1 && local_sa1_registers)
{
Expand Down
2 changes: 1 addition & 1 deletion snapshot.h
Expand Up @@ -179,7 +179,7 @@
#define _SNAPSHOT_H_

#define SNAPSHOT_MAGIC "#!s9xsnp"
#define SNAPSHOT_VERSION 6
#define SNAPSHOT_VERSION 7

#define SUCCESS 1
#define WRONG_FORMAT (-1)
Expand Down
15 changes: 0 additions & 15 deletions snes9x.cpp
Expand Up @@ -467,9 +467,6 @@ void S9xLoadConfigFiles (char **argv, int argc)

Settings.DisableGameSpecificHacks = !conf.GetBool("Hack::EnableGameSpecificHacks", true);
Settings.BlockInvalidVRAMAccessMaster = !conf.GetBool("Hack::AllowInvalidVRAMAccess", false);
Settings.ShutdownMaster = conf.GetBool("Hack::SpeedHacks", false);
Settings.DisableIRQ = conf.GetBool("Hack::DisableIRQ", false);
Settings.DisableHDMA = conf.GetBool("Hack::DisableHDMA", false);
Settings.HDMATimingHack = conf.GetInt ("Hack::HDMATiming", 100);

// Netplay
Expand Down Expand Up @@ -586,10 +583,7 @@ void S9xUsage (void)
S9xMessage(S9X_INFO, S9X_USAGE, "-debug Set the Debugger flag");
S9xMessage(S9X_INFO, S9X_USAGE, "-trace Begin CPU instruction tracing");
#endif
S9xMessage(S9X_INFO, S9X_USAGE, "-noirq (Not recommended) Disable IRQ emulation");
S9xMessage(S9X_INFO, S9X_USAGE, "-nohdma (Not recommended) Disable HDMA emulation");
S9xMessage(S9X_INFO, S9X_USAGE, "-hdmatiming <1-199> (Not recommended) Changes HDMA transfer timings");
S9xMessage(S9X_INFO, S9X_USAGE, "-cpushutdown (Not recommended) Skip emulation until the next");
S9xMessage(S9X_INFO, S9X_USAGE, " event comes");
S9xMessage(S9X_INFO, S9X_USAGE, "-invalidvramaccess (Not recommended) Allow invalid VRAM access");
S9xMessage(S9X_INFO, S9X_USAGE, "");
Expand Down Expand Up @@ -851,12 +845,6 @@ char * S9xParseArgs (char **argv, int argc)
else
#endif

if (!strcasecmp(argv[i], "-noirq"))
Settings.DisableIRQ = TRUE;
else
if (!strcasecmp(argv[i], "-nohdma"))
Settings.DisableHDMA = TRUE;
else
if (!strcasecmp(argv[i], "-hdmatiming"))
{
if (i + 1 < argc)
Expand All @@ -869,9 +857,6 @@ char * S9xParseArgs (char **argv, int argc)
S9xUsage();
}
else
if (!strcasecmp(argv[i], "-cpushutdown"))
Settings.ShutdownMaster = TRUE;
else
if (!strcasecmp(argv[i], "-invalidvramaccess"))
Settings.BlockInvalidVRAMAccessMaster = FALSE;
else
Expand Down
38 changes: 13 additions & 25 deletions snes9x.h
Expand Up @@ -186,8 +186,6 @@
#include "65c816.h"
#include "messages.h"

#define S9X_ACCURACY_LEVEL 3

#ifdef ZLIB
#include <zlib.h>
#define STREAM gzFile
Expand Down Expand Up @@ -263,8 +261,6 @@
#define TRACE_FLAG (1 << 1) // debugger
#define SINGLE_STEP_FLAG (1 << 2) // debugger
#define BREAK_FLAG (1 << 3) // debugger
#define NMI_FLAG (1 << 7) // CPU
#define IRQ_FLAG (1 << 11) // CPU
#define SCAN_KEYS_FLAG (1 << 4) // CPU
#define HALTED_FLAG (1 << 12) // APU
#define FRAME_ADVANCE_FLAG (1 << 9)
Expand All @@ -274,12 +270,16 @@

struct SCPUState
{
uint32 Flags;
int32 Cycles;
int32 PrevCycles;
int32 V_Counter;
uint32 Flags;
uint8 *PCBase;
bool8 IRQActive;
bool8 NMILine;
bool8 IRQLine;
bool8 IRQTransition;
bool8 IRQLastState;
bool8 IRQExternal;
int32 IRQPending;
int32 MemSpeed;
int32 MemSpeedx2;
Expand All @@ -293,27 +293,18 @@ struct SCPUState
uint8 WhichEvent;
int32 NextEvent;
bool8 WaitingForInterrupt;
uint32 WaitAddress;
uint32 WaitCounter;
uint32 PBPCAtOpcodeStart;
uint32 AutoSaveTimer;
bool8 SRAMModified;
};

enum
{
HC_HBLANK_START_EVENT = 1,
HC_IRQ_1_3_EVENT = 2,
HC_HDMA_START_EVENT = 3,
HC_IRQ_3_5_EVENT = 4,
HC_HCOUNTER_MAX_EVENT = 5,
HC_IRQ_5_7_EVENT = 6,
HC_HDMA_INIT_EVENT = 7,
HC_IRQ_7_9_EVENT = 8,
HC_RENDER_EVENT = 9,
HC_IRQ_9_A_EVENT = 10,
HC_WRAM_REFRESH_EVENT = 11,
HC_IRQ_A_1_EVENT = 12
HC_HDMA_START_EVENT = 2,
HC_HCOUNTER_MAX_EVENT = 3,
HC_HDMA_INIT_EVENT = 4,
HC_RENDER_EVENT = 5,
HC_WRAM_REFRESH_EVENT = 6
};

struct STimings
Expand All @@ -327,12 +318,13 @@ struct STimings
int32 HDMAInit;
int32 HDMAStart;
int32 NMITriggerPos;
int32 IRQTriggerCycles;
int32 WRAMRefreshPos;
int32 RenderPos;
bool8 InterlaceField;
int32 DMACPUSync; // The cycles to synchronize DMA and CPU. Snes9x cannot emulate correctly.
int32 NMIDMADelay; // The delay of NMI trigger after DMA transfers. Snes9x cannot emulate correctly.
int32 IRQPendCount; // This value is just a hack, because Snes9x cannot emulate any events in an opcode.
int32 IRQPendCount; // This value is just a hack.
int32 APUSpeedup;
bool8 APUAllowTimeOverflow;
};
Expand Down Expand Up @@ -405,12 +397,8 @@ struct SSettings
char CartBName[PATH_MAX + 1];

bool8 DisableGameSpecificHacks;
bool8 ShutdownMaster;
bool8 Shutdown;
bool8 BlockInvalidVRAMAccessMaster;
bool8 BlockInvalidVRAMAccess;
bool8 DisableIRQ;
bool8 DisableHDMA;
int32 HDMATimingHack;

bool8 ForcedPause;
Expand Down
29 changes: 4 additions & 25 deletions unix/Makefile.in
@@ -1,5 +1,3 @@
@S9XZSNESFX@
@S9XZSNESC4@
@S9XDEBUGGER@
@S9XNETPLAY@
@S9XZIP@
Expand All @@ -9,26 +7,11 @@
OS = `uname -s -r -m|sed \"s/ /-/g\"|tr \"[A-Z]\" \"[a-z]\"|tr \"/()\" \"___\"`
BUILDDIR = .

OBJECTS = ../apu/apu.o ../apu/SNES_SPC.o ../apu/SNES_SPC_misc.o ../apu/SNES_SPC_state.o ../apu/SPC_DSP.o ../apu/SPC_Filter.o ../bsx.o ../cheats.o ../cheats2.o ../clip.o ../conffile.o ../controls.o ../cpu.o ../cpuexec.o ../cpuops.o ../crosshairs.o ../dma.o ../dsp.o ../dsp1.o ../dsp2.o ../dsp3.o ../dsp4.o ../gfx.o ../globals.o ../logger.o ../memmap.o ../movie.o ../obc1.o ../ppu.o ../reader.o ../sa1.o ../sa1cpu.o ../screenshot.o ../sdd1.o ../sdd1emu.o ../seta.o ../seta010.o ../seta011.o ../seta018.o ../snapshot.o ../snes9x.o ../spc7110.o ../srtc.o ../tile.o ../filter/2xsai.o ../filter/blit.o ../filter/epx.o ../filter/hq2x.o ../filter/snes_ntsc.o unix.o x11.o
DEFS = -DMITSHM -DCPU_SHUTDOWN -DSPC700_SHUTDOWN -DCORRECT_VRAM_READS
OBJECTS = ../apu/apu.o ../apu/SNES_SPC.o ../apu/SNES_SPC_misc.o ../apu/SNES_SPC_state.o ../apu/SPC_DSP.o ../apu/SPC_Filter.o ../bsx.o ../c4.o ../c4emu.o ../cheats.o ../cheats2.o ../clip.o ../conffile.o ../controls.o ../cpu.o ../cpuexec.o ../cpuops.o ../crosshairs.o ../dma.o ../dsp.o ../dsp1.o ../dsp2.o ../dsp3.o ../dsp4.o ../fxinst.o ../fxemu.o ../gfx.o ../globals.o ../logger.o ../memmap.o ../movie.o ../obc1.o ../ppu.o ../reader.o ../sa1.o ../sa1cpu.o ../screenshot.o ../sdd1.o ../sdd1emu.o ../seta.o ../seta010.o ../seta011.o ../seta018.o ../snapshot.o ../snes9x.o ../spc7110.o ../srtc.o ../tile.o ../filter/2xsai.o ../filter/blit.o ../filter/epx.o ../filter/hq2x.o ../filter/snes_ntsc.o unix.o x11.o
DEFS = -DMITSHM

ifdef S9XZSNESFX
OBJECTS += ../i386/fxemu2.o ../i386/fxemu2b.o ../i386/fxemu2c.o ../i386/fxtable.o ../i386/sfxproc.o ../i386/zsnes.o
else
OBJECTS += ../fxinst.o ../fxemu.o
ifdef S9XDEBUGGER
OBJECTS += ../fxdbg.o
endif
endif

ifdef S9XZSNESC4
OBJECTS += ../i386/c4.o ../i386/zsnesc4.o ../c4.o
else
OBJECTS += ../c4.o ../c4emu.o
endif

ifdef S9XDEBUGGER
OBJECTS += ../debug.o
OBJECTS += ../debug.o ../fxdbg.o
endif

ifdef S9XNETPLAY
Expand All @@ -45,14 +28,13 @@ endif

CCC = @CXX@
CC = @CC@
NASM = @S9XNASM@
GASM = @CXX@
INCLUDES = -I. -I.. -I../apu/ -I../unzip/ -I../jma/ -I../filter/

CCFLAGS = @S9XFLGS@ @S9XDEFS@ $(DEFS)
CFLAGS = $(CCFLAGS)

.SUFFIXES: .o .cpp .c .cc .h .m .i .s .asm .obj
.SUFFIXES: .o .cpp .c .cc .h .m .i .s .obj

all: Makefile configure snes9x

Expand Down Expand Up @@ -108,9 +90,6 @@ snes9x: $(OBJECTS)
@echo Compiling $*.s
sh-elf-as -little $*.s -o $@

.asm.o:
$(NASM) -f elf -DELF @S9XDEFS@ -i../i386/ -o $@ $*.asm

.obj.o:
cp $*.obj $*.o

Expand Down
54 changes: 2 additions & 52 deletions unix/configure.ac
@@ -1,6 +1,6 @@
AC_PREREQ([2.60])
AC_INIT([Snes9x], [1.52], [], [snes9x])
AC_REVISION([$Revision: 1.52 $])
AC_INIT([Snes9x], [1.53], [], [snes9x])
AC_REVISION([$Revision: 1.53 $])

AC_CONFIG_SRCDIR([unix.cpp])

Expand Down Expand Up @@ -106,52 +106,6 @@ AC_S9X_COMPILER_FLAG([-Wall], [Wall])
AC_S9X_COMPILER_FLAG([-W], [W])
AC_S9X_COMPILER_FLAG([-Wno-unused-parameter], [Wno_unused_parameter])

# Check if the CPU is x86.

AC_MSG_CHECKING([whether the CPU is x86])

AC_CACHE_VAL([snes9x_cv_x86_cpu],
[
case "$target" in
i686-*-* | i586-*-* | i486-*-* | i386-*-*)
snes9x_cv_x86_cpu="yes"
;;
*)
snes9x_cv_x86_cpu="no"
;;
esac
])

AC_MSG_RESULT([$snes9x_cv_x86_cpu])

# Enable ZSNES C4 and SuperFX assembler cores if CPU is x86.

S9XZSNESFX="#S9XZSNESFX=1"
S9XZSNESC4="#S9XZSNESC4=1"
S9XNASM=""

AC_ARG_ENABLE([zsnes_asm],
[AS_HELP_STRING([--enable-zsnes-asm],
[build with ZSNES C4 and SuperFX assembler cores if available (default: no)])],
[], [enable_zsnes_asm="no"])

if test "x$enable_zsnes_asm" = "xyes"; then
if test "x$snes9x_cv_x86_cpu" = "xyes"; then
AC_PATH_PROG([S9XNASM], [nasm], [no])
if test "x$S9XNASM" != "xno"; then
S9XZSNESFX="S9XZSNESFX=1"
S9XZSNESC4="S9XZSNESC4=1"
S9XDEFS="$S9XDEFS -DZSNES_FX -DZSNES_C4"
else
AC_MSG_WARN([nasm not found. Build without ZSNES assembler cores.])
enable_zsnes_asm="no"
fi
else
AC_MSG_WARN([Your CPU is not x86. Build without ZSNES assembler cores.])
enable_zsnes_asm="no"
fi
fi

# Check if the OS is Linux.

AC_MSG_CHECKING([whether the OS is Linux])
Expand Down Expand Up @@ -464,9 +418,6 @@ S9XLIBS="`echo \"$S9XLIBS\" | sed -e 's/^ *//'`"
AC_SUBST(S9XFLGS)
AC_SUBST(S9XDEFS)
AC_SUBST(S9XLIBS)
AC_SUBST(S9XZSNESFX)
AC_SUBST(S9XZSNESC4)
AC_SUBST(S9XNASM)
AC_SUBST(S9XDEBUGGER)
AC_SUBST(S9XNETPLAY)
AC_SUBST(S9XZIP)
Expand All @@ -491,7 +442,6 @@ gamepad support...... $enable_gamepad
GZIP support......... $enable_gzip
ZIP support.......... $enable_zip
JMA support.......... $enable_jma
using ZSNES asm...... $enable_zsnes_asm
debugger............. $enable_debugger

EOF
Expand Down
1 change: 0 additions & 1 deletion unix/x11.cpp
Expand Up @@ -451,7 +451,6 @@ const char * S9xParseDisplayConfig (ConfigFile &conf, int pass)
keymaps.push_back(strpair_t("K00:3", "ToggleBG2"));
keymaps.push_back(strpair_t("K00:4", "ToggleBG3"));
keymaps.push_back(strpair_t("K00:5", "ToggleSprites"));
keymaps.push_back(strpair_t("K00:0", "ToggleHDMA"));
keymaps.push_back(strpair_t("K00:9", "ToggleTransparency"));
keymaps.push_back(strpair_t("K00:BackSpace", "ClipWindows"));
keymaps.push_back(strpair_t("K00:A+Escape", "Debugger"));
Expand Down