Ich glaube ich habe da noch was gefunden bzw. einen Fehler gemacht. Melde mich später nochmal.
Pusti64
Du bist in Begriff, Forum64 zu verlassen, um auf die folgende Adresse weitergeleitet zu werden:
Bitte beachte, dass wir für den Inhalt der Zielseite nicht verantwortlich sind und unsere Datenschutzbestimmungen dort keine Anwendung finden.
letzter Beitrag von skern am
Ich glaube ich habe da noch was gefunden bzw. einen Fehler gemacht. Melde mich später nochmal.
Pusti64
Danke, gefunden. Ich glaub ich hab da was gefunden... las mich mal was testen...
Oops... überschneidung
Hab ich eine andere Version wie Du? Bei 4f34 finde ich einen JMP-Befehl.
Ohne es böse zu meinen, das ist ein Problem. Ich werde definitiv nichts am Quelltext probieren, wenn ich nicht die aktuelle Version habe ....
denn wenn die "Schmale Anzeige" aktiviert wird (wer macht das freiwillig?!?) sind es ja 10 Icons.
Ich!!!!
Ich finde das bei MP3-128 gut. Bis zu 11 Dateien (Icon-Modus) in einer Zeile bei voller Fensterbreite.
Gruß
Werner
Ohne es böse zu meinen, das ist ein Problem. Ich werde definitiv nichts am Quelltext probieren, wenn ich nicht die aktuelle Version habe ....
Ich glaub so war das auch nicht gemeint...
Ich!!!!
128er-Hardcore-user... das ist doch ein GUI-SuperGAU
Pusti64 : Falls Du selbst eine einfache Lösung findest... auch gut. Ich glaub bei 5120/5124 gibt es ein Byte je Fenster für Anzahl Icons je Zeile/Seite. Zusammen mit $0514 für die Datei an erster Stelle im Fenster lässt sich da eine Abfrage einbauen. Ich hab da mal wieder etwas an andere Stelle reingefummelt:
Wo Du den Code bei $0890 unterbringst bleibt Dir überlassen... Der addiert die Anzahl der angezeigten Icons mit der ersten Position und vergleicht das mit der Anzahl Icons je Zeile. Die Addition ist notwendig weil das erste Icon nicht die Nr#1 sein muss. Ist mir beim testen mal passiert.
Damit wird zumindest bei weniger als X Dateien das ScrollUp verhindert. Bei mehreren Dateien scrollt das ganz normal.
Pusti64 : Falls Du selbst eine einfache Lösung findest... auch gut. Ich glaub bei 5120/5124 gibt es ein Byte je Fenster für Anzahl Icons je Zeile/Seite. Zusammen mit $0514 für die Datei an erster Stelle im Fenster lässt sich da eine Abfrage einbauen. Ich hab da mal wieder etwas an andere Stelle reingefummelt:
Wo Du den Code bei $0890 unterbringst bleibt Dir überlassen... Der addiert die Anzahl der angezeigten Icons mit der ersten Position und vergleicht das mit der Anzahl Icons je Zeile. Die Addition ist notwendig weil das erste Icon nicht die Nr#1 sein muss. Ist mir beim testen mal passiert.
Damit wird zumindest bei weniger als X Dateien das ScrollUp verhindert. Bei mehreren Dateien scrollt das ganz normal.
Dein Code funktioniert wie meiner leider nur Zeilenweise aber nicht Seitenweise
Ist aber vom Ansatz her scheinbar platzsparender als meiner.
Trotzdem vielen Dank für die schnelle Antwort
Pusti64
Hab ich eine andere Version wie Du? Bei 4f34 finde ich einen JMP-Befehl.
Ohne es böse zu meinen, das ist ein Problem. Ich werde definitiv nichts am Quelltext probieren, wenn ich nicht die aktuelle Version habe ....
Gruß
Werner
Den aktuellen Code werde ich Dir schicken
Pusti64
Dein Code funktioniert wie meiner leider nur Zeilenweise aber nicht Seitenweise
Ist aber vom Ansatz her scheinbar platzsparender als meiner.
Hm... nuja... bin ja kein TopDesk-Profi
Damit ich verstehe was Du meinst:
Ich hab ein Laufwerk mit 15Dateien.
Fenster ist so groß das drei Dateien je Zeile und zwei Zeilen angezeigt werden.
Ich stehe am Anfang der Liste und drücke CURSOR Links (Seite zurück).
Ich stehe Bei Position #10. Das ist MAX-3*2.
Ich drücke CLR/HOME und stehe auf der letzten Seite.
CURSOR Links bringt mich zu Psoition #7 (Das ist Max-3+1-3*2).
Maxmimiere ich das Fenster dann geht CLR/HOME zum Ende = Position #11.
CURSOR Left bringt mich zu Position #1. OK... Hier hängt es dann denn ein weiterer CURSOR Links bringt mich wieder zu Pos. 252. Ich glaube fehlt nur noch eine Kleinigkeit um zur letzten Position -X zu springen.
P.S.
Wenn Du statt CMP $5120,X (Icons je Zeile) ein CMP $5124,X (Icons je Seite) verwendest... klappt es dann? Hier scheint das besser zu funktionieren. CURSOR rechts versucht zwar trotzdem zu blättern, aber das kann man verschmerzen.
Alles anzeigenDein Code funktioniert wie meiner leider nur Zeilenweise aber nicht Seitenweise
Ist aber vom Ansatz her scheinbar platzsparender als meiner.
Hm... nuja... bin ja kein TopDesk-Profi
Damit ich verstehe was Du meinst:
Ich hab ein Laufwerk mit 15Dateien.
Fenster ist so groß das drei Dateien je Zeile und zwei Zeilen angezeigt werden.
Ich stehe am Anfang der Liste und drücke CURSOR Links (Seite zurück).
Ich stehe Bei Position #10. Das ist MAX-3*2.
Ich drücke CLR/HOME und stehe auf der letzten Seite.
CURSOR Links bringt mich zu Psoition #7 (Das ist Max-3+1-3*2).
Maxmimiere ich das Fenster dann geht CLR/HOME zum Ende = Position #11.
CURSOR Left bringt mich zu Position #1. OK... Hier hängt es dann denn ein weiterer CURSOR Links bringt mich wieder zu Pos. 252. Ich glaube fehlt nur noch eine Kleinigkeit um zur letzten Position -X zu springen.
Hast Du schon Cursor(rechts) + Shift probiert? Damit erscheint dann aber wieder die 253 bei mir.
Pusti64
Hast Du schon Cursor(rechts) + Shift probiert? Damit erscheint dann aber wieder die 253 bei mir.
Aktuell ja... entweder ich verstehe nicht was Du meinst (wie viele Dateien und was ist Position#1) oder aber ich teste was anderes wie Du
Hast Du schon Cursor(rechts) + Shift probiert? Damit erscheint dann aber wieder die 253 bei mir.
Aktuell ja... entweder ich verstehe nicht was Du meinst (wie viele Dateien und was ist Position#1) oder aber ich teste was anderes wie Du
Sorry ich hatte Probleme mit meinem System und kann jetzt erst Antworten.
Mit CMP $5124,X (Icons je Seite) funktioniert es einwandfrei.
Mit der schmalen Anzeige sogar auch.
Perfekt!
Vielen Dank!
Pusti64
Sorry ich hatte Probleme mit meinem System und kann jetzt erst Antworten.
Nur kein Streß...
Prima das es zu funktionieren scheint... Ich würde das aber vorher ausgiebig testen, nicht das es doch noch Probleme an anderer Stelle gibt...
Sorry ich hatte Probleme mit meinem System und kann jetzt erst Antworten.
Nur kein Streß...
Prima das es zu funktionieren scheint... Ich würde das aber vorher ausgiebig testen, nicht das es doch noch Probleme an anderer Stelle gibt...
Außerdem muss ich noch schauen, wie ich diese 18Byte am effizientesten unterbringen kann.
Danke und Gruß Pusti64
Alles anzeigenAlso ist $04b4 für den Doppelklick zuständig und $4cec unterscheidet nur zwischen einem kurzem und langem Klick?
Nein... $04b4 scheint auch erst mit TopDesk >v1 eingebaut worden zu sein. Solange der Wert nicht Null ist wird bei jedem Durchlauf der GEOS-Mainloop die Routine "NewMouseService" (so im SourceCode von TopDeskV1 bezeichnet) ausgeführt. NewMouseService prüft dann verschiedene "Icons".
Gibt es diesen Sourcecode auch im GeoWrite-Format?
Pusti64
Gibt es diesen Sourcecode auch im GeoWrite-Format?
Pusti64
Hier sind die SourceDisks... https://www.pagetable.com/?p=1341
Gibt es diesen Sourcecode auch im GeoWrite-Format?
Pusti64
Hier sind die SourceDisks... https://www.pagetable.com/?p=1341
Vielen Dank!
Pusti64
Vielen Dank!
Ein kleiner Hinweis dazu noch: Die verlinkten Quellcodes des TD V1 sind irgendwie eine "Zwischenversion". Beide tragen als Klasse V1.3. Der originale TD64 und der aus Geos 64 V2.5 sind V1.2.
Und speziell die 64er-Version hat ein paar Fehler. Einzelheiten und ein Patch dazu hier: originale GEOS-Applikationen jungfräulich
Gruß
Werner
Alles anzeigenIch hab mir den Code mal angeschaut... evtl verstehe ich da was falsch:
Alles anzeigenCode
- lda curType ;$6de0adc688
- and #31 ;$6de3291f
- cmp #2 ;$6de5c902 1571 FD71 HD71
- bne :2 ; bei $6e02;$6de7 d019
- LoadW a0,U0_1571Bef ; bei $6ea9
- LoadB U0_1571Bef+4,48 ; bei $6ead,48
- lda a1L ;$6df6a5fd
- beq :1 ; bei $6dff;$6df8 f005
- LoadB U0_1571Bef+4,49 ; bei $6ead,49
- ::1 jsr Lfw_Listen ;$6dff20b36e
- ::2 lda #"N" ;$6e02a94e
- jsr outByte ;$6e0420a8ff
- lda #"0" ;$6e07a930
- jsr outByte ;$6e0920a8ff
- lda #":" ;$6e0ca93a
- jsr outByte ;$6e0e20a8ff
- pla ;$6e1168
- sta a0L ;$6e1285fb
- pla ;$6e1468
- sta a0H ;$6e1585fc
- jsr Lfw_Listen ;$6e1720b36e
- LoadW a0,TD_ID_txt ; bei $6ea4
- jsr Lfw_Listen ;$6e2220b36e
- lda curType ;$6e25adc688
- and #31 ;$6e28291f
- cmp #2 ;$6e2ac902 1571 FD71 HD71
- bne :3 ; bei $6e42;$6e2c d014
- lda a1L ;$6e2ea5fd
- bne :3 ; bei $6e42;$6e30 d010
- LoadW a0,U0_1571Bef ; bei $6ea9
- LoadB U0_1571Bef+4,49 ; bei $6ead,49
- jsr Lfw_Listen ;$6e3f20b36e
- ::3 lda curDrive ;$6e42ad8984
- jsr cmdUnList ;$6e4520aeff
Ab Zeile #1 wird der Laufwerktyp getestet.
Falls keine 1571 wird in Zeile #4 der folgende Code übersprungen (bne :2).
Bei einer 1571 wird abhängig von a1L(Einseitig=$00, Doppelseitig=$01) der U0>Mx-Befehl angepasst.
Ab Zeile #24 wird dann nochmal auf die 1571 getestet, vermutlich nachdem der N0:-Format-Befehl gesendet wurde.
Wenn a1L=$01(Doppelseitig) dann wird der folgende Code übersprungen (bne :3).
Jetzt wird der U0>Mx-Befehl nochmals angepasst, diesmal aber auf den 1571-Modus/Doppelseitig obwohl man einseitig formatieren will.
Wenn man einseitg wählt (a1L=$00) dann wird einmal auf die 1541 umgeschaltet und später dann auf die 1571???
Oder versteh ich das nur einfach nicht (C128 + 1571 sind nicht so meins...)
Wenn ich das jetzt richtig verstanden habe, müsste es ja eigentlich reichen dieses bne durch ein beq zu ersetzen. Oder übersehe ich da noch etwas anderes?
Pusti64
Welche bne willst Du da durch beq ersetzen? Zeile 4 und 27? Dann wird bei 1541/81 und Native auf ein/doppelseitig getestet. Nein, das scheint schon so zu passen.
In Zeile 28 wird nur bei einer einseitigen formatieren und bei einer 1571 wieder in den doppelseitigen/1571-Modus geschaltet.
Ich TopDesk1 code ist das auch so vorhanden.
Ging es darum das eine 1541-Disk nicht nach 1571 formatiert werden kann? Ich hab jetzt gefühlt 1000 Versuche unter VICE128 gebraucht (Ständige Abstürze bzw. Laufwerkshänger...). Aber es hat dann doch geklappt. Danach hat TopDesk das D71, das zuvor 166Kb angezeigt hat, mit 332Kb frei angezeigt.
Ich weiß nicht ob es am I-Befehl im Anschluss an U0>M1 hängt. Den hatte ich jetzt mal abgeschaltet.
Pusti64 : Wenn Du den Format-Fehler bei Dir reproduzieren kannst, dann ändere doch mal ab $6EA9 den U0>Mx-Befehl so ab:
Das $00 Byte ersetzt ein $0D. Damit wird der I-Befehl nicht an das Laufwerk gesendet.
Was macht denn die 1571 wenn eine 1541-Disk im Laufwerk liegt, der Anwender auf 1571 geschaltet hat und dann Initialize an das Laufwerk sendet? Die 1571 ließt doch dann die Disk neu ein, stellt fest es ist eine 1541... landet die 1571 dann automatisch wieder im 1541-Modus? Da fehlt mir das Wissen dazu...
Ohne das entfernen des I-Befehls bin ich bei Versuch zu formatieren direkt wieder im DeskTop gelandet, da wurde gar nichts formatiert. Gab aber auch keinen Fehler.
Leider kann ich das nicht testen, weil meine 1571 nur noch Streifen auf Disketten statt Daten zieht .
Vielleicht findet sich ja jemand hier, welcher das mal testen könnte?
Pusti64
Vielleicht findet sich ja jemand hier, welcher das mal testen könnte?
In welchem VLIR-Datensatz sind wir gerade? Dann probiere ich das mal (heute oder morgen) hier mit nem Diskmonitor aus ......
Gruß
Werner