OSDN Git Service

[VM][STATE] Apply new framework to some VMs.
[csp-qt/common_source_project-fm7.git] / source / src / vm / pc6001 / timer.h
index 7b0e9df..f050867 100644 (file)
@@ -28,7 +28,7 @@
 #define SIG_TIMER_IRQ_EXT_INT  7
 
 #ifndef _PC6001
-class MEMORY;
+class PC6001_MEMORY;
 #endif
 
 class TIMER : public DEVICE
@@ -36,43 +36,44 @@ class TIMER : public DEVICE
 private:
        DEVICE *d_cpu, *d_sub;
 #ifndef _PC6001
-       MEMORY *d_mem;
+       PC6001_MEMORY *d_mem;
 #endif
        
-       uint8 IRQ, NewIRQ;
+       uint8_t IRQ, NewIRQ;
        int timer_id;
        
 #ifndef _PC6001
 #if defined(_PC6601SR) || defined(_PC6001MK2SR)
-       uint8 sr_vectors[8];
-       uint8 portFA;
-       uint8 portFB;
+       uint8_t sr_vectors[8];
+       uint8_t portFA;
+       uint8_t portFB;
 #endif
-       uint8 portF3;
-       uint8 portF4;
-       uint8 portF5;
-       uint8 portF6;
-       uint8 portF7;
+       uint8_t portF3;
+       uint8_t portF4;
+       uint8_t portF5;
+       uint8_t portF6;
+       uint8_t portF7;
 #endif
        void update_intr();
        
 public:
-       TIMER(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu) {}
+       TIMER(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu) {}
        ~TIMER() {}
        
        // common functions
        void initialize();
        void reset();
 #ifndef _PC6001
-       void write_io8(uint32 addr, uint32 data);
-       uint32 read_io8(uint32 addr);
+       void write_io8(uint32_t addr, uint32_t data);
+       uint32_t read_io8(uint32_t addr);
 #endif
        void event_callback(int event_id, int err);
-       void write_signal(int id, uint32 data, uint32 mask);
-       uint32 intr_ack();
-       void intr_reti();
+       void write_signal(int id, uint32_t data, uint32_t mask);
+       uint32_t get_intr_ack();
+       void notify_intr_reti();
+       bool process_state(FILEIO* state_fio, bool loading);
        
-       // unique function
+       // unique functions
        void set_context_cpu(DEVICE* device)
        {
                d_cpu = device;
@@ -82,11 +83,11 @@ public:
                d_sub = device;
        }
 #ifndef _PC6001
-       void set_context_memory(MEMORY* device)
+       void set_context_memory(PC6001_MEMORY* device)
        {
                d_mem = device;
        }
 #endif
-       void set_portB0(uint32 data);
+       void set_portB0(uint32_t data);
 };
 #endif