Tastatur und Frage zum mode 13h
-
Hi!
ich will eine möglichst schnelle Tastatureingabe(nicht wartend)
Soll ich da irgendeinen Interrupt verwenden oder meinen eigenen Keyboardhandler schreiben?Es geht um NASM im 16Bit DOS Modus
Und nochwas:
Ich schalte vom mode13h mit folgendem code in den Textmodemov al,01h xor ah,ah int 0x10
aber bei dem code komme ich zurück in den Fullscreen DOS Mode.
Wie komm ich in den Fenstermodus zurück?
-
Hi.
Zu Tastatur:
Um zu entscheiden, ob du dir selbst einen Handler schreiben musst, oder den BIOS-Interrupt benutzen kannst, musst du entscheiden, was du an Funktionen brauchst und wie schnell die Keyboardabfrage nun sein soll.Willst du zB. ASCII-Zeichen von der Tastatur einlesen, oder reichen auch die Scancodes?
Brauchst du Unterstuetzung fuer Shift/Strg/etc.-Tastenkombinationen, bzw. Num-Block oder Caps-Lock?
...Zum Textmodus:
Der VGA-Modus 01h ist 40x25 Zeichen Textmodus.
Der DOS-Textmodus ist aber normalerweise 80x25 Zeichen (Mode al=03h).
Kann sein, dass bei diesem Textmodus dann wieder in den Fenstermodus zurueckgeschaltet wird.
Ansonsten hast du von RM DOS aus keinen Einfluss auf Windows und die Konsole.BTW:
mov ax, 0001h ;ist kleiner und schneller als das hier: mov al, 01h xor ah,ah
-
Hi!
ok, danke erstmal.
Ich will mir eigentlich nur ein simples Spiel mit Assembler programmieren(soll ein simpler snake clone werden), daher brauch ich "nur" die Pfeiltasten und die ESC Taste.
Würden die BIOS Interrupts da reichen?(weil ich lese immer das die ziemlich langsam sind)
-
Jo, da reicht auf jeden Fall der BIOS-Interrupt (int 16h).
So extrem langsam sind diese Funktionen nun schliesslich auch wieder nicht.
-
Nobuo T schrieb:
Jo, da reicht auf jeden Fall der BIOS-Interrupt (int 16h).
So extrem langsam sind diese Funktionen nun schliesslich auch wieder nicht.ok danke. Dann steht mir ja nichts mehr Wege
-
hmm..
aber dass man die Interrupt-Funktionen via Far Call direkt anspringen kann, wisst ihr?
Dadurch wird das Kind gleich um einiges schneller...Fragt mich aber jetz nicht wie.. ist laaaaange her und momentan arbeite ich auch eher auf Maschinen, die so groß sind wie Kleiderschränke...
-
Ja, klar, aber vor allem in Multitaskingsystemen, wie Windows ist der Geschwindigkeitsunterschied zwischen FAR-Call und interruptaufruf minimal.
Ist nur unnoetig umstaendlich.