NIBTools failing with many different errors.

509 views
Skip to first unread message

Modeler

unread,
Nov 30, 2017, 7:49:07 AM11/30/17
to ZoomFloppy Users
Hi all,

Apologies for the very long post, I'm hoping someone can help me get NIBTools working at least once. I have a ZoomFloppy and an original shape 1541 with a 'Datel Burst Nibbler' type parallel cable modification made by Tim Harris. My main system is Linux, building OpenCBM 0.4.99.99 and NIBTools from source (subversion on c64preservation.com). For sanity and ease of support I also have a Windows 10 laptop using the ZoomFloppy drivers, OpenCBM and NIBTools binaries from the opencbm-ZoomFloppy-2.0-i386.zip file. I have also tried the latest build of NIBTools for Windows which I used to produce the examples shown here.

In all scenarios, the ZoomFloppy works fine with OpenCBM in serial mode and with the parallel cable attached it detects an XP1541 interface and d64copy goes like lightning. When I attempt to use NIBTools though, it falls over in a number of different ways. Trying to write a G64 image but I am yet to read or write a single disk without errors. I have a second 1541 which behaves the same, I have of course tried other disks and the ones I use didn't need any retries according to cbmforng.

It usually fails like this on the first attempt:

C:\Users\Dan\Downloads\nibtools-msvc-opencbm5-amd64-r642>nibwrite.exe "C:\Users\Dan\Downloads\Expert V4.1R_s0.g64"

nibwrite - Commodore 1541/1571 disk image 'remastering' tool
(C) Peter Rittwage and the rest of the C64 Preservation Project team
Revision 2014 - Built Apr 18 2017 09:40:05



Reading G64 file...
Tracks:84
Size:7928
 1.0: (3:7715) 100%
 2.0: (3:7717) 100%
 3.0: (3:7714) 100%
 4.0: (3:7715) 100%
 5.0: (3:7714) 100%
 6.0: (3:7715) 100%
 7.0: (3:7713) 100%
 8.0: (3:7714) 100%
 9.0: (3:7715) 100%
10.0: (3:7715) 100%
11.0: (3:7715) 100%
12.0: (3:7713) 100%
13.0: (3:7714) 100%
14.0: (3:7715) 100%
15.0: (3:7714) 100%
16.0: (3:7712) 100%
17.0: (3:7715) 100%
18.0: (2:7112) 0%
19.0: (2:7162) 100%
20.0: (2:7163) 100%
21.0: (2:7164) 100%
22.0: (2:7162) 100%
23.0: (2:7163) 100%
24.0: (2:7163) 100%
25.0: (1:6685) 100%
26.0: (1:6686) 100%
27.0: (1:6683) 100%
28.0: (1:6685) 100%
29.0: (1:6684) 100%
30.0: (1:6684) 100%
31.0: (0:6267) 100%
32.0: (0:6266) 100%
33.0: (0:6267) 100%
34.0: (0:6266) 100%
35.0: (0:6266) 100%

Successfully loaded G64 file
Using device #8
Drive Version: 73,CBM DOS V2.6 1541,00,00
Drive type: 1541
Bumping...
Initializing
Sending 1541 parallel support code...
Uploading floppy-side code ($03a9 bytes, $300-$6a9)...done.
Starting custom drive code...Started!
Testing communication...done.
Failed port transfer test. Check cabling.

Floppy drive initialization failed

Resetting drive...
Cleaning up...




Other times, I see "diff" lines fly up the screen before the same error occurs. It counts from 0 to 936, lines removed for brevity:

C:\Users\Dan\Downloads\nibtools-msvc-opencbm5-amd64-r642>nibwrite.exe "C:\Users\Dan\Downloads\Expert V4.1R_s0.g64"

nibwrite - Commodore 1541/1571 disk image 'remastering' tool
(C) Peter Rittwage and the rest of the C64 Preservation Project team
Revision 2014 - Built Apr 18 2017 09:40:05



Reading G64 file...
Tracks:84
Size:7928
 1.0: (3:7715) 100%
 2.0: (3:7717) 100%
 3.0: (3:7714) 100%
 4.0: (3:7715) 100%
 5.0: (3:7714) 100%
 6.0: (3:7715) 100%
 7.0: (3:7713) 100%
 8.0: (3:7714) 100%
 9.0: (3:7715) 100%
10.0: (3:7715) 100%
11.0: (3:7715) 100%
12.0: (3:7713) 100%
13.0: (3:7714) 100%
14.0: (3:7715) 100%
15.0: (3:7714) 100%
16.0: (3:7712) 100%
17.0: (3:7715) 100%
18.0: (2:7112) 0%
19.0: (2:7162) 100%
20.0: (2:7163) 100%
21.0: (2:7164) 100%
22.0: (2:7162) 100%
23.0: (2:7163) 100%
24.0: (2:7163) 100%
25.0: (1:6685) 100%
26.0: (1:6686) 100%
27.0: (1:6683) 100%
28.0: (1:6685) 100%
29.0: (1:6684) 100%
30.0: (1:6684) 100%
31.0: (0:6267) 100%
32.0: (0:6266) 100%
33.0: (0:6267) 100%
34.0: (0:6266) 100%
35.0: (0:6266) 100%

