nibconv: Fehlerkorrekturen

Es gibt 105 Antworten in diesem Thema, welches 24.061 mal aufgerufen wurde. Der letzte Beitrag (2. März 2018 um 15:59) ist von r.cade.

  • No probem any more. I thought I have seen track 1 unreadable yesterday, but I cannot reproduce.

    But I have one other problem with nibread / nibwrite:

    I have installed Bitte melde dich an, um diesen Link zu sehen. to work with my zoomfloppy.
    Then I updated nibtools with Bitte melde dich an, um diesen Link zu sehen. .

    Result:

    nibread from root.org image works[*][**], updated nibread fails[***]. For nibwrite it is the opposite - the new one is working better than the old one.

    [*] of cause this old version needs "-s".
    [**] Rarely it fails, too. But that is Rarely. Repeating the job helps in that cases.
    [***] at least for nb2. nib sometimes work.


    Output is below - I'm adding english translation for german messages in angle brackets:

    T:\>d:\opencbm\bin\nibread testdemo.nb2

    nibread - Commodore 1541/1571 disk image nibbler
    (C) Peter Rittwage and the rest of the C64 Preservation Project team
    Bitte melde dich an, um diesen Link zu sehen.
    Revision 2014 - Built Jul 5 2015 18:19:58


    Drive Version: 73,CBM DOS V3.0 1571,00,00
    Drive type: 1571
    Bumping...
    Initializing
    Sending 1571 SRQ support code...
    Uploading floppy-side code ($0457 bytes, $300-$757)...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: '64'
    Format Disk ID: '64'

    1.0: (3)
    1.0: (0) 1 2 3 4
    1.0: (1) 1 2 3 4
    1.0: (2) 1 2 3 4
    1.0: (3) 1 2 3 4

    1.5: (3)
    1.5: (0) 1 2 3 4
    1.5: (1) 1 2 3 4
    1.5: (2) 1 2 3 4
    1.5: (3) 1 2 3 4

    2.0: (3)
    2.0: (0) 1 2 3 4
    2.0: (1) 1 2 3 4
    2.0: (2) 1 2 3 4
    2.0: (3) 1 2 3 4

    2.5: (3)
    2.5: (0) 1 2 3 4
    2.5: (1) 1 2 3 4
    2.5: (2) 1 2 3 4
    2.5: (3) 1 2 3 4

    3.0: (3)
    3.0: (0) 1 2 3 4
    3.0: (1) 1 2 3 4
    3.0: (2) 1 2 3 4
    3.0: (3) 1 2 3 4

    3.5: (3)
    3.5: (0) 1 2 3 4
    3.5: (1) 1 2 3 4
    3.5: (2) 1 2 3 4
    3.5: (3) 1 2 3 4

    4.0: (3)
    4.0: (0) 1 2 3 4
    4.0: (1) 1 2 3 4
    4.0: (2) 1 2 3 4
    4.0: (3) 1 2 3 4

    4.5: (3)
    4.5: (0) 1 2 3 4
    4.5: (1) 1 2 3 4
    4.5: (2) 1 2 3 4
    4.5: (3) 1 2 3 4

    5.0: (3)
    5.0: (0) 1 2 3 4
    5.0: (1) 1 2 3 4
    5.0: (2) 1 2 3 4
    5.0: (3) 1 2 3 4

    5.5: (3)
    5.5: (0) 1 2 3 4
    5.5: (1) 1 2 3 4
    5.5: (2) 1 2 3 4
    5.5: (3) 1 2 3 4

    6.0: (3)
    6.0: (0) 1 2 3 4
    6.0: (1) 1 2 3 4
    6.0: (2) 1 2 3 4
    6.0: (3) 1 2 3 4

    6.5: (3)
    6.5: (0) 1 2 3 4
    6.5: (1) USB error in read data(0006DA1C, 8192): libusb0-dll:err
    [_usb_reap_async] reaping request failed, win error: Ein an das System
    angeschlossenes Gerät funktioniert nicht. <A device connected to the system does not work.>

    1 USB error in write cmd: libusb0-dll:err [_usb_reap_async] reaping
    request failed, win error: Ein an das System angeschlossenes Gerät
    funktioniert nicht. <A device connected to the system does not work.>

    USB error in xum1541_ioctl cmd: libusb0-dll:err [_usb_reap_async]
    reaping request failed, win error: Das Gerät ist nicht angeschlossen.
    <The device is not connected.>

    USB error in write cmd: libusb0-dll:err [_usb_reap_async] reaping request failed, win error: Das Gerät ist nicht angeschlossen.
    <The device is not connected.>

    Resetting drive...
    USB error in xum1541_control_msg: libusb0-dll:err [control_msg] sending control
    message failed, win error: Das Gerät erkennt den Befehl nicht.
    <The device does not recognise the command.>

    ---
    Meine Github-Projekte: Bitte melde dich an, um diesen Link zu sehen. Vice 3.2 Improved: Bitte melde dich an, um diesen Link zu sehen.
    1541 Ultimate II / Ultimate 64 Firmware Releases: Bitte melde dich an, um diesen Link zu sehen.
    1541 Ultimate II Update instructions: Bitte melde dich an, um diesen Link zu sehen.

  • nb2 is only for very special cases, and can fail. Don't bother unless you know that there is a mixed-density track protection.
    Sometimes the drive will not read a track at the "wrong" density and it will lock up the drive and/or ZoomFloppy.

    --

    Peter Rittwage

    C64 Preservation Project

    Bitte melde dich an, um diesen Link zu sehen.

    NIBTools

    Bitte melde dich an, um diesen Link zu sehen.

  • I see. But why does the same disk and the same drive work with the old version of nibread?

    ---
    Meine Github-Projekte: Bitte melde dich an, um diesen Link zu sehen. Vice 3.2 Improved: Bitte melde dich an, um diesen Link zu sehen.
    1541 Ultimate II / Ultimate 64 Firmware Releases: Bitte melde dich an, um diesen Link zu sehen.
    1541 Ultimate II Update instructions: Bitte melde dich an, um diesen Link zu sehen.

  • Could be cable or particular 6526/8520/8521 chip. Some have seen some incompatibilities...

    I know some SRQ was fixed for 6526A June of last year, so your build should be OK.

    You can checkout SVN newest version and see...

    Also, you can save a lot of trouble not reading half-tracks if they are not needed either.

    A simple "nibread test.nib" should get you almost anything but the craziest 0.1% of protections.

    --

    Peter Rittwage

    C64 Preservation Project

    Bitte melde dich an, um diesen Link zu sehen.

    NIBTools

    Bitte melde dich an, um diesen Link zu sehen.

  • You can checkout SVN newest version and see...

    Speaking of which, where would one find that? I've only ever checked your site(s) in the /files subdirectory. Off the top of my head I'm at a bit of a loss to think of a code repository.

  • https : // c64preservation.com/svn/nibtools
    (remote spacing, inserted to avoid autoformating by the board).
    My source: The foils documenting how nibconv67 was build :smile:

    The really interesting question is: How to compile nibread / nibwrite. I fear my Visual Studio 2010 does not know how to compile 6502 Assembler (the floppy routine for the 1541/1571).

    ---
    Meine Github-Projekte: Bitte melde dich an, um diesen Link zu sehen. Vice 3.2 Improved: Bitte melde dich an, um diesen Link zu sehen.
    1541 Ultimate II / Ultimate 64 Firmware Releases: Bitte melde dich an, um diesen Link zu sehen.
    1541 Ultimate II Update instructions: Bitte melde dich an, um diesen Link zu sehen.

  • Die Folien schau ich mir jetzt auch erstmal an, ich hab sie hier gefunden: Bitte melde dich an, um diesen Link zu sehen.

    markusC64: ich meine, es gibt vom Zoomfloppy Hersteller eine Hilfeseite, wo man Fragen und Probleme posten kann.

  • Gut zu wissen, aber das ist jetzt ja ein nibtools-Problem...

    Ja, genau da habe ich die Folien auch gefunden. Wobei die an einer Stelle etwas umständlich sind: Wenn man soweit ist, das nibconv im "Debug" übersetzt werden kann, reicht es, aus den Einstellngen den Include-Pfad nach "Release" per Copy & Paste zu übernehmen. Keine Dateien kopieren oder so notwendig.

    Ich muss es ja wissen, habe nibconv (nicht die anderen Tools) ja schon mehrfach übersetzt.

    ---
    Meine Github-Projekte: Bitte melde dich an, um diesen Link zu sehen. Vice 3.2 Improved: Bitte melde dich an, um diesen Link zu sehen.
    1541 Ultimate II / Ultimate 64 Firmware Releases: Bitte melde dich an, um diesen Link zu sehen.
    1541 Ultimate II Update instructions: Bitte melde dich an, um diesen Link zu sehen.

  • In diesem Zusammenhang evtl. erwähnenswert: In meinen git-Repository Bitte melde dich an, um diesen Link zu sehen. habe ich das ganze svn-Repository als Branch upstream gespiegelt, damit ich ggf. meine Patches besser rebasen kann. Dort kann man also auch die aktuelle Version 633 auschecken - hat dann aber die ganze History lokal vorliegen.

    ---
    Meine Github-Projekte: Bitte melde dich an, um diesen Link zu sehen. Vice 3.2 Improved: Bitte melde dich an, um diesen Link zu sehen.
    1541 Ultimate II / Ultimate 64 Firmware Releases: Bitte melde dich an, um diesen Link zu sehen.
    1541 Ultimate II Update instructions: Bitte melde dich an, um diesen Link zu sehen.

  • Wär's nicht wirklich mal sinnvoll, das ganze umzubenennen? Bessere Unterscheidbarkeit wäre schon erstrebenswert. "nibconv67" war als Name schon gut so, aber jetzt verliert man so langsam den Überblick. Ich weiss nicht, "nibpatch" oder so?

  • Eigentlich hast Du ja sehr Recht.

    Aber leider muss nibconv so nebenbei laufen. Daher wollte ich zumindest bis zu den angekündigten Änderungen von Upstream erstmal die Wahrscheinlichkeit von Merge-Konflikten im Git seknken. Und Versionsnummern sowie Namen sind immer ein sehr wahrscheinlicher Kandidat für Konflikte.

    Und dummerweise ist die Versionsnummer für das ganze Toolpaket in einem gemeinsamen Source-File. Ich kann also die Versionsnummer von ninbconv nicht bspw. um ein "+" erweitern, ohne dass nibread, nibwrite, ... ebenfalls jene Änderung erfahren.

    Blöder Konflikt: Entweder git kann gut mergen (ich hoffe, der Autir passt seine Versionsnummern auch mal an), oder wir haben gute Namensverschiedenheit.

    Nachtrag: Noch was: Wenn man nach den o. g. Folien den Ausgabedateinamen anpasst, wird leider nicht die Version der Projektdatei aus den svn/gi angepasst. Microsoft hat die Endungen und die Formate geändert. Man hätte dann also einen Sourcecodestand, der leider nicht die Dateinamen der releasten EXEs erzeugt. Auch unschön.

    ---
    Meine Github-Projekte: Bitte melde dich an, um diesen Link zu sehen. Vice 3.2 Improved: Bitte melde dich an, um diesen Link zu sehen.
    1541 Ultimate II / Ultimate 64 Firmware Releases: Bitte melde dich an, um diesen Link zu sehen.
    1541 Ultimate II Update instructions: Bitte melde dich an, um diesen Link zu sehen.

    Einmal editiert, zuletzt von markusC64 (22. März 2016 um 20:31)

  • I'm confused - you have obviously compiled nibconv, so you broke that out somehow and compiled separately so it wouldn't need opencbm?

    I will put up recent binaries tonight.

    --

    Peter Rittwage

    C64 Preservation Project

    Bitte melde dich an, um diesen Link zu sehen.

    NIBTools

    Bitte melde dich an, um diesen Link zu sehen.

  • Well, compiling nibconv without compiling opencbm is possible, you just need to copy IIRC 2 files from the opencbm source code repository, version.h and IIRR opencbm.lib. The latter beiing a binary library of opencbm.

    This way for compiling nibconv you just need a recent visual studio, not anything more.

    That's the whole thing. But clearly that cannot work for nibread, for which 6502 assembler has to be compiled.

    ---
    Meine Github-Projekte: Bitte melde dich an, um diesen Link zu sehen. Vice 3.2 Improved: Bitte melde dich an, um diesen Link zu sehen.
    1541 Ultimate II / Ultimate 64 Firmware Releases: Bitte melde dich an, um diesen Link zu sehen.
    1541 Ultimate II Update instructions: Bitte melde dich an, um diesen Link zu sehen.

  • Thanks for your new binary of nibtools.

    I've let git rebase my patches to version 634.

    ---
    Meine Github-Projekte: Bitte melde dich an, um diesen Link zu sehen. Vice 3.2 Improved: Bitte melde dich an, um diesen Link zu sehen.
    1541 Ultimate II / Ultimate 64 Firmware Releases: Bitte melde dich an, um diesen Link zu sehen.
    1541 Ultimate II Update instructions: Bitte melde dich an, um diesen Link zu sehen.

  • I'm confused - you have obviously compiled nibconv, so you broke that out somehow and compiled separately so it wouldn't need opencbm?

    Not quite. Long story short:

    -First there was "nibconv67" by forum user ZAK256 ( Bitte melde dich an, um diesen Link zu sehen. ), which was a byproduct of prior discussions and efforts to find and - where necessary - recreate original uninstalled G64 disc images particularly of the German version of Geos 2.0 and its various applications. The "67" in the name obviously being derived from the Geos copy protection peculiarity (the tool simply replaces all regular tail gaps in a G64 image with the Geos ones, thus satisfying the copy protection check).

    -A while later, markusC64 looked at the (regular) nibconv code and dealt with a few bugs he found, and in the process also implemented the "nibconv67" approach plus a few other similar copy protection patches (e.g. Geos 1.2 and Timex V1) to optionally apply in a D64-to-G64 conversion. This is probably what you've mostly seen here.

    By now it's beginning to look complicated as to what is what, i.e. which code revision is being used where and includes exactly which fixes and new options. So the question will probably be where to host such a, well, "fork" of nibconv and what exactly to call it, so as not to confuse it with the regular nibtools.

  • Quick testset version 634:

    nib usually works. But sometimes it fails. Repeating helps.
    nb2 always fails (just like version 613). Version 528 (?, the one from root.org, shows "release 528" when starting) nearly always succeeds in creating nb2.

    ---
    Meine Github-Projekte: Bitte melde dich an, um diesen Link zu sehen. Vice 3.2 Improved: Bitte melde dich an, um diesen Link zu sehen.
    1541 Ultimate II / Ultimate 64 Firmware Releases: Bitte melde dich an, um diesen Link zu sehen.
    1541 Ultimate II Update instructions: Bitte melde dich an, um diesen Link zu sehen.

  • Quick testset version 634:

    nib usually works. But sometimes it fails. Repeating helps.
    nb2 always fails (just like version 613). Version 528 (?, the one from root.org, shows "release 528" when starting) nearly always succeeds in creating nb2.

    Possibly you have a dodgy cable or CIA chip, or system is near some interference. I know if I have a television on next to my ZF, I get errors in SRQ. It's very sensitive and pushes the CIA to the border of speed.

    --

    Peter Rittwage

    C64 Preservation Project

    Bitte melde dich an, um diesen Link zu sehen.

    NIBTools

    Bitte melde dich an, um diesen Link zu sehen.

  • Well, that all does not explain why it is working with the older version nearly always.

    Anyway: Are original Commodore cables considered a good cable or a dodgy one?

    ---
    Meine Github-Projekte: Bitte melde dich an, um diesen Link zu sehen. Vice 3.2 Improved: Bitte melde dich an, um diesen Link zu sehen.
    1541 Ultimate II / Ultimate 64 Firmware Releases: Bitte melde dich an, um diesen Link zu sehen.
    1541 Ultimate II Update instructions: Bitte melde dich an, um diesen Link zu sehen.

  • No idea- there are many variables involved. Most trace back to cabling and interference from outside sources (ZF is unshielded, as are many wires). I use parallel on my setup, because even though SRQ does work, it is not reliable for me either. For some, it is.

    --

    Peter Rittwage

    C64 Preservation Project

    Bitte melde dich an, um diesen Link zu sehen.

    NIBTools

    Bitte melde dich an, um diesen Link zu sehen.

  • Wär's nicht wirklich mal sinnvoll, das ganze umzubenennen? Bessere Unterscheidbarkeit wäre schon erstrebenswert. "nibconv67" war als Name schon gut so, aber jetzt verliert man so langsam den Überblick. Ich weiss nicht, "nibpatch" oder so?

    Ich denke, ich werde die nächste EXE nibconv+ nennen. Und als Versionskennung wird die - wenn die beispielsweise auf Revision 637 aufbaut, 637+3 liefern, weil es 3 Commits von mir zusätzlich gibt.
    Das bekomme ich nämlich durch einen Define in den Compilereinstellungen hin und muss so den Sourcecode nicht verändern. Den will ich nämlich, wie bereits erklärt, so nah am Original wie möglich lassen, damit das automnatische Mergen geht.
    Gibt nämlich kaum noch Änderungen von mir, die aktuellen Änderungen funktionieren einfach und müssen nur auf neue Upstreamversionen gemergt werden.

    ---
    Meine Github-Projekte: Bitte melde dich an, um diesen Link zu sehen. Vice 3.2 Improved: Bitte melde dich an, um diesen Link zu sehen.
    1541 Ultimate II / Ultimate 64 Firmware Releases: Bitte melde dich an, um diesen Link zu sehen.
    1541 Ultimate II Update instructions: Bitte melde dich an, um diesen Link zu sehen.