Autor Thema: Paar Fragen  (Gelesen 6607 mal)

thetrue

  • Beiträge: 216
    • Profil anzeigen
    • http://www.the-true.net
Gespeichert
« am: 03. August 2006, 21:55 »
moin,

wie kann ich:

1. Den PowerDown Knopf abfangen und dann halt Power doch nicht abzuschalten ... also ich will sowas wie bei windows, wenn man den Ausschalte Knopf drückt ;)
2. Wie Kann ich den PC ausschalten, also APM PowerDown?
3. Wie reboote ich ihn?

achja, ich bin im Pmode ;)
thetrue way is my way

ST-225

  • Beiträge: 43
    • Profil anzeigen
Gespeichert
« Antwort #1 am: 03. August 2006, 22:07 »
Zu 1. Keine Ahnung, Sorry

2. Zurück in den RM und dann per INT 15

3. Per Hexdump
db 0EAh
dw 0000h
dw 0FFFFh

Osbios

  • Beiträge: 247
    • Profil anzeigen
Gespeichert
« Antwort #2 am: 03. August 2006, 22:13 »
3. rebooten ist das einfachste. Eine Methode ist z.B. über den Keyboardcontroller (ich hab mal gehört über den kann man sogar Keyboards ansteuern...). Einfach 0xFE an den KBC senden.

2. Das kann man noch recht einfach über ein par Bios Ints machen. Muss dann aber im rm (oder v86) geschehen.

Der Code funzt bei mir. Hab ich mal wo aufgeschnappt.

Realmode!
mov ax,0x5301
 xor bx,bx
 int 0x15

 mov ax,0x530e
 xor bx,bx
 mov cx,01
 int 0x15

 mov ax,0x530f
 mov bx,1
 mov cx,bx
 int 0x15

 mov ax,0x5308
 mov bx,1
 mov cx,bx
 int 0x15

 mov ax,0x5307
 mov bx,1
 mov cx,3
 int 0x15
 
.hlt: hlt  
 jmp .hlt


1. Das würde nach meinem Wissen eine direkte programmierung vom APM benötigen, und davon hab ich keine Ahnung.
db 0x55AA

Jidder

  • Administrator
  • Beiträge: 1 625
    • Profil anzeigen
Gespeichert
« Antwort #3 am: 03. August 2006, 23:09 »
Zitat von: ST-225
3. Per Hexdump
db 0EAh
dw 0000h
dw 0FFFFh

Wir leben im Zeitalter von Programmen die sich Assembler nennen. Kompatibilität zu Lochkarten ist nicht mehr erforderlich.

NASM nimmt z.B. folgendes an:
jmp 0xffff:0x0000

(Auch hier wird offensichtlich BIOS Code aufgerufen und benötigt somit einen Wechsel in den Real Mode.)
Dieser Text wird unter jedem Beitrag angezeigt.

bitmaster

  • Troll
  • Beiträge: 1 138
    • Profil anzeigen
    • OS-64 = 64 Bit Operating System
Gespeichert
« Antwort #4 am: 03. August 2006, 23:56 »
@PorkChicken: hehe das habe ich ihm auch per msn gesagt (dem thetrue). ^^

bitmaster
In the Future everyone will need OS-64!!!

Osbios

  • Beiträge: 247
    • Profil anzeigen
Gespeichert
« Antwort #5 am: 04. August 2006, 08:39 »
Das man nicht wieder in den RM muss ist der Vorteil des KBC-Resets.

Genau deshalb verwende ich ihn auch. Denn mein Kernel läuft mitlerweile im 3GiB Bereich und im Falle eines Resets müsste man sich immer erst ne PT für den 1MiB Bereich bauen um dort hinzuspringen und das Paging auszuschalten. Geht das eventuell auch eleganter? Ich kann sonst meinen APM Code nicht mehr benutzen. :*(
db 0x55AA

bluecode

  • Beiträge: 1 391
    • Profil anzeigen
    • lightOS
Gespeichert
« Antwort #6 am: 04. August 2006, 13:11 »
Virtual-8086-mode. Aber beschäftige dich doch erstmal mit einfacheren Sachen :wink:
lightOS
"Überlegen sie mal 'nen Augenblick, dann lösen sich die ganzen Widersprüche auf. Die Wut wird noch größer, aber die intellektuelle Verwirrung lässt nach.", Georg Schramm

bitmaster

  • Troll
  • Beiträge: 1 138
    • Profil anzeigen
    • OS-64 = 64 Bit Operating System
Gespeichert
« Antwort #7 am: 04. August 2006, 13:19 »
Zitat
Aber beschäftige dich doch erstmal mit einfacheren Sachen.
Das meintest du sicherlich mit bezug auf thetrue. Und da stimme ich dir voll zu *reim*.

@thetrue: Lern doch erstmal richtig die Intel (AMD) Architektur kennen. Lerne was "org" bringt, wofür Segmentregister sind, wie man Adressiert und wie das genau abläuft, usw. Dann wenn du das alles verstehst wird es dir viel einfacher fallen ein OS zu proggen. So, ohne viel Ahnung, wirst du bald ins stoppen geraten bzw. Fehler ohne Ende bekommen. Kauf dir doch ein besseres ASM-Buch, wenn deins nicht mal die Segmentregister erklährt. Ich empfehle dir das Assembler Buch von Addison-Wesley. Dies ist mein liebligsbuch. Ich warte z.Z. bis die eine neue Ausgabe davon rausbringen. Dann hoffentlich auch überm Longmode und 64 Bit.

bitmaster
In the Future everyone will need OS-64!!!

Biehler Productions

  • Beiträge: 51
    • Profil anzeigen
    • http://bielos.de.tk
Gespeichert
« Antwort #8 am: 04. August 2006, 19:06 »
Ne kleine Anmerkung @topic

Zumindest bei AT Rechnern wirst du Probleme haben, den Powerbutton abzufangen, da dieser direkt an das NT angeschlossen ist.

Homix

  • Beiträge: 138
    • Profil anzeigen
Gespeichert
« Antwort #9 am: 04. August 2006, 22:30 »
hi,
ACPI brauchst du (ab biosschen neueren PCs)

Reboot: Outb($64,$FE);

mfg,
stefan

 

Einloggen