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];
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);
//#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);
}
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);
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);