Projektvorschlag 1570-II

There are 285 replies in this Thread which has previously been viewed 42,580 times. The latest Post (June 27, 2021 at 6:36 PM) was by kinzi.

  • Inzwischen habe ich ja die Lösung, den Checksummencode auf dem 64er laufen zu lassen. Das klappt einwandrei und so oft werde ich da nicht mehr dran drehen. Hoffe ich. :biggrin:

    Ein anderer Ansatz wäre es, das ROM in VICE einzubinden und auf die Speicherstelle einen Breakpoint zu setzen, um den richtigen Wert abzulesen.

    Dann hat Michael Steil ja noch ein Python-Skript für den C128: https://www.pagetable.com/?p=1058. Ich weiß aber nicht, ob der C128 das gleiche Prüfsummenverfahren benutzt wie die 157x.

  • Übrigens scheint es kein JiffyDOS für die 1570 zu geben?

    Ich habe jetzt mal das bereits angepasste 1571CR-Jiffy-ROM genommen und den 1570-Diff darauf angewendet. Soweit ich das sehe, ist nur an zwei Stellen ein Unterschied; die Details stelle ich nachher hier ein.

    strik Könntest du dann da bitte mal ein halbes Auge drauf werfen? Du siehst das vermutlich in Sekunden, was das an dieser Stelle macht.

  • Ich habe jetzt mal das bereits angepasste 1571CR-Jiffy-ROM genommen und den 1570-Diff darauf angewendet. Soweit ich das sehe, ist nur an zwei Stellen ein Unterschied; die Details stelle ich nachher hier ein.

    Das 1571CR ROM? Das unterscheidet sich doch massiv vom 1570 ROM.


    Könntest du dann da bitte mal ein halbes Auge drauf werfen? Du siehst das vermutlich in Sekunden, was das an dieser Stelle macht.

    Wo kann ich das sehen?

  • Das 1571CR ROM? Das unterscheidet sich doch massiv vom 1570 ROM.

    Ich habe mich wohl ungenau ausgedrückt. ^^

    Ich habe ja heute Nacht deinen Diff 1570-01--1571-03 als Vorlage zum Patchen des 1571CR-ROM angewendet, um ein 1570CR-ROM zu bekommen. Das dürfte geklappt haben, muss ich noch gründlich testen.

    Nun wollte ich auch noch ein 1570CR-JiffyDOS. Es gibt aber kein JiffyDOS für due 1570, um einen Diff 1570JD <-> 1571JD zu machen. Also habe ich einfach den gleichen Diff wieder als Vorlage zum Patchen diesmal des 1571CR-JD genommen. Das hat ähnlich gut geklappt wie im oberen Absatz, JiiffyDOS und CBM-DOS sind an den Stelleb, wo sich 1570--01 und 1571-03 unterscheiden fast gleich - bis auf zwei Stellen.

    Und da kämst du ins Spiel - ich weiß nämlich nicht, was diese beiden Stellen im 1571CR-JiffyDOS machen, bzw. müsste mich mühsam einarbeiten. Du weißt das vielleicht schon beim Draufschauen.

    -00A726 1 8D D7 FE sta MAXTRACK_ADJUSTED

    +00A726 1 8D AC 02 sta MAXTRACK_ADJUSTED

    und

    -00A7C7 1 4C CE A7 jmp LA7CE

    +00A7C7 1 AD 0F 18 lda VBC_PAUNBUF1

    Das blöde ist, dass ich keinen 1571CR-Jiffy-Sourcecode habe. den muss ich noch schnell irgendwie disassemblen, Moment.

  • Also, bei der 1570 und 1571 steht da:

    -00A726 1 8D D7 FE sta MAXTRACK_ADJUSTED

    +00A726 1 8D AC 02 sta MAXTRACK_ADJUSTED

    und

    -00A7C7 1 4C CE A7 jmp LA7CE

    +00A7C7 1 AD 0F 18 lda VBC_PAUNBUF1

    Beim JiffyDOS der 1571CR steht an diesen zwei:

    OK, hätte ich selbst drauf kommen können, dass das ein Jump in einen freien Bereich sein wird ... dort steht:

    Was macht der Code anders/mehr im JiffyDOS? Muss ich da was patchen? Der LDA/STA 02AC sieht ja verdächtig nach MAXTRACKNUM aus ... nur reicht mein Know-How im Moment nicht zu erkennen, was da passiert.

  • Es gibt aber kein JiffyDOS für due 1570, um einen Diff 1570JD <-> 1571JD zu machen. Also habe ich einfach den gleichen Diff wieder als Vorlage zum Patchen diesmal des 1571CR-JD genommen.

    Ist da jetzt als Abfallprodukt ein 1570-Jiffy entstanden? 8\|

    Please login to see this picture.

    '°'°'°'°'°'°'°'°'°Oo.~>| BASIC programmers never die! They just GOSUB without RETURN! |<~.oO°'°'°'°'°'°'°'°'°'

  • Ist da jetzt als Abfallprodukt ein 1570-Jiffy entstanden?

    Das wäre im Moment noch der Plan, ja.

    Ein 1570CR-CBM-ROM für die 1570-II.

    Und ein 1570CR-Jiffy-ROM für die 1570-II.

    Mal sehen, ob's klappt.

  • Ein 1570CR-CBM-ROM für die 1570-II.

    Und ein 1570CR-Jiffy-RM für die 1570-II.

    Und ein 1570-alt-Jiffy? :whistling::D

    Please login to see this picture.

    '°'°'°'°'°'°'°'°'°Oo.~>| BASIC programmers never die! They just GOSUB without RETURN! |<~.oO°'°'°'°'°'°'°'°'°'

  • im JiffyDOS der 1571CR steht an diesen zwei:

    Also: A721 A9 47 LDA #$47 ; $47 = 71; maximale Tracks 70 + 1
    A723 2C BYTE $2C ; bit-befehl zum maskieren

    A724 A9 24 LDA #$24 ; $24 = 36; maximale Tracks 35 + 1


    die originale 1571 speichert das nun in MAXTRACK ab ($02AC), während die 1570 es in $FED7 speichert, was ein NOP ist.

    JD patched das nun. Wieso? KEine Ahnung. Ich kenne mich bei JD nicht aus. ;)

    Wenn ich den Code nicht völlig falsch verstehe kannst du den Patch einfach so übernehmen.

    Der Code bei $B5E2 ist für mich suspekt; Ich vermute, dass bei bestimmten Fehlermeldungen auf die andere Diskettenseite gewechselt werden soll. Nun können aber die Bits 0-4 gesetzt werden. Bit 0 ist Eingang, "tut nicht weh." Bit 1 ist aber Ausgang und bestimmt, ob der serielle Port Ein- oder Ausgang ist. Offenbar scheint es JD egal zu sein, dass er den stört, je nach Fehlermeldung. Bit 2 ist die Diskettenseite, die verändert werden soll. Bit 3 und Bit 4 sind unbenutzt.

  • JD patched das nun. Wieso? KEine Ahnung. Ich kenne mich bei JD nicht aus.

    Gut, dann sind wir jetzt gleich schlau. ^^ Ich dachte, wenn du dir den angehängten Jiffy-Code bei $B5xx anschaust springt dich der Grund an. :biggrin:

    Egal. Ich habe noch 5 Stellen gefunden, wo ein LDA $02AC gemacht wird und drei Stellen mit einem STA $02AC. Diese habe ich einfach mal frech mit $FED7 ersetzt. Mehr als nicht gehen kann es ja nicht. :bgdev Ich werde es gleich noch ausprobieren.

  • Gut, dann sind wir jetzt gleich schlau. ^^ Ich dachte, wenn du dir den angehängten Jiffy-Code bei $B5xx anschaust springt dich der Grund an.

    Ich hatte noch den letzten Absatz ergänzt. Es scheint, als ob JD bei bestimmten FEhlermeldungen auf die andere Diskettenseite umschalten will.
    Wieso es das will ist mir aber unklar. Und wieso es manchmal $00 (wie die 1570/1571) und manchmal $20 zurückgeben will auch. Das wird wohl in anderen Patches begründet liegen.

  • So, also die 1570-II mit CBM-DOS läuft mal, laden funktioniert. Die Zweiseitenbefehle führen wie erwartet zu einem SYNTAX ERROR. Mehr muss ich dann noch ausprobieren (GEOS, usw.).

    JiffyDOS läuft auch an, "fühlt" sich aber langsam an. Außerdem blinkt die Act-LED langsam beim Laden, so als ob die Spur nicht stimmen würde.

    Diesen Moment erledigt, es scheint, als ob der Kopf dreckig war. Laden funktioniert auch, und zwar gewohnt schnell. Weiteres folgt.

    Ich hatte noch den letzten Absatz ergänzt.

    Danke! Lass mal gut sein und hirn dich da nicht rein, ich werde mich da einfach "empirisch" nähern. :biggrin:

  • Zwei nette Details am Rande, über die ich gerade gestolpert bin:

    • Die vorliegende 1571-II läuft auch, wenn man vergessen hat, den 6526 auf die Adapterplatine zu stecken, dann halt ohne Burst-Mode - langsam aber einwandfrei. ^^
    • Als 6526 für die Adapterplatine eignen sich insbesondere 6526 mit defekten Ports, da nur das Schieberegister verwendet wird. Die bekommen da also eine neue Aufgabe - nicht wegschmeißen!