OSDN Git Service

[VM][FMTOWNS][MEMORY] Fix setup around memory banks by I/O 0404h and 0480h.
[csp-qt/common_source_project-fm7.git] / source / src / vm / pasopia / rampac2.h
1 /*
2         TOSHIBA PASOPIA Emulator 'EmuPIA'
3         TOSHIBA PASOPIA 7 Emulator 'EmuPIA7'
4
5         Author : Takeda.Toshiya
6         Date   : 2006.09.20 -
7
8         [ ram pac 2 (32kbytes) ]
9 */
10
11 #ifndef _RAMPAC2_H_
12 #define _RAMPAC2_H_
13
14 #include "../vm.h"
15 #include "../../emu.h"
16 #include "pac2dev.h"
17
18 namespace PASOPIA {
19
20 class RAMPAC2 : public PAC2DEV
21 {
22 private:
23         _TCHAR path[_MAX_PATH];
24         uint8_t ram[32*1024];
25         uint32_t ptr;
26         bool opened, modified;
27         
28 public:
29         RAMPAC2(VM_TEMPLATE* parent_vm, EMU_TEMPLATE* parent_emu) : PAC2DEV(parent_vm, parent_emu)
30         {
31                 set_device_name(_T("RAM PAC2"));
32         }
33         ~RAMPAC2() {}
34         
35         // common functions
36         void initialize(int id);
37         void release();
38         void reset();
39         void __FASTCALL write_io8(uint32_t addr, uint32_t data);
40         uint32_t __FASTCALL read_io8(uint32_t addr);
41         void open_file(const _TCHAR* file_path);
42         bool process_state(FILEIO* state_fio, bool loading);
43 };
44
45 }
46 #endif
47