#print "Responding to CB inquiry.";
response=[
0x00, # 00 for Direct, 1F for "no floppy"
- 0x80, # make 0x80 for removable media
+ 0x80, # make 0x80 for removable media, 0x00 for fixed
0x00, # Version
0x01, # Response Data Format
0x1f, #Additional length.
ord('0'),ord('.'),ord('0'),ord('1')]
#print "Sending %i byte reply to %i byte query." % (
# len(response),dtlen);
+ while len(response)<dtlen:
+ response=response+[0];
#while not(self.rreg(rEPIRQ)&bmIN3BAVIRQ):
# #Wait for the packet to complete before sending the next.
# print "Waiting to complete inquiry."
elif verb==0x2A: #WRITE SECTOR
print "Haven't implemented WRITE SECTOR.";
#sys.exit();
+ elif verb==0x1B: #EJECT/RETRACT DISK
+ print "Haven't implemented SCSI Start Stop Unit Command (1B)";
+ print "https://en.wikipedia.org/wiki/SCSI_Start_Stop_Unit_Command";
+ #sys.exit();
else:
print "ERROR: Unknown SCSI command block verb %02x." % verb;
status=1; #Command Failed
self.datafilelen%512);
sys.exit();
return self.datafilelen/512-1;
+
if(len(sys.argv)==1):
print "Usage: %s disk.img\n" % sys.argv[0];
sys.exit();