Please give me a moment - I am curently working on nibconv to make 'Time-X' copy protection working.
I'll explain everything - with splitted patches for better understanding.
Hallo Besucher, der Thread wurde 16k mal aufgerufen und enthält 105 Antworten
letzter Beitrag von r.cade am
nibconv: Fehlerkorrekturen
- markusC64
- Erledigt
-
-
Consumatum est - es ist vollbracht - It is finished.
Time-x v1 protected magazines are working from an d64 converted by upgraded nibconv.
I'll prepare a set of patches.
-
I have splitted the changes into patchsets - every one with a description, what it does.
For the second patchset, named "0002-Fix-GCR-parsing.patch", consider the geos128r_d1.g64. It has been created using kryoflux. nibconv without patches cannot convert it to d64. A description why is in the patch.
One more thing: The patches are created agains svn 620.
Addendum for second patch: The "end of sync not at byte boundary" does also happen when working with images in vice - after same save operations.
-
Und hier für alle noch die EXE, die jetzt den Timex v1 Support beinhaltet.
And here for everyone the exe including timex v1 support and all other patches.
Leider nicht für Timex v2.
-
I am happy to add it to the code base with your permission.Thanks,
Peter RittwageThat would be very welcome. You have the permission.
Please name my Nickname in the svn commit message.
-
Und hier für alle noch die EXE, die jetzt den Timex v1 Support beinhaltet.
Getestet mit MagicDisk 9/89. Läuft in Vice, CCS64, Hoxs64 - läuft frappierenderweise nicht in Micro64.
-
Danke.
Jetzt suche ich "nur" noch eine nib - oder besser nb2 - mit Timex v2-Schutz.Ohne jene bekommen wir den nicht rein, fürchte ich.
Der Timex Fake Header Writer bringt es irgendwie nicht. Was mich aber nicht wundert, jetzt wo ich den Schutz in der V1 gesehen habe. Er hat etwas von den GEOS-Schutz: Auch hier sind die Header- und Tailgaps verändert. Nur diesmal auf einen ungültigen Wert (in der ganzen Zeit kein Magnetisierungswechsel). Und die Tailgap muss auf ganze 22 Bytes verlängert werden.
ID1 und ID2 im Header jedes Blockes sind konstant und stimmen nicht mit den Eintrag in Track 18 Sektor 0 Userdaten überein, aber das muss ja auch nicht sein.Wenn ich davon ausgehe, dass man den Geos-Schutz kaum mit eienr 1541 ohne Parallelkabel aufbringen kann (Track ohne Inhalt mal ausgenommen!), so wird hier ähnliches gelten. Beim Geos-Schutz ist mir das zumindest nicht begenet. [*}
Ja, es gab in der 64'er dazu ein Programm. Das hat den Track aber vorher leergemacht, indem der Inhalt auf andere Sektoren auf anderen Tracks verschoben worden ist. Das geht bei Track 18 aber nicht - eine analoge Lösung scheidet also aus.
Nachtrag: Ebenfalls eine gute Frage: Wenn man so ein erzeugtes g64 (Magic Disk, Game on) mit ZoomFloppy und nibwrite auf echter Hardware bringt: Läuft es dann?
-
(Nachtrag: bei MD09/89 läuft auch die Rückseite, wo in dieser Ausgabe (und IIRC nur in dieser) ja ein Spiel kopiergeschützt war.)
Tosec kennt NIBs von MagicDisk, anbei mal Ausgabe 10/90 - ich denke das sollte Timex V2 oder V3 sein. Ein ("reguläres") G64 davon läuft in Vice (auch Trunk), allerdings anscheinend in keinem anderen Emulator. Wie "verlässlich" dieses NIB also ist, keine Ahnung.
(Vielleicht ist mit Vorsicht zu geniessen, dass es in Vice (Trunk) läuft. Wie gesagt kann man in Vice (Release) Timex V2/3 in einem D64 per Warpmodus-Verschlucker überspringen.)
-
Ups, ja, das mit der Vice-Ungenauigkeit hattest Du bereits geschrieben.
Nur muss man bei der Convertierung nach .g64 mittels nibconv raten: Beim latzten Mal tat es "-f0" - im Internet wird zu "-f3" geraten, aber das hat ein g64 erzeugt, welches an viel zu vielen Stellen 00-Bytes hatte, das hätte keine echte 1541 lesen können (Track 18 Sektor 0 und 1 müssen lesbar sein).
Timex ist sowieso Schrott: Ich habe Magic Disk 09/89 im Original. Nur läuft die nicht mehr. Kryoflux hat mir verraten, dass auf der Disk Track 18 irgendwie den Schutz nicht mehr hat. Den muss die Software also absichtlich vernichtet haben. Erinnert mich an Timex Kopierschutz von Game On/Magic Disk 64 in G64 machbar?
Timex Kopierschutz von Game On/Magic Disk 64 in G64 machbar? habe ich heue als Meldung auch gesehen. Dann sind nicht unwahrscheinlich die Tailgaps in der falschen Länge.
Acho ja: MD 09/89 ist die einzige, die ich mit Timex im Original habe. Da die ja schon auf Originalhardware nicht richtig lief. habe ich danach den Kauf damals eingestellt.
-
Timex wurde ja auch bei kommerziellen Spielen eingesetzt. Mal schauen was da (nicht) geht.
Würde eigentlich originaler Quellcode weiterhelfen? Weil, den gibt's ja:
-
Hm, ja, das wäre dann Version 3.0. Ich bin leider im Lesen von solch stark Timingabhängigen Teilen ganz ungeübt. Trotzdem dürfte das hilfreich sein.
Lt. dem zuvor verlinkten Thread benutzt Magic Disk V2.0, was ich nicht verifizieren kann.
Teste gerade Magic Disk 10/90. Auf Track 18 ist nichts erkennbar, was nach Timex riecht. Außerdem funktioniert das nib, nach d64 konvertiert, in vice und in css64 (demo).
-
09/89 und thereabouts müsste V1 sein, spätere (1990) wohl eher V2, wie der Text im Fake Header Writer meint. Die V1er sehen beim Laden nicht nur anders aus, sie sind auch nicht in Vice "überspringbar".
Gerade mal ein G64 von Flimbo's Quest (von c64preservation) gestartet, rein optisch von den horizontalen Linien ausgehend ist das Timex V2. Das G64 startet jedenfalls nur in Vice (meine Hochachtung vor Micro64 sinkt gerade etwas... ich denke, der soll so gut sein...). Pete listet sowas alles unter "weak bits", Timex an sich hat er nicht der Disk Database.
-
Würde passen, ich schau mir das mal an.
Schaut gut aus. Alle Sektoren auf Track 18, außer Sektor 0 und 1, sind mit ungültigen Daten gefüllt (inkl. Checksum). Man sieht sogar die sporadisch auftretenden 1'en, die die Leseelektronik reinhaut. Hier ist Raten angesagt und die wieder hinzubügeln. Dann sollte die Kompatibilität höher sein als beim Original g64.
Und mit etwas Glück passt es auch für die Magic Disk. -
Timex-V2 Fortschritte - ich habe Magic Disk 04/90 im Vice zum laufen bekommen.
Anleitung:1. Mit nibconv eine g64 erstellen - ohne Optionen.
2. mit g64conv eine bearbeitbare txt-Datei daraus machen.
3. Den String "trk 18 sec 18" mit einem Texteditor suchen.
4. Die darauffolgende Sync-Markierung auf Länge 400 erweitern (ist: Länge 32). Dazu einfach die Zahl 32 hinter sync durch eine 400 ersetzen.
5. Wieder eine g64 aus der txt erstellen mit g64conv.
6. Der Timex-Fake-Header-Writer funktioniert jetzt im Emulator mit Timex-V2.Das Verlängern der Sync-Markierung dient nur dazu, den Track zu verlängern, so dass Platz für den defekten Sektor, den der Timex-Fake-Header-Writer vorhanden ist, ohne dass Daten überschrieben werden. Könnte man auch durch klassische Gaps erreichen, aber die stellen sich derzeit im g64conv nicht so einfach ein. Und er überschreibt eh ab dem Anfang jener Sync-Markierung ein gewisses Stück vom Track, so dass es recht egal ist, wie man den Platz erzeugt.
Stellt sich nur die Frage, warum der Track zu kurz sein kann, wenn es auf original Hardware passt.
Laut meiner Erkenntnis haben folgende Ausgaben einen Timex-V2 Schutz:
Magic Disk und Game On jeweils Ausgaben 04/90 und 05/90. Die übrigen Ausgaben scheinen keine Schutzabfrage zu haben, sondern nur den Loader. Sieht man auch, dass bei jenen Ausgaben im Direcotory eine Zeile ist, die auf Timex explizit hinweist (genauso wie bei den Timex V1 Ausgaben).
Alternativ kann man Schritt 4 ersetzen durch:
4. Patchen der txt-Datei, so dass der Schutz aufgetragen ist.
Schritt 6 entfällt dann.
-
Ach ja: Da der Timex-V2-Schutz den Inhalt von Track 18 Sektor 18 "vernichtet", ist das eigentlich schon nicht mehr im Bereich dessen, was ein d64->g64 Konverter machen sollte. Von jenen erwarte ich nämlich, dass d64->g64->d64 wieder die ursprüngliche Datei liefert, wenn die d64 ohne Fehler war.
-
Hier der Patch, um den Timex-V2 Schutz direkt in der Textdatei vom g64conv aufzubringen.
Man suche nach "trk 18 sec 18" und ersetze den Rest des Tracks 18 durch den Inhalt aus dem Anhang.
-
( -Und da ich mich gerade gefühlt durch zwölfzehn D64-Originale mit Cyan Loader gehangelt und Janis Patch manuell per Hex-Editor angebracht habe, wäre ja spassig wenn z.B. nibconv sowas als custom protection handler für einen erledigen könnte... )Das geht ab sofort mit der neuen Version von g64conv (im Thread nebenan). Hat nur 31 neue Zeilen gebraucht - um eine d64 -> g64 Umwandlung maximal anpassbar zu haben. Beispiele sind dabei, inkl. Cyan Loader Patch. Und die Timex V1 und Timex V2.
-
Magic Disk und Game On jeweils Ausgaben 04/90 und 05/90.
Äh, ja.
Kapier grad garnix mehr. Diese Ausgaben getestet mit CCS64, und sie laufen "as is" vom D64. Keinen Schimmer wieso.
-
Hi Markus - I have integrated the GCR and G64 patches. I left the GEOS patching D64 to G64 since that really should be a special forked tool you manage if that is OK.
-
Äh, ja.
Kapier grad garnix mehr. Diese Ausgaben getestet mit CCS64, und sie laufen "as is" vom D64. Keinen Schimmer wieso.Von den Ausgaben gibt es in der Wolke auch gepatchte Versionen, denen die Kopierschutzabfrage fehlt. Solange ich nicht ausschließen kann, dass Du jene Version benutzt hast, ziehe ich diese Möglichkeit in Betracht.
Unter Vice habe ich jedenfalls die ungepatchte Version aus der Wolke als d64 überhaupt nicht starten können - kurz vor dem Menü friert die dann immer ein.Wobei: Die Aussage über die anderen Ausgaben bezieht sich selbstredend auf die vorhandenen d64. Leider kann ich nicht nachprüfen, ob die Original sind.
"Meine" Version habe ich aus "Forum64_Wolke/Software/Coverdisks_Magic Disk.zip".