aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar ShizZy <shizzy@6bit.net>2013-09-05 18:33:46 -0400
committerGravatar ShizZy <shizzy@6bit.net>2013-09-05 18:33:46 -0400
commitd708e2d68a53524ea40e86ebd6157adbdb5b8712 (patch)
tree72cc34d42cdd50667ed6cf79e2a5ae5a28df04a7 /src
parenta7ab25441c53ba7cc9357f222fd68c50e5b0f1d5 (diff)
added core and mem_map files to the project
Diffstat (limited to 'src')
-rw-r--r--src/akiru/src/akiru.h24
-rw-r--r--src/core/core.vcxproj3
-rw-r--r--src/core/core.vcxproj.filters3
-rw-r--r--src/core/src/core.cpp48
-rw-r--r--src/core/src/core.h70
-rw-r--r--src/core/src/mem_map.cpp52
-rw-r--r--src/core/src/mem_map.h58
7 files changed, 244 insertions, 14 deletions
diff --git a/src/akiru/src/akiru.h b/src/akiru/src/akiru.h
index a3b21092..4752b961 100644
--- a/src/akiru/src/akiru.h
+++ b/src/akiru/src/akiru.h
@@ -1,12 +1,12 @@
-/*!
- * Copyright (C) 2005-2012 Gekko Emulator
+/**
+ * Copyright (C) 2013 Akiru Emulator
*
- * \file pcafe.h
- * \author ShizZy <shizzy247@gmail.com>
- * \date 2012-02-11
- * \brief Main entry point
+ * @file akiru.cpp
+ * @author ShizZy <shizzy247@gmail.com>
+ * @date 2013-09-04
+ * @brief Main entry point
*
- * \section LICENSE
+ * @section LICENSE
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
@@ -22,14 +22,14 @@
* http://code.google.com/p/gekko-gc-emu/
*/
-#ifndef PCAFE_PCAFE_H_
-#define PCAFE_PCAFE_H_
+#ifndef AKIRU_AKIRU_H_
+#define AKIRU_AKIRU_H_
#include "version.h"
-#define APP_NAME "gekko"
+#define APP_NAME "akiru"
#define APP_VERSION "0.31-" VERSION
#define APP_TITLE APP_NAME " " APP_VERSION
-#define COPYRIGHT "Copyright (C) 2005-2012 Gekko Team"
+#define COPYRIGHT "Copyright (C) 2005-2012 Akiru Team"
-#endif // PCAFE_PCAFE_H_ \ No newline at end of file
+#endif // AKIRU_AKIRU_H_
diff --git a/src/core/core.vcxproj b/src/core/core.vcxproj
index b413beba..cd167af4 100644
--- a/src/core/core.vcxproj
+++ b/src/core/core.vcxproj
@@ -183,9 +183,12 @@
<ItemGroup>
<ClCompile Include="src\arm\disassembler\arm_disasm.cpp" />
<ClCompile Include="src\core.cpp" />
+ <ClCompile Include="src\mem_map.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="src\arm\disassembler\arm_disasm.h" />
+ <ClInclude Include="src\core.h" />
+ <ClInclude Include="src\mem_map.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
diff --git a/src/core/core.vcxproj.filters b/src/core/core.vcxproj.filters
index 3c0ae878..9d981b99 100644
--- a/src/core/core.vcxproj.filters
+++ b/src/core/core.vcxproj.filters
@@ -5,6 +5,7 @@
<ClCompile Include="src\arm\disassembler\arm_disasm.cpp">
<Filter>arm\disassembler</Filter>
</ClCompile>
+ <ClCompile Include="src\mem_map.cpp" />
</ItemGroup>
<ItemGroup>
<Filter Include="arm">
@@ -18,5 +19,7 @@
<ClInclude Include="src\arm\disassembler\arm_disasm.h">
<Filter>arm\disassembler</Filter>
</ClInclude>
+ <ClInclude Include="src\mem_map.h" />
+ <ClInclude Include="src\core.h" />
</ItemGroup>
</Project> \ No newline at end of file
diff --git a/src/core/src/core.cpp b/src/core/src/core.cpp
index b5ac8564..4e956fde 100644
--- a/src/core/src/core.cpp
+++ b/src/core/src/core.cpp
@@ -1,2 +1,46 @@
-void null() {
-} \ No newline at end of file
+/**
+ * Copyright (C) 2013 Akiru Emulator
+ *
+ * @file core.cpp
+ * @author ShizZy <shizzy247@gmail.com>
+ * @date 2013-09-04
+ * @brief Core of emulator
+ *
+ * @section LICENSE
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details at
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * Official project repository can be found at:
+ * http://code.google.com/p/gekko-gc-emu/
+ */
+
+#include "core.h"
+
+namespace Core {
+
+/// Start the core
+void Start() {
+}
+
+/// Kill the core
+void Kill() {
+}
+
+/// Stop the core
+void Stop() {
+}
+
+/// Initialize the core
+int Init(EmuWindow* emu_window) {
+ return 0;
+}
+
+} // namespace
diff --git a/src/core/src/core.h b/src/core/src/core.h
new file mode 100644
index 00000000..41429e8a
--- /dev/null
+++ b/src/core/src/core.h
@@ -0,0 +1,70 @@
+/**
+ * Copyright (C) 2013 Akiru Emulator
+ *
+ * @file core.h
+ * @author ShizZy <shizzy247@gmail.com>
+ * @date 2013-09-04
+ * @brief Core of emulator
+ *
+ * @section LICENSE
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details at
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * Official project repository can be found at:
+ * http://code.google.com/p/gekko-gc-emu/
+ */
+
+#ifndef CORE_CORE_H_
+#define CORE_CORE_H_
+
+////////////////////////////////////////////////////////////////////////////////////////////////////
+
+#include "common.h"
+
+////////////////////////////////////////////////////////////////////////////////////////////////////
+
+class EmuWindow;
+
+namespace Core {
+
+// State of the full emulator
+typedef enum {
+ SYS_NULL = 0, ///< System is in null state, nothing initialized
+ SYS_IDLE, ///< System is in an initialized state, but not running
+ SYS_RUNNING, ///< System is running
+ SYS_LOADING, ///< System is loading a ROM
+ SYS_HALTED, ///< System is halted (error)
+ SYS_STALLED, ///< System is stalled (unused)
+ SYS_DEBUG, ///< System is in a special debug mode (unused)
+ SYS_DIE ///< System is shutting down
+} SystemState;
+
+
+/// Start the core
+void Start();
+
+/// Kill the core
+void Kill();
+
+/// Stop the core
+void Stop();
+
+/// Initialize the core
+int Init(EmuWindow* emu_window);
+
+extern SystemState g_state; ///< State of the emulator
+extern bool g_started; ///< Whether or not the emulator has been started
+
+} // namespace
+
+////////////////////////////////////////////////////////////////////////////////////////////////////
+
+#endif // CORE_CORE_H_
diff --git a/src/core/src/mem_map.cpp b/src/core/src/mem_map.cpp
new file mode 100644
index 00000000..3ff516cb
--- /dev/null
+++ b/src/core/src/mem_map.cpp
@@ -0,0 +1,52 @@
+/**
+ * Copyright (C) 2013 Akiru Emulator
+ *
+ * @file mem_map.cpp
+ * @author ShizZy <shizzy247@gmail.com>
+ * @date 2013-09-05
+ * @brief Memory map - handles virtual to physical memory access
+ *
+ * @section LICENSE
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details at
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * Official project repository can be found at:
+ * http://code.google.com/p/gekko-gc-emu/
+ */
+
+#include "mem_map.h"
+
+namespace Memory {
+
+u8 Read8(const u32 addr) {
+ return 0xDE;
+}
+
+u16 Read16(const u32 addr) {
+ return 0xDEAD;
+}
+
+u32 Read32(const u32 addr) {
+ return 0xDEADBEEF;
+}
+
+void Write8(const u32 addr, const u32 data) {
+}
+
+void Write16(const u32 addr, const u32 data) {
+}
+
+void Write32(const u32 addr, const u32 data) {
+}
+
+
+
+} // namespace
diff --git a/src/core/src/mem_map.h b/src/core/src/mem_map.h
new file mode 100644
index 00000000..8ef6e58a
--- /dev/null
+++ b/src/core/src/mem_map.h
@@ -0,0 +1,58 @@
+/**
+ * Copyright (C) 2013 Akiru Emulator
+ *
+ * @file mem_map.h
+ * @author ShizZy <shizzy247@gmail.com>
+ * @date 2013-09-05
+ * @brief Memory map - handles virtual to physical memory access
+ *
+ * @section LICENSE
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details at
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * Official project repository can be found at:
+ * http://code.google.com/p/gekko-gc-emu/
+ */
+
+#ifndef CORE_MEM_MAP_H_
+#define CORE_MEM_MAP_H_
+
+////////////////////////////////////////////////////////////////////////////////////////////////////
+
+#include "common.h"
+#include "common_types.h"
+
+////////////////////////////////////////////////////////////////////////////////////////////////////
+
+namespace Memory {
+
+extern u8* g_ram;
+extern u8* g_vram;
+
+extern u32 g_memory_size;
+extern u32 g_memory_mask;
+
+void Init();
+void Shutdown();
+
+u8 Read8(const u32 addr);
+u16 Read16(const u32 addr);
+u32 Read32(const u32 addr);
+
+void Write8(const u32 addr, const u32 data);
+void Write16(const u32 addr, const u32 data);
+void Write32(const u32 addr, const u32 data);
+
+} // namespace
+
+////////////////////////////////////////////////////////////////////////////////////////////////////
+
+#endif // CORE_MEM_MAP_H_ \ No newline at end of file