home *** CD-ROM | disk | FTP | other *** search
- Kurzbeschreibung:
-
- Name: Schnecke.asm
- Sprache: Assembler MASM 4.0 und 5.0, TASM
- Autor: Jürgen Altfeld
- Grafikkarte: Jede
- Funktion: Verlangsamen und Anhalten von Programmen jeder Art
- Besonderheiten: Führt bei manchen Programmen zum Absturz. Ganz wenige
- Programme stürzen bei der Pausen-Funktion ab.
-
-
- Das Programm bremst die Arbeitsgeschwindigkeit eines PC XT/AT oder
- kompatiblen. Dabei läßt sich der Grad der Verzögerung jederzeit vom
- Anwender einstellen.
- Bei praktisch jedem PC der AT-Klasse, aber auch bei den mit 8 MHZ oder
- schneller getakteten Maschinen, ergibt sich oft das Problem, daß Programme
- einfach zu schnell laufen. Meist tritt dieses Problem bei Spielen auf,
- welche für XT's mit 4,77 MHZ und 8088-Prozessor geschrieben wurden. Aber
- auch MS-DOS Befehle wie TYPE oder DIR arbeiten so schnell, daß ein
- vernünftiges Arbeiten manchmal nicht möglich ist.
- Genauso ist die normale Arbeitsgeschwindigkeit eines Computers für Kinder
- zu schnell.
- Nicht zuletzt lassen sich auch (Action-) Spiele viel besser spielen, wenn
- man sie verlangsamt.
- Bei manchen Programmen ist es außerdem wünschenswert, nur an bestimmten
- Stellen des Programms den Rechner zu bremsen (z. B. bei Echtzeitsimulationen,
- komplexen Berechnungen etc.).
- All diese Funktionen bietet Schnecke. Nach dem Starten gibt Schnecke eine
- eine kurze Meldung aus und bleibt resistent im Arbeitsspeicher. Es belegt
- nur ca. 400 Byte und läßt sich durch einen Warm- (CTRL-ALT-DEL) oder
- Kaltstart (Aus- und Einschalten) wieder entfernen. Der Grad der Verzögerung
- wird durch gleichzeitiges Drücken der ALT-Taste und einer Ziffern-Taste
- eingestellt. Die Verzögerungsdauer liegt zwischen minimal (ALT-1) und
- rießig (ALT-9). Durch Drücken von ALT-0 (ALT und Null) wird die Verzögerung
- wieder ausgeschaltet. Ist die Verzögerung so groß, daß der Rechner nur
- noch damit beschäftigt ist, die Verzögerungsschleifen zu durchlaufen, so
- wird das momentan laufende Programm unterbrochen (Pause-Funktion, normaler-
- weise ALT-9). Durch Anwählen eines anderen Verzögerungswertes (z. B. ALT-4)
- oder ausschalten der Verzögerung (ALT-0) wird das unterbrochene Programm
- wieder fortgesetzt.
-
- Schnecke arbeitet auch in Verbindung mit anderen speicherresistenten
- Programmen (z. B. CGA-Emulatoren), sollte jedoch immer als letztes Programm
- installiert werden. Dadurch vermeidet man Inkompatiblitäten.
- Probleme ergeben sich lediglich bei Programmen, die den Zeitgeberbaustein
- 8253 umprogrammieren oder die Interrupts permanent sperren.
- Schnecke arbeitet mit ca. 90% aller Public-Domain-Programmen bzw. 60-70%
- aller kommerziellen Programme einwandfrei. Bei einigen dieser Programmen
- (max. 5-10%) führt die Pausenfunktion jedoch zum Absturz.
-
- Nach dem Aufruf von Schnecke biegt es die Interrupt-Vektoren 8 (Systemzeit-
- geber = Timer) und 9 (Tastatur) des BIOS auf eigene Routinen um und erklärt
- sich selbst als speicherresistent. Bei jedem Tastendruck wird nun geprüft,
- ob eine Hotkey-Taste gedrückt wurde. Wenn dies der Fall ist, werden
- entsprechende Werte für die Verzögerungsroutine gesetzt (Dauer der
- Verzögerung, Verzögerung ein/aus). Die Verzögerungsroutine selbst wird
- 18,2 mal pro Sekunde durchlaufen. Sie ruft zuerst die ursprüngliche
- Interrupt-Routine des Interrupts 8 auf, dann den Interrupt 1Ch (Timer).
- Danach führt sie die Verzögerungsschleife aus, wenn diese aktiviert worden
- ist. Die Verzögerungsroutine verwendet den Interrupt 8 anstelle des
- Interrupts 1Ch deshalb, weil manche Spiele den Interrupt 1Ch für eigene
- Zwecke benötigen und dadurch Schnecke deaktiviert werden könnte.
- Sollten Sie sich zu den glücklichen Besitzern eines besonders schnellen
- Rechners zählen (40 MHZ 80486 AT???), so können Sie die Dauer der
- Verzögerungsschleife zusätzlich erhöhen. Sie finden den Wert im
- Assembler-Listing beim Label "GO0". Er beträgt standardmäßig 100.
- Bei AT's empfiehlt sich ein Wert zwischen 200 und 800.
-
- Bitte vergessen Sie nicht, daß Programm nach dem erfolgreichen Assemblieren
- und Linken in eine COM-Datei umzuwandeln, es läuft sonst nicht einwandfrei.
- Dies wird übrigens mit dem MS-DOS-Dienstprogramm EXE2BIN durchgeführt.