7 changed files with 244 additions and 14 deletions
-
24src/akiru/src/akiru.h
-
3src/core/core.vcxproj
-
3src/core/core.vcxproj.filters
-
48src/core/src/core.cpp
-
70src/core/src/core.h
-
52src/core/src/mem_map.cpp
-
58src/core/src/mem_map.h
@ -1,2 +1,46 @@ |
|||||
void null() { |
|
||||
} |
|
||||
|
/**
|
||||
|
* 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
|
||||
@ -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_ |
||||
@ -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
|
||||
@ -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_ |
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue