OSDN Git Service

[VM][STATE] Apply new framework to some VMs.
[csp-qt/common_source_project-fm7.git] / source / src / vm / ls244.cpp
1 /*
2         Skelton for retropc emulator
3
4         Author : Takeda.Toshiya
5         Date   : 2008.04.19-
6
7         [ 74LS244 / 74LS245 ]
8 */
9
10 #include "ls244.h"
11
12 void LS244::initialize()
13 {
14         DEVICE::initialize();
15         din = 0xff;
16 }
17
18 void LS244::write_io8(uint32_t addr, uint32_t data)
19 {
20         write_signals(&outputs, data);
21 }
22
23 uint32_t LS244::read_io8(uint32_t addr)
24 {
25         return din;
26 }
27
28 void LS244::write_signal(int id, uint32_t data, uint32_t mask)
29 {
30         din = (din & ~mask) | (data & mask);
31 }
32
33 #define STATE_VERSION   1
34
35 bool LS244::process_state(FILEIO* state_fio, bool loading)
36 {
37         if(!state_fio->StateCheckUint32(STATE_VERSION)) {
38                 return false;
39         }
40         if(!state_fio->StateCheckInt32(this_device_id)) {
41                 return false;
42         }
43         state_fio->StateUint8(din);
44         return true;
45 }
46