Oktober 1992 |
||||
Meinungen, Programme und Hardware ProgrammprojekteAutor: Sven Friedrichs |
||||
Floppystatuserkennung mit dem Basic 7.0 und Compiler Basic 128Die meisten Programmierer begnügen sich damit, die Diskettenoperationen ihres Programms auf der Standardlaufwerkadresse "8" durchführen zu lassen. Sehr zum Leidwesen von frischgebackenen Zweitfloppy-Besitzern, denn jetzt fängt das Gedippe (Computer"fach"ausdruck: Dipschalter mit dem nächstliegenden Gegenstand umschalten") erst richtig an. Nachladende Programme, die man mit aller Sorgfalt auf den 1581-Standard gebracht hat, erwarten wichtige Programmteile von Laufwerk "8", dabei ist die zweite Floppy meist über Adresse "9" zu erreichen. Also muß der Anwender mit Müh und Not die gut versteckten Dipschalter an seinem Laufwerk umstellen. Wesentlich besser wäre, wenn der Programmierer ihm diese Arbeit abnehmen würde. Man braucht also eine Routine, die erkennt, welche Laufwerke zur Zeit aktiv sind. Um dieses Problem zu lösen, sind nicht einmal Assemblerkenntnisse nötig. Mit dem Basic des C128 geht es ganz einfach:
9000 for i=1to4 Dieses kleine Programm wird mit "GOSUB 9000" gestartet und biegt die Adresse (768) der Fehlerroutine so um, daß das Basicprogramm auch bei ausgeschalteter Floppy weitergeführt wird. Nun braucht man nur noch den Status (st) abfragen, um den Zustand der Floppy zu erkennen. Wer aber mit dem Compiler "Basic 128" arbeitet, wird hier keinen Erfolg haben. Statt dessen sollte dieses Programm eingetippt werden:
9000 rem (klammeraffe)tc Wer den Compiler "Basic 128" benutzt muß die REM-Zeilen mit eintippen, da ein "Resume Next" Bereich vorher angemeldet werden muß. Im normalen Basic kann der REM-Befehl durch einen Doppelpunkt ersetzt werden. Und schließlich muß noch ein kleines Auswahlprogramm her: (Start erfolgt durch "run 9100")
9100 gosub 9000 Sobald man die Frage nach dem Laufwerk mit "J" beantwortet, wird nach Ihrer Laderoutine verzweigt. ladeprogramm muß also durch die erste Zeilennummer Ihres Nachladeprogramms ersetzt werden. lw wird in die "Bload"- oder "Dload"-Anweisung untergebracht (z.B.: DLOAD "zeichensatz" ,u lw). Mit Sicherheit läßt sich das Ganze noch mit Raffinessen ausschmücken, doch sollte hier jeder Programmierer selbst entscheiden. In Punkto Anwenderfreundlichkeit streicht Ihr Programm auf jeden Fall schon einmal Pluspunkte ein. |
||||
|