Autor Thema: BIOS-Ints im PM  (Gelesen 8900 mal)

joachim_neu

  • Beiträge: 1 228
    • Profil anzeigen
    • http://www.joachim-neu.de
Gespeichert
« am: 04. November 2004, 13:53 »
hallo,

die BIOS-Ints gehen doch im PM net, weil die Handles nicht da sind, stimmts? man könnte doch im RM aus dem Speicher mit einer Funktion die Handles auslesen, aus den Zielen die Ints im Machinencode holen, den disassemblieren, in 32-Bit umwandeln (oder bei 16 bit für 16 bit PM lassen) und dann in seinen Code einbauen, oder??? dann hätte man auch die Ints im PM.
http://www.joachim-neu.de | http://www.orbitalpirates.de | http://www.middleageworld.de

System: 256 RAM, GeForce 2 MX 400, AMD Athlon XP 1600+, Windows XP, 1x Diskette, 1x DVD-ROM, 1x CD-R(W) Brenner,...

chr15

  • Beiträge: 279
    • Profil anzeigen
    • http://www.clinux.de.vu
Gespeichert
« Antwort #1 am: 04. November 2004, 17:31 »
Ja, der code wäre dann aber maschienenabhängig. Aber ob mans glaubt oder nicht, so ähnlich wird das mit dem VESA-BIOS im PM auch gemacht. Da springt man einefach irgendwo hin und ruft nicht einen Int auf....

joachim_neu

  • Beiträge: 1 228
    • Profil anzeigen
    • http://www.joachim-neu.de
Gespeichert
« Antwort #2 am: 04. November 2004, 19:44 »
cool! man könnte doch aber auch eine routine schreiben, die die Interupt-Handler verfolgt, die Ints bis zu einer bestimmten Kombination speichert, und den Speicher dann im PM wieder bei sich irgendwo leeren!
http://www.joachim-neu.de | http://www.orbitalpirates.de | http://www.middleageworld.de

System: 256 RAM, GeForce 2 MX 400, AMD Athlon XP 1600+, Windows XP, 1x Diskette, 1x DVD-ROM, 1x CD-R(W) Brenner,...

chr15

  • Beiträge: 279
    • Profil anzeigen
    • http://www.clinux.de.vu
Gespeichert
« Antwort #3 am: 04. November 2004, 20:05 »
Achso, was meinst du mit 32 Bit Code umwandeln. Also um ganz richtig zu sein. Du musst den code auch PM-fähig machen (umwandeln). Dachte ich hätte es im ersten Posting gelesen.....

Naja, wenne das so machen wills denk mal über V86 nach

joachim_neu

  • Beiträge: 1 228
    • Profil anzeigen
    • http://www.joachim-neu.de
Gespeichert
« Antwort #4 am: 04. November 2004, 21:00 »
gibt es nich auch einen 16-Bit-PM??? man könnte entweder umwandeln (maschinenabhängig) oder während der laufzeit (nur 16-Bit-PM)...
http://www.joachim-neu.de | http://www.orbitalpirates.de | http://www.middleageworld.de

System: 256 RAM, GeForce 2 MX 400, AMD Athlon XP 1600+, Windows XP, 1x Diskette, 1x DVD-ROM, 1x CD-R(W) Brenner,...

lobmann

  • Beiträge: 243
    • Profil anzeigen
    • http://www.fallek.de.vu
Gespeichert
« Antwort #5 am: 04. November 2004, 22:16 »
Naja die Frage ist was du erreichen willst...
Willst du einfach nur dein RM OS mit mehr Speicher versorgen dann solltest du dich ma mit EMS, XMS DPMI usw... auseinandersetzen.

Ansonsten gibts ja noch die möglichkeit "einfach" aus dem PM zurück in den RM springen dein BIOS-INT`S ausführen und wieder zurück springen.

oder Möglichkeit Nr.3 V86 Mode....

schau mal auf der FH-Zwickau Page da steht glaub ich was dazu
Man kann doch nem alten Mann nicht in den Bart spucken und sagen es hat geschneit

joachim_neu

  • Beiträge: 1 228
    • Profil anzeigen
    • http://www.joachim-neu.de
Gespeichert
« Antwort #6 am: 04. November 2004, 23:30 »
gute idee, das mit dem zurückspringen! ich dachte nur, dass wenn man die ints in den PM mitnimmt, das ganze eine gute alternative währe, zu den ganzen sachen, wie tastaturtreiber, und hdd-treiber usw., die ihr gerade schreibt. zumindest, wenn man die ints für tastatur, laufwerke und video mitnimmt und in 32-bit macht, hat man schon einen gewaltigen vorteil und ein weniger an arbeit!
http://www.joachim-neu.de | http://www.orbitalpirates.de | http://www.middleageworld.de

System: 256 RAM, GeForce 2 MX 400, AMD Athlon XP 1600+, Windows XP, 1x Diskette, 1x DVD-ROM, 1x CD-R(W) Brenner,...

chr15

  • Beiträge: 279
    • Profil anzeigen
    • http://www.clinux.de.vu
Gespeichert
« Antwort #7 am: 05. November 2004, 14:34 »
Ein NAchtei wäre aber z.B., dass du dann nicht alle funktionen der hardware nutzen kannst. Das ansprechen über Ports hat meistens einen größeren Funktionsumfang zur folge. Aber es kann trotzdem nicht schaden sich dissassembierte BIOS-Funktionen anzuschauen, wenn man nicht weiß, wie man ein bestimmtes gerät ansprechen soll.

Aber ich denke es ist besser die HW-Routinen von einem OS, wie Linux, als vom BIOS zu kopieren, wenne die nicht selber programmieren möchtest. Das ist dann auch schon PM und so....

lobmann

  • Beiträge: 243
    • Profil anzeigen
    • http://www.fallek.de.vu
Gespeichert
« Antwort #8 am: 05. November 2004, 14:46 »
Jo denke ich auch, das Problem an BIOS-Int`s ist das die ziemlich langsam sind, weil sie ja im Prinzip auf allermöglichen Hardware laufen müssen...

