Autor Thema: FDC reagiert auf manchen PCs nicht...  (Gelesen 5696 mal)

Cheebi

  • Beiträge: 91
    • Profil anzeigen
    • Cheebis Webseite
Gespeichert
« am: 02. January 2007, 12:57 »
Hallo,
ich habe einen FDC-Treiber geschrieben. Nun... Auf meinem einen PC und auf dem Emulator funktioniert er. Auf einem anderen PC funktioniert der Treiber nicht.
Es werden Befehle an den FDC geschickt, z.B. 0x0f aber der FDC reagiert nicht. Die Ports stimmen, erstens da ich unter Windows an dem PC die Ports vom FDC nachgeschaut habe und weil der Treiber ja auch auf einem anderen PC funktioniert.
Nur, warum nicht auf diesem PC hier? :?
Er reagiert einfach nicht auf die Befehle, da ich z.B. den Motor anschalten, nicht aber recalibrieren kann...

Cheebi
0100 1001 0100 1100 0100 0001 0010 0000 0011 1010 0010 1101 0010 1010
http://www.cheebi.de

bitmaster

  • Troll
  • Beiträge: 1 138
    • Profil anzeigen
    • OS-64 = 64 Bit Operating System
Gespeichert
« Antwort #1 am: 02. January 2007, 14:06 »
Vergess am besten Floppy und steig so wie ich auf CD und Festplatte um. Der FDC ist wirklich eines der größten Blodsinne. Man muss auf einen IRQ warten weil die CPU viel schneller ist als das Floppy. Ok das ist logisch. Aber wieso dann noch extra ein paar Millisekunden warten??? Dann könnten die den IRQ auch ruhig später aufrufen lassen so das das zusätzliche Warten weg fällt. Im übrigen ist ein ATAPI CD/DVD Treiber wesentlich einfacher und ISO9660 (ich habs plus Joliet) ist auch nicht schwerer als FAT12 (ich gehe mal davon aus du nimmst FAT12). Und wenn du auch schreiben willst, dann nimm Festplatte. Also ich rate jedem das aussterbende Floppy ab. Mein Treiber war nämlich genauso blöd wie deiner obwohl ich alles gemacht habe wies im Intel Manual drin steht.  Da hilft C im übrigen auch net. ^^

Nee, aber der FDC ist echt blöd. Also mein alter PC lief wunderbar mit meinem Treiber. Der von meiner Mutter brauchte 1 Minute oder 2 um ein paar KByte zu laden und mein jetziger PC verweigerte den Treiber. Aber wenn du wirklich beim FDC bleiben willst (was ich nicht hoffe), dann poste doch am besten deinen Code.

bitmaster
In the Future everyone will need OS-64!!!

Korona

  • Beiträge: 94
    • Profil anzeigen
Gespeichert
« Antwort #2 am: 02. January 2007, 14:29 »
Wenn du alles so machst wie es von Intel erwartet wird (auch das Timing!) sollte der FDC-Treiber auf jedem PC laufen. Achte aber darauf dass du wirklich alles richtig machst und nicht irgentwelche Sachen auslässt. Dann mag vieleicht ein FDC damit laufen, manche aber eben nicht.

bitmaster

  • Troll
  • Beiträge: 1 138
    • Profil anzeigen
    • OS-64 = 64 Bit Operating System
Gespeichert
« Antwort #3 am: 02. January 2007, 16:48 »
Wenn du alles so machst wie es von Intel erwartet wird (auch das Timing!) sollte der FDC-Treiber auf jedem PC laufen. Achte aber darauf dass du wirklich alles richtig machst und nicht irgentwelche Sachen auslässt. Dann mag vieleicht ein FDC damit laufen, manche aber eben nicht.
Genau das meinte ich. Gut ich habe dann warscheinlich nicht alles gemacht was Inte verlangt. ^^ Nur das Ding ist Müll.

bitmaster
In the Future everyone will need OS-64!!!

Cheebi

  • Beiträge: 91
    • Profil anzeigen
    • Cheebis Webseite
Gespeichert
« Antwort #4 am: 09. January 2007, 11:12 »
Hi,


ich hab den Grund gefunden. Aus irgendeinem Grund, war die Port-in/-out Routine auf dem einen PC fehlerhaft. Jetzt klappt's, wie es dagegen geklappt hat, den PIC damit zu remappen und die Serielleschnittstelle zu initialisieren und die Uhrzeit abzufragen, weiß ich leider auch nicht  :?

cya
Cheebi
0100 1001 0100 1100 0100 0001 0010 0000 0011 1010 0010 1101 0010 1010
http://www.cheebi.de

Svenska

  • Beiträge: 1 792
    • Profil anzeigen
Gespeichert
« Antwort #5 am: 09. January 2007, 22:11 »
Zu komischen Floppy-Controllern fällt mir nur ein, was ich im Minix-Changelog (für 2.0.4 oder so) gelesen hatte (frei übersetzt aus dem Gedächtnis):

"Konstanten für den FDC wieder geändert. Diskettenlaufwerke sollten wieder funktionieren (die Zahlen kamen direkt vom Datenblatt!!)."

Scheint schon komisch zu sein der FDC ... :)

Gruß,
Svenska

 

Einloggen