BIOS/CMOS auslesen oder debuggen



  • Hi,
    wie kann man das BIOS oder das CMOS (sprich: Das kleine 1. Betriebssystem im Computer) auslesen/debuggen?
    Ich habs mit debug -> U 0000:0000 ausprobiert, kommt aber nix tolles bei raus!



  • Das BIOS befindet sich bei FFFF:0000, oder F000:0000 (?) musst mal nen String wie "American Megatrends" oder "Award", jenachdem wie dein BIOS heisst, suchen. Wenn es findest hast du das BIOS Segment.
    Das CMOS liest du über Ports aus (0x70,0x71).
    In Port 0x70 schreibst du die Nummer des REgisters, aus 0x71 kannst du dann den Inhalt lesen!
    Hier mal ein paar Register:
    0x00 Sekunden
    0x01 Alarmsekunden
    0x02 Minuten
    0x03 Alarmminuten
    0x04 Stunden
    0x05 Alarmstunden
    0x06 Wochentag
    0x07 Tag im Monat
    0x08 Monat
    0x09 Jahr
    0x0a-0x0d Statusregister
    0x0e-0x0f Je nach Hersteller, hier wird der ganze Müll wie Speichertiming und so abgelegt.
    0x10 Diskettenlaufwerke
    ...
    Jetzt kannst du mit ganz normalen Portwrites/reads die Register auslesen.

    Das CMOS ist aber nicht das BIOS, es ist ein SRAM-Baustein!



  • also, das BIOS-segment liegt an der adresse F000:0000 (grimmsen war sich da net so sicher). wichtige daten kannst du da kaum auslesen. das solltest du lieber im bios-daten-segment tun. das liegt an adresse 0040:0000. da findest du alles mögliche von infos über installierte laufwerke, über den tastaturbuffer bis hin zum bios-timer. im bios-segment kannst du aber das release-datum auslesen. das steht an der adresse F000:FFF5 und ist ein string (länge weiß ich net, ich glaube 8 byte)
    wenn du mehr infos übers bios haben willst, dann mail mir einfach...

    cu todo


Anmelden zum Antworten