Posts by markusC64

    Man kriegt ja keine REU/1750XL mit 2 MB zu einem vernünftigen Preis....

    Das war für mich für einigen Jahren der Grund, meine ersten "1541 Ultimate" zu kaufen. Wenn man an die Preise für eine REU denkt dazu noch die Module, die jene emuliert, dann erscheint deren Preis schon im ganz anderen Licht.


    Ach wirklich? ;)

    Ich verweise aber lieber auf öffentliche Downloadquellen, damit das jeder testen kann, nicht nur F64-Wolke-Anwender... und man da so schlecht auf die Dateien verlinken...

    Das hat was für sich. Anderseits kann man damit prüfen, ob sich eine verifizierte Version anders verhält als jene, die man gefunden hat (und womöglilch gecrackt ist). wenn man dann weiß, ob es laufen muss, kann man ja noch immer verlinkbare Quellen suchen.

    Ja, es rekonstruiert dem. Prinzipbedingt kann das Programm aber nur bei einen ansonsten komplett leeren Track. Macht aber nichts.


    Wobei ich zugeben muss, ich habe nur die Version für normales Geos 2.0 ohne "R" ausprobiert...



    Edit: Wobei das D64 mit entfernten Kopierschutz vom SD2IEC bereits starten sollte - das SD2IEC emuliert quasi die Kopierschutzabfrage.

    Ansonsten noch eine Idee: Nimm deine funktionierenden G64, wandel die nach D64 (ja, der Kopierschutz ist dann flöten gegangen). Du schreibst, D64 kannst Du zum C64 übertragen. Mach das mit der Systemdisk und dem Sicherheitssystem. Weitere optional.


    Anschließend sollte der Anhang den Kopierschutz auftragen, nachdem er den relevanten Track durch Umverscieben der Dateien freigemacht hat. Benutze dazu "georamkonv.64".

    Files

    • FAfG2.D64

      (174.85 kB, downloaded 2 times, last: )

    BTW schreiben: bei nibwrite gibts die Option -s, die explizit den Burst-Modus der 1571 aktiviert. Kann natürlich sein, dass das automatisch erkannt wird. Ich gebe solche Optionen halt gerne explizit mit.

    Müsste nachschauen, wann genau. Vor Jahren (sic!) wurde das Default in Seriell geändert - zumindest wenn eine 1571 dranhängt. Aber stimmt, es schadet definitiv nicht. In Beispielen muss ich es jedoch aus jenem Grund nicht aufführen :-)

    Beim G64 läuft die 1571 mal kurz an und dann ist es auch schon wieder vorbei.

    Bitte nicht per GUI versuchen. An der Kommandozeile


    nibwrite dateiname.g64


    eingeben (seit längerem ist "-s" für seriell nicht mehr notwendig) und die Ausgaben uns mitteilen. Mir sind nämlich die Kristallkugeln ausgegangen.

    Der Kopierschutz von Geos funktioniert teilweise über die "illegalen" Tracks ab 36. Aber den Kopierschutz, den Du beschreibst, habe ich - wenn ich nicht irre - im Anti-Cracker-Buch von Data Schlecker gelesen.

    Bis Geos 1.2, ja. Und bei der US-Version bis Geos 1.3.


    Bei den deutschen Versionen ist aber ab Geos 1.3 ein anderer Kopierschutz im Einsatz, der die Gaps zwischen den Sektoren im Vergleich zum Normalzustand abändert. Eine ausführliche Darstellung kann ich mir sparen, hier https://www.c64-wiki.de/wiki/GEOS-Kopierschutz ist das sehr ausführlich beschrieben.

    Ich habe auf meiner Festplatte die folgenden paarweise verschiedenen Versionen liegen:


    Final_Cartridge_3_1987-09_v1.crt

    Final_Cartridge_3_1987-09_v2.crt

    Final_Cartridge_3_1987-09_v3.crt

    Final_Cartridge_3_1987-11.crt

    Final_Cartridge_3_1988-05.crt

    Final_Cartridge_3_1988-12.crt

    Final_Cartridge_3_1988-13.crt


    Es gibt also mindestens 7 Versionen.

    Werd wohl nicht umhin kommen, mir einen "Mausprüfstand" zu bauen, sprich kleines Board mit allen Breakout Pins und Stromversorgung und dann mal mit dem Logic-Analyzer drüber schaun...

    Bedenke, Du brauchst eine analoge Signalmessung. Eine mit TTL Pegeln oder ähnlich tut es nicht. Da die meisten Logic-Analyzer binär messen, könnte das ein Problem sein.


    Ja es stimmt, die relativ teuren Logic Analyzer können zumindest teilweise auch analoge Signale messen...

    Hat vielleicht eines dieser Freezer-/Utility-Module des C64 bereits eine eingebaute 1351 linear-Mode Unterstützung oder gibt es Spielmodule, die eine solche haben?

    Final Cartridge 3 habe ich in Verdacht, eine echte 1351 zu unterstützen. Mit SwinSID geht nämlich die Mausdetektion daneben, ohne dass eine angeschlossen ist. Das kann eigentlich nur passieren, wenn der Linearmodus erwartet wird.

    Irren ist menschlich, und nur ein Thor wird auf seinen Irrtum bestehen.


    Aufgabe: Teile 12 auch 10.


    Besuchen wir es mal: 12 * 205 = 156 (mod 256). Durch 2 macht 78.


    Probe: 78*10 - 3*256 = 12


    Tja, mit den 12 / 10 = 1 Rest 2 hat die 78 aber wenig zu tun.


    Nachtrag: Zusammenfassung: mod 256 stimmt das also, aber um nach Dezimal zu wandeln, bauchen wir ja die Division mit Rest - wobei der Rest nicht zwangsweise ermittelt werden muss. Oder nur der Rest ermittelt. Und das bekommen wir per estklassenaithmetik (so nennt man das Rechnen modulo konstante) nicht.

    Ich bleibe mal bei den Beispiel mit 16 bit.


    Auf https://planetcalc.com/3298/ ist ein notwendiger Algorithmus implementiert [Edit: nämlich der, um die 5 modulo den passenden Wert zu invertieren].


    Wenn man da 5 und 256 eingibt, so erhält man als Koeffizient für den kleinen Zahlwert eine -51. Es gilt -51 = 205 (mod 256).


    Machen wir das ganze mit 5 und 65536. Wir erhalten -13107, was mod 64k gleich 52429 ist (einfach 64k draufaddieren).


    Du kannst also statt durch 10 zu dividieren dann mit 52429 multiplizieren, Overflow wegwerfen und einmal right-shift machen.


    Mit mehr Bits entsprechend.

    Theoretisch zwar nicht, weil Du nicht weißt, ob Du von links eine 0 oder eine 1 nachschieben musst. In dem Modulo 256 ist das ja untergegangen. Das folgt aus der folgenden allgemeinen Aussage:


    Allgemein gilt nämlich, dass wenn ggt(x,n)=k ≠ 1 ist, dann ist das Ergebnis nur noch modulo n/k eindeutig. Also in unseren Fall Modulo 256/2 = 128 - egal, ob man x als 10 oder 2 annimmt, denn n ist Zweiterpotenz.


    Und das ist auch die Lösung: Im Anfang mit mehr Bits (und damit einen größeren Modulo) rechnen, so dass am Schluss genügend passende Bits übrigbleiben. Bei jeder Division durch 10 wird es ein Bit weniger.


    Edit: Wenn Du also von $1004 das Bit 8 nicht wegwirfst, dann passt es...


    Edit 2: Wenn Dein Wert, den Du durch 10 teilen willst, hinreichend klein ist, dann kannst D natürlich annehmen, Du musst eine 0 nachschieben.

    Echte Division ist ein ziemlich komplexer Algorithmus, und das willst du nicht. Eine Division ist jedoch dasselbe wie eine Multiplikation mit dem Kehrwert. Da 1/10 keine ganze Zahl ist, könnte man meinen, dass dies nicht möglich ist, aber es ist trotzdem möglich, weil jede Operation in einem 8-Bit-Computer modulo 256 ist. Und wenn man einen Modulo hat, dann gibt es auch einen Modulo-Inversen. Sobald der Kehrwert bekannt ist kan die Multiplikation oft mit Shifts und Adds gemacht werden.

    Ich hoffe, ich habe Dich nur falsch verstanden.


    Eine Zahl x hat einem Inversen modulo m, wenn ggT(x,m)=1 ist. In der Kryptographie hast Du häufig mit Primzahlen zu tun, so dass der ggT immer 1 ist. Oder beim RSA den Produkt zweier Primzahlen. Da braucht es dann viel Pech, dass der ggT nicht 1 ist - in dem Fall ist der ggT dann nämlich eine der beiden Prinzahlen und das Verfahren ist gebrochen.


    Da 10 und 256 beide gerade Zahlen sind, haben wir schon mal 2 als gemeinsamen Teiler, der ggT ist somit nicht 1.



    Edit: Ich kann meine Aussage auch am Beispiel beweisen: Betrachte 2 * 10 = 130 * 10 (mod 256). Ja, mod 256 sind beide Werte gleich. 20 * inverse(10) müsste also sowohl 2 als auch 130 sein. Q. E. D.

    Allerdings ist mir keine Karte bekannt, die beides gleichzeitig hinbekommt. Wird auch ein wenig tricky, denn der Kernal-Ersatz fordert /GAME=0, /EXROM=1; das CBM80-Modul aber /GAME=1, /EXROM=0.


    Ob das das EF3 kann weiß ich nicht - ich wûsste aber gar nicht, wie man das aktivieren soll während der Kernal-Emulation.

    Ich habe im EF3 diesbzgl. auch nichts gefunden und gehe davon aus, dass gleichzeitig da nicht geht. Wobei ich auch auf Registerebene geschaut habe...


    Die 1541 Ultimate II(+) kann das gleichzeitig. Definitiv.


    Ich weiß nicht, welche Batch Gideon vorbereitet - kommen ja 1541 Ultimate II+ und Ultimate 64 in Frage. Aber die sichtbaren Anzeichen sind eindeutig, er bereitet eine neue Fertigung vor.


    Nachtrag: Das die länger dauern kann, das bestreitet niemand...

    Richtig. Manchmal (wie bei Soul Force) hat man bei einem leeren EEPROM aber plötzlich seltsame Defaults, wie Lautstärke 0. Daher würde ich ein EEPROM, sofern in der digitalen Datei vorhanden, mitnehmen.


    Für den umgekehrten Weg (echtes GMOD2 Cartridge nach Emulator) führen sicherlich viele Wege nach Rom. Meiner Meinung nach hat man den Flashinhalt neistens sowieso, so dass es um den EEPROM Inhalt geht. Man kann dann ein neues CRT erzeugen. Oder den Flasher im Emulator benutzen - EEPROM schreiben sollten alle GMOD2 Emulationen hinbekommen.