-/*\r
- TOSHIBA PASOPIA Emulator 'EmuPIA'\r
- TOSHIBA PASOPIA 7 Emulator 'EmuPIA7'\r
-\r
- Author : Takeda.Toshiya\r
- Date : 2006.09.20 -\r
-\r
- [ kanji rom pac 2 ]\r
-*/\r
-\r
-#include "kanjipac2.h"\r
-#include "../../fileio.h"\r
-\r
-void KANJIPAC2::initialize(int id)\r
-{\r
- FILEIO* fio = new FILEIO();\r
- if(fio->Fopen(emu->bios_path(_T("KANJI.ROM")), FILEIO_READ_BINARY)) {\r
- fio->Fread(rom, sizeof(rom), 1);\r
- fio->Fclose();\r
- }\r
- delete fio;\r
- \r
- ptr = 0;\r
-}\r
-\r
-void KANJIPAC2::write_io8(uint32 addr, uint32 data)\r
-{\r
- switch(addr & 0xff) {\r
- case 0x18:\r
- ptr = (ptr & 0x1ff00) | data;\r
- break;\r
- case 0x19:\r
- ptr = (ptr & 0x100ff) | (data << 8);\r
- break;\r
- case 0x1a:\r
- ptr = (ptr & 0x0ffff) | ((data & 0x01) << 16);\r
- break;\r
- }\r
-}\r
-\r
-uint32 KANJIPAC2::read_io8(uint32 addr)\r
-{\r
- return rom[ptr & 0x1ffff];\r
-}\r
-\r
+/*
+ TOSHIBA PASOPIA Emulator 'EmuPIA'
+ TOSHIBA PASOPIA 7 Emulator 'EmuPIA7'
+
+ Author : Takeda.Toshiya
+ Date : 2006.09.20 -
+
+ [ kanji rom pac 2 ]
+*/
+
+#include "kanjipac2.h"
+
+namespace PASOPIA {
+
+void KANJIPAC2::initialize(int id)
+{
+ FILEIO* fio = new FILEIO();
+ if(fio->Fopen(create_local_path(_T("KANJI.ROM")), FILEIO_READ_BINARY)) {
+ fio->Fread(rom, sizeof(rom), 1);
+ fio->Fclose();
+ }
+ delete fio;
+
+ ptr = 0;
+}
+
+void KANJIPAC2::write_io8(uint32_t addr, uint32_t data)
+{
+ switch(addr & 0xff) {
+ case 0x18:
+ ptr = (ptr & 0x1ff00) | data;
+ break;
+ case 0x19:
+ ptr = (ptr & 0x100ff) | (data << 8);
+ break;
+ case 0x1a:
+ ptr = (ptr & 0x0ffff) | ((data & 0x01) << 16);
+ break;
+ }
+}
+
+uint32_t KANJIPAC2::read_io8(uint32_t addr)
+{
+ return rom[ptr & 0x1ffff];
+}
+
+#define STATE_VERSION 1
+
+bool KANJIPAC2::process_state(FILEIO* state_fio, bool loading)
+{
+ if(!state_fio->StateCheckUint32(STATE_VERSION)) {
+ return false;
+ }
+ state_fio->StateUint32(ptr);
+ return true;
+}
+
+}