Wenn Sie beim Telefonieren häufig mit besetzten Anschlüssen zu tun haben, was z. B. beim Anrufen von Teilnehmern in Ostblockländern an der Tagesordnung ist war, bringt eine automatische Wiederwahltaste am Telefon schon eine erhebliche Erleichterung. Wirklich nervschonend wird die Prozedur jedoch erst, wenn Sie über ein Modem verfügen und REDIAL.DEB verwenden. Das Programm wählt eine beliebige Telefonnummer, indem es Hayes-kompatible Kommandos an die serielle Schnittstelle sendet und die Nummer in regelmäßigen Abständen automatisch wiederholt. Besitzer von Telefonen mit altertümlichen Wählscheiben können jetzt ihre Finger mit angenehmeren Dingen beschäftigen. Sie brauchen nur Ihre Ohren zu spitzen und auf den internen Lautsprecher des Modems zu lauschen. Hören Sie ein Besetzt-Zeichen, lassen Sie REDIAL weiter gewähren; ansonsten, wenn Sie ein Frei-Zeichen oder gar ein Abheben wahrnehmen, greifen Sie den Telefonhörer und drücken irgendeine Taste am PC. Das Gespräch kann beginnen.
Das Programm konfiguriert die serielle Schnittstelle auf 300 Baud – womit die Anwahl jedes Hayes-kompatiblen Modems funktionieren dürfte – und initialisert anschließend das Modem (»ATZ«). Danach erfolgt eine kurze Pause (zirka 2 Sekunden), bevor das Wähl-Kommando »ATDP« gemeinsam mit der als Parameter übergebenen Telefonnummer und abschließendem Semikolon plus Carriage-Return an das Modem geschickt wird. Das Modem bleibt im sogenannten Kommando-Modus und versucht eigenständig, den Teilnehmer zu erreichen, was Sie am üblichen Rasseln der »Wählscheibe« im Modemlautsprecher erkennen können. Wenn Sie anschließend ein Freizeichen hören, nehmen Sie zuerst (!) den Telefonhörer ab, der bis jetzt unbedingt aufgelegt war, und drücken irgendeine Taste am PC. Dadurch wird die Wahlwiederholung beendet und das Modem erhält mit dem Kommando »ATH0« die Anweisung, die Verbindung zu beenden (»Hang Up«). Da inzwischen aber der Hörer abgehoben ist, geht das Gespräch jetzt vollständig auf das angeschlossene Telefon über und das Modem beginnt zu schweigen. Wenn Sie den Hörer liegen lassen und keine Taste betätigen, wählt REDIAL nach einer variablen Zeit die Telefonnummer von neuem, solange, bis Sie irgendeine Taste drücken. Diese Zeitspanne beträgt pro gewählter Ziffer zirka 4 Sekunden, was sich selbst im internationalen Telefonnetz als günstig erweist. Sollte dieses Intervall dennoch zu kurz sein, was Sie daran erkennen, daß das Modem aufhängt, bevor überhaupt ein Klingelzeichen ertönt, »verlängern« Sie einfach die Nummer durch Leerzeichen. Das Modem wählt diese zwar nicht, jedoch berücksichtigt sie REDIAL bei der Berechnung des »Timeouts«. REDIAL funktioniert standardmäßig mit der ersten seriellen Schnittstelle. Sie können jedoch selbst einige Veränderungen vornehmen. So läßt sich z. B. die verwendete Schnittstelle in der Zeile »MOV DX,0« kurz vor »INT 14« ändern, indem Sie die 0 für COM1 durch 1 für COM2, 2 für COM3 oder 3 für COM4 ersetzen. Sämtliche Modem-Kommandos im letzen Teil des Listings können Sie individuell anpassen, wofür Sie aber über entsprechende Kenntnisse und ein Modem-Handbuch verfügen sollten. Bei Änderungen ist es wichtig, daß jede Textzeile mit der Ziffer 0 beendet wird. Die Kommandos sind in der Reihenfolge ihres Ablaufes aufgeführt – zuerst die Initialisierung des Modems, dann die Einleitung und der Abschluß des Wählkommandos und schließlich die Anweisung zum Auflegen. Dabei darf nach der Einleitung des Wählkommandos »ATDP« nicht wie bei allen anderen Zeilen die hexadezimale Ziffer D (Steuercode für Return) erscheinen, weil REDIAL dort ja während der Ausführung die zu wählende Nummer ohne vorherigen »Wagenrücklauf« einfügen muß. In einigen Nebenstellen-Anlagen findet übrigens das amerikanische Tonwahl-Verfahren Anwendung, weshalb Sie unter Umständen den Befehl für Pulswahl »ATDP« durch »ATDT« ersetzen müssen. Weil sich durch diverse Änderungen die Länge des Programms ändern könnte, haben wir die Größe von REDIAL in der Zeile nach dem RCX-Befehl auf 512 Byte (200h) festgelegt. Da auch kürzeste Programme auf Disketten mindestens 512 Byte, nämlich einen Sektor belegen, spielt die künstliche Vergrößerung keine Rolle.
Name: | REDIAL.DEB |
Funktion: | Wählt wiederholt eine Telefonnummer über ein Hayes- kompatibles Modem. |
Übersetzung: | DEBUG <REDIAL.DEB |
Prüfsumme: | 7C99 |
Anwendung: | REDIAL # # = Telefonnummer |
Einschränkungen: | Hayes- oder kompatibles Modem muß angeschlossen sein. Achtung! Postzulassung für Modems beachten! |
F 100 2FF 0 A MOV BX,[80] ;100 MOV By[BX+E081],0 ;104 POP ES ;109 CLD ;10A MOV SI,164 ;10B MOV AX,43 ;10E CALL 159 ;111 CALL 13F ;114 CALL 15E ;117 PUSH SI ;11A MOV SI,81 ;11B CALL 15E ;11E POP SI ;121 CALL 15E ;122 MOV DL,[80] ;125 DEC DL ;129 JS 10B ;12B CALL 13F ;12D CALL 13F ;130 JZ 129 ;133 CALL 15E ;135 MOV AX,C00 ;138 INT 21 ;13B INT 20 ;13D MOV CX,24 ;13F ES:MOV BX,[46C] ;142 ES:CMP BX,[46C] ;147 JZ 147 ;14C MOV AH,B ;14E INT 21 ;150 CMP AL,0 ;152 LOOPZ 142 ;154 RET ;156 MOV AH,1 ;157 MOV DX,1 ;159 INT 14 ;15C LODSB ;15E CMP AL,0 ;15F JNZ 157 ;161 RET ;163 DB "ATZ",D,0 DB "ATDP ",0 DB ";",D,0 DB "ATH0",D,0 RCX 200 NREDIAL.COM W Q
Quelle: 200 Utilities für PC-/MS-DOS von Gerhard Schild und Thomas Jannot