Hier mal ein Zwischenstand zu dem JiffyDos DCR Problem:
Im Anhang befidnet sich ein Basic-V2-PRG, welches den Floppy-Speicher einmal mit einer 8bit Maske und deren Inversen beschreibt. Anschliessend werden diese Bits zurĂĽck aus dem Floppyspeicher gelesen und mit dem Sollwert verglichen.
Folgende Masken habe ich getestet:
Bit Maske 85(=$55=%01010101) / 170(=$AA=$10101010)
Bit Maske 51(=%00110011) / 204(=%11001100)
Bit Maske 102(=%01100110) / 153(=%10011001)
Bit Maske 15(=%00001111) / 240(=%11110000)
Bitmasken die Fehler geworfen haben:
85=%01010101 kippt zu
21=%00010101
204=%11001100 kippt zu
140=%10001100
102=%01100110 kippt zu
38=%00100110
240=%11110000 kippt zu
176=%10110000
- Dabei fällt auf das überwiegend das Bit6 (angefangen von 0) anfängt zu kippen. Es kippt von 1 nach 0.
- Das Problem tritt auf dem DCR im 128er und im 64er Modus auf mit aktiviertem JiffyDOS auf und nur mit der Internen 1571DCR ohne weitere Geräte angeschlossen.
- 240 sehint gefühlt seltener zu 176 zu kippen. Stichprobe 30000. ca 1 Fehler/600 Bytes vs. 1. Fehler/900bytes, und diese Schätzung ist noch nicht 100% aussagekräftig, zu kleines n.
Da auf C128 Seite und C64 Seite immer folgender Code benutzt wird um zwei Bit vom Bus zu fetchen und Bit7 nicht kippt scheint das Problem nur Bit6 der CIA im 4. Fetch zu sein also die Clock-Leitung.
Sorry, das Programm konnte ich nicht als Text anhängen, da petcat es leider nicht vollständig umwandeln wollte.