OSDN Git Service

[VM][STATE] Use namespace {VMNAME} to separate per VMs.
[csp-qt/common_source_project-fm7.git] / source / src / vm / mz2800 / reset.cpp
1 /*
2         SHARP MZ-2800 Emulator 'EmuZ-2800'
3
4         Author : Takeda.Toshiya
5         Date   : 2007.08.14 -
6
7         [ reset ]
8 */
9
10 #include "reset.h"
11
12 namespace MZ2800 {
13
14 void RESET::initialize()
15 {
16         prev = 0xff;
17 }
18
19 void RESET::write_signal(int id, uint32_t data, uint32_t mask)
20 {
21         // from i8255 port c
22         if(!(prev & 2) && (data & 2)) {
23                 static_cast<VM *>(vm)->cpu_reset();
24         }
25         if(!(prev & 8) && (data & 8)) {
26                 vm->reset();
27         }
28         prev = data & mask;
29 }
30
31 #define STATE_VERSION   1
32
33 bool RESET::process_state(FILEIO* state_fio, bool loading)
34 {
35         if(!state_fio->StateCheckUint32(STATE_VERSION)) {
36                 return false;
37         }
38         if(!state_fio->StateCheckInt32(this_device_id)) {
39                 return false;
40         }
41         state_fio->StateUint8(prev);
42         return true;
43 }
44
45 }