Hello, i got some errors when trying downloadhack.py more than once (tested on Windows XP with MZ-NH1 and MZ-RH1). First download works fine, but the second download fails, device shows "access" flashing and i had to kill the process by keyboard interrupt. Setup download works fine but then there is no reply from the device. Also i noticed that when SonicStage finishes writing, i can hear the overwritehead removing from the minidisc surface (i can hear the motor running). This is not the case when downloading with the python script. I logged USB transfer while SonicStage download and found some commands i don´t know. (see attached text file) I implemented these commands and now the overwritehead is removing like download with SonicStage but i got the same error but with flashing "data save" on my device. I cannot kill the process, unplugging the device is the only way to escape. It seems like something is missing and the device is not responding. lsmd.py after download works but fails with --uuids parameter. Sending getStatus fails, too. regards, Thomas
# Downloading 1 Track (LP2.wav imported in SoS library) with SoS on MZ-NH1 # on a freshly formatted and unnamed minidisc # # (transferring track, cacheTOC, syncTOC, forget session key, # end authenticated session) all looks fine # This log starts after sending END AUTHENTICATED SESSION # (=> host to device ; <= device to host) # # There is a kind of open/close command before/after sending commands # to fetch information # # 1. when fetching medium information (getDiscFlags; getDiscCapacity) # => 00 18 08 10 10 00 01 00 ? open medium information # <= 09 18 08 10 10 00 01 00 # # => 00 18 08 10 10 00 00 00 ? close medium information # <= 09 18 08 10 10 00 00 00 # # 2. when fetching disc/group information (getDiscTitle) # => 00 18 08 10 18 01 01 00 ? open disc information # <= 09 18 08 10 18 01 01 00 # # => 00 18 08 10 18 01 00 00 ? close disc information # <= 09 18 08 10 18 01 00 00 # # 3. when fetching track count (getTrackCount) # => 00 18 08 10 10 01 01 00 ? open track count # <= 09 18 08 10 10 01 01 00 # # => 00 18 08 10 10 01 00 00 ? close track count # <= 09 18 08 10 10 01 00 00 # # 3. when fetching device settings (getRecordingParamaters) # => 00 18 08 80 00 01 00 ? open device settings # <= 09 18 08 80 00 01 00 # # => 00 18 08 80 00 00 00 ? close device settings # <= 09 18 08 80 00 00 00 # # # Also, there are some commands i don´t know but they will # cause the overwritehead to remove from the minidisc surface. # (see line 193ff in this document) # # => 02 18 d1 ff 01 00 00 00 88 08 01 00 00 # # <= 0c 18 d1 ff 01 00 00 00 88 08 01 00 00 # # # => 02 18 d1 ff 01 00 00 00 88 08 00 80 00 # # <= 0c 18 d1 ff 01 00 00 00 88 08 00 80 00 # # # => 02 18 d1 ff 01 00 00 00 88 08 00 c0 00 # # <= 0c 18 d1 ff 01 00 00 00 88 08 00 c0 00 # # # => 00 18 c5 ff 00 00 00 00 # STOP # <= 09 18 c5 00 00 00 00 00 # # ... => 00 18 08 10 18 01 01 00 # <= 09 18 08 10 18 01 01 00 # => 00 18 06 02 20 18 01 00 00 30 00 0a 00 ff 00 00 # GET DISC TITLE 00 00 00 <= 09 18 06 02 20 18 01 00 00 30 00 0a 00 10 00 00 # (no title; no group) 06 00 00 00 04 00 0a 00 00 => 00 18 08 10 18 01 00 00 # <= 09 18 08 10 18 01 00 00 # => 00 18 08 10 10 01 01 00 # <= 09 18 08 10 10 01 01 00 # => 00 18 06 02 10 10 01 30 00 10 00 ff 00 00 00 00 # GET TRACK COUNT 00 <= 00 18 06 02 10 10 01 30 00 10 00 10 00 00 08 00 # 0x01 -> 1 Track 00 00 06 00 10 00 02 00 01 => 00 18 08 10 10 01 00 00 # => 09 18 08 10 10 01 00 00 # => 00 18 08 10 10 01 01 00 # <= 09 18 08 10 10 01 01 00 # => 00 18 06 02 10 10 01 30 00 10 00 ff 00 00 00 00 # GET TRACK COUNT 00 <= 09 18 06 02 10 10 01 30 00 10 00 10 00 00 08 00 # 0x01 -> 1 Track 00 00 06 00 10 00 02 00 01 => 00 18 08 10 10 01 00 00 # <= 09 18 08 10 10 01 00 00 # => 00 18 08 10 18 01 01 00 # <= 09 18 08 10 18 01 01 00 # => 00 18 06 02 20 18 01 00 00 30 00 0a 00 ff 00 00 # GET DISC TITLE 00 00 00 <= 09 18 06 02 20 18 01 00 00 30 00 0a 00 10 00 00 # (no title; no group) 06 00 00 00 04 00 0a 00 00 => 00 18 08 10 18 01 00 00 # <= 09 18 08 10 18 01 00 00 # => 00 18 08 10 10 01 01 00 # <= 09 18 08 10 10 01 01 00 # => 00 18 06 02 10 10 01 30 00 10 00 ff 00 00 00 00 # GET TRACK COUNT 00 <= 09 18 06 02 10 10 01 30 00 10 00 10 00 00 08 00 # 0x01 -> 1 Track 00 00 06 00 10 00 02 00 01 => 00 18 08 10 10 01 00 00 # <= 09 18 08 10 10 01 00 00 # => 00 18 08 10 10 00 01 00 # <= 09 18 08 10 10 00 01 00 # => 00 18 06 02 10 10 00 30 80 03 00 ff 00 00 00 00 # GET DISC CAPACITY 00 <= 09 18 06 02 10 10 00 30 80 03 00 10 00 00 1d 00 # time used: 00:00:52 +96 (LP2) 00 00 1b 80 03 00 17 80 00 00 05 00 00 00 52 69 # total time: 01:14:59 +40 (recording format is set to SP) 00 05 00 01 14 59 40 00 05 00 01 14 30 75 # available time: 01:14:30 +75 (recording format is set to SP) => 00 18 08 10 10 00 00 00 # <= 09 18 08 10 10 00 00 00 # => 00 18 08 80 00 01 00 # <= 09 18 08 80 00 01 00 # => 00 18 09 80 01 03 30 88 01 00 30 88 05 00 30 88 # GET RECORDING PARAMETERS 07 00 ff 00 00 00 00 00 <= 09 18 09 80 01 03 30 88 01 00 30 88 05 00 30 88 # 0x90 -> SP 07 00 10 00 00 0e 00 00 00 0c 88 05 00 08 80 e0 01 10 90 00 40 00 => 00 18 08 80 00 00 00 # <= 09 18 08 80 00 00 00 # => 00 18 08 10 10 00 01 00 # <= 09 18 08 10 10 00 01 00 # => 00 18 06 02 10 10 00 30 80 03 00 ff 00 00 00 00 # GET DISC CAPACITY 00 <= 09 18 06 02 10 10 00 30 80 03 00 10 00 00 1d 00 # time used: 00:00:52 +96 (LP2) 00 00 1b 80 03 00 17 80 00 00 05 00 00 00 52 69 # total time: 01:14:59 +40 (recording format is set to SP) 00 05 00 01 14 59 40 00 05 00 01 14 30 75 # available time: 01:14:30 +75 (recording format is set to SP) => 00 18 08 10 10 00 00 00 # <= 09 18 08 10 10 00 00 00 # => 00 18 08 80 00 01 00 # <= 09 18 08 80 00 01 00 # => 00 18 09 80 01 03 30 88 01 00 30 88 05 00 30 88 # GET RECORDING PARAMETERS 07 00 ff 00 00 00 00 00 <= 09 18 09 80 01 03 30 88 01 00 30 88 05 00 30 88 # 0x90 -> SP 07 00 10 00 00 0e 00 00 00 0c 88 05 00 08 80 e0 01 10 90 00 40 00 => 00 18 08 80 00 00 00 # <= 09 18 08 80 00 00 00 # => 00 18 08 10 10 00 01 00 # <= 09 18 08 10 10 00 01 00 # => 00 18 06 01 10 10 00 ff 00 00 01 00 0b # GET DISC FLAGS <= 09 18 06 01 10 10 00 10 00 00 01 00 0b 10 # 0x10 -> writable => 00 18 08 10 10 00 00 00 # <= 09 18 08 10 10 00 00 00 # => 00 18 08 10 18 01 01 00 # <= 09 18 08 10 18 01 01 00 # => 00 18 06 02 20 18 01 00 00 30 00 0a 00 ff 00 00 # GET DISC TITLE 00 00 00 <= 09 18 06 02 20 18 01 00 00 30 00 0a 00 10 00 00 # (no title; no group) 06 00 00 00 04 00 0a 00 00 => 00 18 08 10 18 01 00 00 # <= 09 18 08 10 18 01 00 00 # => 00 18 08 10 10 01 01 00 # <= 09 18 08 10 10 01 01 00 # => 00 18 06 02 10 10 01 30 00 10 00 ff 00 00 00 00 # GET TRACK COUNT 00 <= 09 18 06 02 10 10 01 30 00 10 00 10 00 00 08 00 # 0x01 -> 1 Track 00 00 06 00 10 00 02 00 01 => 00 18 08 10 10 01 00 00 # <= 09 18 08 10 10 01 00 00 # => 02 18 d1 ff 01 00 00 00 88 08 01 00 00 # <= 0c 18 d1 ff 01 00 00 00 88 08 01 00 00 # => 02 18 d1 ff 01 00 00 00 88 08 00 80 00 # <= 0c 18 d1 ff 01 00 00 00 88 08 00 80 00 # => 02 18 d1 ff 01 00 00 00 88 08 00 c0 00 # <= 0c 18 d1 ff 01 00 00 00 88 08 00 c0 00 # => 00 18 c5 ff 00 00 00 00 # STOP <= 09 18 c5 00 00 00 00 00 # => 00 18 08 10 18 01 01 00 # <= 09 18 08 10 18 01 01 00 # => 00 18 06 02 20 18 01 00 00 30 00 0a 00 ff 00 00 # GET DISC TITLE 00 00 00 <= 09 18 06 02 20 18 01 00 00 30 00 0a 00 10 00 00 # (no title; no group) 06 00 00 00 04 00 0a 00 00 => 00 18 08 10 18 01 00 00 # <= 09 18 08 10 18 01 00 00 # => 00 18 08 10 10 01 01 00 # <= 09 18 08 10 10 01 01 00 # => 00 18 06 02 10 10 01 30 00 10 00 ff 00 00 00 00 # GET TRACK COUNT 00 <= 09 18 06 02 10 10 01 30 00 10 00 10 00 00 08 00 # 0x01 -> 1 Track 00 00 06 00 10 00 02 00 01 => 00 18 08 10 10 01 00 00 # <= 09 18 08 10 10 01 00 00 # => 00 18 08 10 10 01 01 00 # <= 09 18 08 10 10 01 01 00 # => 00 18 06 02 10 10 01 30 00 10 00 ff 00 00 00 00 # GET TRACK COUNT 00 <= 09 18 06 02 10 10 01 30 00 10 00 10 00 00 08 00 # 0x01 -> 1 Track 00 00 06 00 10 00 02 00 01 => 00 18 08 10 10 01 00 00 # <= 09 18 08 10 10 01 00 00 # => 00 18 08 10 18 01 01 00 # <= 09 18 08 10 18 01 01 00 # => 00 18 06 02 20 18 01 00 00 30 00 0a 00 ff 00 00 # GET DISC TITLE 00 00 00 <= 09 18 06 02 20 18 01 00 00 30 00 0a 00 10 00 00 # (no title; no group) 06 00 00 00 04 00 0a 00 00 => 00 18 08 10 18 01 00 00 # <= 09 18 08 10 18 01 00 00 # => 00 18 08 10 10 01 01 00 # <= 09 18 08 10 10 01 01 00 # => 00 18 06 02 10 10 01 30 00 10 00 ff 00 00 00 00 # GET TRACK COUNT 00 <= 09 18 06 02 10 10 01 30 00 10 00 10 00 00 08 00 # 0x01 -> 1 Track 00 00 06 00 10 00 02 00 01 => 00 18 08 10 10 01 00 00 # <= 09 18 08 10 10 01 00 00 # => 00 18 08 10 10 00 01 00 # <= 09 18 08 10 10 00 01 00 # => 00 18 06 02 10 10 00 30 80 03 00 ff 00 00 00 00 # GET DISC CAPACITY 00 <= 09 18 06 02 10 10 00 30 80 03 00 10 00 00 1d 00 # time used: 00:00:52 +96 (LP2) 00 00 1b 80 03 00 17 80 00 00 05 00 00 00 52 69 # total time: 01:14:59 +40 (recording format is set to SP) 00 05 00 01 14 59 40 00 05 00 01 14 30 75 # available time: 01:14:30 +75 (recording format is set to SP) => 00 18 08 10 10 00 00 00 # <= 09 18 08 10 10 00 00 00 # => 00 18 08 80 00 01 00 # <= 09 18 08 80 00 01 00 # => 00 18 09 80 01 03 30 88 01 00 30 88 05 00 30 88 # GET RECORDING PARAMETERS 07 00 ff 00 00 00 00 00 <= 09 18 09 80 01 03 30 88 01 00 30 88 05 00 30 88 # 0x90 -> SP 07 00 10 00 00 0e 00 00 00 0c 88 05 00 08 80 e0 01 10 90 00 40 00 => 00 18 08 80 00 00 00 # <= 09 18 08 80 00 00 00 # => 00 18 08 10 10 00 01 00 # <= 09 18 08 10 10 00 01 00 # => 00 18 06 02 10 10 00 30 80 03 00 ff 00 00 00 00 # GET DISC CAPACITY 00 <= 09 18 06 02 10 10 00 30 80 03 00 10 00 00 1d 00 # time used: 00:00:52 +96 (LP2) 00 00 1b 80 03 00 17 80 00 00 05 00 00 00 52 69 # total time: 01:14:59 +40 (recording format is set to SP) 00 05 00 01 14 59 40 00 05 00 01 14 30 75 # available time: 01:14:30 +75 (recording format is set to SP) => 00 18 08 10 10 00 00 00 # <= 09 18 08 10 10 00 00 00 # => 00 18 08 80 00 01 00 # <= 09 18 08 80 00 01 00 # => 00 18 09 80 01 03 30 88 01 00 30 88 05 00 30 88 # GET RECORDING PARAMETERS 07 00 ff 00 00 00 00 00 <= 09 18 09 80 01 03 30 88 01 00 30 88 05 00 30 88 # 0x90 -> SP 07 00 10 00 00 0e 00 00 00 0c 88 05 00 08 80 e0 01 10 90 00 40 00 => 00 18 08 80 00 00 00 # <= 09 18 08 80 00 00 00 # => 00 18 08 10 10 00 01 00 # <= 09 18 08 10 10 00 01 00 # => 00 18 06 02 10 10 00 30 80 03 00 ff 00 00 00 00 # GET DISC CAPACITY 00 <= 09 18 06 02 10 10 00 30 80 03 00 10 00 00 1d 00 # time used: 00:00:52 +96 (LP2) 00 00 1b 80 03 00 17 80 00 00 05 00 00 00 52 69 # total time: 01:14:59 +40 (recording format is set to SP) 00 05 00 01 14 59 40 00 05 00 01 14 30 75 # available time: 01:14:30 +75 (recording format is set to SP) => 00 18 08 10 10 00 00 00 # <= 09 18 08 10 10 00 00 00 # => 00 18 08 80 00 01 00 # <= 09 18 08 80 00 01 00 # => 00 18 09 80 01 03 30 88 01 00 30 88 05 00 30 88 # GET RECORDING PARAMETERS 07 00 ff 00 00 00 00 00 <= 09 18 09 80 01 03 30 88 01 00 30 88 05 00 30 88 # 0x90 -> SP 07 00 10 00 00 0e 00 00 00 0c 88 05 00 08 80 e0 01 10 90 00 40 00 => 00 18 08 80 00 00 00 # <= 09 18 08 80 00 00 00 # => 00 18 08 10 10 00 01 00 # <= 09 18 08 10 10 00 01 00 # => 00 18 06 02 10 10 00 30 80 03 00 ff 00 00 00 00 # GET DISC CAPACITY 00 <= 09 18 06 02 10 10 00 30 80 03 00 10 00 00 1d 00 # time used: 00:00:52 +96 (LP2) 00 00 1b 80 03 00 17 80 00 00 05 00 00 00 52 69 # total time: 01:14:59 +40 (recording format is set to SP) 00 05 00 01 14 59 40 00 05 00 01 14 30 75 # available time: 01:14:30 +75 (recording format is set to SP) => 00 18 08 10 10 00 00 00 # <= 09 18 08 10 10 00 00 00 # => 00 18 08 80 00 01 00 # <= 09 18 08 80 00 01 00 # => 00 18 09 80 01 03 30 88 01 00 30 88 05 00 30 88 # GET RECORDING PARAMETERS 07 00 ff 00 00 00 00 00 <= 09 18 09 80 01 03 30 88 01 00 30 88 05 00 30 88 # 0x90 -> SP 07 00 10 00 00 0e 00 00 00 0c 88 05 00 08 80 e0 01 10 90 00 40 00 => 00 18 08 80 00 00 00 # <= 09 18 08 80 00 00 00 # => 00 18 08 10 18 01 01 00 # <= 09 18 08 10 18 01 01 00 # => 00 18 06 02 20 18 01 00 00 30 00 0a 00 ff 00 00 # GET DISC TITLE 00 00 00 <= 09 18 06 02 20 18 01 00 00 30 00 0a 00 10 00 00 # (no title; no group) 06 00 00 00 04 00 0a 00 00 => 00 18 08 10 18 01 00 00 # <= 09 18 08 10 18 01 00 00 # => 00 18 08 10 10 01 01 00 # <= 09 18 08 10 10 01 01 00 # => 00 18 06 02 10 10 01 30 00 10 00 ff 00 00 00 00 # GET TRACK COUNT 00 <= 09 18 06 02 10 10 01 30 00 10 00 10 00 00 08 00 # 0x01 -> 1 Track 00 00 06 00 10 00 02 00 01 => 00 18 08 10 10 01 00 00 # <= 09 18 08 10 10 01 00 00 # => 00 18 08 10 10 01 01 00 # <= 09 18 08 10 10 01 01 00 # => 00 18 06 02 10 10 01 30 00 10 00 ff 00 00 00 00 # GET TRACK COUNT 00 <= 09 18 06 02 10 10 01 30 00 10 00 10 00 00 08 00 # 0x01 -> 1 track 00 00 06 00 10 00 02 00 01 => 00 18 08 10 10 01 00 00 # <= 09 18 08 10 10 01 00 00 # => 00 18 08 10 18 01 01 00 # <= 09 18 08 10 18 01 01 00 # => 00 18 06 02 20 18 01 00 00 30 00 0a 00 ff 00 00 # GET DISC TITLE 00 00 00 <= 09 18 06 02 20 18 01 00 00 30 00 0a 00 10 00 00 # (no title; no group) 06 00 00 00 04 00 0a 00 00 => 00 18 08 10 18 01 00 00 # <= 09 18 08 10 18 01 00 00 # => 00 18 08 10 10 01 01 00 # <= 09 18 08 10 10 01 01 00 # => 00 18 06 02 10 10 01 30 00 10 00 ff 00 00 00 00 # GET TRACK COUNT 00 <= 09 18 06 02 10 10 01 30 00 10 00 10 00 00 08 00 # 0x01 -> 1 Track 00 00 06 00 10 00 02 00 01 => 00 18 08 10 10 01 00 00 # <= 09 18 08 10 10 01 00 00 # => 00 18 08 10 10 00 01 00 # <= 09 18 08 10 10 00 01 00 # => 00 18 06 02 10 10 00 30 80 03 00 ff 00 00 00 00 # GET DISC CAPACITY 00 <= 09 18 06 02 10 10 00 30 80 03 00 10 00 00 1d 00 # time used: 00:00:52 +96 (LP2) 00 00 1b 80 03 00 17 80 00 00 05 00 00 00 52 69 # total time: 01:14:59 +40 (recording format is set to SP) 00 05 00 01 14 59 40 00 05 00 01 14 30 75 # available time: 01:14:30 +75 (recording format is set to SP) => 00 18 08 10 10 00 00 00 # <= 09 18 08 10 10 00 00 00 # => 00 18 08 80 00 01 00 # <= 09 18 08 80 00 01 00 # => 00 18 09 80 01 03 30 88 01 00 30 88 05 00 30 88 # GET RECORDING PARAMETERS 07 00 ff 00 00 00 00 00 <= 09 18 09 80 01 03 30 88 01 00 30 88 05 00 30 88 # 0x90 -> SP 07 00 10 00 00 0e 00 00 00 0c 88 05 00 08 80 e0 01 10 90 00 40 00 => 00 18 08 80 00 00 00 # <= 09 18 08 80 00 00 00 # => 00 18 08 10 18 01 01 00 # <= 09 18 08 10 18 01 01 00 # => 00 18 06 02 20 18 01 00 00 30 00 0a 00 ff 00 00 # GET DISC TITLE 00 00 00 <= 09 18 06 02 20 18 01 00 00 30 00 0a 00 10 00 00 # (no title; no group) 06 00 00 00 04 00 0a 00 00 => 00 18 08 10 18 01 00 00 # <= 09 18 08 10 18 01 00 00 # => 00 18 08 10 10 01 01 00 # <= 09 18 08 10 10 01 01 00 # => 00 18 06 02 10 10 01 30 00 10 00 ff 00 00 00 00 # GET TRACK COUNT 00 <= 09 18 06 02 10 10 01 30 00 10 00 10 00 00 08 00 # 0x01 -> 1 Track 00 00 06 00 10 00 02 00 01 => 00 18 08 10 10 01 00 00 # <= 09 18 08 10 10 01 00 00 # => 00 18 06 02 20 10 01 00 00 30 80 07 00 ff 00 00 # GET TRACK INFO -> GET TRACK ENCODING Track 1 00 00 00 <= 09 18 06 02 20 10 01 00 00 30 80 07 00 10 00 00 # 0x92 -> LP2 0a 00 00 00 08 80 07 00 04 01 10 92 00 => 00 18 06 02 20 10 01 00 00 80 00 01 00 ff 00 00 # GET TRACK INFO -> GET TRACK LENGTH Track 1 <= 09 18 06 02 20 10 01 00 00 30 00 01 00 10 00 00 # 00:00:52 +69 0c 00 00 00 0a 00 01 00 06 00 00 00 00 52 69 => 00 18 06 01 20 10 02 00 00 ff 00 00 01 00 08 # GET TRACK INFO -> GET TRACK FLAGS Track 1 <= 09 18 06 01 20 10 01 00 00 10 00 00 01 00 08 03 # 0x03 -> protected => 00 18 06 02 20 18 02 00 00 30 00 0a 00 ff 00 00 # GET TRACK INFO -> GET TRACK TITLE Track 1 00 00 00 <= 09 18 06 02 20 18 02 00 00 30 00 0a 00 10 00 00 # "LP2" 09 00 00 00 07 00 0a 00 03 4c 50 32 => 00 18 09 80 01 02 30 88 00 00 30 88 04 00 ff 00 # GET STATUS 00 00 00 00 <= 09 18 09 80 01 02 30 88 00 00 30 88 04 00 10 00 # 0x88 ; 0x04 ; 0x00 ; 0x03 ; 0x40 -> disc present ; 0xff ; 0x40 00 09 00 00 00 07 88 04 00 03 40 ff 40 => 00 18 08 10 10 00 01 00 # <= 09 18 08 10 10 00 01 00 # => 00 18 06 02 10 10 00 30 80 03 00 ff 00 00 00 00 # GET DISC CAPACITY 00 <= 09 18 06 02 10 10 00 30 80 03 00 10 00 00 1d 00 # time used: 00:00:52 +96 (LP2) 00 00 1b 80 03 00 17 80 00 00 05 00 00 00 52 69 # total time: 01:14:59 +40 (recording format is set to SP) 00 05 00 01 14 59 40 00 05 00 01 14 30 75 # available time: 01:14:30 +75 (recording format is set to SP) => 00 18 08 10 10 00 00 00 # <= 09 18 08 10 10 00 00 00 # => 00 18 08 80 00 01 00 # <= 09 18 08 80 00 01 00 # => 00 18 09 80 01 03 30 88 01 00 30 88 05 00 30 88 # GET RECORDING PARAMETERS 07 00 ff 00 00 00 00 00 <= 09 18 09 80 01 03 30 88 01 00 30 88 05 00 30 88 # 0x90 -> SP 07 00 10 00 00 0e 00 00 00 0c 88 05 00 08 80 e0 01 10 90 00 40 00 => 00 18 08 80 00 00 00 # <= 09 18 08 80 00 00 00 # => 00 18 09 80 01 02 30 88 00 00 30 88 04 00 ff 00 # GET STATUS 00 00 00 00 <= 09 18 09 80 01 02 30 88 00 00 30 88 04 00 10 00 # 0x88 ; 0x04 ; 0x00 ; 0x03 ; 0x40 -> disc present ; 0xff ; 0x40 00 09 00 00 00 07 88 04 00 03 40 ff 40