Successfully loaded G64 file
Using device #8
Drive Version: 73,CBM DOS V2.6 1541,00,00
Drive type: 1541
Bumping...
Initializing
Sending 1541 parallel support code...
Uploading floppy-side code ($03a9 bytes, $300-$6a9)...done.
Starting custom drive code...Started!
Testing communication...done.
Passed initial communication test.
Testing code upload...diff: 0
diff: 1
...
[snip]
...
diff: 936
done.
Failed code verification test. Check cabling.

Floppy drive initialization failed

Resetting drive...
Cleaning up...


Sometimes though, it does begin to write (no diff lines here) but then dies:

C:\Users\Dan\Downloads\nibtools-msvc-opencbm5-amd64-r642>nibwrite.exe "C:\Users\Dan\Downloads\Expert V4.1R_s0.g64"

nibwrite - Commodore 1541/1571 disk image 'remastering' tool
(C) Peter Rittwage and the rest of the C64 Preservation Project team
Revision 2014 - Built Apr 18 2017 09:40:05



Reading G64 file...
Tracks:84
Size:7928
 1.0: (3:7715) 100%
 2.0: (3:7717) 100%
 3.0: (3:7714) 100%
 4.0: (3:7715) 100%
 5.0: (3:7714) 100%
 6.0: (3:7715) 100%
 7.0: (3:7713) 100%
 8.0: (3:7714) 100%
 9.0: (3:7715) 100%
10.0: (3:7715) 100%
11.0: (3:7715) 100%
12.0: (3:7713) 100%
13.0: (3:7714) 100%
14.0: (3:7715) 100%
15.0: (3:7714) 100%
16.0: (3:7712) 100%
17.0: (3:7715) 100%
18.0: (2:7112) 0%
19.0: (2:7162) 100%
20.0: (2:7163) 100%
21.0: (2:7164) 100%
22.0: (2:7162) 100%
23.0: (2:7163) 100%
24.0: (2:7163) 100%
25.0: (1:6685) 100%
26.0: (1:6686) 100%
27.0: (1:6683) 100%
28.0: (1:6685) 100%
29.0: (1:6684) 100%
30.0: (1:6684) 100%
31.0: (0:6267) 100%
32.0: (0:6266) 100%
33.0: (0:6267) 100%
34.0: (0:6266) 100%
35.0: (0:6266) 100%

Successfully loaded G64 file
Using device #8
Drive Version: 73,CBM DOS V2.6 1541,00,00
Drive type: 1541
Bumping...
Initializing
Sending 1541 parallel support code...
Uploading floppy-side code ($03a9 bytes, $300-$6a9)...done.
Starting custom drive code...Started!
Testing communication...done.
Passed initial communication test.
Testing code upload...done.
Passed code verification test.
Passed all basic port checks.

Testing track capacity at each density
--------------------------------------------------
Density 0: 7213 7209 (260.02rpm) margin:4
Density 1: 6734 6735 (297.00rpm) margin:1
Density 2: 7213 65535 (58.91rpm) margin:58322
Density 3: 7216 7216 (319.80rpm) margin:0
--------------------------------------------------
Drive motor speed average: 109.52 RPM.
Track capacity margin: 58327


ERROR!
Drive speed out of range.
Check motor, write-protect, or bad media.

Resetting drive...
Cleaning up...




Sometimes I get a USB error and Windows makes its "USB device removed" error sound:

C:\opencbm\bin>nibwrite.exe "C:\Users\Dan\Downloads\Expert V4.1R_s0.g64"

nibwrite - Commodore 1541/1571 disk image 'remastering' tool
(C) C64 Preservation Project
Revision 528 - Built Sep 24 2011 22:38:42



Reading G64 file...
G64: 278234 total bytes = 35 tracks of 7928 bytes each

Successfully loaded G64 file
Using device #8
Drive Version: 73,CBM DOS V2.6 1541,00,00
Drive type: 1541
Bumping...
Initializing
Sending 1541 parallel support code...
Uploading floppy-side code...done.
Starting custom drive code...Started!
Testing communication...done.
Passed initial communication test.
Testing code upload...done.
Passed code verification test.
Passed all basic port checks.

Testing track capacity at each density
--------------------------------------------------
Density 0: 6311 6314 (297.05rpm) margin:3
Density 1: USB error in read data(00BFF6F8, 2): libusb0-dll:err [_usb_reap_async] reaping request failed, win error: A device attached to the system is not functioning.


1 USB error in write cmd: libusb0-dll:err [submit_async] submitting request failed, win error: The system cannot find the file specified.

USB error in read cmd: libusb0-dll:err [submit_async] submitting request failed, win error: The system cannot find the file specified.

1 (2000000.00rpm) margin:0
USB error in write cmd: libusb0-dll:err [submit_async] submitting request failed, win error: The system cannot find the file specified.

USB error in xum1541_ioctl cmd: libusb0-dll:err [submit_async] submitting request failed, win error: The system cannot find the file specified.

USB error in write cmd: libusb0-dll:err [submit_async] submitting request failed, win error: The device does not recognize the command.


Resetting drive...
USB error in xum1541_control_msg: libusb0-dll:err [control_msg] sending control message failed, win error: The device does not recognize the command.


I have tried using a different .NIB file on Linux (actually a Raspberry Pi which is the end game here) but the results are the same:



root@raspberrypi-cbm:/home/pi/NIB# nibwrite Turbo\ Out\ Run\ \(Side\ 1\)\ \[PAL\].nib

nibwrite - Commodore 1541/1571 disk image 'remastering' tool
(C) Peter Rittwage and the rest of the C64 Preservation Project team
Revision 2014 - Built Nov 19 2017 22:14:00


