Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   io.sys (https://www.delphipraxis.net/26782-io-sys.html)

Borti 29. Jul 2004 11:36


io.sys
 
Hallo!
ich bin grad über die Datei io.sys gestolpert. Soweit ich dem netz entnehmen konnte kann diese Datei direkt hardwarkomponenten ansprechen. ist das korrekt? Und wenn ja, wie steuer ich diese Datei dann mit Delphi an?
Gruß,
Borti

neolithos 29. Jul 2004 11:42

Re: io.sys
 
Tut mir leid das sagen zu müssen -> Garnicht!

Denn diese Datei wird soweit ich weis im WinNT nicht mehr benötigt.
Bei Win9x war sie auch nur noch wegen der abwärtskompatiblität dabei.

Direkt HW ansprechen kann man nur über Treiber.
Treiber und Delphi, das Thema hatte wir schon zur genüge. -> Grenzen von Delphi

Hansa 29. Jul 2004 11:51

Re: io.sys
 
Das kommt noch aus alten DOS-Zeiten. Du brauchtest nur die COMMAND.COM, die IO.SYS und die MSDOS.SYS, um ein bootfähiges Sytem zu haben. Warum willst du die ansprechen ?

Borti 30. Jul 2004 16:26

Re: io.sys
 
Wenn du meine Tätigkeiten im Forum dir anschaust, wirst du feststellen, dass ich versuch den LPT-Port anzusprechen.
Ich hab's schon mit einem Treiber geschafft, wollt aber noch nach anderen Möglichkeiten schauen.
Gruß,
Borti

scp 30. Jul 2004 16:59

Re: io.sys
 
Zitat:

Zitat von neolithos
Bei Win9x war sie auch nur noch wegen der abwärtskompatiblität dabei.

Sicher? Lösch mal die IO.SYS in einem 9x-System und starte den Rechner neu -> nichts geht mehr. 9x basiert noch auf MS-DOS und da gehört die IO.SYS eben zum "Kern".

PS: Die io.sys ist übrigens in WinXP 0 Byte gross, was da wohl drin sein mag :)

Hansa 30. Jul 2004 17:24

Re: io.sys
 
Zitat:

Zitat von scp
..Sicher? Lösch mal die IO.SYS in einem 9x-System und starte den Rechner neu -> nichts geht mehr. 9x basiert noch auf MS-DOS und da gehört die IO.SYS eben zum "Kern".

9X basiert nicht auf MS-DOS. Aber vielleicht wurde die Datei nicht umbenannt, wie CONFIG.NT anstatt CONFIG.SYS. WIN9X wird von mir nicht mehr unterstützt. 8) Nur noch W2000 oder XP.

Alter Mann 30. Jul 2004 17:37

Re: io.sys
 
???

IO.SYS stellt die grundlegenden Bearbeitungsroutinen von MS-DOS zur Verfügung. Das Heißt wenn der Rechner bootet, schaut das
BIOS nach ob eine Festplatte eingetragen ist(oder Versucht eine zu finden). Ist eine gefunden wird der MBR in den Speicher
geladen. Da dieser mit einer Sprungadresse anfängt(dort ist vermerkt welche Datei ausgeführt werden soll), lädt es das Prog
und führt es aus. Unter MS-DOS bis Win9x ist es die IO.SYS, unter NT die ntldr. Es gibt aber IBM.SYS (Dr.DOS, Caldera DOS, Novell-DOS). Die Aufgaben von IO.SYS ist es zuprüfen ob es eine Config.sys/Autoexec.bat gibt und die enthaltenen Befehle mit den
Commandointerpreter abzuarbeiten. Mehr nicht!

Um den LPT anzusprechen, reichen auch die BIOS-Routinen, was anderes nutzt IO.SYS auch nicht.

Gruss

Alter Mann

scp 31. Jul 2004 00:03

Re: io.sys
 
Zitat:

Zitat von Hansa
Zitat:

Zitat von scp
..Sicher? Lösch mal die IO.SYS in einem 9x-System und starte den Rechner neu -> nichts geht mehr. 9x basiert noch auf MS-DOS und da gehört die IO.SYS eben zum "Kern".

9X basiert nicht auf MS-DOS. Aber vielleicht wurde die Datei nicht umbenannt, wie CONFIG.NT anstatt CONFIG.SYS. WIN9X wird von mir nicht mehr unterstützt. 8) Nur noch W2000 oder XP.

Ich sags mal so: Ohne MS-DOS (das integrierte) kannst du kein Win9x laden. Die IO.SYS von Win9x ist zwar um einiges erweitert, entspricht aber in etwa dem, was die IO.SYS in MS-DOS 6.x usw. ausmachte. Schliesslich kannst du ja auch in Win9x eine MS-DOS-Bootdiskette erstellen, welche diesselbe IO.SYS enthält, wie sie beim booten von Win9x verwendet wird (bei WinMe weicht sie geringfügig ab, hier wurde erfolglos versucht, DOS zu verstecken).
Mit Kompatiblität hat das nur insofern zutun, das man sich damals noch nicht entschliessen konnte/wollte komplett auf das NT-System umzusteigen.
Wenn Windows erst mal fertig geladen ist hat das natürlich nicht mehr viel mit MS-DOS zu tun, da hast du recht.

Borti 31. Jul 2004 12:11

Re: io.sys
 
Zitat:

Um den LPT anzusprechen, reichen auch die BIOS-Routinen, was anderes nutzt IO.SYS auch nicht.
Was ist damit gemeint? wie sehen diese Bios-Routinen aus?

Alter Mann 1. Aug 2004 10:17

Re: io.sys
 
Hi Borti,

gemeint ist Int $17 mit den Funktionen
$00 - Zeichen parallel ausgeben,
$01 - Initialisierung und
$02 - Parallelen Schnittstellenstatus ermitteln.

Delphi-Quellcode:
type
    registers = record
                  case boolean of
                   true: (ax,bx,cx,dx,bp,si,di,ds,es,flags:Integer);
                   false:(al,ah,bl,bh,cl,ch,dl,dh:byte;
                end;

var
   cpu   : regsiters;
   status : byte;

procedure Init_Drucker(Drucker:Integer);
begin
  cpu.ah := 1;
  cpu.dx := Drucker;
  Intr($17, cpu);
  Status := cpu.ah;
end;

(aus: PC Profibuch - Sybex Verlag 8. Auflage 1991 - ISBN: 3-88745-836-2)
Gruss

Alter Mann


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:21 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz