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