#include "../device.h"
class DISK;
+class NOISE;
+
+namespace PC6001 {
class FLOPPY : public DEVICE
{
private:
DEVICE *d_ext;
+ NOISE *d_noise_seek;
+// NOISE* d_noise_head_down;
+// NOISE* d_noise_head_up;
unsigned char io_B1H;
DISK* disk[2];
unsigned char InDDH_66();
public:
- FLOPPY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu) {}
+ FLOPPY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ {
+ d_noise_seek = NULL;
+// d_noise_head_down = NULL;
+// d_noise_head_up = NULL;
+ set_device_name(_T("Floppy Drive"));
+ }
~FLOPPY() {}
// common functions
void initialize();
void release();
void reset();
- void write_io8(uint32 addr, uint32 data);
- uint32 read_io8(uint32 addr);
- uint32 read_signal(int ch);
- void save_state(FILEIO* state_fio);
- bool load_state(FILEIO* state_fio);
+ void write_io8(uint32_t addr, uint32_t data);
+ uint32_t read_io8(uint32_t addr);
+ uint32_t read_signal(int ch);
+ void update_config();
+ bool process_state(FILEIO* state_fio, bool loading);
// unique functions
void set_context_ext(DEVICE* device)
{
d_ext = device;
}
- void open_disk(int drv, _TCHAR* file_path, int offset);
+ void set_context_noise_seek(NOISE* device)
+ {
+ d_noise_seek = device;
+ }
+ NOISE* get_context_noise_seek()
+ {
+ return d_noise_seek;
+ }
+// void set_context_noise_head_down(NOISE* device)
+// {
+// d_noise_head_down = device;
+// }
+// NOISE* get_context_noise_head_down()
+// {
+// return d_noise_head_down;
+// }
+// void set_context_noise_head_up(NOISE* device)
+// {
+// d_noise_head_up = device;
+// }
+// NOISE* get_context_noise_head_up()
+// {
+// return d_noise_head_up;
+// }
+ DISK* get_disk_handler(int drv)
+ {
+ return disk[drv];
+ }
+ void open_disk(int drv, const _TCHAR* file_path, int bank);
void close_disk(int drv);
- bool disk_inserted(int drv);
+ bool is_disk_inserted(int drv);
+ void is_disk_protected(int drv, bool value);
+ bool is_disk_protected(int drv);
};
+}
#endif