Ich würde die Treiber selber schreiben lohnt sich aufjedenfall Performance-Technisch gesehen...
Man kann doch nem alten Mann nicht in den Bart spucken und sagen es hat geschneit

chr15

  • Beiträge: 279
    • Profil anzeigen
    • http://www.clinux.de.vu
Gespeichert
« Antwort #9 am: 05. November 2004, 23:25 »
Das mit der Geschwindigkeit verstehe ich nicht.... Die Bios-Routinen sind doch speziell aufs system ausgelegt. Das müsste doch eigendlich am schnellsten gehen. Es gibt ja für jedes System n anderes BIOS.

Roshl

  • Beiträge: 1 128
    • Profil anzeigen
    • http://www.lowlevel.net.tc
Gespeichert
« Antwort #10 am: 06. November 2004, 10:06 »
Nein das Bios ist nahezu immer gleich, ob Award Ami oder so spielt kaum eine Rolle. Wenn du die Hardware änderst, zb die Graka muss das System troztdem laufen. Das Bios is auf garnix zugeschnitten. Die Bioshersteller können sich freun wenn se gewisse Standarts wie bei Grakas haben, der nahezu immer unterstützt wird, wenn sich aber ne Firma da nicht dran hält müssen se ihr Bios dafür erweitern^^
[schild=1]Wieder ein wertvoller(?) Beitrag von Roshl[/schild]

chr15

  • Beiträge: 279
    • Profil anzeigen
    • http://www.clinux.de.vu
Gespeichert
« Antwort #11 am: 06. November 2004, 13:20 »
Ok, aber für jede einzelne Grafikkarte einen Treiber schreiben.... Das kann man alleine nicht schafenn wenn man noch sowas wie die OpenGL-Unterstützung ausnutzen will. Ich dachte jetzt auch eher an auf dem Board immer integrierte Hardware, wie Parallelport und so. Naja, ok, kommt wahrscheinlich auf ungefähr die gleiche Geschwindigkeit raus.

joachim_neu

  • Beiträge: 1 228
    • Profil anzeigen
    • http://www.joachim-neu.de
Gespeichert
« Antwort #12 am: 06. November 2004, 14:17 »
wenn man für sein OS die BIOS-Ints nimmt, ist es einfacher, als wenn man für jede erdenkliche Hardware einen Treiber schreiben muss, egal, wie langsam die sind!
http://www.joachim-neu.de | http://www.orbitalpirates.de | http://www.middleageworld.de

System: 256 RAM, GeForce 2 MX 400, AMD Athlon XP 1600+, Windows XP, 1x Diskette, 1x DVD-ROM, 1x CD-R(W) Brenner,...

Roshl

  • Beiträge: 1 128
    • Profil anzeigen
    • http://www.lowlevel.net.tc
Gespeichert
« Antwort #13 am: 07. November 2004, 19:08 »
Es gab mal Boards die hatten kein(!) Paralelport;)
Ich selbst hab hier eins rumliegen, da sind weder para noch serielle drauf, nichtmal n ide anschluss oda fdc ^^ garnix, einzig eine unmenge an isa slots n paar ramplätze und n tastaturport.
Man muss ja nicht für jede graka einen schreiben, man schreibt zuerst einen Universaltreiber der auf allem dasselbe darstellt, ohne zusatzfunktionen. Dann kann man davon ausgehend treiber spezieller schreiben. Das Bios ist auch nur se Sammlung allgemeiner treiber.
Egal meiner  Meinung nach sollte man sich nich aufs Bios verlassen^^ ich verwende als einziges Int 13h im Bootloader, und das auch nur weil ich keine wahl hab^^, denn n kompletten int 13h handler  kriegt man kaum in 512 Byte-restlicher bootlader^^
Wenn dein OS irgendwann mal weltberühmt ist überlegen es sich vielleicht sogar die firmen dir welche zu schreiben^^
[schild=1]Wieder ein wertvoller(?) Beitrag von Roshl[/schild]

 

Einloggen