Loading "Turbo Out Run (Side 1) [PAL].nib"...
Successfully loaded 336128 bytes.
Parsing NIB data...
NIB file version 1
Successfully parsed NIB data for 41 tracks
Aligning tracks...
 1.0: (3:7797) [align=GAP]
 1.5: (0:0) [align=NONE]
 2.0: (3:7795) [align=GAP]
 2.5: (0:0) [align=NONE]
 3.0: (3:7792) [align=GAP]
 3.5: (0:0) [align=NONE]
 4.0: (3:7800) [align=GAP]
 4.5: (0:0) [align=NONE]
 5.0: (3:7807) [align=GAP]
 5.5: (0:0) [align=NONE]
 6.0: (3:7793) [align=GAP]
 6.5: (0:0) [align=NONE]
 7.0: (3:7804) [align=GAP]
 7.5: (0:0) [align=NONE]
 8.0: (3:7797) [align=GAP]
 8.5: (0:0) [align=NONE]
 9.0: (3:7798) [align=GAP]
 9.5: (0:0) [align=NONE]
10.0: (3:7799) [align=GAP]
10.5: (0:0) [align=NONE]
11.0: (3:7796) [align=GAP]
11.5: (0:0) [align=NONE]
12.0: (3:7789) [align=GAP]
12.5: (0:0) [align=NONE]
13.0: (3:7796) [align=GAP]
13.5: (0:0) [align=NONE]
14.0: (3:7802) [align=GAP]
14.5: (0:0) [align=NONE]
15.0: (3:7797) [align=GAP]
15.5: (0:0) [align=NONE]
16.0: (3:7795) [align=GAP]
16.5: (0:0) [align=NONE]
17.0: (3:7796) [align=GAP]
17.5: (0:0) [align=NONE]
18.0: (2:7146) [align=GAP]
18.5: (0:0) [align=NONE]
19.0: (2:7145) [align=GAP]
19.5: (0:0) [align=NONE]
20.0: (2:7148) [align=GAP]
20.5: (0:0) [align=NONE]
21.0: (2:7146) [align=GAP]
21.5: (0:0) [align=NONE]
22.0: (2:7145) [align=GAP]
22.5: (0:0) [align=NONE]
23.0: (2:7150) [align=GAP]
23.5: (0:0) [align=NONE]
24.0: (2:7147) [align=GAP]
24.5: (0:0) [align=NONE]
25.0: (1:6670) [align=GAP]
25.5: (0:0) [align=NONE]
26.0: (1:6667) [align=GAP]
26.5: (0:0) [align=NONE]
27.0: (1:6677) [align=GAP]
27.5: (0:0) [align=NONE]
28.0: (1:6675) [align=GAP]
28.5: (0:0) [align=NONE]
29.0: (1:6672) [align=GAP]
29.5: (0:0) [align=NONE]
30.0: (1:6670) [align=GAP]
30.5: (0:0) [align=NONE]
31.0: (0:6238) [align=GAP]
31.5: (0:0) [align=NONE]
32.0: (0:6244) [align=GAP]
32.5: (0:0) [align=NONE]
33.0: (0:6238) [align=GAP]
33.5: (0:0) [align=NONE]
34.0: (0:6240) [align=GAP]
34.5: (0:0) [align=NONE]
35.0: (0:6237) [align=GAP]
35.5: (0:0) [align=NONE]
36.0: KILLER! (0:8192) [align=NONE]
36.5: (0:0) [align=NONE]
37.0: KILLER! (0:8192) [align=NONE]
37.5: (0:0) [align=NONE]
38.0: KILLER! (0:8192) [align=NONE]
38.5: (0:0) [align=NONE]
39.0: KILLER! (0:8192) [align=NONE]
39.5: (0:0) [align=NONE]
40.0: (2:8192) [align=AUTO]
40.5: (0:0) [align=NONE]
41.0: (2:8192) [align=AUTO]
Using device #8
Drive Version: 73,CBM DOS V2.6 1541,00,00
Drive type: 1541
Bumping...
Initializing
Sending 1541 parallel support code...
Uploading floppy-side code ($03a9 bytes, $300-$6a9)...done.
Starting custom drive code...Started!
Testing communication...done.
Passed initial communication test.
Testing code upload...done.
Passed code verification test.
Passed all basic port checks.

Testing track capacity at each density
--------------------------------------------------
Density 0: 6308 6312 (297.15rpm) margin:4
Density 1: 6737 65535 (55.35rpm) margin:58798
Density 2: 6730 6735 (318.31rpm) margin:5
Density 3: 7773 7770 (296.96rpm) margin:3
--------------------------------------------------
Drive motor speed average: 174.85 RPM.
Track capacity margin: 58803


ERROR!
Drive speed out of range.
Check motor, write-protect, or bad media.

Resetting drive...
Cleaning up...



I can't be sure if I have a faulty ZoomFloppy, faulty parallel cable, faulty / incompatible drive or just the wrong mix of software. This started off as a bit of fun but has turned into a lot of wasted evenings and huge amount of frustration, so I would be so grateful for any help!

Modeler

unread,
Nov 30, 2017, 5:18:00 PM11/30/17
to ZoomFloppy Users
Another horrid error message with no meaning, trying to nibread a disk that I just wrote with d64copy:

pi@raspberrypi-cbm:~/NIB $ nibread test.nib

