<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<AdditionalIncludeDirectories>C:\Program Files\Microsoft DirectX SDK %28June 2010%29\Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<IntrinsicFunctions>true</IntrinsicFunctions>
+ <MultiProcessorCompilation>false</MultiProcessorCompilation>
+ <BufferSecurityCheck>true</BufferSecurityCheck>
+ <AdditionalOptions>/arch:SSE2 %(AdditionalOptions)</AdditionalOptions>
+ <EnableParallelCodeGeneration>true</EnableParallelCodeGeneration>
+ <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<OmitFramePointers>true</OmitFramePointers>
<EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
- <BufferSecurityCheck>false</BufferSecurityCheck>
+ <BufferSecurityCheck>true</BufferSecurityCheck>
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <EnableParallelCodeGeneration>true</EnableParallelCodeGeneration>
+ <OpenMPSupport>true</OpenMPSupport>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
static _TCHAR file_path[_MAX_PATH];
_stprintf_s(file_path, _MAX_PATH, _T("%s%s"), app_path, file_name);
#if defined(_USE_AGAR) || defined(_USE_SDL) || defined(_USE_QT)
- AGAR_DebugLog(AGAR_LOG_INFO, "LOAD BIOS: %s", file_path);
+ AGAR_DebugLog(AGAR_LOG_INFO, "LOAD BIOS: %s", file_path);
#endif
return file_path;
//#if defined(_USE_AGAR) || defined(_USE_SDL) || defined(_USE_QT)
}
-DISPLAY::DISPLAY(VM* parent_vm, EMU* parent_emu) : MEMORY(parent_vm, parent_emu)
+DISPLAY::DISPLAY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
p_vm = parent_vm;
p_emu = parent_emu;
mainio->set_context_subcpu(subcpu);
mainio->set_context_display(display);
- mainio->set_context_kanjirom_class1(kanjiclass1);
- mainio->set_context_mainmem(mainmem);
- mainio->set_context_keyboard(keyboard);
+ mainio->set_context_kanjirom_class1(kanjiclass1);
+ mainio->set_context_mainmem(mainmem);
+ mainio->set_context_keyboard(keyboard);
#if defined(CAPABLE_KANJI_CLASS2)
mainio->set_context_kanjirom_class2(kanjiclass2);
display->set_context_keyboard(keyboard);
subcpu->set_context_bus_halt(display, SIG_FM7_SUB_HALT, 0xffffffff);
- display->set_context_kanjiclass1(kanjiclass1);
+ display->set_context_kanjiclass1(kanjiclass1);
#if defined(CAPABLE_KANJI_CLASS2)
- display->set_context_kanjiclass2(kanjiclass2);
+ display->set_context_kanjiclass2(kanjiclass2);
#endif
#if defined(_FM77AV_VARIANTS)
display->set_context_alu(alu);
#define _CSP_FM7_DISPLAY_H
#include "../device.h"
-#include "../memory.h"
+#include "../device.h"
#include "../mc6809.h"
#include "fm7_common.h"
class DEVICE;
-class MEMORY;
class MC6809;
-class DISPLAY: public MEMORY
+class DISPLAY: public DEVICE
{
protected:
EMU *p_emu;
bool vram_accessflag;
bool is_cyclesteal;
pair kanji1_addr;
- MEMORY *kanjiclass1;
+ DEVICE *kanjiclass1;
#if defined(_FM77AV40) || defined(_FM77AV40SX)|| defined(_FM77AV40SX)
bool kanji_level2;
pair kanji2_addr;
- MEMORY *kanjiclass2;
+ DEVICE *kanjiclass2;
#endif
#if defined(_FM77AV_VARIANTS)
bool use_alu;
#endif
}
- void set_context_kanjiclass1(MEMORY *p) {
+ void set_context_kanjiclass1(DEVICE *p) {
#if defined(_FM77_VARIANTS) || defined(_FM77AV_VARIANTS) // Really?
kanji1_addr.d = 0;
kanjiclass1 = p;
#endif
}
- void set_context_kanjiclass2(MEMORY *p) {
+ void set_context_kanjiclass2(DEVICE *p) {
#if defined(_FM77AV40) || defined(_FM77AV40SX)|| defined(_FM77AV40SX)
kanji2_addr.d = 0;
kanjiclass2 = p;
#define _VM_FM7_MAINIO_H_
#include "../device.h"
-#include "../memory.h"
#include "../mc6809.h"
#include "../z80.h"
#include "../ym2203.h"
//FM7_PRINTER *printer;
//FM7_RS232C *rs232c;
/* */
- MEMORY *kanjiclass1;
- MEMORY *kanjiclass2;
+ DEVICE *kanjiclass1;
+ DEVICE *kanjiclass2;
DEVICE *display;
DEVICE *keyboard;
MC6809 *maincpu;
- MEMORY *mainmem;
+ DEVICE *mainmem;
MC6809 *subcpu;
Z80 *z80;
public:
void reset();
void update_config();
- void set_context_kanjirom_class1(MEMORY *p)
+ void set_context_kanjirom_class1(DEVICE *p)
{
kanjiclass1 = p;
if(p != NULL) connect_kanjiroml1 = true;
}
- void set_context_kanjirom_class2(MEMORY *p)
+ void set_context_kanjirom_class2(DEVICE *p)
{
#if defined(_FM77AV_VARIANTS)
kanjiclass2 = p;
void set_context_maincpu(MC6809 *p){
maincpu = p;
}
- void set_context_mainmem(MEMORY *p){
+ void set_context_mainmem(DEVICE *p){
mainmem = p;
}
void set_context_subcpu(MC6809 *p){
return blocks * size;
}
-FM7_MAINMEM::FM7_MAINMEM(VM* parent_vm, EMU* parent_emu) : MEMORY(parent_vm, parent_emu)
+FM7_MAINMEM::FM7_MAINMEM(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
int i;
p_vm = parent_vm;
fm7_bootroms[i] = NULL;
}
#endif
- MEMORY::release();
+// MEMORY::release();
}
#include "fm7_common.h"
-#include "../memory.h"
+#include "../device.h"
#include "../mc6809.h"
-//#define MEMORY_ADDR_MAX 0x20000
-//#define MEMORY_BANK_SIZE 0x20000
-#define MEMORY_BANK_SIZE 0x10
-#define MEMORY_ADDR_MAX (FM7_MAINMEM_END * MEMORY_BANK_SIZE)
class DEVICE;
class MEMORY;
class FM7_MAINIO;
-class FM7_MAINMEM : public MEMORY
+class FM7_MAINMEM : public DEVICE
{
private:
typedef struct {
#include "../../fileio.h"
#include "kanjirom.h"
-KANJIROM::KANJIROM(VM *parent_vm, EMU* parent_emu, bool type_2std): MEMORY(parent_vm, parent_emu)
+KANJIROM::KANJIROM(VM *parent_vm, EMU* parent_emu, bool type_2std): DEVICE(parent_vm, parent_emu)
{
- int bank_num = MEMORY_ADDR_MAX / MEMORY_BANK_SIZE;
FILEIO *fio;
-
read_ok = false;
fio = new FILEIO();
- memset(data_table, 0xff, MEMORY_ADDR_MAX);
+ memset(data_table, 0xff, 0x20000);
// read_table[0].memory = data_table;
if(type_2std) {
class2 = true;
if(fio->Fopen(emu->bios_path("KANJI2.ROM"), FILEIO_READ_BINARY)) {
- fio->Fread(data_table, MEMORY_ADDR_MAX, 1);
+ fio->Fread(data_table, 0x20000, 1);
fio->Fclose();
read_ok = true;
}
} else {
class2 = false;
if(fio->Fopen(emu->bios_path("KANJI1.ROM"), FILEIO_READ_BINARY)) {
- fio->Fread(data_table, MEMORY_ADDR_MAX, 1);
+ fio->Fread(data_table, 0x20000, 1);
fio->Fclose();
read_ok = true;
} else if(fio->Fopen(emu->bios_path("KANJI.ROM"), FILEIO_READ_BINARY)) {
- fio->Fread(data_table, MEMORY_ADDR_MAX, 1);
+ fio->Fread(data_table, 0x20000, 1);
fio->Fclose();
read_ok = true;
}
uint32 KANJIROM::read_data8(uint32 addr)
{
- // return data_table[addr & 0x1ffff];
- return data_table[addr];
+ return data_table[addr & 0x1ffff];
}
bool KANJIROM::get_readstat(void)
void KANJIROM::release()
{
- MEMORY::release();
}
* Feb 11, 2015 : Initial
*/
-
-#include "../memory.h"
+#include "../device.h"
#include "../mc6809.h"
-
-#undef MEMORY_ADDR_MAX
-#undef MEMORY_BANK_SIZE
-#define MEMORY_ADDR_MAX 0x20000
-#define MEMORY_BANK_SIZE 0x20000
-
-class KANJIROM: public MEMORY {
+class KANJIROM: public DEVICE {
private:
- uint8 data_table[MEMORY_ADDR_MAX];
+ uint8 data_table[0x20000];
bool read_ok;
bool class2;
public: