OSDN Git Service

[VM][WIP] Use namespace to devices per VMs.
[csp-qt/common_source_project-fm7.git] / source / src / vm / mz2500 / mz1e30.h
index c2ddd8e..cb83fd9 100644 (file)
@@ -4,7 +4,7 @@
        Author : Takeda.Toshiya
        Date   : 2004.09.10 -
 
-       [ MZ-1E30 (SASI) ]
+       [ MZ-1E30 (SASI I/F) ]
 */
 
 #ifndef _MZ1E30_H_
 #include "../../emu.h"
 #include "../device.h"
 
-class FILEIO;
+#define SIG_MZ1E30_IRQ 0
+#define SIG_MZ1E30_DRQ 1
+
+namespace MZ2500 {
 
 class MZ1E30 : public DEVICE
 {
 private:
+       DEVICE *d_host;
+       
        // rom file
-       uint8 *rom_buffer;
-       uint32 rom_address, rom_size;
+       uint8_t *rom_buffer;
+       uint32_t rom_address, rom_size;
        
        // sasi
-       uint8 buffer[256];
-       int phase;
-       int sector;
-       int blocks;
-       uint8 cmd[6];
-       int cmd_ptr;
-       int unit;
-       int buffer_ptr;
-       uint8 status;
-       uint8 status_irq_drq;
-       uint8 error;
-       uint8 status_buf[4];
-       int status_ptr;
-       uint8 datareg;
-       
-       struct {
-               FILEIO *fio;
-               bool access;
-       } drive[2];
-       
-       void check_cmd();
-       void set_status(uint8 err);
-       void set_drq(bool val);
-       bool seek(int drv);
-       bool flush(int drv);
-       bool format(int drv);
+       bool irq_status;
+       bool drq_status;
        
 public:
-       MZ1E30(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu) {}
+       MZ1E30(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+       {
+               set_device_name(_T("MZ-1E30 (SASI I/F)"));
+       }
        ~MZ1E30() {}
        
        // common functions
        void initialize();
        void release();
-       void write_io8(uint32 addr, uint32 data);
-       uint32 read_io8(uint32 addr);
-       void write_dma_io8(uint32 addr, uint32 data);
-       uint32 read_dma_io8(uint32 addr);
-       uint32 read_signal(int ch);
-       void event_callback(int event_id, int err);
-       void save_state(FILEIO* state_fio);
-       bool load_state(FILEIO* state_fio);
+       void reset();
+       void write_io8(uint32_t addr, uint32_t data);
+       uint32_t read_io8(uint32_t addr);
+       void write_dma_io8(uint32_t addr, uint32_t data);
+       uint32_t read_dma_io8(uint32_t addr);
+       void write_signal(int id, uint32_t data, uint32_t mask);
+       bool process_state(FILEIO* state_fio, bool loading);
+       
+       // unique function
+       void set_context_host(DEVICE* device)
+       {
+               d_host = device;
+       }
 };
 
+}
 #endif