OSDN Git Service

[VM][WIP] Use namespace to devices per VMs.
[csp-qt/common_source_project-fm7.git] / source / src / vm / mz2500 / mz1e30.h
1 /*
2         SHARP MZ-2500 Emulator 'EmuZ-2500'
3
4         Author : Takeda.Toshiya
5         Date   : 2004.09.10 -
6
7         [ MZ-1E30 (SASI I/F) ]
8 */
9
10 #ifndef _MZ1E30_H_
11 #define _MZ1E30_H_
12
13 #include "../vm.h"
14 #include "../../emu.h"
15 #include "../device.h"
16
17 #define SIG_MZ1E30_IRQ  0
18 #define SIG_MZ1E30_DRQ  1
19
20 namespace MZ2500 {
21
22 class MZ1E30 : public DEVICE
23 {
24 private:
25         DEVICE *d_host;
26         
27         // rom file
28         uint8_t *rom_buffer;
29         uint32_t rom_address, rom_size;
30         
31         // sasi
32         bool irq_status;
33         bool drq_status;
34         
35 public:
36         MZ1E30(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
37         {
38                 set_device_name(_T("MZ-1E30 (SASI I/F)"));
39         }
40         ~MZ1E30() {}
41         
42         // common functions
43         void initialize();
44         void release();
45         void reset();
46         void write_io8(uint32_t addr, uint32_t data);
47         uint32_t read_io8(uint32_t addr);
48         void write_dma_io8(uint32_t addr, uint32_t data);
49         uint32_t read_dma_io8(uint32_t addr);
50         void write_signal(int id, uint32_t data, uint32_t mask);
51         bool process_state(FILEIO* state_fio, bool loading);
52         
53         // unique function
54         void set_context_host(DEVICE* device)
55         {
56                 d_host = device;
57         }
58 };
59
60 }
61 #endif
62