nibread - Commodore 1541/1571 disk image nibbler
(C) Peter Rittwage and the rest of the C64 Preservation Project team
Revision 2014 - Built Nov 19 2017 22:13:55


Drive Version: 73,CBM DOS V2.6 1541,00,00
Drive type: 1541
Bumping...
Initializing
Sending 1541 parallel support code...
Uploading floppy-side code ($03a9 bytes, $300-$6a9)...done.
Starting custom drive code...Started!
Testing communication...done.
Passed initial communication test.
Testing code upload...done.
Passed code verification test.
Passed all basic port checks.


18.0: (2)
Cosmetic Disk ID: '▒'
Format Disk ID: '1A'


USB error in xum1541_wait_status: No error
USB error in xum1541_wait_status: No error

Even as an IT professional, this is the sort of thing that makes me want to forget the whole thing. Maybe I should have stuck with my home made XM1541 cable.

Modeler

unread,
Dec 1, 2017, 9:47:38 AM12/1/17
to ZoomFloppy Users
Using an old XP laptop, I got nibwrite to finish writing a disk with no errors. However, it seemed to be over too quickly and the disk doesn't work (no directory or files found). This was the output:

nibwrite - Commodore 1541/1571 disk image 'remastering' tool
(C) C64 Preservation Project
Revision 528 - Built Sep 24 2011 22:38:42


Loading "..\Turbo Out Run (Side 1) [PAL].nib"...
Successfully loaded 336128 bytes.
Parsing NIB data...NIB file version 1
41 track image (filesize = 336128 bytes)
Successfully parsed NIB data

Aligning tracks...
 1.0: H (3:7797) [align=GAP]
 2.0: H (3:7795) [align=GAP]
 3.0: H (3:7792) [align=GAP]
 4.0: H (3:7800) [align=GAP]
 5.0: H (3:7807) [align=GAP]
 6.0: H (3:7793) [align=GAP]
 7.0: H (3:7804) [align=GAP]
 8.0: H (3:7797) [align=GAP]
 9.0: H (3:7798) [align=GAP]
10.0: H (3:7799) [align=GAP]
11.0: H (3:7796) [align=GAP]
12.0: H (3:7789) [align=GAP]
13.0: H (3:7796) [align=GAP]
14.0: H (3:7802) [align=GAP]
15.0: H (3:7797) [align=GAP]
16.0: H (3:7795) [align=GAP]
17.0: H (3:7796) [align=GAP]
18.0: H (2:7146) [align=GAP]
19.0: H (2:7145) [align=GAP]
20.0: H (2:7148) [align=GAP]
21.0: H (2:7146) [align=GAP]
22.0: H (2:7145) [align=GAP]
23.0: H (2:7150) [align=GAP]
24.0: H (2:7147) [align=GAP]
25.0: H (1:6670) [align=GAP]
26.0: H (1:6667) [align=GAP]
27.0: H (1:6677) [align=GAP]
28.0: H (1:6675) [align=GAP]
29.0: H (1:6672) [align=GAP]
30.0: H (1:6670) [align=GAP]
31.0: H (0:6238) [align=GAP]
32.0: H (0:6244) [align=GAP]
33.0: H (0:6238) [align=GAP]
34.0: H (0:6240) [align=GAP]
35.0: H (0:6237) [align=GAP]
36.0: KILLER! (0:8192) [align=NONE]
37.0: KILLER! (0:8192) [align=NONE]
38.0: KILLER! (0:8192) [align=NONE]
39.0: KILLER! (0:8192) [align=NONE]
40.0: H/S/R (2:8192) [align=AUTO]
41.0: H/S/R (2:8192) [align=AUTO]
Using device #8
Drive Version: 73,CBM DOS V2.6 1541,00,00
Drive type: 1541
Bumping...
Initializing
Sending 1541 parallel support code...
Uploading floppy-side code...done.
Starting custom drive code...Started!
Testing communication...done.
Passed initial communication test.
Testing code upload...done.
Passed code verification test.
Passed all basic port checks.

Testing track capacity at each density
--------------------------------------------------
Density 0: 6315 6315 (296.91rpm) margin:0
Density 1: 6741 6740 (296.74rpm) margin:1
Density 2: 7220 7222 (296.75rpm) margin:2
Density 3: 7776 7774 (296.81rpm) margin:2
--------------------------------------------------
Drive motor speed average: 296.77 RPM.
Track capacity margin: 12

 1.0: (3:7797) [rsync:35 ] (7762) [badgcr:43] (fill:$55) [pad:1]
 2.0: (3:7795) [rsync:33 ] (7762) [badgcr:42] (fill:$55) [pad:1]
 3.0: (3:7792) [rsync:30 ] (7762) [badgcr:42] (fill:$55) [pad:1]
 4.0: (3:7800) [rsync:38 ] (7762) [badgcr:43] (fill:$55) [pad:1]
 5.0: (3:7807) [rsync:45 ] (7762) [badgcr:42] (fill:$55) [pad:1]
 6.0: (3:7793) [rsync:31 ] (7762) [badgcr:43] (fill:$55) [pad:1]
 7.0: (3:7804) [rsync:42 ] (7762) [badgcr:42] (fill:$55) [pad:1]
 8.0: (3:7797) [rsync:35 ] (7762) [badgcr:42] (fill:$55) [pad:1]
 9.0: (3:7798) [rsync:36 ] (7762) [badgcr:42] (fill:$55) [pad:1]
