data = iotd->iotd_Req.io_Data;
len = iotd->iotd_Req.io_Length;
- WRITESHORT(PISCSI_CMD_DRVNUM, u->unit_num);
+ WRITESHORT(PISCSI_CMD_DRVNUMX, u->unit_num);
READLONG(PISCSI_CMD_BLOCKSIZE, block_size);
if (data == 0) {
uint8_t write = 0;
uint32_t block_size = 512;
- WRITESHORT(PISCSI_CMD_DRVNUM, u->unit_num);
+ WRITESHORT(PISCSI_CMD_DRVNUMX, u->unit_num);
READLONG(PISCSI_CMD_BLOCKSIZE, block_size);
debugval(PISCSI_DBG_VAL1, iostd->io_Length);
PISCSI_CMD_BLOCKSIZE = 0x74,
PISCSI_CMD_READBYTES = 0x78,
PISCSI_CMD_WRITEBYTES = 0x7C,
+ PISCSI_CMD_DRVNUMX = 0x80,
PISCSI_DBG_MSG = 0x1000,
PISCSI_DBG_VAL1 = 0x1010,
PISCSI_DBG_VAL2 = 0x1014,
break;
}
case PISCSI_CMD_DRVNUM:
- //printf("%d ", val);
- if (val % 10 != 0)
+ if (val % 10 != 0) {
piscsi_cur_drive = 255;
+ }
else
piscsi_cur_drive = val / 10;
- if (piscsi_cur_drive > NUM_UNITS)
+ if (piscsi_cur_drive > NUM_UNITS) {
piscsi_cur_drive = 255;
-
+ }
if (piscsi_cur_drive != 255) {
DEBUG("[PISCSI] (%s) Drive number set to %d (%d)\n", op_type_names[type], piscsi_cur_drive, val);
}
break;
+ case PISCSI_CMD_DRVNUMX:
+ piscsi_cur_drive = val;
+ DEBUG("[PISCSI] DRVNUMX: %d.\n", val);
+ break;
case PISCSI_CMD_DEBUGME:
piscsi_debugme(val);
break;
// .long 0 /* device file name */
// .long 0 /* unit */
// .long 0 /* flags */
+#pragma pack(4)
struct DosEnvec {
uint32_t de_TableSize; /* Size of Environment vector */
uint32_t de_SizeBlock; /* in longwords: standard value is 128 */
};
+#pragma pack(4)
struct pihd_dosnode_data {
uint32_t name_ptr;
uint32_t dev_name_ptr;
uint32_t dostype;
};
+#pragma pack(4)
struct RigidDiskBlock {
uint32_t rdb_ID;
uint32_t rdb_SummedLongs;
char rdb_DriveInitName[40];
};
+#pragma pack(4)
struct DeviceNode {
uint32_t dn_Next;
uint32_t dn_Type;
uint8_t *dn_Name;
};
+#pragma pack(4)
struct PartitionBlock {
uint32_t pb_ID;
uint32_t pb_SummedLongs;
uint32_t pb_EReserved[12];
};
+#pragma pack(4)
struct SCSICmd_ModeSense6 {
uint8_t opcode;
uint8_t reserved_dbd;
uint8_t control;
};
+#pragma pack(4)
struct SCSICmd_RW10 {
uint8_t opcode;
uint8_t rdprotect_flags;
uint8_t control;
};
+#pragma pack(4)
struct FileSysHeaderBlock {
uint32_t fhb_ID;
uint32_t fhb_SummedLongs;