Unseen?
Hello, Guest the thread was viewed7.6k times and contains 38 replies
last post from peiselulli at the
Datenmüll beim auslesen einer Floppy
- DerSchatten
- Thread is marked as Resolved.
-
-
Unseen?
6502-Assemblerprogrammierung? Nein danke, nichts für mich. -
Ich stehe gerade vor dem selben Problem: DTV mit 1571 und JiffyDos.
Ich habe mal im petscii Forum gesucht (link)
und die Adressen FBD3/FBD4 FB59/FB51 wie Vorgeschlagen auf meinem PAL DTV gepatched. Leider ohne erfolg. Weiterhin Datenmüll beim Laden.Also habe ich mich versuch selber zu bemühen, meine Idee ist in FB57 einen weiteren Branch einzuführen, welcher 3 Zyklen brauch des weiteren habe ich um den Code wieder InPlace zu bekommen das Timing vom C64 zwischen den 2-Bit-Xfers auf das Mas der 1541 angepasst: 0-10-11-10. Hier mein bisher erfolgloser Versuch:
Code- (C:$e090) d fb51
- [...]
- .C:fb51 8E 00 DD STX $DD00
- .C:fb54 2C 00 DD BIT $DD00
- .C:fb57 70 02 BVS $FB5B
- .C:fb59 50 95 BVC $FAF0
- .C:fb5b 8D 00 DD STA $DD00
- .C:fb5e 0D 00 DD ORA $DD00
- .C:fb61 4A LSR A
- .C:fb62 4A LSR A
- .C:fb63 EA NOP
- .C:fb64 0D 00 DD ORA $DD00
- .C:fb67 4A LSR A
- .C:fb68 4A LSR A
- .C:fb69 04 E2 NOOP $E2
- .C:fb6b 0D 00 DD ORA $DD00
- .C:fb6e 4A LSR A
- .C:fb6f 4A LSR A
- .C:fb70 EA NOP
- .C:fb71 0D 00 DD ORA $DD00
- .C:fb74 C4 93 CPY $93
- [...]
Der Illegale Noop in fb69 sollte 3 Taktzyklen brauche und wird vom DTV unterstützt.
Leider aber wohl aufgrund von Unkenntnis meinerseits es wohl mit den EORs zu ORA tauschen verbockt, jetzt kommt beim Laden totaler Datenmüll.Ebenso könnte man die BadLines Emulation im Extended Register Set abschalten während des Ladens. Doch wo ist Platz JIFFYDOS Kernel um passende Rucksäcke zu plazieren?
cya
-
Hi,
dank NLQs Jiffy-Dos Dissassembly habe ich bei $e4e0-$e4ec noch Platz für einen Rucksack gefunden. Eine Suche im Dissassembly des kernal sagt mit das diese Stelle wirklich nicht genutzt wird.
CRCCHECK ist 30 Min gelaufen nur mit OK als Ausgabe
Hier mein Patch zum Jiffy.c64 Kernal als Disassembly aus x64:
Code- [...]
- .C:e4e0 AD 12 D0 LDA $D012
- .C:e4e3 E5 B1 SBC $B1
- .C:e4e5 90 04 BCC $E4EB
- .C:e4e7 29 07 AND #$07
- .C:e4e9 F0 F5 BEQ $E4E0
- .C:e4eb 60 RTS
- [...]
- .C:fb3e 2C 00 DD BIT $DD00
- .C:fb41 10 FB BPL $FB3E
- .C:fb43 38 SEC
- .C:fb44 20 E0 E4 JSR $E4E0
- .C:fb47 4C 4E FB JMP $FB4E
- .C:fb4a EA NOP
- .C:fb4b EA NOP
- .C:fb4c EA NOP
- .C:fb4d EA NOP
- .C:fb4e A5 B2 LDA $B2
- .C:fb50 8E 00 DD STX $DD00
- .C:fb53 2C 00 DD BIT $DD00
- .C:fb56 70 02 BVS $FB5A
- .C:fb58 50 96 BVC $FAF0
- .C:fb5a 8D 00 DD STA $DD00
- [...]
Auf meinem PAL DTV funzt es, einen NTSC DTV habe ich nicht.
Was noch zu tun wäre:
* Weiteren Platz für Rucksäcke finden
* Code sparen durch abschalten von Emulation Features wie Badlines oder Exaktem Sprite Timing des DTV
* 64k+ Laden, was ja am DTV geht. -
Hier mein Patch zum Jiffy.c64 Kernal als Disassembly aus x64:
Prima! Das sind alle Änderungen, nichts bei FBD3?
Was noch zu tun wäre:
* Weiteren Platz für Rucksäcke finden
* Code sparen durch abschalten von Emulation Features wie Badlines oder Exaktem Sprite Timing des DTV
* 64k+ Laden, was ja am DTV geht.Was soll Code sparen bei einem Kernal bringen? Passt ja so. Etwas schneller würde es am DTV durch einfaches Abschalten der Badlines werden, aber das macht SJLOAD ja auch schon.
>64k laden lässt sich nicht einbauen, ohne dass man damit auch z.B. manche Autostarter kaputtmacht, weil die teilweise auf den Wraparound bei FFFF/0000 oder Manipulation der Speicherpointer beim Laden aufbauen. Einen >64k-Floppy-Lader für den DTV würde ich einfach als extra Programm realisieren, das Bytes einzeln über EE13 holt und per DMA schreibt (nicht ganz so schnell, aber dafür flexibel, läuft auch ohne Jiffy bzw. mit anderen Schnellladern etc.). Oder halt eine SJLOAD/DTV-Version.
-
Klingt gut.
Was muß man jetzt tun um sein Jiffy damit zu patchen? -
1570: Jo du hast rech auf FBD3 mus das bereits bekannte ORA $A4 stehen. Ist wohl unter den Tisch gefallen, da der andere Teil kniffliger war.
HIer nochmal der komplette Auszug:
Code- [...]
- .C:e4e0 AD 12 D0 LDA $D012
- .C:e4e3 E5 B1 SBC $B1
- .C:e4e5 90 04 BCC $E4EB
- .C:e4e7 29 07 AND #$07
- .C:e4e9 F0 F5 BEQ $E4E0
- .C:e4eb 60 RTS
- [...]
- .C:fb3e 2C 00 DD BIT $DD00
- .C:fb41 10 FB BPL $FB3E
- .C:fb43 38 SEC
- .C:fb44 20 E0 E4 JSR $E4E0
- .C:fb47 4C 4E FB JMP $FB4E
- .C:fb4a EA NOP
- .C:fb4b EA NOP
- .C:fb4c EA NOP
- .C:fb4d EA NOP
- .C:fb4e A5 B2 LDA $B2
- .C:fb50 8E 00 DD STX $DD00
- .C:fb53 2C 00 DD BIT $DD00
- .C:fb56 70 02 BVS $FB5A
- .C:fb58 50 96 BVC $FAF0
- .C:fb5a 8D 00 DD STA $DD00
- [...]
- .C:fbd3 05 A4 ORA $A4
- [...]
Bzgl des 64k Loaders jo, das würde natürlich die Kompatibilität schmälern Speicer spraen wollte ich eigenlich nur damit ich den 64k loader usw einbauen kann.
Ich habe gerade den Piffy-dos Patch in den Händen die machen sachen mit der REU. Evtl kann man die nutzen und für den DTV um schreiben.
Ich habe das im x64 gepatcht.
1. x64 starten
2. in den Monitor Mode gehen
3. folgndes eingeben, Leerzeilen sind einfach nur <return>Code
Den Pfad zu deinem Jiffydos Rom musst du natürlich anpassen. bl lädt bs speichert.cya
-
Funktioniert das auch mit S-Jiffy?
Könntest du mir das patchen wenn ich dir die bin-Datei schicke? -
Ich schau' mal, dass ich ein .PRG aus dem gepatchten Kernal mache und einen Patch dafür online anbiete (wie beim DTV-GEOS).
Ich habe gerade den Piffy-dos Patch in den Händen die machen sachen mit der REU. Evtl kann man die nutzen und für den DTV um schreiben.
Nicht vielleicht einfach Peiselullis Kernal entsprechend ändern?
-
Funktioniert das auch mit S-Jiffy?
Wenn scih bei S-Jiffy die Routinen nicht verschoben oder gar Überschrieben worden sind. Dürfte das gehen. Ich präferiere im übrigen Piffydos, da mich die (") Gänsefüsschen um Diskkomandos bei S-Jiffy nerven.cya
-
Ich schau' mal, dass ich ein .PRG aus dem gepatchten Kernal mache und einen Patch dafür online anbiete (wie beim DTV-GEOS).
Nicht vielleicht einfach Peiselullis Kernal entsprechend ändern?
Was meinst du damit JIFFY-Dos in die Peiselulli Kernel?
Der Peiselullikernel ist leider für sd2iec Nutzer ungeeignet. Stichwort Fastloader. Wenn Unseen den einbaut geb ich ihm mehr als ein Bier aus, wenn ich ihn mal treffen sollte (Ich könnte ihn Knutschen )
Was aber cool wäre evtl so einen Huckepack wie Peiselulli verwendet hat in den Jiffydos kernel einbauen. Ich bin mir derzeit aber nicht sicher wie das funktioniert. -
Der Peiselullikernel ist leider für sd2iec Nutzer ungeeignet. Stichwort Fastloader.
Klar. Das meinte ich ja: Peiselullis Kernal nehmen und Jiffy (zusätzlich oder als Ersatz zum Fastloader, der drin ist) ranbacken, ggf. bei SJLOAD spicken. Sollte sich vom Aufwand her nicht viel gegenüber "Piffydos für DTV aufbohren" nehmen, zumal die Funktionalität von Piffydos schon von DTVBASIC zur Verfügung gestellt wird (wobei ich gerade nicht weiß, wo genau sich DTVBASIC einhängt, evtl. macht das auch am Kernal rum und wäre dann vermutlich nicht mit Peiselullis Kernal oder Jiffy-Kernal kompatibel).
Edit: Download des C64DTV-JiffyDOS-Softkernals. Bitte mal testen, insbesondere auch mit einer J1541. Original-Jiffy-Image wird als Upload benötigt (Copyright und so...).
-
Der Peiselullikernel ist leider für sd2iec Nutzer ungeeignet. Stichwort Fastloader.
Ja, dummerweise mag ich dessen Loader aus (mindestens) zwei Gründen nicht: Erstens hat der Alleinigkeitsanspruch (wackelt intensiv mit ATN und funktioniert nur wenn das Laufwerk das einzige Gerät am Bus ist), zweitens verrät der dem Laufwerk nicht welche Datei geladen wird (lädt als erstes Track 18 zum C64 und wertet nur dort das Directory aus). Mit dem ersteren Problem könne man noch leben, letzteres bedeutet allerdings, dass der Speder nur in Diskimages funktionieren würde - möglicherweise sogar nur in D64-Images, falls die C64-Seite Tracknummern >35 abfängt.QuoteWenn Unseen den einbaut geb ich ihm mehr als ein Bier aus, wenn ich ihn mal treffen sollte (Ich könnte ihn Knutschen )
Unseen mag keine alkoholischen Getränke. -
Ich hab das gepatchte Kernal das ich von abraXxl erhalten habe heute mal am DTV getestet.
Nach dem auslesen des Directorys erscheint kurzerhand nur ein oranger/rosa Bildschirm, egal ob vom SD oder von der Floppy gelesen wird.
Das ganze kann auch im DTV-Emulator reproduziert werden. -
Hi!
Ich hab das gepatchte Kernal das ich von abraXxl erhalten habe heute mal am DTV getestet.
Nach dem auslesen des Directorys erscheint kurzerhand nur ein oranger/rosa Bildschirm, egal ob vom SD oder von der Floppy gelesen wird.
Das ganze kann auch im DTV-Emulator reproduziert werden.DerSchatten: Ich distanziere mich davon Material mit Copyright zu verteilen! Ich habe lediglich von dir den Kernal erhalten und für dich gepatcht.
Warum es bei dir nicht, weis ich nicht. Ich kann es bei mir _nicht_ nachvollziehen.Unseen: das mit dem peiselulli Fastloader ist mist. Kann verstehen warum du das nicht einbauen möchtest. Danke für das kurze Statement warum. BTW: Ich gebe auch Nicht-Alkoholika aus sd2iec ist halt gut. Danke dafuer.
-
Ich hab das gepatchte Kernal das ich von abraXxl erhalten habe heute mal am DTV getestet.
Probier' doch mal das normale (gepatchte) Jiffy, Link siehe Posting 32.
-
ok,
Ich kann nun bestätigen das es mit dem gepatchten JIFFY auf dem DTV läuft.
Nur S-JIFFY dürfte nicht funktionieren.Achja, ich hätte gerne die F-TAstenbelegung vom S-Jiffy in meinem Jiffy. Ist das einfach das zu ändern?
-
DerSchatten: ja, das kannst auch du Probiers doch mal:
Editiere das ROM mit einem Hexeditor ab 1672(=f672).
cya
-
Der Peiselullikernel ist leider für sd2iec Nutzer ungeeignet. Stichwort Fastloader.
Dafür war er auch nie gedacht. Ich habe kein Jiffy-Laufwerk und kein sd2iec (ist mir zu inkompatibel), warum hätte ich einen Jiffy-kompatiblen Fastloader einbauen sollen ?
Der Kernal war in erster Linie für mich, und ich hatte damals nur eine 1541 (inzwischen habe ich ein Ultimate, deshalb kann man mit dem Kernal jetzt auch bequem per Browser D64 im Standalone-Modus mounten).Die anderen Fastloader, die auf dem DTV liefen, waren zu langsam und deshalb auch keine Alternative.