Autor Thema: irq 6 nach floppy-zugriff über dma?  (Gelesen 4507 mal)

nore

  • Beiträge: 76
    • Profil anzeigen
Gespeichert
« am: 21. March 2006, 16:58 »
hi, wenn ein datentransfer über den fdc mit dma zu ende ist, sollte doch normalerweise irq 6 ausgelöst werden, oder?

ich habe nämlich zurzeit das problem, dass ich nicht weiß, wann ich den diskettenmotor wieder ausstellen soll. zurzeit setzt meine isr für den irq 6 einfach nur eine variable auf 0 und meine funktion zum lesen von der diskette wartet vor dem motor-ausschalten solange bis die variable 0 ist. allerdings passiert das nie, ich komme in eine endlosschleife.

wenn ich diese abfrage einfach weglasse, schaltet die cpu anscheinend den motor aus, bevor der transfer beendet ist. unter bochs läuft diese variante. vllt weil es so langsam ist??

Homix

  • Beiträge: 138
    • Profil anzeigen
Gespeichert
« Antwort #1 am: 21. March 2006, 18:46 »
hi,
bei Bochs ist generell die Diskettenlaufwerk-Simulation ein wenig realitätsfremd wenn mans mit einem RealPC vergleicht.
Moderne Betriebssysteme schalten das Diskettenlaufwerk nach ca 1 bis 2 Sekunden nach dem letzten zugriff aus, das hat den Vorteil, dass wenn mehere Sektoren seperat gelesen werden, der Motor nicht immer extra ein und ausgeschaltet werden muss.

mfg,
stefan

nore

  • Beiträge: 76
    • Profil anzeigen
Gespeichert
« Antwort #2 am: 21. March 2006, 23:03 »
danke, dann werd ich das wohl auch versuchen, so ähnlich zu machen.

 

Einloggen