10.0: (3:7799) [rsync:37 ] (7762) [badgcr:42] (fill:$55) [pad:1]
11.0: (3:7796) [rsync:34 ] (7762) [badgcr:42] (fill:$55) [pad:1]
12.0: (3:7789) [rsync:27 ] (7762) [badgcr:42] (fill:$55) [pad:1]
13.0: (3:7796) [rsync:34 ] (7762) [badgcr:42] (fill:$55) [pad:1]
14.0: (3:7802) [rsync:40 ] (7762) [badgcr:42] (fill:$55) [pad:1]
15.0: (3:7797) [rsync:35 ] (7762) [badgcr:42] (fill:$55) [pad:1]
16.0: (3:7795) [rsync:33 ] (7762) [badgcr:42] (fill:$55) [pad:1]
17.0: (3:7796) [rsync:34 ] (7762) [badgcr:42] (fill:$55) [pad:1]
18.0: (2:7146) [] (7146) [badgcr:38] (fill:$55) [pad:63]
19.0: (2:7145) [] (7145) [badgcr:39] (fill:$55) [pad:64]
20.0: (2:7148) [] (7148) [badgcr:38] (fill:$55) [pad:61]
21.0: (2:7146) [] (7146) [badgcr:38] (fill:$55) [pad:63]
22.0: (2:7145) [] (7145) [badgcr:38] (fill:$55) [pad:64]
23.0: (2:7150) [] (7150) [badgcr:39] (fill:$55) [pad:59]
24.0: (2:7147) [] (7147) [badgcr:38] (fill:$55) [pad:62]
25.0: (1:6670) [] (6670) [badgcr:36] (fill:$55) [pad:59]
26.0: (1:6667) [] (6667) [badgcr:36] (fill:$55) [pad:62]
27.0: (1:6677) [] (6677) [badgcr:36] (fill:$55) [pad:52]
28.0: (1:6675) [] (6675) [badgcr:36] (fill:$55) [pad:54]
29.0: (1:6672) [] (6672) [badgcr:36] (fill:$55) [pad:57]
30.0: (1:6670) [] (6670) [badgcr:36] (fill:$55) [pad:59]
31.0: (0:6238) [] (6238) [badgcr:36] (fill:$55) [pad:67]
32.0: (0:6244) [] (6244) [badgcr:4] (fill:$55) [pad:61]
33.0: (0:6238) [] (6238) [badgcr:34] (fill:$55) [pad:67]
34.0: (0:6240) [] (6240) [badgcr:34] (fill:$55) [pad:65]
35.0: (0:6237) [] (6237) [badgcr:34] (fill:$55) [pad:68]
36.0: KILLED!
37.0: KILLED!
38.0: KILLED!
39.0: KILLED!
40.0: (2:8192) [rsync:983 ] (7209) [badgcr:298] (fill:$55)
41.0: (2:8192) [rsync:983 ] (7209) [badgcr:333] (fill:$55)

Resetting drive...
Cleaning up...

Can anyone show me an example of what the output from a successful write is supposed to look like please? I can find next to nothing online.

rcade

unread,
Dec 1, 2017, 10:34:30 AM12/1/17
to zoomflop...@googlegroups.com
That last write looks OK. You can enable the verify mode to see if what is written is read back properly. 

nibwrite -V [image] on the latest builds.

For the first machine, it looks like you have some kind of communication problem. USB incompatible or something odd.


--
You received this message because you are subscribed to the Google Groups "ZoomFloppy Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to zoomfloppy-users+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Spiro Trikaliotis

unread,
Dec 1, 2017, 4:00:41 PM12/1/17
to zoomflop...@googlegroups.com
* On Thu, Nov 30, 2017 at 02:18:00PM -0800 Modeler wrote:
> Another horrid error message with no meaning, trying to nibread a disk that I
> just wrote with d64copy:
[...]

> USB error in xum1541_wait_status: No error
> USB error in xum1541_wait_status: No error
>
> Even as an IT professional, this is the sort of thing that makes me want to
> forget the whole thing. Maybe I should have stuck with my home made XM1541
> cable.

The problem here is: libusb, the USB library (written by a third party)
reports an error. However, if we ask for the error reason, we get a "No
error".

What should we do here? We do not have more info to give a good error
message. The problem is in a 3rd party library.

What do you, as an IT professional, suggest here?

Regards,
Spiro.

--
Spiro R. Trikaliotis
http://www.trikaliotis.net/

Spiro Trikaliotis

unread,
Dec 1, 2017, 4:08:34 PM12/1/17
to ZoomFloppy Users
Hello,

* On Thu, Nov 30, 2017 at 04:49:07AM -0800 Modeler wrote:

> Sending 1541 parallel support code...
> Uploading floppy-side code ($03a9 bytes, $300-$6a9)...done.
> Starting custom drive code...Started!
> Testing communication...done.
> Failed port transfer test. Check cabling.

Well, nibtools are more picky about the cable quality. d64copy has much
time in order to let the data pins settle, the nibtools do not have it.

I am still thinking if d64copy does not detect this kind of problems, or
if the nibtools are too picky. I do not know yet.


> Passed initial communication test.
> Testing code upload...diff: 0
> diff: 1
> ...
> [snip]
> ...
> diff: 936
> done.
> Failed code verification test. Check cabling.

This means that the parallel port test was run completely, but the
values differ. This is bad, too.

