DT128-Native-Copy Test für MegaPatch128

Es gibt 735 Antworten in diesem Thema, welches 110.881 mal aufgerufen wurde. Der letzte Beitrag (5. April 2023 um 12:09) ist von skern.

  • Korrektur: MP64 kann das, MP128 bleibt da außen vor (da stellt sich der Assembler und die Speicherverwaltung quer).

    :@1@::cry:
    Tja wenn's nicht geht, geht es nicht.
    Dann bleibt ja noch GeoDOS (40Z-Modus) und der uIEC-Manager.

    Gruss C=Mac.

  • Ein Feature könnte ic im TopDesk 128 mir noch wünschen: Wenn eine Applikation laut Infoblock sowohl 40 als auch 80 Zeichen kann, dann wäre eine Tastenkombi gut, welche jene Applikation abweichend vom Standardverhalten auf den 40 Zeichen Bildschirm startet. Und sei es nur, damit man Applikationen einfach auf den 40 Zeichen Bildschirm testen kann.

    ---
    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.

  • Ein Feature könnte ic im TopDesk 128 mir noch wünschen: Wenn eine Applikation laut Infoblock sowohl 40 als auch 80 Zeichen kann, dann wäre eine Tastenkombi gut, welche jene Applikation abweichend vom Standardverhalten auf den 40 Zeichen Bildschirm startet. Und sei es nur, damit man Applikationen einfach auf den 40 Zeichen Bildschirm testen kann.

    Na ja, ich stelle dafür den MegaAss vor dem Assemblieren auf 40 Zeichen um und kann dann das erzeugte Programm gleich mit 40Z starten.
    Wenn es Dir darum ging?

    Pusti64

  • Eher so, wenn beispielsweise hier im Forum Programme auftauchen, die es zu testen gilt. Oder ich anderweitig an Geos-Applikationsimages komme.

    ---
    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.

  • Ein Feature könnte ic im TopDesk 128 mir noch wünschen: Wenn eine Applikation laut Infoblock sowohl 40 als auch 80 Zeichen kann,

    Naja, muss ja nicht unbedingt ein Tastenkürzel sein....

    Für Hilfsprogramme (DAs) gibt es das ja schon im Menü Datei. Müßte man mal schauen, ob und wie man das in die anderen Dateitypen (sofern sinnvoll und nötig) übernehmen kann.....

    Aber ich würde sagen erstmal ein Probleme fertig lösen und dann das nächste :wink:

    Gruß
    Werner

  • Ein Feature könnte ic im TopDesk 128 mir noch wünschen: Wenn eine Applikation laut Infoblock sowohl 40 als auch 80 Zeichen kann, dann wäre eine Tastenkombi gut, welche jene Applikation abweichend vom Standardverhalten auf den 40 Zeichen Bildschirm startet. Und sei es nur, damit man Applikationen einfach auf den 40 Zeichen Bildschirm testen kann.

    Anbei eine neue Testversion :bgdev:bgdev:bgdev:bgdev welche über dieses Feature (Menü: Geos/Anwendungen/40_80) verfügt :wink:
    Unteranderem wurde auch das Fehlverhalten beim PowerUser-Copy behoben.

    C=O Ordner anlegen auf 1541/71/81 & NATIVE
    C=U NATIVE-UV anlegen
    C=R leeres NATIVE-UV löschen

    Feedback ist wie immer erwünscht und die Benutzung auf eigene Gefahr :bgdev:bgdev:bgdev:bgdev:bgdev:bgdev !

    Pusti64

  • Ähmmm, war das nicht C= Shift U bzw. C= Shift R ?
    Gruß

    Verdammt Fehler :bgdev !

    Also korrigiert.

    C=O Ordner anlegen auf 1541/71/81 & NATIVE
    C=U NATIVE-UV anlegen
    C= Shift R leeres NATIVE-UV löschen

    Später eventuell:


    C= Shift M NATIVE-UV umbenennen
    C= Shift D leeres NATIVE-UV löschen

    Testphase halt :wink:

    Pusti64

  • Ich kann damit den TopDesk reproduzierbar zum Absturz bringen :(

    GeoRAM-Native oder RAMNative eingerichtet.

    C=O für neuen Ordner -Funktioniert
    C=U für neues UV -> Absturz nahe $0944.

    Das passiert aber nur in der Reihenfolge... Ordner -> UV. Andersherum funktioniert es, wobei wenn man UV -> Ordner anlegt und dann wieder ein UV -> Absturz. Die Adresse ist immer die gleiche.

    Dank meines neu erlangten Wissens über das erstellen von TD-Ordnern weiß ich auch woran das liegt:
    Die Routine zum erstellen von UVs hängt hinter dem Bereich des Infoblocks der für neue Ordner verwendet wird. Die Routine beginnt aber 2Bytes zu früh und durch das löschen des Infoblock-Inhaltes werden die ersten beiden Bytes der UV-Routine auch gelöscht... -> PANIC.
    Wenn ich unter VICE die beiden Bytes vor dem Aufuf ab $6DA9 wieder herstelle dann klappt alles. Zwei zusätzliche $00-bytes vor der UV-Routine sollten also ausreichen um das zu beheben.

  • Ich kann damit den TopDesk reproduzierbar zum Absturz bringen

    Ich konnte das bisher zwar noch nicht reproduzierbar nachvollziehen, aber einen Absturz bei "$0944" hatte ich auch schon. Also die Sache mit den 2 Bytes mal ausprobieren :wink: .

    Der Text in der Dialogbox zum Erstellen sieht irgendwie blöd aus :wink: . Ich schlage vor: "Ordner-/UV-Name eingeben:" Das sind 2 Bytes weniger als der Original-Text. Somit mit den beiden Bytes von oben +-0 :wink: .

    Die Tastenkürzel funktionieren auch mit geoKeys (PC-Tastatur), Klasse!!! Das Tastenkürzel C= Shift U ist noch drin, und öffnet "UV löschen", genauso wie C= Shift R . Da wäre es überlegenswert, C= Shift R rauszunehmen. Hat irgendwie was :wink: :

    C= U - Verzeichnis anlegen
    C= Shift U - Verzeichnis löschen

    Die 40/80 Umschaltung bei "Datei" - "Anwendungen" funktioniert auch soweit.

    Dann werde ich mal sehen, dass ich "UV Umbenennen" fertig kriege (wird eventuell noch dieses Jahr was).

    Alles im Allen: Klasse Arbeit !!!!

    Gruß
    Werner

  • Ich konnte das bisher zwar noch nicht reproduzierbar nachvollziehen, aber einen Absturz bei "$0944" hatte ich auch schon. Also die Sache mit den 2 Bytes mal ausprobieren .

    Die Adresse $0944 ist hierbei irreführend... aber das mit den zwei Bytes muss zwingend erfolgen, nicht nur "ausprobieren"...
    Die Liste mit den Tr/Se-Adressen der Infoblöcke aller Ordner liegt bei $6D2B. Es wird in der Routine ":CreateOrdnerInUseList" (Seite7 in meiner kommentierten /J-Datei) bei :loop1 128 Bytes gelöscht. $6D2B+$80 ergibt $6DAB, d.h. der Bereich von $6D2B bis $6DAB-1 wird gelöscht. Die Routine UV-erstellen beginnt bei $6DA9. Das ist eine Überschneidung von genau zwei Bytes.

    Solange das Modul "Ordner" im Speicher bleibt wird es überschrieben und stürzt bei UV erstellen ab. Ruft man zwischendurch z.B. GEOS-INFO auf, dann lädt TopDesk das Modul "Ordner" erneut von Disk nach und hat damit eine funktionsfähige UV-Routine im Speicher. Bis zum nächsten erstellen eines Ordners.

    Der Text in der Dialogbox zum Erstellen sieht irgendwie blöd aus . Ich schlage vor: "Ordner-/UV-Name eingeben:" Das sind 2 Bytes weniger als der Original-Text.

    :dafuer:

  • Vielen Dank für Euer schnelles Feedback :smile:

    Das sollte sich alles leicht umzusetzen lassen.
    Mit C=Shift D war ich mir eh noch nicht ganz sicher. Da hat C=U & C= Shift U wirklich was :wink:

    Bis Werner dann soweit ist, kann ich mich in dieser Beziehung schon um TD64 kümmern.

    Bitte melde dich an, um diesen Link zu sehen. Ich hatte dafür statt 64x2 nur 63×2 Byte reserviert. Das erklärt das Fehlverhalten bzw. die fehlenden 2 Byte.

    Pusti64

  • aber das mit den zwei Bytes muss zwingend erfolgen, nicht nur "ausprobieren"...

    Man, ist er heute wieder dünnhäutig :wink::bgdev

    War ja nicht umsonst ein Smily hinter dem Wort ausprobieren .....

    Da hat C=U & C= Shift U wirklich was

    Und wir hätten C= Shift R für umbenennen frei. Passt auch irgendwie: Shift R für Rename :wink: .

    Gruß
    Werner

  • Anbei eine neue Testversion

    Ah, jetzt hab ich doch erst alles eingerichtet und dann kommt eine neue Version, ist ja schlimmer als bei Windows. :D:Peace

    Von den Tastenkürzel her bin ich der Meinung:


    C= U - Verzeichnis anlegen
    C= Shift U - Verzeichnis löschen

    Klingt vernünftig und auch irgendwie nachvollziehbar.
    Und wenn ich es richtig im Kopf habe ist C=U nicht schon in Verwendung, hoff ich mal.

    C=R geht aus meiner Sicht nicht, ist eigentlich schon in Verwendung = Reset

    Zum Umbenennen:

    Wäre nicht C= Shift M oder Shift N besser?

    C=M ist ja Datei umbenennen
    C=N ist Diskette umbenennen

    Würde von daher auch einen Sinn geben.
    Jetzt kann man sich streiten, ist ein UV eine Datei oder Diskette. :rolleyes:

    Gruss C=Mac.

  • Man, ist er heute wieder dünnhäutig :wink::bgdev
    War ja nicht umsonst ein Smily hinter dem Wort ausprobieren .....

    Und wir hätten C= Shift R für umbenennen frei. Passt auch irgendwie: Shift R für Rename :wink: .
    Gruß
    Werner

    Smiley hatte ich gesehen. Finde trotzdem darkvision's detaillierte Erklärungen immer richtig gut :wink:

    Pusti64

  • Jetzt kann man sich streiten, ist ein UV eine Datei oder Diskette.

    Dann eher eine eigene Diskette ... :wink:

    Gruß
    Werner

    PS:

    Finde trotzdem darkvision's detaillierte Erklärungen immer richtig gut

    Glaubst Du ich nicht? :wink: .

    Ist schon verblüffend, er schaut sich mal eben einen Quellcode an und sagt Dir fast sofort was da abgeht und falsch läuft. Einfach nur: :respect:

  • Allen ein gesundes neues Jahr und viel Glück !

    Anbei eine neue Testversion :bgdev:bgdev:bgdev !


    C= O Ordner anlegen auf 1541/71/81 & NATIVE

    C= U NativeUV-anlegen

    C= Shift U NativeUV-löschen

    C= Shift M NativeUV-umbenennen


    Feedback ist wie immer erwünscht und die Benutzung auf eigene Gefahr Bitte melde dich an, um dieses Bild zu sehen.Bitte melde dich an, um dieses Bild zu sehen.Bitte melde dich an, um dieses Bild zu sehen.Bitte melde dich an, um dieses Bild zu sehen.Bitte melde dich an, um dieses Bild zu sehen.Bitte melde dich an, um dieses Bild zu sehen. !

    Pusti64



  • Anbei eine neue Testversion

    Sieht ja erstmal OK aus und funktioniert auch hier soweit.

    Anmerkung:
    Ja, ich habe gesehen, dass Du da was geändert hast gegenüber meinem Code. Kein Problem :wink: .
    Ich fand es nur besser, den alten Namen extra anzuzeigen, denn wenn er gelöscht ist, sieht man ihn nicht mehr. Wie war der noch gleich :wink: ???
    Die Entscheidung überlasse ich Dir.

    Aber, wenn ich den Namen komplett lösche und Enter drücke, wird ein namenloses UV erstellt. Bis dahin kein Problem. Versuche aber mal diese UV dann nochmal umzubenennen, es geht nicht (wird in der UV-Auswahl-DB abgefangen).
    Sieht so aus, dass Du nach "Enter" prüfen mußt, ob "uvname" ungleich 0 ist. Ist es 0, dann sollte abgebrochen werden, wie ich es in meinem Code hatte.

    Da fällt mir auf: Hatte ich eigentlich nach Eingabe des neuen Namens die Prüfung drin, ob der Name schon existiert (habe den Code gerade nicht zur Hand, weil ich was ganz anderes teste)...

    Gruß
    Werner