in welchem Datensatz 0 bis 12 Du mit dem Diskettenmonitor
Hatte ich doch schon geschrieben ....
Es geht um VLIR-Datensatz 2 ($01).
Gruß
Werner
You are about to leave Forum64 to get redirected to the following address:
Please note, that the target website is not operated by us. We are not responsible for it's content nor does our privacy policy apply there.
in welchem Datensatz 0 bis 12 Du mit dem Diskettenmonitor
Hatte ich doch schon geschrieben ....
Es geht um VLIR-Datensatz 2 ($01).
Gruß
Werner
Ich war mir nicht ganz sicher, ob die 2017-Änderung von Dir wirklich nur in DS 2 gemacht wurde.
Danke Pusti64
Du hast aber schon mitbekommen, dass beim verschieben dann zusätzlich noch das File auf der Startdiskette gelöscht wird ?
Der Unterschied zwischen: Kopieren und Verschieben ist mir bekannt.
Darum auch die Frage nach einstellbar, so das man auswählen kann:
- ob man gefragt werden will
- gleich kopiert wird
- gleich verschoben wird
Gruss C=Mac.
Darum auch die Frage nach einstellbar, so das man auswählen kann:
Ich hab da mit TD128 mal etwas herumgespielt:
An der Stelle $5858 in 128_DESKTOP_AB.s scheint ja der Einsprung für Drag'n'Drop zu sein.
Bei $589a steht JSR DoDlgBox_Rout -> 20 39 22
An der Stelle hab ich mich in VICE mal in den TopDesk eingeklinkt und mal kurz was programmiert...
Dafür brauch ich etwas Platz, 34Bytes. Da ich die im laufenden TopDesk nicht freischaufeln kann und nicht weiß wo man da was rausquetschen kann, hab ich mir vom Kernal was geborgt. Ohne SuperCPU gibts da ein paar freie Bytes für solche Tests
Dann hab ich in VICE an die freie Stelle die folgenden Bytes geschrieben (genaue Adresse ge-X-ed, nicht das jemand auf die Idee kommt den freien Speicher für Programme zu nutzen ) :
Der Befehl legt dann ab der Adresse $XXc0 ein paar Bytes in den Speicher. Wer das oben nicht lesen kann:
Zuletzt muss ich noch den TopDesk dazu bringen den Code auch auszuführen. Daher:
Was soll das ganze jetzt?
Damit kann man Dateien kopieren oder verschieben ohne das die DialogBox erscheint
Drückt man beim ablegen der Dateien auf dem Ziel-Laufwerk die C=-Taste werden die Dateien automatisch verschoben.
Drückt man die linke SHIFT-Taste wird kopiert.
Drückt man keine Taste kommt die DialogBox
Wobei man die Adressen in $DC00/$DC01 nochmal testen müsste... der Wert LDA #$09 ist nur Zufall gewesen aber funktioniert...
Das funktioniert hier zumindest mal rudimentär auf den ersten Blick. Hab das jetzt aber nur am TD128 getestet. Dürfte beim TD64 ähnlich funktionieren. Aber da fehlen mir die Einsprungadressen.
Falls die Datei auf dem Ziel vorhanden ist kommt trotzdem noch die Meldung mit "Überschreiben"...
Ist nur so eine Idee...
Markus
P.S. Funktioniert auch mit TopDesk64. Ich hab da die Version vom 19.10. verwendet. Zum Test hab ich mir den Stack ausgeborgt. Sollte man für einen Patch aber nicht machen.
Funktioniert dann auch mit C= und L-SHIFT wie beim C128. Ich hab den Wert für $DC00 geprüft, der Wert -> LDA #$7D funktioniert am C64+C128
Display MoreIch hab da mit TD128 mal etwas herumgespielt:
An der Stelle $5858 in 128_DESKTOP_AB.s scheint ja der Einsprung für Drag'n'Drop zu sein.
Bei $589a steht JSR DoDlgBox_Rout -> 20 39 22
An der Stelle hab ich mich in VICE mal in den TopDesk eingeklinkt und mal kurz was programmiert...
Dafür brauch ich etwas Platz, 34Bytes. Da ich die im laufenden TopDesk nicht freischaufeln kann und nicht weiß wo man da was rausquetschen kann, hab ich mir vom Kernal was geborgt. Ohne SuperCPU gibts da ein paar freie Bytes für solche Tests
Dann hab ich in VICE an die freie Stelle die folgenden Bytes geschrieben (genaue Adresse ge-X-ed, nicht das jemand auf die Idee kommt den freien Speicher für Programme zu nutzen
) :
Der Befehl legt dann ab der Adresse $XXc0 ein paar Bytes in den Speicher. Wer das oben nicht lesen kann:
Display MoreCode
- .C:xxc0 20 5C C2 JSR $C25C ;InitForIO
- .C:xxc3 A9 09 LDA #$09 ;Vom TaskManager geklaut...
- .C:xxc5 8D 00 DC STA $DC00
- .C:xxc8 AC 01 DC LDY $DC01
- .C:xxcb 20 5F C2 JSR $C25F ;DoneWithIO
- .C:xxce C0 CF CPY #$CF ;C= gedrückt?
- .C:xxd0 F0 0A BEQ $C6DC
- .C:xxd2 C0 6F CPY #$6F ;L-SHIFT gedrückt?
- .C:xxd4 F0 09 BEQ $C6DF
- .C:xxd6 20 39 22 JSR $2239 ;"JSR DoDlgBox_Rout" = Dialogbox aufrufen und
- .C:xxd9 4C 9D 58 JMP $589D ;weiter wie normal.
- .C:xxdc 4C A4 58 JMP $58A4 ;Verschieben
- .C:xxdf 4C AD 58 JMP $58AD ;Kopieren
Zuletzt muss ich noch den TopDesk dazu bringen den Code auch auszuführen. Daher:
Was soll das ganze jetzt?
Damit kann man Dateien kopieren oder verschieben ohne das die DialogBox erscheint
Drückt man beim ablegen der Dateien auf dem Ziel-Laufwerk die C=-Taste werden die Dateien automatisch verschoben.
Drückt man die linke SHIFT-Taste wird kopiert.
Drückt man keine Taste kommt die DialogBox
Wobei man die Adressen in $DC00/$DC01 nochmal testen müsste... der Wert LDA #$09 ist nur Zufall gewesen aber funktioniert...
Das funktioniert hier zumindest mal rudimentär auf den ersten Blick. Hab das jetzt aber nur am TD128 getestet. Dürfte beim TD64 ähnlich funktionieren. Aber da fehlen mir die Einsprungadressen.
Falls die Datei auf dem Ziel vorhanden ist kommt trotzdem noch die Meldung mit "Überschreiben"...
Ist nur so eine Idee...
![]()
Markus
Sorry, aber Datensatz $00 (1) ist bis zum letzten Byte voll mit Code und hier einfach mal 34 Byte rausquetschen ist schon recht anspruchsvoll
Zudem stellt sich bei diesem Aufwand die Frage. Ob es den geneigten User dann nicht wieder nervt, nun noch zwei Tasten mehr drücken zu müssen
Pusti64
Sorry, aber Datensatz $00 (1) ist bis zum letzten Byte voll mit Code und hier einfach mal 34 Byte rausquetschen ist schon recht anspruchsvoll
Das hab ich mir schon gedacht. Und hinten anhängen geht auch nicht? Der Code ist ja frei verschiebbar.
Zudem stellt sich bei diesem Aufwand die Frage. Ob es den geneigten User dann nicht wieder nervt, nun noch zwei Tasten mehr drücken zu müssen
Die Frage stellt sich doch gar nicht... drückt man keine Taste bleibt doch alles beim alten. Im Prinzip funktioniert das unter Windows/KDE ähnlich. Auch da *kann* man Tasten drücken um das Verhalten zu beinflussen.
Aber mir ist schon klar das man sowas erstmal unterbringen muss. War ja auch nur eine Idee...
Das hab ich mir schon gedacht. Und hinten anhängen geht auch nicht? Der Code ist ja frei verschiebbar.
Die Frage stellt sich doch gar nicht... drückt man keine Taste bleibt doch alles beim alten. Im Prinzip funktioniert das unter Windows/KDE ähnlich. Auch da *kann* man Tasten drücken um das Verhalten zu beinflussen.
Aber mir ist schon klar das man sowas erstmal unterbringen muss. War ja auch nur eine Idee...
Datensatz $00 für TD128 z.B. geht von $0400 bis $6779. Bis $6998 wird aber schon intern von TD128 für bestimmte Aufgaben genutzt. Ab $6999 bis max $7fff wird dann schon der jeweilige Datensatz $01 bis $0c geladen. Okay, zwei davon werden an eine andere Stelle geladen. Ab $8000 bis $a000 wird zum kopieren usw. genutzt ........
C mac möchte aber eigentlich eine Voreinstellung haben. Sprich separate Dialogbox und Ergebnisablage ggf im Infoblock. Damit diese Userspezifische Einstellung bei einem Neustart mit geladen wird. Da kommt man bekanntlich mit ein paar freien Bytes nicht weit
Pusti64
Da kommt man bekanntlich mit ein paar freien Bytes nicht weit
Musst Du mir nicht sagen Aber ich sehe Du hast Dir den TopDesk schon sehr genau angeschaut
Für mich OK... war aber trotzdem nicht umsonst da ich das für GeoDOS3 evtl. auch gebrauchen kann. Ich werd da das aber dann Standardmäßig mit kopieren (ohne lästigen Dialog) und verschieben mit C= oder SHIFT machen. Überleg ich mir noch. Bei DualTop und GeoDOS gibt's das ja gar nicht (ich habs daher aber auch nie vermisst).
Musst Du mir nicht sagen
Aber ich sehe Du hast Dir den TopDesk schon sehr genau angeschaut
![]()
Für mich OK... war aber trotzdem nicht umsonst da ich das für GeoDOS3 evtl. auch gebrauchen kann. Ich werd da das aber dann Standardmäßig mit kopieren (ohne lästigen Dialog) und verschieben mit C= oder SHIFT machen. Überleg ich mir noch. Bei DualTop und GeoDOS gibt's das ja gar nicht (ich habs daher aber auch nie vermisst).
Man kann es ja zumindest im Hinterkopf behalten Vielleicht ist am Ende eine entsprechende Anpassung doch leichter als gedacht. Aber andere Sachen bzw. Probleme sind da jetzt vielleicht noch wichtiger.
Pusti64
ob die 2017-Änderung von Dir wirklich nur in DS 2 gemacht wurde
Das ist ja der Trick .
Die Validate-Funktion vom TD hat mich gestört, da ich da (ich glaube das war noch mit 64NET ; lang lang ist es her ...) irgendwann Probleme beim Validate von D81 festgestellt hatte. Also habe ich eine Routine gesucht, die das Problem nicht hatte. Das war die aus GeoDOS V2.95. Also rein damit in TD
. Dann kam ich auf die Idee, den Bootsektor in der BAM zu schützen.
Ergebnis: Zuerst wird Validiert. Dabei wird auch wieder der Bootsektor in der BAM freigegeben. Nach dem Validieren wird direkt auf vorhandenen Bootsektor geprüft und wenn vorhanden in der BAM wieder belegt. Alles in DS2.
Da ich damals noch nicht mit Native gearbeitet habe, habe ich den Fehler auf CMD-Lfw. nicht bemerkt. Deshalb die Änderung im 128 TD von 2017.
Gruß
Werner
C mac möchte aber eigentlich eine Voreinstellung haben.
Genau, wie immer die super Luxusvariante.
Aber andere Sachen bzw. Probleme sind da jetzt vielleicht noch wichtiger.
Richtig, es gibt wichtigeres.
War nur so eine Idee von mir.
Gruss C=Mac.
Genau, wie immer die super Luxusvariante.
Richtig, es gibt wichtigeres.
War nur so eine Idee von mir.
Gruss C=Mac.
Na jaaaaa, wenn man dann eventuell das Verschieben-Icon weglässt hätte man schon mal 124 Byte übrig. Dann noch darkvision's Routine abgewandelt z.B. shiftL damit die Konfigurationsbox für generell kopieren oder verschieben aufpoppt. Wird aber verdammt eng ......
Pusti64
Na jaaaaa, wenn man dann eventuell das Verschieben-Icon weglässt hätte man schon mal 124 Byte übrig. Dann noch darkvision's Routine abgewandelt z.B. shiftL damit die Konfigurationsbox für generell kopieren oder verschieben aufpoppt. Wird aber verdammt eng ......
Ob man sich diesen Aufwand antuen will?
Anscheinend hat es nur mich gestört und es fällt halt im Moment negativ auf, wo viel kopiert wird für die Testerei.
Warum Grimm dies nicht einstellbar gemacht hat, wird er sicherlich selber am besten wissen.
Ist wahrscheinlich eher eine Idee für den GD Desktop für den C64 und C128 *duckundweg*
Gruss C=Mac.
War ja nur 'ne Idee... hatte 'ne schlaflose Nacht und wollte die Zeit sinnvoller nutzen
Was wäre denn wenn man das "VERSCHIEBEN"-Icon durch einen geänderten Dialog "eliminiert"? Dann reichen die 124Bytes locker.
Dateien kopieren mit "OK"(mit extra Text "Dateien kopieren". Zum verschieben der Dateien "JA"(mit extra Text "Dateien verschieben") anklicken. Abbrechen mit "Abbruch". Dann verwendet man nur System-Icons und hätte Deine 124Bytes frei abzüglich ein paar Bytes für den Dialogbox Text.
MockUp:
OK/JA absichtlich versetzt, dann muss man die Maus bewegen. Zusätzliche die Option mit C= oder SHIFT-L für die Power-User...
Aber ich halt mich da jetzt raus, war ja nur eine Idee. Pusti64 kennt sich im TopDesk besser aus. Ich musste mir ja Kernal-Space borgen um das überhaupt hinzubekommen...
Ist wahrscheinlich eher eine Idee für den GD Desktop für den C64 und C128 *duckundweg*
Vorsicht 64er Only
Nein, ich glaube nicht mal das W.G. da etwas extra "nicht einstellbar" gemacht hat. Das war es einfach noch nie. Da müsste man mal den Original-TD raus suchen. Aber mit Sicherheit ein Grund warum das für mich einfach immer zu umständlich war. Die Frage ist ob man sowas voreinstellbar machen sollte.
Ich würde ***NIE*** verschieben und automatisch hinterher die Quelldatei löschen (ausser der Anwender will es). Zu oft hat man als Entwickler hinterher eine BAD BAM und dann ist das Original weg. Never ever.
Mit der Option kann der User, wenn er weiß was er will, den Dialog umgehen. Für den Normal-User kommt der Dialog. Evtl. reicht der Platz noch für "SHIFT-L / C=" als Hinweis...
Display MoreDas ist ja der Trick
.
Die Validate-Funktion vom TD hat mich gestört, da ich da (ich glaube das war noch mit 64NET; lang lang ist es her ...) irgendwann Probleme beim Validate von D81 festgestellt hatte. Also habe ich eine Routine gesucht, die das Problem nicht hatte. Das war die aus GeoDOS V2.95. Also rein damit in TD
. Dann kam ich auf die Idee, den Bootsektor in der BAM zu schützen.
Ergebnis: Zuerst wird Validiert. Dabei wird auch wieder der Bootsektor in der BAM freigegeben. Nach dem Validieren wird direkt auf vorhandenen Bootsektor geprüft und wenn vorhanden in der BAM wieder belegt. Alles in DS2.
Da ich damals noch nicht mit Native gearbeitet habe, habe ich den Fehler auf CMD-Lfw. nicht bemerkt. Deshalb die Änderung im 128 TD von 2017.
Gruß
Werner
Dann könnte man ja auf dieser Basis nachträglich noch ein Patch erstellen.
Wie ist eigentlich Deine Meinung zum Thema kopieren und verschieben?
Pusti64
Display MoreDisplay MoreCode
- .C:xxc0 20 5C C2 JSR $C25C ;InitForIO
- .C:xxc3 A9 09 LDA #$09 ;Vom TaskManager geklaut...
- .C:xxc5 8D 00 DC STA $DC00
- .C:xxc8 AC 01 DC LDY $DC01
- .C:xxcb 20 5F C2 JSR $C25F ;DoneWithIO
- .C:xxce C0 CF CPY #$CF ;C= gedrückt?
- .C:xxd0 F0 0A BEQ $C6DC
- .C:xxd2 C0 6F CPY #$6F ;L-SHIFT gedrückt?
- .C:xxd4 F0 09 BEQ $C6DF
- .C:xxd6 20 39 22 JSR $2239 ;"JSR DoDlgBox_Rout" = Dialogbox aufrufen und
- .C:xxd9 4C 9D 58 JMP $589D ;weiter wie normal.
- .C:xxdc 4C A4 58 JMP $58A4 ;Verschieben
- .C:xxdf 4C AD 58 JMP $58AD ;Kopieren
[/spoiler]
Kann man mit dieser Methode noch mehr Tasten abfragen?
Pusti64
Meine Meinung dazu: Echte Unterverzeichnisse anlegen zu können würde mir viel mehr bringen als die Option, jene Kopier-Nachfrage abstellen zu können.
Meine Meinung dazu: Echte Unterverzeichnisse anlegen zu können würde mir viel mehr bringen als die Option, jene Kopier-Nachfrage abstellen zu können.
Ist da nicht Werner mit seinem TD-Com schon dran?
Habe daher auch keine Ahnung, wie viel Bytes so eine Funktion beanspruchen würde.
Pusti64
Keinen Plan. Aber eigentlich brauchst Du im wesentlichen nur Platz für einen Code, der den eigentlichen Code in den Buffer, der für das Kopieren verwendet wird, nachlädt. Der Buffer dürfte eigentlich frei sein, wenn man im Menü "Verzeichnis anlegen" (wie ich immer das genau heißt, sitze gerade nicht vor einem C64) und zum Verzeichnis anlegen auch nicht benötigt werden - zumindet nicht in voller Größe, denn so viele Daten fallen dabei einfach nicht an.
War ja schon immer bei den Desktopvarianten so, dass nicht immer der gesamte Code geladen ist.