set(EXEC_TARGET emubabbage2nd)
set(VM_NAME babbage2nd)
set(USE_FMGEN OFF)
+set(WITH_JOYSTICK OFF)
+set(WITH_MOUSE ON)
+
set(VMFILES_BASE
z80.cpp
z80ctc.cpp
add_definitions(-D_BABBAGE2ND)
set(RESOURCE ${CMAKE_SOURCE_DIR}/../../src/qt/common/qrc/babbage2nd.qrc)
-
include(config_commonsource)
add_definitions(-DQT_MAJOR_VERSION=${Qt5Widgets_VERSION_MAJOR})
add_definitions(-DQT_MINOR_VERSION=${Qt5Widgets_VERSION_MINOR})
# Build Flags
+if(WITH_JOYSTICK)
+endif()
+
+if(WITH_MOUSE)
+endif()
+
if(USE_OPENMP)
find_package(OpenMP)
add_subdirectory(../../src/vm vm/)
if(DEFINED VM_NAME)
-if(WITH_DEBUGGER)
+ if(WITH_DEBUGGER)
set(DEBUG_LIBS qt_debugger)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../src/qt/debugger)
add_subdirectory(../../src/qt/debugger qt/debugger)
-else()
+ else()
set(DEBUG_LIBS)
-endif()
+ endif()
+
set(LOCAL_LIBS
common_emu
qt_${VM_NAME}
set(VM_NAME fm7)
set(USE_FMGEN ON)
set(WITH_DEBUGGER ON)
+set(WITH_MOUSE ON)
+set(WITH_JOYSTICK ON)
+
set(VMFILES
mc6809.cpp
#
set(VM_NAME fmr50)
set(USE_FMGEN OFF)
+set(WITH_JOYSTICK OFF)
+set(WITH_MOUSE ON)
set(VMFILES
#
cmake_policy(SET CMP0011 NEW)
set(VM_NAME gamegear)
set(USE_FMGEN ON)
+set(WITH_MOUSE OFF)
+set(WITH_JOYSTICK ON)
set(VMFILES
z80.cpp
message("** Start of configure CommonSourceProject,PASOPIA/7, Qt **")
message("")
+set(WITH_JOYSTICK ON)
+set(WITH_MOUSE OFF)
set(VMFILES
z80.cpp
set(VM_NAME pc9801)
set(USE_FMGEN ON)
+set(WITH_JOYSTICK ON)
+set(WITH_MOUSE ON)
set(VMFILES
i8237.cpp
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/../cmake")
set(VM_NAME mz2500)
+set(WITH_JOYSTICK ON)
+set(WITH_MOUSE ON)
set(VMFILES_2500
z80.cpp
set(VM_NAME mz5500)
set(USE_FMGEN ON)
+set(WITH_JOYSTICK ON)
+set(WITH_MOUSE ON)
+
set(VMFILES
i286.cpp
cmake_minimum_required (VERSION 2.8)
cmake_policy(SET CMP0011 NEW)
set(VM_NAME mz700)
+set(WITH_JOYSTICK ON)
+set(WITH_MOUSE ON)
set(VMFILES_BASE
z80.cpp
set(VM_NAME mz80k)
set(USE_FMGEN OFF)
set(USE_DEBUGGER ON)
+set(WITH_JOYSTICK OFF)
+set(WITH_MOUSE OFF)
set(VMFILES_BASE
z80.cpp
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/../cmake")
set(VM_NAME pc6001)
set(USE_FMGEN ON)
+set(WITH_JOYSTICK ON)
+set(WITH_MOUSE ON)
+
set(VMFILES
z80.cpp
i8255.cpp
set(VM_NAME pc8201)
set(USE_FMGEN OFF)
+set(WITH_JOYSTICK OFF)
+set(WITH_MOUSE OFF)
set(VMFILES
i8080.cpp
i8155.cpp
set(VM_NAME pc8801)
set(USE_FMGEN ON)
set(USE_DEBUGGER ON)
+set(WITH_JOYSTICK ON)
+set(WITH_MOUSE ON)
+
set(VMFILES
z80.cpp
z80dma.cpp
set(VM_NAME pc98ha)
set(USE_FMGEN OFF)
+set(WITH_JOYSTICK ON)
+set(WITH_MOUSE ON)
+
set(VMFILES
i8251.cpp
i8253.cpp
set(VM_NAME qc10)
set(USE_FMGEN OFF)
+set(WITH_JOYSTICK OFF)
+set(WITH_MOUSE OFF)
set(VMFILES
z80.cpp
set(VM_NAME x1)
set(USE_FMGEN ON)
+set(WITH_JOYSTICK ON)
+set(WITH_MOUSE ON)
+
set(VMFILES
z80.cpp
mcs48.cpp
set(EXEC_TARGET emuex80)
set(VM_NAME ex80)
set(USE_FMGEN OFF)
+set(WITH_JOYSTICK OFF)
+set(WITH_MOUSE ON)
+
set(VMFILES_BASE
i8080.cpp
i8251.cpp
set(EXEC_TARGET emufamilybasic)
set(VM_NAME familybasic)
set(USE_FMGEN OFF)
+set(WITH_JOYSTICK ON)
+set(WITH_MOUSE ON)
+
set(VMFILES_BASE
m6502.cpp
datarec.cpp
set(EXEC_TARGET emufm16pi)
set(VM_NAME fm16pi)
set(USE_FMGEN OFF)
+set(WITH_JOYSTICK OFF)
+set(WITH_MOUSE ON)
+
set(VMFILES
i286.cpp
#
project (emufp1100)
set(VM_NAME fp1100)
set(USE_FMGEN OFF)
+set(WITH_JOYSTICK OFF)
+set(WITH_MOUSE OFF)
set(VMFILES
z80.cpp
project (emufp200)
set(VM_NAME fp200)
set(USE_FMGEN OFF)
+set(WITH_JOYSTICK OFF)
+set(WITH_MOUSE OFF)
+
set(VMFILES
i8080.cpp
rp5c01.cpp
set(EXEC_TARGET emuhc20)
set(VM_NAME hc20)
set(USE_FMGEN OFF)
+set(WITH_JOYSTICK OFF)
+set(WITH_MOUSE OFF)
+
set(VMFILES_BASE
mc6800.cpp
tf20.cpp
set(EXEC_TARGET emuhc40)
set(VM_NAME hc40)
set(USE_FMGEN OFF)
+set(WITH_JOYSTICK OFF)
+set(WITH_MOUSE OFF)
set(VMFILES_BASE
z80.cpp
set(USE_FMGEN OFF)
set(EXEC_TARGET emuhc80)
+set(WITH_JOYSTICK OFF)
+set(WITH_MOUSE OFF)
set(VMFILES_BASE
z80.cpp
project (emuj3100gt)
set(VM_NAME j3100)
set(USE_FMGEN OFF)
+set(WITH_JOYSTICK OFF)
+set(WITH_MOUSE ON)
set(VMFILES
hd46505.cpp
project (emuj3100sl)
set(VM_NAME j3100)
set(USE_FMGEN OFF)
+set(WITH_JOYSTICK OFF)
+set(WITH_MOUSE ON)
+
set(VMFILES
hd46505.cpp
i8237.cpp
set(EXEC_TARGET emujr100)
set(VM_NAME jr100)
set(USE_FMGEN OFF)
+set(WITH_JOYSTICK ON)
+set(WITH_MOUSE OFF)
+
set(VMFILES_BASE
mc6800.cpp
pcm1bit.cpp
set(EXEC_TARGET emujx)
set(VM_NAME jx)
set(USE_FMGEN OFF)
+set(WITH_JOYSTICK ON)
+set(WITH_MOUSE ON)
+
set(VMFILES_BASE
i86.cpp
set(EXEC_TARGET emum5)
set(VM_NAME m5)
set(USE_FMGEN OFF)
+set(WITH_JOYSTICK ON)
+set(WITH_MOUSE ON)
+
set(VMFILES_BASE
z80.cpp
sn76489an.cpp
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/../cmake")
project (map1010)
+set(WITH_JOYSTICK ON)
+set(WITH_MOUSE ON)
set(BUILD_MAP1010 ON CACHE BOOL "Build eMAP1010")
project (mz3500)
set(VM_NAME mz3500)
set(USE_FMGEN OFF)
+set(WITH_JOYSTICK OFF)
+set(WITH_MOUSE ON)
+
set(VMFILES
z80.cpp
set(EXEC_TARGET emun5200)
set(VM_NAME n5200)
set(USE_FMGEN OFF)
+set(WITH_JOYSTICK OFF)
+set(WITH_MOUSE ON)
+
set(VMFILES_BASE
i386.cpp
project (pc100)
set(VM_NAME pc100)
set(USE_FMGEN ON)
+set(WITH_JOYSTICK OFF)
+set(WITH_MOUSE ON)
+
set(VMFILES
i286.cpp
project (emupcengine)
set(VM_NAME pcengine)
set(USE_FMGEN OFF)
+set(WITH_JOYSTICK ON)
+set(WITH_MOUSE OFF)
+
set(VMFILES_BASE
huc6280.cpp
event.cpp
project (rx78)
set(VM_NAME rx78)
set(USE_FMGEN OFF)
+set(WITH_JOYSTICK ON)
+set(WITH_MOUSE ON)
+
set(VMFILES
z80.cpp
sn76489an.cpp
project (sc3000)
set(VM_NAME sc3000)
set(USE_FMGEN OFF)
+set(WITH_JOYSTICK ON)
+set(WITH_MOUSE ON)
+
set(VMFILES
z80.cpp
project (scv)
set(VM_NAME scv)
set(USE_FMGEN OFF)
+set(WITH_JOYSTICK ON)
+set(WITH_MOUSE OFF)
+
set(VMFILES
upd7801.cpp
set(VM_NAME tk80bs)
set(USE_FMGEN OFF)
+set(WITH_JOYSTICK ON)
+set(WITH_MOUSE ON)
set(VMFILES_BASE
i8080.cpp
set(VM_NAME x07)
set(USE_FMGEN OFF)
+set(WITH_JOYSTICK OFF)
+set(WITH_MOUSE ON)
set(VMFILES_BASE
z80.cpp
set(EXEC_TARGET emuys6464a)
set(VM_NAME ys6464a)
set(USE_FMGEN OFF)
+set(WITH_JOYSTICK OFF)
+set(WITH_MOUSE ON)
+
set(VMFILES_BASE
z80.cpp
i8255.cpp
qt_dialogs.h
qt_gldraw.h
emu_thread.h
- joy_thread.h
draw_thread.h
)
+if(WITH_JOYSTICK)
+ set(QT_COMMON_JOYSTICK_SRC joy_thread.cpp)
+ set(s_qt_common_headers ${s_qt_common_headers} joy_thread.h)
+endif()
+
if(USE_QT_5)
QT5_WRAP_CPP(s_qt_common_headers_MOC ${s_qt_common_headers})
else()
qt_dialogs.cpp
qt_main.cpp
emu_thread.cpp
- joy_thread.cpp
draw_thread.cpp
agar_logger.cpp
)
add_executable(${EXEC_TARGET}
${QT_COMMON_BASE}
+ ${QT_COMMON_JOYSTICK_SRC}
${s_qt_common_headers_MOC}
${s_qt_common_RCC}
)
int i, j;
p_emu = p;
+#if defined(USE_JOYSTICK)
joy_num = SDL_NumJoysticks();
for(i = 0; i < 16; i++) {
joyhandle[i] = NULL;
-#if defined(USE_SDL2)
+# if defined(USE_SDL2)
for(j = 0; j < 16; j++) guid_list[i].data[j] = 0;
for(j = 0; j < 16; j++) guid_assign[i].data[j] = 0;
-#endif
+# endif
names[i] = QString::fromUtf8("");
}
if(joy_num > 0) {
joyhandle[i] = SDL_JoystickOpen(i);
if(joyhandle[i] != NULL) {
-#if defined(USE_SDL2)
+# if defined(USE_SDL2)
guid_list[i] = SDL_JoystickGetGUID(joyhandle[i]);
guid_assign[i] = SDL_JoystickGetGUID(joyhandle[i]);
names[i] = QString::fromUtf8(SDL_JoystickNameForIndex(i));
-#else
+# else
names[i] = QString::fromUtf8(SDL_JoystickName(i));
-#endif
+# endif
AGAR_DebugLog(AGAR_LOG_DEBUG, "JoyThread : Joystick %d : %s.", i, names[i].toUtf8().data());
}
}
AGAR_DebugLog(AGAR_LOG_DEBUG, "JoyThread : Any joysticks were not connected.");
bRunThread = false;
}
+#else
+ joy_num = 0;
+ for(i = 0; i < 16; i++) {
+ joyhandle[i] = NULL;
+# if defined(USE_SDL2)
+ for(j = 0; j < 16; j++) guid_list[i].data[j] = 0;
+ for(j = 0; j < 16; j++) guid_assign[i].data[j] = 0;
+# endif
+ names[i] = QString::fromUtf8("None");
+ }
+ AGAR_DebugLog(AGAR_LOG_DEBUG, "JoyThread : None launched because this VM has not supported joystick.");
+ bRunThread = false;
+#endif // defined(USE_JOYSTICK)
}
JoyThreadClass::~JoyThreadClass()
{
+#if defined(USE_JOYSTICK)
int i;
for(i = 0; i < 16; i++) {
if(joyhandle[i] != NULL) SDL_JoystickClose(joyhandle[i]);
}
AGAR_DebugLog(AGAR_LOG_DEBUG, "JoyThread : EXIT");
+#endif
}
+#if defined(USE_JOYSTICK)
void JoyThreadClass::x_axis_changed(int index, int value)
{
if(p_emu == NULL) return;
int vk;
uint32_t sym;
uint32_t mod;
-#if defined(USE_SDL2)
+# if defined(USE_SDL2)
SDL_JoystickGUID guid;
-#endif
+# endif
int i;
if(eventQueue == NULL) return false;
/*
value = eventQueue->jaxis.value;
i = eventQueue->jaxis.which;
-#if defined(USE_SDL2)
+# if defined(USE_SDL2)
guid = SDL_JoystickGetDeviceGUID(i);
if(!CheckJoyGUID(&guid)) break;
for(i = 0; i < 2; i++) {
}
}
}
-#else
+# else
if(eventQueue->jaxis.axis == 0) { // X
x_axis_changed(i, value);
} else if(eventQueue->jaxis.axis == 1) { // Y
y_axis_changed(i, value);
}
-#endif
+# endif
break;
case SDL_JOYBUTTONDOWN:
button = eventQueue->jbutton.button;
i = eventQueue->jbutton.which;
-#if defined(USE_SDL2)
+# if defined(USE_SDL2)
guid = SDL_JoystickGetDeviceGUID(i);
if(!CheckJoyGUID(&guid)) break;
for(i = 0; i < 2; i++) {
button_down(i, button);
}
}
-#else
+# else
button_down(i, button);
-#endif
+# endif
break;
case SDL_JOYBUTTONUP:
button = eventQueue->jbutton.button;
i = eventQueue->jbutton.which;
-#if defined(USE_SDL2)
+# if defined(USE_SDL2)
guid = SDL_JoystickGetDeviceGUID(i);
if(!CheckJoyGUID(&guid)) break;
for(i = 0; i < 2; i++) {
button_up(i, button);
}
}
-#else
+# else
button_up(i, button);
-#endif
+# endif
break;
default:
break;
}
return true;
}
-
+#endif // defined(USE_JOYSTICK)
void JoyThreadClass::doWork(const QString ¶ms)
{
+#if defined(USE_JOYSTICK)
do {
if(bRunThread == false) {
break;
}
msleep(10);
} while(1);
+#endif
this->quit();
}
#include <QThread>
#include <SDL.h>
+#include "emu.h"
class EMU;
class QString;
QT_BEGIN_NAMESPACE
+#if defined(USE_JOYSTICK)
class JoyThreadClass : public QThread {
- Q_OBJECT
+ Q_OBJECT
private:
int joy_num;
SDL_Event event;
EMU *p_emu;
protected:
bool bRunThread;
+#if defined(USE_JOYSTICK)
bool EventSDL(SDL_Event *);
void x_axis_changed(int, int);
void y_axis_changed(int, int);
#if defined(USE_SDL2)
bool CheckJoyGUID(SDL_JoystickGUID *a);
bool MatchJoyGUID(SDL_JoystickGUID *a, SDL_JoystickGUID *b);
-#endif
+#endif
+#endif
public:
JoyThreadClass(EMU *p, QObject *parent = 0);
~JoyThreadClass();
int sig_finished(void);
int call_joy_thread(EMU *);
};
+#endif
QT_END_NAMESPACE
void update_screen(bitmap_t *);
void resizeGL(int width, int height);
+#if defined(ONE_BOARD_MICRO_COMPUTER) || defined(USE_MOUSE)
void mouseMoveEvent(QMouseEvent *event);
void mousePressEvent(QMouseEvent *event);
void mouseReleaseEvent(QMouseEvent *event);
+#endif
void setEnableMouse(bool flag);
void setSmoosing(bool);
void setDrawGLGridVert(bool);
void GLDrawClass::setEnableMouse(bool enable)
{
+#if defined(ONE_BOARD_MICRO_COMPUTER) || defined(USE_MOUSE)
enable_mouse = enable;
+#else
+ enable_mouse = false;
+#endif
}
+#if defined(ONE_BOARD_MICRO_COMPUTER) || defined(USE_MOUSE)
void GLDrawClass::mouseMoveEvent(QMouseEvent *event)
{
int xpos = event->x();
int d_ww, d_hh;
int c_ww, c_hh;
-#if !defined(ONE_BOARD_MICRO_COMPUTER)
if(!enable_mouse) return;
emit do_notify_move_mouse(xpos, ypos);
-#endif
}
-
-
void GLDrawClass::mousePressEvent(QMouseEvent *event)
{
int xpos = event->x();
int d_ww, d_hh;
int c_ww, c_hh;
-#if defined(ONE_BOARD_MICRO_COMPUTER)
if((xpos < 0) || (ypos < 0)) return;
//if(draw_width >= this->width()) {
d_ww = this->width();
ypos = ypos - up;
double xx;
double yy;
-#if defined(USE_SCREEN_ROTATE)
+# if defined(USE_SCREEN_ROTATE)
if(config.rotate_type) {
xx = (double)ypos * ((double)SCREEN_WIDTH / (double)d_hh);
yy = (double)xpos * ((double)SCREEN_HEIGHT / (double)d_ww);
} else
-#endif
+# endif
{
xx = (double)xpos * ((double)SCREEN_WIDTH / (double)d_ww);
yy = (double)ypos * ((double)SCREEN_HEIGHT / (double)d_hh);
}
emit do_notify_move_mouse((int)xx, (int) yy);
-#else
if(!enable_mouse) return;
emit do_notify_button_pressed(event->button());
if(event->button() == Qt::MiddleButton) emit sig_check_grab_mouse(true);
-#endif
}
void GLDrawClass::mouseReleaseEvent(QMouseEvent *event)
if(!enable_mouse) return;
emit do_notify_button_released(event->button());
}
+#endif
void GLDrawClass::closeEvent(QCloseEvent *event)
{
void Ui_MainWindow::LaunchJoyThread(void)
{
+#if defined(USE_JOYSTICK)
hRunJoy = new JoyThreadClass(emu, this);
connect(this, SIGNAL(quit_joy_thread()), hRunJoy, SLOT(doExit()));
hRunJoy->setObjectName("JoyThread");
hRunJoy->start();
+#endif
}
void Ui_MainWindow::StopJoyThread(void)
{
+#if defined(USE_JOYSTICK)
emit quit_joy_thread();
+#endif
}
void Ui_MainWindow::delete_joy_thread(void)
hRunEmu->wait();
delete hRunEmu;
}
+#if defined(USE_JOYSTICK)
if(hRunJoy != NULL) {
hRunJoy->wait();
delete hRunJoy;
}
+#endif
do_release_emu_resources();
// release window
pgl->setEmuPtr(emu);
pgl->setFixedSize(pgl->width(), pgl->height());
+#if defined(USE_JOYSTICK)
rMainWindow->LaunchJoyThread();
+#endif
rMainWindow->LaunchEmuThread();
QObject::connect(GuiMain, SIGNAL(lastWindowClosed()),
rMainWindow, SLOT(on_actionExit_triggered()));
// Constructor
class EmuThreadClass *hRunEmu;
class DrawThreadClass *hDrawEmu;
+#if defined(USE_JOYSTICK)
class JoyThreadClass *hRunJoy;
+#endif
public:
Ui_MainWindow(QWidget *parent = 0);
~Ui_MainWindow();
#define USE_SPECIAL_RESET
#define SUPPORT_DUMMY_DEVICE_LED 3
#define USE_MINIMUM_RENDERING 1
+#define USE_MOUSE
+#define USE_JOYSTICK
//#undef HAS_YM2608
//#define SUPPORT_YM2203_PORT
#if defined(HAS_DMA)
HD6844 *dmac;
#endif
- DISPLAY* display;
- KEYBOARD* keyboard;
+ DISPLAY* display;
+ KEYBOARD* keyboard;
KANJIROM *kanjiclass1;
#ifdef CAPABLE_KANJI_CLASS2
#define USE_AUTO_KEY_CAPS
#define USE_ACCESS_LAMP
#define USE_DEBUGGER
+#define USE_JOUSTICK
#include "../../common.h"
#include "../../fileio.h"
#define USE_AUTO_KEY_CAPS
///#define USE_ACCESS_LAMP
#define USE_DEBUGGER
+#define USE_JOYSTICK
#include "../../common.h"
#include "../../fileio.h"
#define USE_AUTO_KEY_RELEASE 8
#define USE_DEBUGGER
#define USE_STATE
+#define USE_JOYSTICK
#include "../../common.h"
#include "../../fileio.h"
#define USE_AUTO_KEY_RELEASE 10
#define USE_DEBUGGER
#define USE_STATE
+#define USE_JOYSTICK
#include "../../common.h"
#include "../../fileio.h"
#define USE_ACCESS_LAMP
#define USE_DEBUGGER
#define USE_STATE
+#define USE_MOUSE
+#define USE_JOYSTICK
#include "../../common.h"
#include "../../fileio.h"
#define USE_ACCESS_LAMP
#define USE_DEBUGGER
#define USE_STATE
+#define USE_MOUSE
+#define USE_JOYSTICK
#include "../../common.h"
#include "../../fileio.h"
#define USE_ACCESS_LAMP
#define USE_DEBUGGER
#define USE_STATE
+#define USE_MOUSE
+//#define USE_JOYSTICK
#include "../../common.h"
#include "../../fileio.h"
#endif
#define USE_DEBUGGER
#define USE_STATE
+#define USE_JOYSTICK
#include "../../common.h"
#include "../../fileio.h"
#define USE_ACCESS_LAMP
#define USE_DEBUGGER
#define USE_STATE
+#define USE_MOUSE
#include "../../common.h"
#include "../../fileio.h"
#define USE_PRINTER
#define USE_DEBUGGER
#define USE_STATE
+#define USE_JOYSTICK
+//#define USE_MOUSE
#include "../../common.h"
#include "../../fileio.h"
#define USE_PRINTER
#define USE_DEBUGGER
#define USE_STATE
+#define USE_MOUSE
+#define USE_JOYSTICK
#include "../../common.h"
#include "../../fileio.h"
#define USE_PRINTER
#define USE_DEBUGGER
#define USE_STATE
+#define USE_MOUSE
+#define USE_JOYSTICK
#include "../../common.h"
#include "../../fileio.h"
#define USE_AUTO_KEY_CAPS
#define USE_DEBUGGER
#define USE_STATE
+//#define USE_MOUSE
+#define USE_JOYSTICK
#include "../../common.h"
#include "../../fileio.h"
#define KEY_TO_JOY_BUTTON_4 0x53
#define USE_DEBUGGER
#define USE_STATE
+//#define USE_MOUSE
+#define USE_JOYSTICK
#include "../../common.h"
#include "../../fileio.h"
#define USE_AUTO_KEY_CAPS
#define USE_DEBUGGER
#define USE_STATE
+#define USE_JOYSTICK
#include "../../common.h"
#include "../../fileio.h"
#define USE_AUTO_KEY_RELEASE 6
#define USE_AUTO_KEY_CAPS
#define USE_STATE
+#define USE_JOYSTICK
#include "../../common.h"
#include "../../fileio.h"
#define USE_AUTO_KEY_RELEASE 10
#define USE_AUTO_KEY_CAPS
#define USE_DEBUGGER
+#define USE_JOYSTICK
#define USE_STATE
#include "../../common.h"
#define USE_ACCESS_LAMP
#define USE_DEBUGGER
#define USE_STATE
+#define USE_JOYSTICK
#include "../../common.h"
#include "../../fileio.h"
#define KEY_TO_JOY_BUTTON_1 0x5a
#define KEY_TO_JOY_BUTTON_2 0x58
#define USE_DEBUGGER
+#define USE_JOYSTICK
#define USE_STATE
#include "../../common.h"
#define USE_ACCESS_LAMP
#define USE_DEBUGGER
#define USE_STATE
+//#define USE_MOUSE
+#define USE_JOYSTICK
static const int vm_autokey_table_base[][2] = {
// 0x100: shift
#define USE_PRINTER
#define USE_DEBUGGER
#define USE_STATE
+#define USE_MOUSE
+#define USE_KEYBOARD
+#define USE_JOYSTICK
#include "../../common.h"
#include "../../fileio.h"
#define USE_KEY_TO_JOY
#define KEY_TO_JOY_BUTTON_1 0x5a
#define KEY_TO_JOY_BUTTON_2 0x58
+#define USE_JOYSTICK
#define USE_DEBUGGER
#define USE_STATE