Perhaps, we should convince Pete, current author of nibtools, to add
more info to this output? ("diff - expected - received"), so we can
determine what is going wrong here.


> Sometimes though, it does begin to write (no diff lines here) but then dies:

> Testing track capacity at each density
> --------------------------------------------------
> Density 0: 7213 7209 (260.02rpm) margin:4
> Density 1: 6734 6735 (297.00rpm) margin:1
> Density 2: 7213 65535 (58.91rpm) margin:58322
> Density 3: 7216 7216 (319.80rpm) margin:0
> --------------------------------------------------
> Drive motor speed average: 109.52 RPM.
> Track capacity margin: 58327
>
>
> ERROR!
> Drive speed out of range.
> Check motor, write-protect, or bad media.

Here, something is going wrong in the zone with density 2. It might be a
transfer problem only, though.


> Sometimes I get a USB error and Windows makes its "USB device removed" error
> sound:
[...]

> Testing track capacity at each density
> --------------------------------------------------
> Density 0: 6311 6314 (297.05rpm) margin:3
> Density 1: USB error in read data(00BFF6F8, 2): libusb0-dll:err
> [_usb_reap_async] reaping request failed, win error: A device attached to the
> system is not functioning.
>
>
> 1 USB error in write cmd: libusb0-dll:err [submit_async] submitting request
> failed, win error: The system cannot find the file specified.

Ok, this might help us here.

Questions:

1. Is the ZF connected to the PC via an USB hub? If so, could you please
remove the hub for testing purposes?

2. Is the ZF connected to an USB 3.x port? (blue one)? If yes, please
try an USB 2.0 port instead.

3. Have you tried moving the ZF to another USB port?
(You often have internal USB hubs in a PC. Additionally, sometimes,
the different ports are connected to different USB controllers
internally.)

Modeler

unread,
Dec 2, 2017, 6:38:22 PM12/2/17
to ZoomFloppy Users
Thank you for the detailed analysis Spiro (I know who you are and any advice from you is invaluable). Based on what you've said about the "no error", my professional opinion (sorry for being so snarky there) would be to try rebuilding OpenCBM and NIBTools on an older Linux distribution. Perhaps the version of libusb in Debian Stretch doesn't play nice with NIBTools. I'll try that, but in the meantime I'll keep testing on Windows as it's one less thing to worry about.

To answer your questions, the ZoomFloppy is connected directly to a USB 2.0 port on my laptop. I have tried other laptops, some seem to work better than others and now I can sometimes get nibread and nibwrite operations to finish on one machine. I am yet to create a NIB file (or rather a G64 image from a NIB file) that works in VICE and I'm yet to write a real floppy from a NIB file or G64 image that works on a real C64. I'm starting to think my 1541 is slightly out of alignment and that is messing up the entire process.

I aligned both my drives with a NOS copy of the Free Spirit software, but I've never been happy with the feedback it gives. Neither would load a copy-protected game before I aligned them, so I know the process did improve them. I'll see if I can align them more accurately or find a 1541-II that I can mod with a parallel port. I'm not giving up on this.

Modeler

unread,
Dec 3, 2017, 6:28:36 PM12/3/17
to ZoomFloppy Users
I painstakingly realigned my 1541 this evening, literally the best I can do with the tools I have. I managed to write a couple of images, but neither worked. Got FILE NOT FOUND when doing LOAD "*",8,1 even though the directory was there.

Now more often than not, the ZF seems to be dropping out in the middle of writing:

C:\opencbm\bin>nibwrite "C:\Users\Dan\Desktop\APB (Version a) [PAL].nib"

nibwrite - Commodore 1541/1571 disk image 'remastering' tool
(C) C64 Preservation Project
Revision 528 - Built Sep 24 2011 22:38:42


Loading "C:\Users\Dan\Desktop\APB (Version a) [PAL].nib"...
Successfully loaded 336128 bytes.
Parsing NIB data...NIB file version 1
41 track image (filesize = 336128 bytes)
Successfully parsed NIB data

Aligning tracks...
 1.0: H (3:7786) [align=GAP]
 2.0: H (3:7786) [align=GAP]
 3.0: H (3:7786) [align=GAP]
 4.0: H (3:7786) [align=GAP]
 5.0: H (3:7786) [align=GAP]
 6.0: H (3:7786) [align=GAP]
 7.0: H (3:7786) [align=GAP]
 8.0: H (3:7786) [align=GAP]
 9.0: H (3:7786) [align=GAP]
10.0: H (3:7786) [align=GAP]
11.0: H (3:7786) [align=GAP]
12.0: H (3:7786) [align=GAP]
13.0: H (3:7786) [align=GAP]
14.0: H (3:7786) [align=GAP]
15.0: H (3:7786) [align=GAP]
16.0: H (3:7786) [align=GAP]
17.0: H (3:7786) [align=GAP]
18.0: H (2:7137) [align=GAP]
19.0: H (2:7137) [align=GAP]
20.0: H (2:7137) [align=GAP]
21.0: H (2:7135) [align=GAP]
22.0: H (2:7136) [align=GAP]
23.0: H (2:7137) [align=GAP]
24.0: H (2:7135) [align=GAP]
25.0: H (1:6662) [align=GAP]
26.0: H (1:6661) [align=GAP]
27.0: H (1:6660) [align=GAP]
28.0: H (1:6660) [align=GAP]
29.0: H (1:6660) [align=GAP]
30.0: H (1:6662) [align=GAP]
31.0: H (0:6228) [align=GAP]
32.0: H (0:6228) [align=GAP]
33.0: H (0:6228) [align=GAP]
34.0: H (0:6228) [align=GAP]
35.0: H (0:6228) [align=GAP]
36.0: H/S/R (0:8192) [align=AUTO]
37.0: H/S/R (0:8192) [align=AUTO]
38.0: H/S/R (0:8192) [align=AUTO]
39.0: H/S/R (0:8192) [align=AUTO]
40.0: H/S/R (0:8192) [align=AUTO]
41.0: H/S/R (0:8192) [align=AUTO]
Using device #8
Drive Version: 73,CBM DOS V2.6 1541,00,00
Drive type: 1541
Bumping...
Initializing
Sending 1541 parallel support code...
Uploading floppy-side code...done.
Starting custom drive code...Started!
Testing communication...done.
Passed initial communication test.
Testing code upload...done.
Passed code verification test.
Passed all basic port checks.

