PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Floppy lesen mit Ports


Blue Cobold
28.04.2003, 23:23
Hi.

Ich arbeite gerade am Kernel für mein (wahrscheinlich ewiges Projekt) OS und muss nun im Protected Mode (natürlich als Ring0) die Sektoren der Diskette lesen können. Das geht aber nur über Ports und weiß leider nicht wie genau...
Falls jemand es weiß oder sogar ein Beispiel posten oder schicken könnte, wäre ich ihm echt dankbar.
Die Festplatte kann ich schon ganz gut lesen, aber eben leider nicht das Diskettenlaufwerk.

Danke schonmal im Vorraus!


Felix Kaiser
29.04.2003, 15:28
http://www.menuetos.org/
Solltest dir mal das Projekt anschauen, außerdem gibt es dort viele nützliche Links. Als ich damals ein paar Bugs aus dem Kernel gefischt und gefixt hatte, war es noch OpenSource und stand unter GPL...

Blue Cobold
29.04.2003, 17:27
Also OS-Coder kenne ich das natürlich schon. Ich wollte nur nicht so dreist sein und rippen. Außerdem sind die Datenbereiche durch die Angabe von Direktoffsets sehr unübersichtlich, wie ich finde. Das hätten sie über Konstanten mit verständlichen Namen lösen sollen... Na ja...
Komisch nur, dass MenuetOS bei mir eine Macke hat: Es erkennt angeblich die Maus, aber unter der grafischen Oberfläche ist nix zu sehen, ich kann auch nicht mit dem Keyboard navigieren und mir bleibt außer einem Neustart nichts anderes dort zu tun. Ist schon ärgerlich, wie ich finde!
Liegt das vielleicht daran, dass dort nur Sachen über PS/2 Mäuse angegeben sind und ich eine Serielle Maus habe? Wird die nicht weiter unterstützt?

Blue Cobold
25.07.2003, 10:01
Hmmm... auf meinen Laptop funzt es mit dem Touch-Pad...

Jan Krüger
25.07.2003, 10:59
Das könnte daran liegen, dass Laptop-Touchpads intern fast immer am PS/2-Port angeschlossen sind.

Blue Cobold
29.07.2003, 08:18
Aha. Könnte sein. Danke.

Aber mehr interessiert mich ja eigentlich die Floppy.... :(

[MM]
04.12.2003, 21:47
Hallo.

Ich habe mir mal für mein OS nen kleines Testprogramm geschrieben mit dem man Sektoren lesen, schreiben und formatieren kann (natürlich mit ports).

Wenn du willst schicke ich es dir.

Blue Cobold
05.12.2003, 06:17
Das wäre echt genial!
Mail-Addi ist: BlueCobold@gmx.de
Danke!

[MM]
05.12.2003, 10:01
Du wirst das Programm wohl etwas umschreiben müssen damit du es mit deinem Assembler assemblieren kannst, da ich es für meinen eigenen geschrieben habe, aber zumindest das Prinzip solltest du erkennen können.

Blue Cobold
05.12.2003, 13:25
Der Code sieht doch prima aus. Danke.
Und da ich NASM nehme, werde ich eh das eine oder andere umschreiben müssen. ;-)

DANKE VIELMALS!

[MM]
29.12.2003, 16:01
Mir ist vor kurzem noch ein Fehler aufgefallen der auf schnelleren Rechnern vorkommt:

In der Funktion "reset" muss an der Stelle

; *** resetting triggered an interrupt - handle it ***
mov byte ptr [done],1

mov bl,1
call waitfdc

das "mov byte ptr [done],1" raus. Das hatte ich gemacht um die Sache etwas zu beschleunigen, jedoch habe ich festgestellt, dass sich schnelle Rechner da aufhängen...