Hallo,
ich hab mein Problem ja im IRC schon öfter angesprochen. Nachdem ich FAT ansatzweise hab, bin ich nun am FDC-Treiber. Mein eigener war eigentlich fertig, hat aber auch nach 1 Monat Fehlersuche nicht auf einem echten Rechner funktioniert. Deshalb hab ich nun zu einem fertigen Modul gegriffen von NeptuneOS, welches auch PrettyOS verwendet, und das für mein OS umgeschrieben. Während des Bootens funktioniert dieser auch hervorragend auf sowohl auf einem Emulator, als auch auf echter Hardware. Also man kann davon ausgehen, dass der funktioniert. Jedoch nachdem meine Shell gestartet ist und ich zum Beispiel von der FAT aus einen Sektor zum Analysieren lesen möchte, kommt bei keinem FDC-Befehl mehr ein IRQ6 zurück, dementsprechend hängt das System an der Stelle, da auf den IRQ6 gewartet wird.
Ein gutes Beispiel ist beim Seek. Im MSR kann man ja auslesen, ob der noch seekt und da habe ich gesehen, dass auch wenn der nicht mehr seekt und der IRQ6 in jedem Fall gesendet werden müsste, keiner kommt. Er wird also irgendwie blockiert. Aber ich sende nach jedem der 16 IRQs ein EOI, der IRQ6 sollte meiner Meinung nach nicht maskiert sein, da ich dies nirgends mache und ein cli kann auch nicht Schuld sein, denn ein IRQ1 zum Beispiel kommt noch sauber durch.
Nun frage ich mich natürlich, wieso der IRQ6 anscheinend von der Shell mit einem Syscall aus nicht mehr ankommt, obwohl der während des Bootens noch funktionierte.
MfG
ChristianH