OSDN Git Service

[VM][General] Merge Upstream 20180530.
[csp-qt/common_source_project-fm7.git] / source / src / vm / upd765a.h
index 4b7556a..913cdca 100644 (file)
@@ -70,6 +70,8 @@ private:
        
        uint8_t* bufptr;
        uint8_t buffer[0x8000];
+       int tmp_bufsize;
+       
        int count;
        int event_phase;
        int phase_id, drq_id, lost_id, result7_id, seek_step_id[4], seek_end_id[4], head_unload_id[4];
@@ -140,9 +142,10 @@ private:
        void cmd_specify();
        void cmd_invalid();
        void update_head_flag(int drv, bool head_load);
-       
+
+       void decl_state_fdc(int ch);
 public:
-       UPD765A(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+       UPD765A(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
        {
                initialize_output_signals(&outputs_irq);
                initialize_output_signals(&outputs_drq);
@@ -178,6 +181,7 @@ public:
        //#ifdef USE_DEBUGGER
        void get_debug_regs_info(_TCHAR *buffer, size_t buffer_len);
 //#endif
+       void decl_state();
        void save_state(FILEIO* state_fio);
        bool load_state(FILEIO* state_fio);
        
@@ -224,7 +228,10 @@ public:
        }
        DISK* get_disk_handler(int drv)
        {
-               return disk[drv];
+               if(drv < 4) {
+                       return disk[drv];
+               }
+               return NULL;
        }
        void open_disk(int drv, const _TCHAR* file_path, int bank);
        void close_disk(int drv);
@@ -234,7 +241,7 @@ public:
        bool disk_ejected();    // current hdu
        void is_disk_protected(int drv, bool value);
        bool is_disk_protected(int drv);
-       uint8_t media_type(int drv);
+       uint8_t get_media_type(int drv);
        void set_drive_type(int drv, uint8_t type);
        uint8_t get_drive_type(int drv);
        void set_drive_rpm(int drv, int rpm);