Testing track capacity at each density
--------------------------------------------------
Density 0: 6316 6322 (296.72rpm) margin:6
Density 1: 6744 6744 (296.56rpm) margin:0
Density 2: 7223 7225 (296.63rpm) margin:2
Density 3: 7781 7779 (296.62rpm) margin:2
--------------------------------------------------
Drive motor speed average: 296.63 RPM.
Track capacity margin: 16

 1.0: (3:7786) [rsync:23 ] (7763) [badgcr:42] (fill:$55) [pad:1]USB error in write data: libusb0-dll:err [_usb_reap_async] reaping request failed, win error: A device attached to the system is not functioning.



 2.0: (3:7786) [rsync:23 ] (7763) [badgcr:42] (fill:$55) [pad:1]USB error in write cmd: libusb0-dll:err [submit_async] submitting request failed, win error: The system cannot find the file specified.

USB error in xum1541_ioctl cmd: libusb0-dll:err [submit_async] submitting request failed, win error: The system cannot find the file specified.

USB error in write cmd: libusb0-dll:err [submit_async] submitting request failed, win error: The system cannot find the file specified.


Resetting drive...
USB error in xum1541_control_msg: libusb0-dll:err [control_msg] sending control message failed, win error: The device does not recognize the command.


What really doesn't help is not being au fait with nibtools, i.e. I've never seen it work. It's possible that I do have a faulty ZoomFloppy or parallel cable. I really do need to try a different drive, I just have to find a good one. I'd be interested to know if anyone else out there successfully uses nibtools with a 1541 and Burst Nibbler type parallel mod.

rcade

unread,
Dec 3, 2017, 8:11:14 PM12/3/17
to zoomflop...@googlegroups.com
Yes of course. I use it at least a couple times a week with a 1541 and Windows 7. Have been for years, and before that an XAP1541 cable set.

Dozens of people have used it over the years to image and contribute disks.

Nate Lawson

unread,
Dec 3, 2017, 9:38:16 PM12/3/17
to zoomflop...@googlegroups.com
Clean the drive head. 

This is 80% likely a bad cable or drive. Other possibilities are Linux-specific or the USB controller. 

I use nibtools on Mac with both 1541 parallel and 1571 serial all the time. No problems like this. 

-Nate
--
You received this message because you are subscribed to the Google Groups "ZoomFloppy Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to zoomfloppy-use...@googlegroups.com.

rcade

unread,
Dec 3, 2017, 9:41:24 PM12/3/17
to zoomflop...@googlegroups.com
Once in a while people have this problem and it always up being a bad parallel cable. Either it's too long, too short, not shielded properly (getting local interference from something) or just a bad connection on one or more pins. Check all soldering, reposition the cable, etc.

Although, you said it worked on another computer? So it could just be the USB chipset or driver on that motherboard.  

--
Pete

P.S. I think you can already see the diff if you run verbose mode, but I doubt it would be much help. Either bytes or USB packets are going missing here...

Modeler

unread,
Dec 5, 2017, 6:01:28 AM12/5/17
to ZoomFloppy Users
Okay, I'm finally getting somewhere! I wasn't expecting a great response but that's what I've had, I really didn't expect to get help from both Spiro and Nate and others. The support here is fantastic so far, so thank you for all your help so far.

My parallel adaptor has a flat 10-core ribbon cable, around 85 cm in length. I have the option to cut this down, but it may not be necessary. I cleaned the head as Nate suggested, no visible dirt came off it but immediately afterwards I was able to nibwrite a working copy of the game Turbo Outrun. I was also able to nibread the first original disk of the game Rocket Ranger (this is the only original C64 disk game I still own), nibconv it to G64 and load the game up in VICE!

When I did a nibwrite of Rocket Ranger back to a blank floppy, it wouldn't work but a couple of other NIB files I found online did work. RR uses VMAX so I don't know if this is a particularly difficult format to write back. I also tried doing a nibread of Turbo Outrun from the floppy I'd just written, but the G64 failed to load in VICE (G64 from the original NIB file does work) so it seems to be an issue with the read in this case. However, I was able to write a downloaded NIB file of Impossible Mission to a floppy, then nibread it, nibwrite the result to another disk and it worked. So the results are hit and miss, but this is huge step forward.

