2 Skelton for retropc emulator
4 Author : Takeda.Toshiya
7 [ SCSI/SASI hard disk drive ]
17 class SCSI_HDD : public SCSI_DEV
23 // csp_state_utils *state_entry;
25 _TCHAR image_path[8][_MAX_PATH];
28 SCSI_HDD(VM_TEMPLATE* parent_vm, EMU_TEMPLATE* parent_emu) : SCSI_DEV(parent_vm, parent_emu)
30 for(int i = 0; i < 8; i++) {
32 image_path[i][0] = _T('\0');
34 my_sprintf_s(vendor_id, 9, "NECITSU");
35 my_sprintf_s(product_id, 17, "SCSI-HDD");
37 is_removable = is_hot_swappable = false;
39 seek_time = 10000; // 10msec
40 bytes_per_sec = 0x500000; // 5MB/sec
42 // default_drive_size = 0x2800000; // 40MB
43 set_device_name(_T("SCSI HDD"));
48 bool process_state(FILEIO* state_fio, bool loading);
50 // virtual scsi functions
53 bool is_device_existing();
54 uint32_t physical_block_size();
55 uint32_t logical_block_size();
56 uint32_t max_logical_block_addr();
57 bool read_buffer(int length);
58 bool write_buffer(int length);
61 void set_disk_handler(int drv, HARDDISK* device)
67 HARDDISK* get_disk_handler(int drv)
74 void open(int drv, const _TCHAR* file_path, int default_sector_size);
76 bool mounted(int drv);
77 bool accessed(int drv);
79 // virtual scsi functions
80 virtual void out_debug_log(const _TCHAR *format, ...);
81 virtual void start_command();
84 class SASI_HDD : public SCSI_HDD
87 SASI_HDD(VM_TEMPLATE* parent_vm, EMU_TEMPLATE* parent_emu) : SCSI_HDD(parent_vm, parent_emu)
89 set_device_name(_T("SASI Hard Disk Drive"));
93 // virtual scsi functions
94 virtual void out_debug_log(const _TCHAR *format, ...);