BizHawk/waterbox/nyma/pcfx.cpp

60 lines
1.6 KiB
C++

#include "mednafen/src/types.h"
#include <src/pcfx/pcfx.h>
#include "nyma.h"
#include <emulibc.h>
#include <waterboxcore.h>
using namespace MDFN_IEN_PCFX;
extern Mednafen::MDFNGI EmulatedPCFX;
void SetupMDFNGameInfo()
{
Mednafen::MDFNGameInfo = &EmulatedPCFX;
}
namespace MDFN_IEN_PCFX
{
extern uint8 BackupRAM[0x8000];
extern uint8 ExBackupRAM[0x20000];
extern uint8 *BIOSROM; // 1MB
extern uint8 *RAM; // 2MB
extern uint8 *FXSCSIROM; // 512KiB
}
ECL_EXPORT void GetMemoryAreas(MemoryArea *m)
{
m[0].Data = BackupRAM;
m[0].Name = "Backup RAM";
m[0].Size = sizeof(BackupRAM);
m[0].Flags = MEMORYAREA_FLAGS_WRITABLE | MEMORYAREA_FLAGS_WORDSIZE4 | MEMORYAREA_FLAGS_SAVERAMMABLE;
m[1].Data = ExBackupRAM;
m[1].Name = "Extra Backup RAM";
m[1].Size = sizeof(ExBackupRAM);
m[1].Flags = MEMORYAREA_FLAGS_WRITABLE | MEMORYAREA_FLAGS_WORDSIZE4 | MEMORYAREA_FLAGS_SAVERAMMABLE;
m[2].Data = BIOSROM;
m[2].Name = "BIOS ROM";
m[2].Size = 1024 * 1024;
m[2].Flags = MEMORYAREA_FLAGS_WORDSIZE4;
m[3].Data = RAM;
m[3].Name = "Main RAM";
m[3].Size = 2 * 1024 * 1024;
m[3].Flags = MEMORYAREA_FLAGS_WRITABLE | MEMORYAREA_FLAGS_WORDSIZE4 | MEMORYAREA_FLAGS_PRIMARY;
m[4].Data = FXSCSIROM;
m[4].Name = "Scsi Rom";
m[4].Size = 512 * 1024;
m[4].Flags = MEMORYAREA_FLAGS_WORDSIZE4;
for (int i = 0; i < 2; i++)
{
m[i + 5].Data = fx_vdc_chips[i]->VRAM;
m[i + 5].Name = i == 0 ? "VDC A VRAM" : "VDC B VRAM";
m[i + 5].Size = fx_vdc_chips[i]->VRAM_Size;
m[i + 5].Flags = MEMORYAREA_FLAGS_WRITABLE | MEMORYAREA_FLAGS_WORDSIZE2;
}
}