Az emulátornak ilyen szinten nincs köze az egész floppys dologhoz, ő fájlt olvas. A nagy kérdés az, hogy mi történik, ha a fájolvasás során lemezhiba történik? Elvileg ilyenkor vissza kéne jutni egy hibakódnak az operációs rendszertől a programhoz (azaz az emulátorhoz).
Ez jelenleg nem történik meg, ki kéne találni, hogy a Windows sumákolja el, vagy az emulátor nem kérdezi le jól?
A lockolásos dolog kapcsán kiderült, hogy a Write Protect az nagyon szépen visszajut egészen az emulált EP-ig is. Vajon az olvasási hiba hol veszik el?
Az egyébként jól hallatszik, hogy retryzik a rendszer olvasáskot, tehát valamelyik szinten észlelve van a hiba.
A hiba összefoglalva az, hogy pl egy sávon az 5. szektor hibás. Ez be is van jelölve a FAT-ban, így az emulált EP fájlműveleteknél nem is akarná beolvasni.
Azonban az emulátor a puffereléshez beolvassa az egész sávot, így a hibás 5. szektorra is ráolvas. Itt az olvasás elakad, és az 5. szektortól a sáv végéig 00 bájtok lesznek a pufferben.
Így hiába olvasná az emulált EP a hibátlan 6. szektort, már nem azt kapja meg.
Ami eszembe jutott most: ez vajon általában a fájolvasás hibája, vagy a spéci \\.\A: fájlé?
Kipróbálom majd, hogy egy hibás lemezre ráírok egy IMG fájlt, és azt adom meg az emunak, vajon ekkor se lesz hibajelzés?
A másik ami eszembe jutott: megnézni Linux alatt ugyanazt a lemezt, vajon ott is jelentkezik-e a probléma?
Ehhez kérdezném a Linux gurukat, hogy milyen Linux verzióval lehetne egyszerűen ep128emu próbálgatni?