Now that I have at least some good results I can focus on refining the process rather than begging for help. I'm now convinced that (as others have said) the quality of the drive is key here. I have also realised (crucially) that the USB errors were an issue because I kept powering the drive down, disconnecting the ZoomFloppy and moving the drive over to the C64 to test what I'd just written. I found that simply using another drive and keeping the ZF and 1541 powered on, I would only see the USB drop-out on the first attempt after a cold start. After that it worked reliably. This is using Windows 10, I was able to nibwrite Turbo Outrun from my Raspberry Pi but the resulting floppy didn't work at all so I'm shelving that for now.

rcade

unread,
Dec 5, 2017, 10:56:10 AM12/5/17
to zoomflop...@googlegroups.com
Not all games can be read and written 100% without extra work, and some not at all. You've picked a couple that are going to be troublesome. 

Turbo Outrun uses so-called "weak bit" protection that isn't always read properly, and V-MAX titles are very sensitive about drive speed, proper track cycle detection, as well as luck with reading the protection track properly every time.

Glad you got it working. I didn't even think of dirty drive heads. I figured the drive was tested to work properly with just the C64 first. :)

--

rcade

unread,
Dec 5, 2017, 10:57:12 AM12/5/17
to zoomflop...@googlegroups.com
Also, at least the original RPi isn't fast enough to work with nibtools reliably. I don't know if anyone has tested with RPi2 or RPi3.

Modeler

unread,
Dec 5, 2017, 3:54:36 PM12/5/17
to ZoomFloppy Users
Crikey, I've just realised (having hailed the presence of the author of OpenCBM and the creator of the ZoomFloppy) that rittwage the current author of NIBTools. Can't ask for more than that!

The drive was tested to work with the C64, the USB drop-outs are something to do with the drive though. Tried again tonight, consistent results but I had to wait until the drive warmed up. Strange (or is it?) that I can nibwrite Turbo Outrun but I can't nibread it. I can nibread Rocket Ranger but can't nibwrite it! Any tips for writing VMAX disks at all please? I've been wanting to make a back-up if this game since 1988!

Thinking I ought to add a parallel interface to my 1541-II, which would involve cutting a trace and socketing the relevant VIA chip. This drive is bulletproof so I'd like the reliability for nibbling, but I don't want to trash such a good drive. 

Modeler

unread,
Dec 5, 2017, 4:14:08 PM12/5/17
to ZoomFloppy Users
Just written Defender of the Crown with no issues. I'm guessing it's an earlier version of VMAX. Rocket Ranger still not playing nicely though.

By the way, I was using a Pi 3. I'll go back to it once I'm used to what I can and can't do with NIBTools on Windows.

Modeler

unread,
Dec 14, 2017, 4:10:15 AM12/14/17
to ZoomFloppy Users
Thanks again for all your help guys, I'm calling this resolved. I've been up and running for a few days and the solution was (incredibly) leave the drive to warm up for 10 minutes before I start nibbling. That literally solves 100% of the USB drop-outs, drive speed errors and "check cabling" messages.

After it works once, it always works. I've read and written many images over the last few days and while not every image I wrote would load on a real C64 (as expected), most are fine. I have a few queries about advanced use of NIBTools but getting help over on Lemon64, since this is not ZoomFloppy related. If I resolve the Raspberry Pi issues I was having, I'll share my findings here.

Carsten Jensen

unread,
Dec 14, 2017, 9:16:33 AM12/14/17
to zoomflop...@googlegroups.com
> --
> You received this message because you are subscribed to the Google
> Groups "ZoomFloppy Users" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to zoomfloppy-use...@googlegroups.com
> <mailto:zoomfloppy-use...@googlegroups.com>.
> For more options, visit https://groups.google.com/d/optout.

warmup problems can be electrolyte problems which seem to be partially
dried out or defective of sorts.
It can also be the chips. Using Cool spray on each a chip should produce
your known errors.

Might be a good place to start looking.

/Tomse

Modeler

unread,
Jan 4, 2018, 4:58:47 AM1/4/18
to ZoomFloppy Users
I was able to build, package and test NIBTools on a Raspberry Pi 3 running Raspian Strech last night. Unfortunately, it nibread exits prior to transfer and nibwrite doesn't produce usable disks (you can hear that the stepper motor is our of rhythm during the write) so I would conclude that the Pi 3 is not suitable for nibbling tasks. NIBTools built using exactly the same procedure on an Intel Atom netbook running Debian works just fine.

rcade

unread,
Jan 5, 2018, 8:49:10 PM1/5/18
to zoomflop...@googlegroups.com
I know it did not work on the Pi/Pi2, but I've not heard on the Pi3. I'll consider this report a "no" though.

I think the Pi speed is equivalent to maybe a P2 @ 300MHz maybe in comparable CPU speed?  If you aren't using the video acceleration libraries, it isn't a fast device at all... nibtools is not multi-threaded either.

On a DOS machine, that would be fine, but the overhead of an OS and USB is just too much still, I guess.

--
Pete Rittwage


On Thu, Jan 4, 2018 at 4:58 AM, Modeler <danto...@gmail.com> wrote:
I was able to build, package and test NIBTools on a Raspberry Pi 3 running Raspian Strech last night. Unfortunately, it nibread exits prior to transfer and nibwrite doesn't produce usable disks (you can hear that the stepper motor is our of rhythm during the write) so I would conclude that the Pi 3 is not suitable for nibbling tasks. NIBTools built using exactly the same procedure on an Intel Atom netbook running Debian works just fine.

--
You received this message because you are subscribed to the Google Groups "ZoomFloppy Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to zoomfloppy-users+unsubscribe@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages