Geschwindigkeitsbremse für DOS 1

Die meisten PCs sind inzwischen wesentlich schneller als die ursprünglichen Geräte, die noch mit 4,77 MHz getaktet waren. Außer der angenehmen Seite, die sich im ständigen Umgang mit dem Computer zeigt, kann dieser Effekt jedoch auch Nachteile haben. Viele Spiele beispielsweise verwenden einfache Zeitschleifen, um das Tempo des Programmes auf ein sinnvolles Maß zu reduzieren. Auf den schnelleren Geräten laufen jedoch diese Zeitschleifen wie das gesamte Spielprogramm viel schneller ab, sodaß häufig ein vernünftiges Spielen nicht mehr möglich ist.

Das Programm SLOW1 kann in vielen Fällen helfen. Gesteuert über einen Parameter, eine Ziffer von 0 bis 9, bremst es die Arbeitsgeschwindigkeit Ihres PCs in verschiedenen Stufen. Nach der Eingabe von »SLOW1 9« läuft Ihr Computer je nach Typ nur noch bis zu einem Drittel mal so schnell wie zuvor. »SLOW1 0« hebt die Bremse wieder auf, während alle anderen Werte Abstufungen zwischen diesen beiden Extremen zur Verfügung stellen. Da »SLOW1« nicht wie die meisten Programme dieser Art den Timerinterrupt verwendet, um den PC zu bremsen, sondern die Refresh-Rate erhöht, ist das Programm praktisch bei fast allen Spielen erfolgreich. Denn häufig verwenden Spiel-Programme den Timerinterrupt für eigene Zwecke, sodaß eine Verlangsamung durch ihn nach dem Starten des Spieles ohne Wirkung ist. Da das Programm nicht resident bleibt, belegt es keinen zusätzlichen Systemspeicher. Leider sind einige 286- und 386er auch für SLOW1 zu schnell, sodaß der Unterschied nicht eindeutig kalkulierbar ist. Auf manchen Computer bleibt das Programm nahezu wirkungslos.

Name: SLOW1.DEB
Funktion: Bremst die PC-Geschwindigkeit in verschiedenen Stufen.
Übersetzung: DEBUG <SLOW1.DEB
Prüfsumme: 69D4
Anwendung: SLOW1 ## = 0 … 9 0 = schnellste Geschwindigkeit

9 = langsamste Geschwindigkeit

Einschränkungen: Zeigt auf 386ern kaum eine Wirkung. Auf ATs ist der Geschwindigkeitsverlust nicht genau kalkulierbar.
A
MOV AL,54           ;100
OUT 43,AL           ;102
MOV AL,39           ;104
SUB AL,[82]         ;106
CMP AL,3            ;10A
JBE 112             ;10C
ADD AL,AL           ;10E
SUB AL,3            ;110
CMP AL,F            ;112
JA 11A              ;114
ADD AL,3            ;116
OUT 41,AL           ;118
RET                 ;11A

RCX
1B
NSLOW1.COM
W
Q

Quelle: 200 Utilities für PC-/MS-DOS von Gerhard Schild und Thomas Jannot