OSDN Git Service

[X1TURBOZ][Agar] Setup same with plain X1.
authorK.Ohta <whatisthis.sowhat@gmail.com>
Wed, 7 Jan 2015 19:54:43 +0000 (04:54 +0900)
committerK.Ohta <whatisthis.sowhat@gmail.com>
Wed, 7 Jan 2015 19:54:43 +0000 (04:54 +0900)
source/build-cmake/x1turboz/CMakeLists.txt [new file with mode: 0644]
source/src/agar/x1turbo/CMakeLists.txt [new file with mode: 0644]
source/src/agar/x1turbo/menu_x1t.cpp [new file with mode: 0644]
source/src/agar/x1turboz/CMakeLists.txt [new file with mode: 0644]
source/src/agar/x1turboz/menu_x1t.cpp [new file with mode: 0644]

diff --git a/source/build-cmake/x1turboz/CMakeLists.txt b/source/build-cmake/x1turboz/CMakeLists.txt
new file mode 100644 (file)
index 0000000..1d8884e
--- /dev/null
@@ -0,0 +1,95 @@
+# Build Common Sourcecode Project, Agar.
+# (C) 2014 K.Ohta <whatisthis.sowhat@gmail.com>
+# This is part of XM7/SDL, but license is apache 2.2,
+# this part was written only me.
+
+cmake_minimum_required (VERSION 2.6)
+cmake_policy(SET CMP0011 NEW)
+
+message("")
+message("** Start of configure CommonSourceProject,X1, Agar **")
+message("")
+
+set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/../cmake")
+
+
+project (emux1turboz)
+
+set(EXEC_TARGET emux1turboz)
+
+set(LOCAL_LIBS            vm_x1
+                  vm_vm
+                  common_common
+                  vm_fmgen
+                  common_scaler-generic
+                  agar_ui
+                  agar_x1t
+                  agar_menu
+                   )
+
+
+set(BUILD_SHARED_LIBS OFF)
+set(USE_OPENMP ON CACHE BOOL "Build using OpenMP")
+set(USE_OPENCL ON CACHE BOOL "Build using OpenCL")
+set(USE_OPENGL ON CACHE BOOL "Build using OpenGL")
+set(XM7_VERSION 3)
+#set(WITH_DEBUGGER ON CACHE BOOL "Build witn XM7 Debugger.")
+
+include(detect_target_cpu)
+#include(windows-mingw-cross)
+# set entry
+set(CMAKE_SYSTEM_PROCESSOR ${ARCHITECTURE} CACHE STRING "Set processor to build.")
+
+
+add_definitions(-D_X1TURBOZ)
+#add_definitions(-DUSE_TAPE)
+#add_definitions(-DUSE_FD1)
+#add_definitions(-DUSE_FD1)
+
+include(config_commonsource)
+
+
+#include_directories(${CMAKE_CURRENT_SOURCE_DIR})
+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../src/vm)
+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../src/vm/x1)
+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../src/vm/fmgen)
+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../src/agar/x1turbo)
+
+
+
+if(USE_SSE2)
+#  include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../src/vm/fm7/vram/sse2)
+#  add_subdirectory(../../src/vm/fm7/vram/sse2 vm/fm7/vram/sse2)
+endif()
+
+
+if(USE_SSE2)
+# include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../src/agar/common/scaler/sse2)
+endif()
+
+add_subdirectory(../../src/vm/x1 vm/x1)
+add_subdirectory(../../src/vm/fmgen vm/fmgen)
+add_subdirectory(../../src/agar/x1turbo agar/x1turbo)
+
+set(BUNDLE_LIBS 
+                          ${AGAR_LIBS}
+                          ${OPENGL_LIBRARY}
+                          ${OPENCL_LIBRARY}
+                          ${GETTEXT_LIBRARY}
+                          ${OPENMP_LIBRARY}
+                          ${SDL_LIBRARY}
+                          ${THREADS_LIBRARY}
+                          fontconfig
+                          freetype
+                          ${AGAR_DEPLIBS}
+)
+
+                           
+add_subdirectory(../../src/agar/common agar/common)
+
+
+
+if(LIB_RT_HAS_NANOSLEEP)
+  add_target_library(emux1 rt)
+endif(LIB_RT_HAS_NANOSLEEP)
+
diff --git a/source/src/agar/x1turbo/CMakeLists.txt b/source/src/agar/x1turbo/CMakeLists.txt
new file mode 100644 (file)
index 0000000..97b1c4e
--- /dev/null
@@ -0,0 +1,7 @@
+message("* agar/x1")
+
+#set(CMAKE_BUILD_SETTING_C_FLAGS "${CMAKE_C_FLAGS} -msse2 -msse -mmmx")
+add_library(agar_x1t
+         menu_x1t.cpp
+)
diff --git a/source/src/agar/x1turbo/menu_x1t.cpp b/source/src/agar/x1turbo/menu_x1t.cpp
new file mode 100644 (file)
index 0000000..c749bf1
--- /dev/null
@@ -0,0 +1,82 @@
+/*
+       Skelton for retropc emulator
+
+       Author : K.Ohta <whatisthis.sowhat _at_ gmail.com>
+       Date   : 2015.01.07
+
+       [Menu / X1]
+*/
+
+#include <stdio.h>
+#include <string>
+#include <vector>
+#include "common.h"
+#include "emu.h"
+#include "agar_main.h"
+#include "menu_common.h"
+
+void ControlMenu(AG_MenuItem *parent)
+{
+  AG_MenuItem *item;
+
+  item = AG_MenuAction(parent, _N("Reset"), NULL, OnReset, NULL);
+  item = AG_MenuAction(parent, _N("NMI Reset"), NULL, OnSpecialReset, NULL);
+  AG_MenuSeparator(parent);
+
+  item = AG_MenuAction(parent, _N("CPU x1"), NULL,  OnCpuPower, "%i", 0);
+  item = AG_MenuAction(parent, _N("CPU x2"), NULL,  OnCpuPower, "%i", 1);
+  item = AG_MenuAction(parent, _N("CPU x4"), NULL,  OnCpuPower, "%i", 2);
+  item = AG_MenuAction(parent, _N("CPU x8"), NULL,  OnCpuPower, "%i", 3);
+  item = AG_MenuAction(parent, _N("CPU x16"), NULL, OnCpuPower, "%i", 4);
+  AG_MenuSeparator(parent);
+
+#ifdef USE_AUTO_KEY
+  item = AG_MenuAction(parent, _N("Paste"), NULL,  OnStartAutoKey, NULL);
+  item = AG_MenuAction(parent, _N("Stop"),  NULL,   OnStopAutoKey, NULL);
+  AG_MenuSeparator(parent);
+#endif
+#ifdef USE_STATE
+  item = AG_MenuAction(parent, _N("Save State"), NULL,  OnSaveState, NULL);
+  item = AG_MenuAction(parent, _N("Load State"), NULL,  OnLoadState, NULL);
+  AG_MenuSeparator(parent);
+#endif
+#ifdef USE_DEBUGGER
+  item = AG_MenuAction(parent, _N("Debug Main     CPU"), NULL,  OnOpenDebugger, "%i", 0);
+  item = AG_MenuAction(parent, _N("Debug Sub      CPU"), NULL,  OnOpenDebugger, "%i", 1);
+  item = AG_MenuAction(parent, _N("Debug Keyboard CPU"), NULL,  OnOpenDebugger, "%i", 2);
+  item = AG_MenuAction(parent, _N("Close Debugger"), NULL,  OnCloseDebugger, NULL);
+  AG_MenuSeparator(parent);
+#endif
+  item = AG_MenuAction(parent, _N("Exit Emulator"), NULL,  OnGuiExit, NULL);
+  
+}
+
+AG_Menu *AGAR_MainMenu(AG_Widget *parent)
+{
+   AG_Menu *menu = AG_MenuNew(parent, AG_MENU_HFILL);
+
+   MenuNode_Control = AG_MenuNode(menu->root, _N("File"), NULL);
+   ControlMenu(MenuNode_Control);
+
+#ifdef USE_FD1
+   MenuNode_FD_1.Node = AG_MenuNode(menu->root, _N("Drive 0"), NULL);
+   FloppyMenu(&MenuNode_FD_1, 0);
+#endif
+#ifdef USE_FD2
+   MenuNode_FD_2.Node = AG_MenuNode(menu->root, _N("Drive 1"), NULL);
+   FloppyMenu(&MenuNode_FD_2, 1);
+#endif
+#ifdef USE_FD3
+   MenuNode_FD_3.Node = AG_MenuNode(menu->root, _N("Drive 2"), NULL);
+   FloppyMenu(&MenuNode_FD_3, 2);
+#endif
+#ifdef USE_FD4
+   MenuNode_FD_4.Node = AG_MenuNode(menu->root, _N("Drive 3"), NULL);
+   FloppyMenu(&MenuNode_FD_4, 3);
+#endif
+#ifdef USE_TAPE
+   MenuNode_Tape.Node = AG_MenuNode(menu->root, _N("CMT"), NULL);
+   TapeMenu(&MenuNode_Tape);
+#endif
+   
+}   
diff --git a/source/src/agar/x1turboz/CMakeLists.txt b/source/src/agar/x1turboz/CMakeLists.txt
new file mode 100644 (file)
index 0000000..97b1c4e
--- /dev/null
@@ -0,0 +1,7 @@
+message("* agar/x1")
+
+#set(CMAKE_BUILD_SETTING_C_FLAGS "${CMAKE_C_FLAGS} -msse2 -msse -mmmx")
+add_library(agar_x1t
+         menu_x1t.cpp
+)
diff --git a/source/src/agar/x1turboz/menu_x1t.cpp b/source/src/agar/x1turboz/menu_x1t.cpp
new file mode 100644 (file)
index 0000000..c749bf1
--- /dev/null
@@ -0,0 +1,82 @@
+/*
+       Skelton for retropc emulator
+
+       Author : K.Ohta <whatisthis.sowhat _at_ gmail.com>
+       Date   : 2015.01.07
+
+       [Menu / X1]
+*/
+
+#include <stdio.h>
+#include <string>
+#include <vector>
+#include "common.h"
+#include "emu.h"
+#include "agar_main.h"
+#include "menu_common.h"
+
+void ControlMenu(AG_MenuItem *parent)
+{
+  AG_MenuItem *item;
+
+  item = AG_MenuAction(parent, _N("Reset"), NULL, OnReset, NULL);
+  item = AG_MenuAction(parent, _N("NMI Reset"), NULL, OnSpecialReset, NULL);
+  AG_MenuSeparator(parent);
+
+  item = AG_MenuAction(parent, _N("CPU x1"), NULL,  OnCpuPower, "%i", 0);
+  item = AG_MenuAction(parent, _N("CPU x2"), NULL,  OnCpuPower, "%i", 1);
+  item = AG_MenuAction(parent, _N("CPU x4"), NULL,  OnCpuPower, "%i", 2);
+  item = AG_MenuAction(parent, _N("CPU x8"), NULL,  OnCpuPower, "%i", 3);
+  item = AG_MenuAction(parent, _N("CPU x16"), NULL, OnCpuPower, "%i", 4);
+  AG_MenuSeparator(parent);
+
+#ifdef USE_AUTO_KEY
+  item = AG_MenuAction(parent, _N("Paste"), NULL,  OnStartAutoKey, NULL);
+  item = AG_MenuAction(parent, _N("Stop"),  NULL,   OnStopAutoKey, NULL);
+  AG_MenuSeparator(parent);
+#endif
+#ifdef USE_STATE
+  item = AG_MenuAction(parent, _N("Save State"), NULL,  OnSaveState, NULL);
+  item = AG_MenuAction(parent, _N("Load State"), NULL,  OnLoadState, NULL);
+  AG_MenuSeparator(parent);
+#endif
+#ifdef USE_DEBUGGER
+  item = AG_MenuAction(parent, _N("Debug Main     CPU"), NULL,  OnOpenDebugger, "%i", 0);
+  item = AG_MenuAction(parent, _N("Debug Sub      CPU"), NULL,  OnOpenDebugger, "%i", 1);
+  item = AG_MenuAction(parent, _N("Debug Keyboard CPU"), NULL,  OnOpenDebugger, "%i", 2);
+  item = AG_MenuAction(parent, _N("Close Debugger"), NULL,  OnCloseDebugger, NULL);
+  AG_MenuSeparator(parent);
+#endif
+  item = AG_MenuAction(parent, _N("Exit Emulator"), NULL,  OnGuiExit, NULL);
+  
+}
+
+AG_Menu *AGAR_MainMenu(AG_Widget *parent)
+{
+   AG_Menu *menu = AG_MenuNew(parent, AG_MENU_HFILL);
+
+   MenuNode_Control = AG_MenuNode(menu->root, _N("File"), NULL);
+   ControlMenu(MenuNode_Control);
+
+#ifdef USE_FD1
+   MenuNode_FD_1.Node = AG_MenuNode(menu->root, _N("Drive 0"), NULL);
+   FloppyMenu(&MenuNode_FD_1, 0);
+#endif
+#ifdef USE_FD2
+   MenuNode_FD_2.Node = AG_MenuNode(menu->root, _N("Drive 1"), NULL);
+   FloppyMenu(&MenuNode_FD_2, 1);
+#endif
+#ifdef USE_FD3
+   MenuNode_FD_3.Node = AG_MenuNode(menu->root, _N("Drive 2"), NULL);
+   FloppyMenu(&MenuNode_FD_3, 2);
+#endif
+#ifdef USE_FD4
+   MenuNode_FD_4.Node = AG_MenuNode(menu->root, _N("Drive 3"), NULL);
+   FloppyMenu(&MenuNode_FD_4, 3);
+#endif
+#ifdef USE_TAPE
+   MenuNode_Tape.Node = AG_MenuNode(menu->root, _N("CMT"), NULL);
+   TapeMenu(&MenuNode_Tape);
+#endif
+   
+}