Genie IIIs CP/M Version 3b Seite 1 1 Mini Disk Operation CP/M erfordert wenigstens ein Diskettenlaufwerk und kann bis zu acht Laufwerke ansteuern (A - H). Das CP/M-System, welches Sie erhalten haben, ist fr die Steuerung zweier doppelseiti ger 5-Zoll-Minidisklaufwerke mit jeweils 80 Spuren konfigu riert. Diese Laufwerke sind normalerweise in Ihrem Genie IIIs eingebaut. M”chten Sie ein bis sechs weitere Laufwerke (5" oder 8") an Ihren Genie anschlieáen, k”nnen Sie gegen eine Unkostenpauschale von DM 100,- (zzgl. MWSt) ein speziell kon figuriertes System erhalten. Bitte wenden Sie sich an nach stehende Adresse: Thomas Holte Sommerstr.16 8504 Stein Systemkundige k”nnen mit Hilfe der mitgelieferten BIOS-Quell programme selbst ein entsprechendes System konfigurieren, wenn sie im Besitz des Assemblers MACRO-80 von Microsoft sind. Wenn der Rechner eine Urladeoperation beim Einschalten bzw. "Reset" durchfhrt, versucht er automatisch, das Betriebs system von Laufwerk 0 zu laden. Deshalb muá sich eine CP/M Systemdiskette beim Einschalten bzw. "Reset" des Rechners im Laufwerk (0 bzw. A) befinden. 1.1 Funktionsweise Bevor Sie den Rechner einschalten, sollten Sie einige Fakten ber die Funktionsweise Ihrer Diskettenlaufwerke kennenler nen. Das Laufwerk rotiert nicht ununterbrochen, w„hrend es ein geschaltet ist, sondern nur, wenn ein "MOTOR ON"-Signal vom Rechner gesendet wird. Wenn mehr als ein Laufwerk an den (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3b Seite 2 Rechner angeschlossen ist, schaltet das "MOTOR ON"-Signal alle Motoren ein bzw. aus, auch wenn der Rechner nur auf ein Laufwerk zugreift. Dieses Signal wird zirka eine Sekun de, bevor der Rechner auf ein Laufwerk zugreift, gesendet, damit die Laufwerke die notwendige Umdrehungsgeschwindig keit erreichen k”nnen. W„hrend der Rechner auf ein Laufwerk zugreift, leuchtet die rote Diode (LED) auf der Frontseite des jeweiligen Lauf werks. Achtung: \ffnen Sie nicht die Laufwerksklappe, w„hrend die Diode leuchtet. 1.1.1 Funktionsweise der Diskette Eine Diskette ist eine einfache Plastikscheibe, deren Ober fl„che ferromagnetisch beschichtet und poliert ist. [hnlich einer Single-Schallplatte besitzt sie ein groáes Spindel loch, um sich der Laufwerksnabe anzupassen, und ein kleines Indexloch, das vom Laufwerk registriert wird, wenn die Dis kette rotiert. Ein leere Diskette (neu oder magnetisch gel”scht) enth„lt keine Information. Auf Ihrer CP/M-Systemdiskette befindet sich deshalb ein spezielles Dienstprogramm (FORMAT), das eine Diskette in "Spuren" und "Sektoren" einteilt. (Weitere Informationen siehe Kap. 2.1, Dienstprogramme, FORMAT). Jede Diskette befindet sich andauernd in einer Hlle, wel che ihre Oberfl„che vor Verkratzen oder Berhren schtzt. Die Diskette rotiert im Laufwerk in ihrer Schutzhlle. Die Hlle besteht innen aus einem speziellen Material, welches die Diskette w„hrend der Rotation reinigt. Beachten Sie den kleinen Aufkleber am oberen Rand Ihrer Systemdiskette (oberhalb des Labels). Dieser Aufkleber be deckt die Schreibschutzkerbe der Diskette. Damit ist die (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3b Seite 3 Diskette physisch vor einem Beschreiben geschtzt. (Unter einer "Schreiboperation" versteht man jedes [ndern der auf der Diskette gespeicherten Daten. Im Gegensatz dazu ver„n dert eine "Leseoperation" diese Daten nicht - es wird le diglich auf sie zugegriffen). Entfernen Sie also diesen Aufkleber, wenn Sie eine Diskette beschreiben m”chten; bringen Sie ihn an, wenn Sie eine zuf„llige Schreibopera tion verhindern wollen. 1.1.2 Einfhren der Diskette in das Laufwerk a) Achten Sie darauf, daá die rote Diode auf der Frontseite des Laufwerks nicht leuchtet, wenn Sie eine Diskette in das Laufwerk einfhren bzw. ihm entnehmen. b) ™ffnen Sie die Laufwerksklappe. Fhren Sie die Diskette mit der Schreibschutzkerbe nach links und dem Label nach oben waagrecht vorsichtig in das Laufwerk ein. Schlieáen Sie die Klappe nicht, bevor die Diskette ganz eingefhrt ist, sonst k”nnte die Diskette besch„digt werden. c) Schlieáen Sie die Klappe. Damit erfaát die Nabe des Laufwerks die Diskette im Spindelloch. L„át sich die Klappe nicht leicht schlieáen, wenden Sie keine Gewalt an. Nehmen Sie die Diskette heraus und probieren Sie es noch einmal. 1.1.3 Einschalten des Ger„tes Gehen Sie beim Einschalten des Ger„tes nur in nachstehender Reihenfolge vor: a) Fhren Sie vorsichtig eine Diskette, auf der sich das CP/M-System befindet, in das Laufwerk 0 oder A ein, ohne die Klappe zu schlieáen. (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3b Seite 4 b) Schalten Sie den Rechner ein. c) Schlieáen Sie die Laufwerksklappe. Das Betriebssystem wird nun vom Rechner geladen. 1.2 Pflege der Disketten a) Lassen Sie Disketten in der mitgelieferten Papiertasche, solange sie nicht in einem der Laufwerke stecken. Lassen Sie nicht unn”tigerweise Disketten in den Laufwerken, z.B. wenn das System abgeschaltet ist. b) Halten Sie Disketten entfernt von magnetischen Feldern (Transformatoren, Wechselstrommotoren, Magnete usw.). Starke magnetische Felder zerst”ren die auf der Diskette gespeicherte Information. c) Nehmen Sie Disketten nur mit ihrer Hlle - berhren Sie keine ihrer offenliegenden Oberfl„chen. Versuchen Sie nicht, die Diskettenoberfl„che zu reinigen; Sie k”nnten sie verkratzen und zerst”ren. d) Halten Sie Disketten entfernt von Hitze und direkter Sonneneinstrahlung (siehe Kap. 1.3, Technische Daten, Lagertemperatur). e) Vermeiden Sie eine Berhrung der Disketten mit Zigaret tenasche, Staub oder anderen Partikeln. f) Beschriften Sie das Diskettenlabel nicht mit einem Ku gelschreiber, da dies die Diskettenoberfl„che besch„di gen k”nnte. Benutzen Sie ausschlieálich Filzstift. g) Vergewissern Sie sich, daá die Diode (LED) auf der Frontseite des Laufwerks nicht leuchtet, wenn Sie eine Diskette einfhren. (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3b Seite 5 h) Lagern Sie Disketten senkrecht („hnlich Schallplatten), damit sie vor seitlichem Druck geschtzt werden. 1.2.1 Sie haben Probleme ... Wiederholt auftretende Schreib-/Lesefehler w„hrend des Dis kettenzugriffs des Rechners k”nnen durch besch„digte Dis ketten, Laufwerke oder andere Hardware verursacht werden. Versuchen Sie, den Fehler zu isolieren, indem Sie Laufwerke und Disketten wechseln. Haben Sie wiederholt Probleme mit einer bestimmten Disket te, versuchen Sie, die auf ihr gespeicherten Dateien auf eine andere Diskette zu kopieren. Versuchen Sie dann, die fehlerhafte Diskette neu zu formatieren. Scheint das Laufwerk fehlerhaft zu sein (wiederholt auftre tende Fehler w„hrend des Zugriffs auf Disketten unter schiedlicher Herkunft), wenden Sie sich bitte an Ihren H„ndler. (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3b Seite 6 1.3 Technische Daten Laufwerk: Speicherkapazit„t : 800 KBytes formatiert 774 KBytes fr den Benutzer verfgbar Speichereinteilung: 2 Oberfl„chen 80 Spuren pro Oberfl„che 10 Sektoren pro Spur 512 Bytes pro Sektor Datentransferrate : 25 KBytes pro Sekunde Durchschnittliche Zugriffszeit : 250 Millisekunden Motorstartzeit : 1 Sekunde Diskette: Lebensdauer : 2.5 Millionen Umdrehungen pro Spur (110 Stunden), entspricht ca. fnf Jahre bei normalem Gebrauch Lebensdauer der gesp. Daten : 20 Jahre Lagertemperatur: 10 - 50 Grad Celsius Abmessungen : 13.3 x 13.3 x 0.08 cm 1.4 Anfertigen einer Sicherungskopie Bevor Sie irgendetwas anderes mit Ihrer CP/M-Systemdiskette machen, befolgen Sie diese Anweisungen, um mindestens zwei Sicherungskopien Ihrer Originalsystemdiskette zu machen. Wr den Sie sich nicht daran halten, w„ren Sie "aus dem Rennen", wenn Ihrer Originaldiskette etwas geschieht und Sie auf eine neue warten. Schalten Sie Ihren Rechner wie in Kap. 1.1.3 beschrieben ein. Bringen Sie keinen Schreibschutzaufkleber auf der Original diskette an! (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3b Seite 7 Nachdem das System urgeladen hat, nehmen Sie die Originaldis kette aus dem unteren Laufwerk und bringen einen Schreib schutzaufkleber auf ihr an. Laden Sie dann erneut ur! Fhren Sie nun eine neue Diskette in das obere Laufwerk ein. Geben Sie FORMAT B ein. Das System wird dann anzeigen: M”chten Sie wirklich die Diskette in Laufwerk B formatieren ? Antworten Sie mit "J". Ihre Diskette wird nun formatiert. Nach Beendigung des Formatiervorgangs zeigt das System "Programm beendet" an. Wiederholen Sie diesen Vorgang fr die zweite Diskette. Nun geben Sie KOPIER „V ein. Die eckigen Klammern werden im deutschen Zeichensatz durch "[" und "]" dargestellt. Das Kopierprogramm beginnt nun einen Dialog mit Ihnen, bei dem Sie folgende Antworten geben mssen (Antworten fettge druckt): Kopier Ver 3.0 Modus Funktion ALLES Kopieren der ganzen Diskette SYSTEM Kopieren der Systemspuren DATEN Kopieren der Datenspuren ENDE Programmende Modus: ALLES (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3b Seite 8 Quellaufwerk: A Ziellaufwerk: B (^C Fr Programmabbruch) Drcken Sie , um ALLES von A nach B zu kopieren Nach dem Kopieren der ersten Diskette meldet sich das Pro gramm mit der Frage M”chten Sie das Kopieren wiederholen ? Antworten Sie mit "J". Die zweite Sicherungskopie wird nun angefertigt. Bewahren Sie das Original und mindestens eine Sicherungskopie an einem sicheren Ort auf. Arbeiten Sie nur mit einer Kopie Ihres Originalsystems. Achtung: Das Dienstprogramm KOPIER dient aus urheberrechtli chen Grnden nur zu Ihrem pers”nlichen Gebrauch, da mit Sie Sicherungskopien Ihres CP/M-Systems und Ih rer Datendisketten anfertigen k”nnen. (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3b Seite 9 2 Genie-IIIs-CP/M-Dienstprogramme Dieses Kapitel setzt voraus, daá Sie das CP/M-Betriebssystem bereits kennen oder sich mit dem "CP/M Plus User's Guide" von Digital Research vertraut gemacht haben. Weiterhin ist darauf hinzuweisen, daá es sich bei nachstehend aufgefhrten Dienst programmen um rechnerspezifische Programme handelt, d.h. diese Programme sind nur auf Ihrem Genie IIIs System ablauf f„hig. Allgemein stehen bei den mengesteuerten Dienstprogrammen nachstehende Editierfunktionstasten zur Verfgung: Taste ! Bezeichnung =====================+============================ Hochpfeil ! Kursor Zeile hoch ---------------------+---------------------------- SHIFT + Hochpfeil ! Kursor erste Fensterzeile ---------------------+---------------------------- Abw„rtspfeil ! Kursor Zeile abw„rts ---------------------+---------------------------- SHIFT + Abw„rtspfeil ! Kursor letzte Fensterzeile ---------------------+---------------------------- Linkspfeil ! Kursor Spalte links ---------------------+---------------------------- SHIFT + Linkspfeil ! Kursor erste Fensterspalte ---------------------+---------------------------- Rechtspfeil ! Kursor Spalte rechts ---------------------+---------------------------- SHIFT + Rechtspfeil ! Kursor letzte Fensterspalte ---------------------+---------------------------- CLEAR ! L”schen bis Zeilenende ---------------------+---------------------------- SHIFT + CLEAR ! L”schen des Fensters ---------------------+---------------------------- F1 ! Einfgemodus ---------------------+---------------------------- F2 ! Einfgen Zeile (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3b Seite 10 Taste ! Bezeichnung =====================+============================ F3 ! L”schen Zeichen ---------------------+---------------------------- F5 ! L”schen Zeile 2.1 FORMAT: Aufruf: FORMAT Laufwerk Fr "Laufwerk" mssen Sie den Namen des logischen CP/M-Lauf werks, auf dem Sie eine Diskette formatieren wollen, angeben. Mit diesem Dienstprogramm k”nnen Sie neue Disketten formatie ren bzw. alte Disketten neu formatieren, d.h. in Spuren und Sektoren einteilen. Beispiel: FORMAT B M”chten Sie wirklich die Diskette in Laufwerk B formatieren ? J Mit diesem Kommando wird die im rechten Laufwerk Ihres Genie IIIs befindliche Diskette formatiert. 2.2 FTASTEN: Aufruf: FTASTEN Achtung: Bevor Sie FTASTEN aufrufen, mssen Sie den Schreib schutzaufkleber Ihrer Systemdiskette entfernen. Mit diesem Dienstprogramm k”nnen Sie die dreizehn Funktions tasten Ihres Genie IIIs programmieren, d.h. mit einem aus ma (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3b Seite 11 ximal 73 Zeichen bestehenden "String" belegen. Steuerzeichen werden mit einem Zirkumflex und dem zugeh”rigen Buchstaben eingegeben, z.B. "^C" fr CONTROL-C oder "^M" fr . Leerzeichen mssen mit einer Unterl„nge eingegeben werden, z.B. DIR_B. FTASTEN l„uft mengesteuert ab und kann mit abgebrochen werden. 2.3 KONFIG: Aufruf: KONFIG Achtung: Bevor Sie KONFIG aufrufen, mssen Sie den Schreib schutzaufkleber Ihrer Systemdiskette entfernen. Mit diesem Dienstprogramm k”nnen Sie das CP/M-Betriebssystem Ihres Genie IIIs innerhalb gewisser Grenzen Ihren pers”nli chen Wnschen bzw. den vorhandenen Peripherieger„ten anpas sen. KONFIG l„uft mengesteuert ab und kann mit ab gebrochen werden. Achtung: Um die ge„nderten Parameter auch benutzen zu k”nnen, mssen Sie drcken. Anmerkungen zum Einstellen der Systemparameter: Sollte Ihr Rechner ber zus„tzlichen Speicher (64 oder 128 KBytes) verfgen, k”nnen Sie dies hier angeben. Es steht dann eine ultraschnelle Pseudofloppy mit 55 bzw. 111 KBytes Spei cherkapazit„t zur Verfgung (Laufwerk M). Es werden die Uhrenkarten der Firmen TCS Computer GmbH und HJS Computersysteme untersttzt. Vorteile einer Uhrenkarte: - Hohe Ganggenauigkeit - Kein Neueinstellen von Datum und Uhrzeit bei Einschalten des Rechners (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3b Seite 12 Anmerkungen zum Einstellen der Laufwerksparameter: Die Einstellm”glichkeiten der Laufwerksparameter versetzen Sie in die Lage, Disketten fast aller auf dem Markt befindli chen CP/M-Rechner zu lesen bzw. zu beschreiben. Sie mssen nur das physische Format der fremden Disketten kennen, um die entsprechenden Einstellungen vornehmen zu k”nnen. Damit das Genie IIIs CP/M Format beim Umstellen der Laufwerksparameter nicht verlorengeht, wird ein logisches Laufwerk P konfigu riert, welches jedem vorhandenen physischen Laufwerk auáer A berlagert werden kann. Beispiele: a) Format des Genie IIIs CP/M Systems 2.2: - doppelseitig - doppelte Dichte - doppelte Dichte der ersten Spur - 80 nutzbare Spuren - 10 Sektoren pro Spur - 1024 Bytes Sektorl„nge - Nummer des ersten Sektors: 0 - "Interleaving"-Faktor: 2 - Keine Fortsetzung der Sektornumerierung auf der Rckseite - 4 KBytes Blockgr”áe - 8 KBytes "Directory"-Gr”áe - šbersetzungsfaktor: 1 - 3 Systemspuren Die Begriffe Blockgr”áe, "Directory"-Gr”áe und Systemspu ren sind im "CP/M Plus System Guide" von Digital Research erl„utert. (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3b Seite 13 b) Einstellendes Standard CP/M Formates (IBM3740): Diese Einstellung ist nur m”glich, wenn Sie ein 8-Zoll Laufwerk an Ihren Genie IIIs angeschlossen haben. Fr das berlagerte Laufwerk C, D, E, F, G oder H ist anzugeben: - 8-Zoll Diskettengr”áe - einseitig - einfache Dichte - 77 nutzbare Spuren - 26 Sektoren pro Spur - 128 Bytes Sektorl„nge - Nummer des ersten Sektors: 1 - "Interleaving"-Faktor: 1 - 1 KByte Blockgr”áe - 2 KBytes "Directory"-Gr”áe - šbersetzungsfaktor: 6 - 2 Systemspuren c) Das Standardformat Ihres neuen CP/M-Systems, auf das auch Laufwerk A eingestellt ist: - doppelseitig - doppelte Dichte - doppelte Dichte der ersten Spur - 80 nutzbare Spuren - 20 Sektoren pro Spur - 512 Bytes Sektorl„nge - Nummer des ersten Sektors: 0 - Keine Fortsetzung der Sektornumerierung auf der Rckseite - "Interleaving"-Faktor: 2 - 2 KBytes Blockgr”áe - 6 KBytes "Directory"-Gr”áe - šbersetzungsfaktor: 1 - 2 Systemspuren (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3b Seite 14 Unter "Interleaving"-Faktor versteht man den Abstand zweier aufeinanderfolgender physischer Sektoren in Sektoren. Da beim IBM 3740-Format zwei logisch aufeinanderfolgende Sektoren physisch ebenfalls direkt hintereinander liegen ("Inter leaving"-Faktor 1), verwendet das CP/M-Betriebssystem ein ei genes sogenanntes "Soft-Interleaving", um die Zugriffszeiten zu optimieren. Ohne dieses "Interleaving" w„ren 26 Umdrehun gen n”tig, um nur eine Spur einer Diskette dieses Formats zu lesen. Dieses "Soft-Interleaving" wird beim Menpunkt "šber setzungsfaktor" eingegeben. Damit wird das BIOS so einge stellt, daá die logische Sektornummer vor dem Diskzugriff noch in eine physische Sektornummer umgerechnet wird (BIOS Aufruf SECTRAN). Bei 5-Zoll-Disketten ist dieses "Soft-Interleaving" nicht blich. Hier werden die Sektornummern gleich beim Formatieren entsprechend verschr„nkt ("Hard-Interleaving"). Dieses "Hard Interleaving" k”nnen Sie mit KONFIG durch Angabe eines ent sprechenden Faktors beeinflussen. Der "Interleaving"-Faktor sollte so gew„hlt werden, daá sich beim Diskettenzugriff op timale Schreib-/Lesezeiten ergeben. Im CP/M Vers. 3a erstreckt sich eine Spur bei doppelseitigen Disketten immer ber beide Oberfl„chen, wobei auf der Rck seite wieder bei Null mit der Sektornumerierung begonnen wird. Der "Interleaving"-Faktor muá nur dann angegeben werden, wenn Sie Disketten mit den neu eingestellten Parametern formatie ren wollen. Achten Sie darauf, daá bei Einstellung auf das Standardformat Ihres neuen Systems auf jeden Fall der "Inter leaving"-Faktor 2 gew„hlt wird, denn nur so sind optimale Zugriffszeiten gew„hrleistet. (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3b Seite 15 Nachstehende Sektorenanzahlen pro Spur und Oberfl„che sind maximal m”glich: Sektorl„nge ! einfache ! einfache ! doppelte in Bytes ! Dichte 8-Zoll ! Dichte 5-Zoll ! Dichte 5-Zoll ============+===============+===============+================ 128 ! 26 ! 16 ! --- ------------+---------------+---------------+---------------- 256 ! 17 ! 10 ! 18 ------------+---------------+---------------+---------------- 512 ! 9 ! 5 ! 10 ------------+---------------+---------------+---------------- 1024 ! --- ! --- ! 5 FORMAT kann die erste Spur von Disketten doppelter Dichte, deren erste Spur auf einfache Dichte eingestellt ist, nicht formatieren. Sollte es nicht m”glich sein, mit KONFIG das Diskettenformat eines Fremdrechners mit CP/M-Betriebssystem einzustellen, k”nnen Sie gegen eine Unkostenpauschale von DM 100,- (zzgl. MWSt) ein speziell konfiguriertes System erhalten, mit dem Sie Disketten dieses Formats lesen k”nnen. Senden Sie hierzu eine neue, formatierte Diskette des Fremdrechners, die m”glichst viele Daten enth„lt, an nachstehende Adresse: Thomas Holte Sommerstr.16 8504 Stein Bitte notieren Sie auf dem Aufkleber neben Ihrer Anschrift den genauen Rechnertyp und alle verfgbaren Informationen (Speicherkapazit„t, ...). (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3b Seite 16 2.4 KOPIER: Aufruf: KOPIER (Modus) (Quellaufwerk) (Ziellaufwerk) („Optionen) Fr "Modus" kann angegeben werden: ALLES = Kopieren der ganzen Diskette SYSTEM = Kopieren der Systemspuren DATEN = Kopieren der Datenspuren Fr "Quell-" bzw. "Ziellaufwerk" mssen Sie die Namen der betreffenden logischen "CP/M"-Laufwerke angeben. Folgende Op tionen sind m”glich: A = Keine vorherige Sicherheitsabfrage (um KOPIER beispiels weise in SUBMIT-Files einzusetzen) V = Verifizieren jeder kopierten Spur Bis auf die Optionen werden alle nicht angegebenen Parameter von KOPIER abgefragt. Die fr Quell- und Ziellaufwerk mit KONFIG eingestellten Parameter mssen bereinstimmen. Verwen den Sie ansonsten das CP/M-Programm PIP! Achtung: KOPIER kopiert nur die belegten Spuren einer Dis kette! Beispiel: KOPIER DATEN A B „V Alle Datenspuren der Diskette A werden auf die Diskette B kopiert und verifiziert. (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3b Seite 17 2.5 M6845: Aufruf: M6845 Mit diesem Dienstprogramm es ist m”glich, die vom Video controller Baustein MC6845 verwendeten Parameter auf den je weils angeschlossenen Bildschirm abzustimmen. Um diese Ein stellungen vornehmen zu k”nnen, mssen Ihnen die horizontale und die vertikale Abtastfrequenz (im folgenden kurz fH und fV genannt) des verwendeten Bildschirms bekannt sein. Diese In formationen sind normalerweise in den Technischen Daten in der dem Bildschirm beiliegenden Bedienungsanleitung zu fin den. Weiterhin werden folgende Gr”áen ben”tigt: Tsl = 1 / fH Tsl bezeichnet die horizontale Abtastperiode, d.h. die Zeit, die der Elektronenstrahl ben”tigt, um eine Bildschirmzeile zu zeichnen. Tc ist die L„nge eines Taktzyklusses des Videocontroller Bau steins 6845. Diese Zeit ist durch die Schaltung des Rechners fest vorgegeben und betr„gt beim Genie IIIs 0,559 Ssec. Tr = 1 / fV Tr bezeichnet die vertikale Abtastperiode, d.h. die Zeit, die ben”tigt wird, um ein komplettes Bild darzustellen. Nsl = ? Nsl gibt die Anzahl der Abtastzeilen (Scan Linien) pro darge stellter Textzeile an. Es sollten nur Bildschirme verwendet werden, die mindestens elf (besser zw”lf) Abtastzeilen zulas sen, da durch eine geringere Anzahl Abtastzeilen die Darstel lungsqualit„t von Text stark gemindert wird. (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3b Seite 18 Die einzelnen Register des Videocontrollers MC6845 mssen wie folgt programmiert werden: Horizontal Total Register (R0) R0 = Tsl / Tc - 1 Horizontal Displayed Register (R1) R1 = 80 Horizontal Sync Position Register (R2) R2 = ? Dieses Register bestimmt die horizontale Lage des Bildes auf dem Schirm. Sein Wert wird am besten durch Versuch ermittelt. Als Ausgangsgr”áe empfiehlt es sich, den Wert des Registers R1 zu nehmen (80). Horizontal Sync Width Register (R3) R3 = ? Dieses Register bestimmt die Breite des horizontalen Synchro nisationsimpulses. Da diese Impulsl„nge bei den Technischen Daten der Bildschirme meistens nicht angegeben ist, muá sie durch Versuch ermittelt werden. Als Ausgangsgr”áe empfiehlt es sich, den Wert 10 zu nehmen. Der m”gliche Wertebereich ist 0 <= R3 <= 15. Vertical Total Register (R4) R4 = Tr / Nsl / Tsl - 1 Das Resultat muá mindestens den Wert 24 haben. Sollte er kleiner als 24 sein, muá Nsl um Eins verringert und R4 erneut berechnet werden. Vertical Total Adjust Register (R5) R5 = (Tr - (R4 + 1) * Nsl * Tsl) / Tsl Vertical Displayed Register (R6) R6 = 25 (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3b Seite 19 Vertical Sync Position Register (R7) R7 = ? Dieses Register bestimmt die vertikale Lage des Bildes auf dem Schirm. Sein Wert wird am besten durch Versuch ermittelt. Als Ausgangsgr”áe empfiehlt es sich, den Wert des Registers R6 zu nehmen (25). Interlace Mode Register (R8) R8 = ? 0 = Normale Darstellung 1 = Darstellung im Zeilensprungverfahren Das Zeilensprungverfahren hat den Vorteil einer ausgegliche neren Helligkeit der einzelnen Zeichen, da die doppelte An zahl Abtastzeilen bei der Bilddarstellung benutzt wird. Da hiermit allerdings eine Halbierung der vertikalen Abtastfre quenz (Flimmern) verbunden ist, kann dieses Verfahren nur bei Monitoren mit hoher Nachleuchtdauer eingesetzt werden. Maximum Scan Line Address Register (R9) R9 = Nsl - 1 Cursor Start Register (R10) R10 = ? 0 = Blockkursor Nsl - 1 = Unterstrichkursor Cursor End Register (R11) R11 = Nsl - 1 M6845 l„uft mengesteuert ab und kann mit abgebrochen werden. Um eventuell notwendige Einstellarbeiten am Bild schirm zu erleichtern, wird von M6845 ein Testbild ausge geben. Bitte beachten Sie, daá die rechte K„stchenspalte des Testbildes eine Schreibstelle schm„ler ist als die brigen. Lassen Sie die Programmierung des Bildschirmcontrollers MC6845 von Ihrem H„ndler vornehmen, falls Sie nicht ber ge ngende Hardwarekenntnisse verfgen. Eine falsche Programmie (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3b Seite 20 rung dieses Bausteins kann langfristig zu einer Zerst”rung des angeschlossenen Bildschirms fhren. Das Ihnen ausgelieferte CP/M-System ist fr den Bildschirm Sakata SG-1000 voreingestellt. Dieser Monitor wird von der Firma TCS Computer GmbH als Standardbildschirm zum Genie IIIs geliefert. Rechenbeispiel fr den monochromen Bildschirm des IBM Perso- nalcomputers: Dem Technischen Handbuch des IBM PC kann entnommen werden: fH = 18,432 kHz fV = 50 Hz R3 = 15 Fr die weiteren Register gilt dann: Tsl = 1 / fH = 1 / 18,432 kHz = 54,25 Ssec Tr = 1 / fV = 1 / 50 Hz = 20 msec R0 = Tsl / Tc - 1 = 54,25 Ssec / 0,559 Ssec - 1 = 96 Aus R0 wird noch einmal Tsl berechnet, um bei den weiteren Berechnungen eine h”here Genauigkeit zu erzielen. Es ergibt sich fr Tsl = 54,22 Ssec. R4 = Tr / Nsl / Tsl - 1 = 20 msec / 12 / 54,22 Ssec - 1 = 29 R5 = (Tr - (R4 + 1) * Nsl * Tsl) / Tsl = (20 msec - 30 * 12 * 54,22 Ssec) / 54,22 Ssec = 9 (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3b Seite 21 2.6 ZEISATZ: Aufruf: ZEISATZ Mit diesem Dienstprogramm l„át sich der bei der Bildschirm darstellung verwendete Zeichensatz dem Geschmack des Benut zers anpassen. Weiterhin ist eine [nderung des Zeichensatzes zu empfehlen, wenn mit einem Bildschirm gearbeitet wird, der weniger als elf Abtastzeilen pro Textzeile zul„át (siehe auch Kap. 2.5, M6845). Der beim Genie-IIIs-CP/M eingesetzte Stan dardzeichensatz ist fr eine optimale Darstellung bei elf oder zw”lf Abtastzeilen ausgelegt. ZEISATZ l„uft mengesteuert ab und kann mit abgebro chen werden. Beim Editieren eines Zeichens kann ein Punkt (Dot) mit der Punkttaste gesetzt bzw. mit der Leertaste ge l”scht werden. Weiterhin lassen sich auáer den blichen Edi tierfunktionstasten die Tasten F7 und F8 zum L”schen bzw. Einfgen ganzer Spalten verwenden. (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3b Seite 22 3 Technische Informationen 3.1 Speicheraufteilung Ihr Genie-IIIs-CP/M benutzt unten aufgefhrte Speicherauftei- lung: !-----------! !-----------! DFFF ! ! FFFF ! ! ! BNKBIOS ! ! RESDRIVER ! CD00 ! ! FD00 ! ! +-----------+ +-----------+ CCFF ! ! FCFF ! ! ! BNKBDOS ! ! RESBIOS ! 9F00 ! ! F800 ! ! +-----------+ +-----------+ 9EFF ! ! F7FF ! ! ! BUFFER ! ! RESBDOS ! 2500 ! ! F200 ! ! +-----------+ +-----------+ 24FF ! ! F1FF ! ! ! BNKDRIVER ! ! TPA ! 60.25 KBytes Benutzerbereich 1134 ! ! 0100 ! ! +-----------+ +-----------+ 1133 ! ! 00FF ! ! ! SYSTAB ! ! PAGE 0 ! 0000 ! ! 0000 ! ! !-----------! !-----------! BANK 0 BANK 1 (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3b Seite 23 3.2 Ger„tezuordnung Nachstehende CP/M-Ger„te werden von der Hardware untersttzt: CRT = Bildschirm und Tastatur LPT1 = erste Parallelschnittstelle (Drucker) LPT2 = zweite Parallelschnittstelle (Drucker) TTY1 = erste serielle Schnittstelle TTY2 = zweite serielle Schnittstelle 3.3 Tastatur Code-Tabelle der Sondertasten: Taste ! Bezeichnung ! Hex ! Dez ! ! Code ! Code ====================+===========================+======+===== Hochpfeil ! Start of Text ! 02 ! 002 --------------------+---------------------------+------+----- SHIFT + Hochpfeil ! Vertical Tabulation ! 0B ! 011 --------------------+---------------------------+------+----- CTRL + Hochpfeil ! End of Transmission Block ! 17 ! 023 --------------------+---------------------------+------+----- Abw„rtspfeil! Line Feed ! 0A ! 010 --------------------+---------------------------+------+----- SHIFT + Abw„rtspfeil! End of Text ! 03 ! 003 --------------------+---------------------------+------+----- CTRL + Abw„rtspfeil! Substitute ! 1A ! 026 --------------------+---------------------------+------+----- Linkspfeil ! Start of Heading ! 01 ! 001 --------------------+---------------------------+------+----- SHIFT + Linkspfeil ! Cancel ! 18 ! 024 --------------------+---------------------------+------+----- CTRL + Linkspfeil ! Backspace ! 08 ! 008 --------------------+---------------------------+------+----- Rechtspfeil ! Acknowledge ! 06 ! 006 (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3b Seite 24 Taste ! Bezeichnung ! Hex ! Dez ! ! Code ! Code ====================+===========================+======+===== SHIFT + Rechtspfeil ! Horizontal Tab ! 09 ! 009 --------------------+---------------------------+------+----- CTRL + Rechtspfeil ! Bell ! 07 ! 007 --------------------+---------------------------+------+----- BREAK ! Escape ! 1B ! 027 --------------------+---------------------------+------+----- SHIFT + BREAK ! Zeichensatz Umschaltung --------------------+---------------------------+------+----- CLEAR ! Delete ! 7F ! 127 --------------------+---------------------------+------+----- SHIFT + CLEAR ! L”schen des Bildschirms --------------------+---------------------------+------+----- NEW LINE (ENTER) ! Carriage Return ! 0D ! 013 --------------------+---------------------------+------+----- SHIFT + PRINT ! Ausdrucken des Bildschirminhaltes Mit SHIFT + BREAK k”nnen Sie zwischen deutschem und Standard- ASCII-Zeichensatz umschalten. Bei eingeschaltetem deutschen Zeichensatz werden zus„tzlich folgende Zeichen erzeugt: Taste ! Bildschirmanzeige ! Bezeichnung ! Hex ! Dez ===========!===================!=============!=======!======= ” ! @ ! Paragraph ! 40 ! 064 -----------+-------------------+-------------+-------+------- SHIFT + á ! ^ ! Zirkumflex ! 5E ! 094 (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3b Seite 25 Bei eingeschaltetem Standard-ASCII-Zeichensatz werden zus„tz- lich folgende Zeichen erzeugt: Taste ! Bildschirmanzeige ! Hex-Code ! Dez-Code ==========!===================!==========!========= [ ! „ ! 5B ! 091 ----------+-------------------+----------+--------- \ ! S ! 5C ! 092 ----------+-------------------+----------+--------- ] ! ! 5D ! 093 ----------+-------------------+----------+--------- á ! ^ ! 5E ! 094 ----------+-------------------+----------+--------- SHIFT + [ ! [ ! 7B ! 123 ----------+-------------------+----------+--------- SHIFT + \ ! R ! 7C ! 124 ----------+-------------------+----------+--------- SHIFT + ] ! á ! 7D ! 125 ----------+-------------------+----------+--------- SHIFT + á ! , ! 7E ! 126 3.3.1 WordStar Tastatur Bei eingeschalteter WordStar Tastatur gilt folgende Belegung der Sondertasten: Taste ! Bezeichnung ! WordStar ! ! Code ====================+===========================+========= Hochpfeil ! Kursor Zeile hoch ! ^E --------------------+---------------------------+--------- SHIFT + Hochpfeil ! Kursor Dateianfang ! ^QR --------------------+---------------------------+--------- CTRL + Hochpfeil ! Kursor Schirmanfang ! ^QE --------------------+---------------------------+--------- Abw„rtspfeil! Kursor Zeile abw„rts ! ^X (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3b Seite 26 Taste ! Bezeichnung ! WordStar ! ! Code ====================+===========================+========= SHIFT + Abw„rtspfeil! Kursor Dateiende ! ^QC --------------------+---------------------------+--------- CTRL + Abw„rtspfeil! Kursor Schirmende ! ^QX --------------------+---------------------------+--------- Linkspfeil ! Kursor Spalte links ! ^S --------------------+---------------------------+--------- SHIFT + Linkspfeil ! Kursor Zeilenanfang ! ^QS --------------------+---------------------------+--------- CTRL + Linkspfeil ! Kursor Wort links ! ^A --------------------+---------------------------+--------- Rechtspfeil ! Kursor Spalte rechts ! ^D --------------------+---------------------------+--------- SHIFT + Rechtspfeil ! Kursor Zeilenende ! ^QD --------------------+---------------------------+--------- CTRL + Rechtspfeil ! Kursor Wort rechts ! ^F --------------------+---------------------------+--------- BREAK ! Laufenden Bef. abbrechen ! ^U --------------------+---------------------------+--------- CLEAR ! L”schen bis Zeilenende ! ^QY --------------------+---------------------------+--------- SHIFT + CLEAR ! L”schen bis Zeilenanfang ! ^QDEL --------------------+---------------------------+--------- CTRL + CLEAR ! L”schen Zeichen links ! DEL --------------------+---------------------------+--------- CTRL + Leertaste ! Untrennbarer Leerschritt ! ^PO --------------------+---------------------------+--------- F1 ! Einfgemodus ein/aus ! ^V --------------------+---------------------------+--------- F2 ! Einfgen Zeile ! ^N --------------------+---------------------------+--------- F3 ! L”schen Zeichen rechts ! ^G --------------------+---------------------------+--------- F4 ! L”schen Wort ! ^T --------------------+---------------------------+--------- F5 ! L”schen Zeile ! ^Y (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3b Seite 27 Taste ! Bezeichnung ! WordStar ! ! Code ====================+===========================+========= F6 ! Absatz formatieren ! ^B --------------------+---------------------------+--------- F7 ! Trennhilfe ein/aus ! ^OH --------------------+---------------------------+--------- F8 ! Blocksatz ein/aus ! ^OJ --------------------+---------------------------+--------- P1 ! Tabulator ! ^I --------------------+---------------------------+--------- P2 ! Zeile rckw„rts rollen ! ^W --------------------+---------------------------+--------- P3 ! Zeile vorw„rts rollen ! ^Z --------------------+---------------------------+--------- P4 ! Seite rckw„rts rollen ! ^R --------------------+---------------------------+--------- P5 ! Seite vorw„rts rollen ! ^C 3.4 Bildschirm Tabelle der Bildschirmsteuercodes: Hex-Code ! Dez-Code ! Funktion ==========+==============+=================================== 07 ! 007 ! Ausgabe eines Pieptones ----------+--------------+----------------------------------- 08 ! 008 ! Kursor links ----------+--------------+----------------------------------- 0A ! 010 ! Kursor abw„rts ----------+--------------+----------------------------------- 0B ! 011 ! Kursor hoch ----------+--------------+----------------------------------- 0C ! 012 ! Kursor rechts ----------+--------------+----------------------------------- 0D ! 013 ! Kursor Zeilenanfang (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3b Seite 28 Hex-Code ! Dez-Code ! Funktion ==========+==============+=================================== 18 ! 024 ! L”schen bis Zeilenende ----------+--------------+----------------------------------- 19 ! 025 ! L”schen bis Bildschirmende ----------+--------------+----------------------------------- 1A ! 026 ! L”schen des Bildschirms ----------+--------------+----------------------------------- 1E ! 030 ! Kursor "home" ----------+--------------+----------------------------------- 1B 0C ! 027 012 ! Kursor abschalten ----------+--------------+----------------------------------- 1B 0D ! 027 013 ! Kursor einschalten ----------+--------------+----------------------------------- 1B 3D m n ! 027 061 m n ! Kursor positionieren ! ! (Zeile + 20H, Spalte + 20H) ----------+--------------+----------------------------------- 1B 41 ! 027 065 ! ASCII Zeichensatz einschalten ----------+--------------+----------------------------------- 1B 46 n ! 027 070 n ! Bildschirmfenster selektieren ! ! (0 <= n <= 7 „+ 20H) ----------+--------------+----------------------------------- 1B 47 ! 027 071 ! Deutschen Zeichensatz einschalten ----------+--------------+----------------------------------- 1B 49 n ! 027 073 n ! Setzen der obersten Zeile (+ 20H) ----------+--------------+----------------------------------- 1B 4A n ! 027 074 n ! Setzen der untersten Zeile (+ 20H) ----------+--------------+----------------------------------- 1B 4B n ! 027 075 n ! Setzen der linken Spalte (+ 20H) ----------+--------------+----------------------------------- 1B 4C n ! 027 076 n ! Setzen der rechten Spalte (+ 20H) ----------+--------------+----------------------------------- 1B 4E ! 027 078 ! Einschalten der Standardtastatur ----------+--------------+----------------------------------- 1B 4F ! 027 079 ! Einschalten der WordStar Tastatur ----------+--------------+----------------------------------- 1B 50 ! 027 080 ! Zeichen einfgen (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3b Seite 29 Hex-Code ! Dez-Code ! Funktion ==========+==============+=================================== 1B 51 ! 027 081 ! Zeichen l”schen ----------+--------------+----------------------------------- 1B 52 ! 027 082 ! Inverse Darstellung einschalten ----------+--------------+----------------------------------- 1B 53 ! 027 083 ! Inverse Darstellung abschalten ----------+--------------+----------------------------------- 1B 56 ! 027 086 ! Zeile einfgen ----------+--------------+----------------------------------- 1B 57 ! 027 087 ! Zeile l”schen ----------+--------------+----------------------------------- 1B 58 ! 027 088 ! autom. Zeilenumbruch einschalten ----------+--------------+----------------------------------- 1B 59 ! 027 089 ! autom. Zeilenumbruch abschalten Tabelle des Graphikzeichensatzes: Hex-Code ! Dez-Code ! dargestelltes Zeichen =========+==========+============================= 80 ! 128 ! senkrechter Balken ---------+----------+----------------------------- 81 ! 129 ! waagrechter Balken ---------+----------+----------------------------- 82 ! 130 ! Kreuzung ---------+----------+----------------------------- 83 ! 131 ! Abzweigung links ---------+----------+----------------------------- 84 ! 132 ! Abzweigung rechts ---------+----------+----------------------------- 85 ! 133 ! Abzweigung oben ---------+----------+----------------------------- 86 ! 134 ! Abzweigung unten ---------+----------+----------------------------- 87 ! 135 ! rechte untere Ecke ---------+----------+----------------------------- 88 ! 136 ! linke untere Ecke (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3b Seite 30 Hex-Code ! Dez-Code ! dargestelltes Zeichen =========+==========+============================= 89 ! 137 ! rechte obere Ecke ---------+----------+----------------------------- 8A ! 138 ! linke obere Ecke ---------+----------+----------------------------- 8B ! 139 ! rechte untere Ecke (gebogen) ---------+----------+----------------------------- 8C ! 140 ! linke untere Ecke (gebogen) ---------+----------+----------------------------- 8D ! 141 ! rechte obere Ecke (gebogen) ---------+----------+----------------------------- 8E ! 142 ! linke obere Ecke (gebogen) ---------+----------+----------------------------- 8F ! 143 ! Hochpfeil ---------+----------+----------------------------- 90 ! 144 ! Abw„rtspfeil ---------+----------+----------------------------- 91 ! 145 ! Linkspfeil ---------+----------+----------------------------- 92 ! 146 ! Rechtspfeil ---------+----------+----------------------------- 93 ! 147 ! Pik ---------+----------+----------------------------- 94 ! 148 ! Herz ---------+----------+----------------------------- 95 ! 149 ! Karo ---------+----------+----------------------------- 96 ! 150 ! Kreuz ---------+----------+----------------------------- 97 ! 151 ! halbhelle Fl„che ---------+----------+----------------------------- 98 ! 152 ! Copyright Zeichen ---------+----------+----------------------------- 99 ! 153 ! Hand (linker Teil) ---------+----------+----------------------------- 9A ! 154 ! Hand (mittlerer Teil) (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3b Seite 31 Hex-Code ! Dez-Code ! dargestelltes Zeichen =========+==========+============================= 9B ! 155 ! Hand (rechter Teil) ---------+----------+----------------------------- 9C ! 156 ! Pi ---------+----------+----------------------------- 9D ! 157 ! Omega ---------+----------+----------------------------- 9E ! 158 ! lachendes Gesicht ---------+----------+----------------------------- 9F ! 159 ! weinendes Gesicht Um gr”áten Komfort bei der Programmierung von Bildschirmmas ken zu bieten, wurde jetzt zus„tzlich ein sogenannter "window"-Modus geschaffen, der es erm”glicht, den Ein-/Ausga bebereich des Bildschirms einzugrenzen, wobei Kopf- und Fuá zeile bzw. linke und rechte Spalte frei gew„hlt werden k”n nen. Auf diese Weise kann mit bis zu acht Bildschirmfenstern verfahren werden. Ist der E/A-Bereich einmal auf diese Weise eingegrenzt wor den, ist es nicht mehr m”glich, Bildschirmpositionen auáer halb des angegebenen Fensters zu beschreiben. Alle Steuer funktionen wie "L”sche Zeile bzw. Zeichen", "Fge Zeile bzw. Zeichen ein", L”schen des Bildschirms usw. beziehen sich jetzt nur noch auf dieses Fenster. Befindet sich der Kursor vor der Definition des Bildschirmfensters auáerhalb dieses Fensters, wird er nach Eingrenzen des Bildschirms in dieses Fenster "hineingezogen". Auf der Systemdiskette ist in der Programmiersprache "C" der Quellcode einer Routine namens "window" beigefgt, die recht eindrucksvoll die M”glichkeiten dieses "window"-Modus demonstriert. Diese Routine wird auch bei den mengesteuerten Dienstprogrammen FTASTEN, KONFIG und ZEISATZ eingesetzt. (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3b Seite 32 3.5 Serielle Schnittstelle 3.5.1 šbertragung digitaler Daten šber relativ lange Distanzen werden digitale Daten generell in serieller Form bertragen, wobei eine einfache zweipo lige Leitung Sende- und Empfangsger„t miteinander verbin det. Es gibt zwei šbertragungstechniken, asynchron und syn chron. Die serielle Schnittstelle Ihres Genie IIIs Systems bertr„gt Daten asynchron und bit-seriell. Asynchrone šber tragung ben”tigt keinen Takt zur Synchronisierung, und der Datenstrom muá nicht kontinuierlich sein. Das bedeutet, daá zwischen der šbertragung individueller Zeichen Pausen be liebiger L„nge auftreten drfen. Ein individuelles Zeichen besteht aus einem Datenwort (ge w”hnlich fnf bis acht Bits lang) und synchronisierenden Start- und Stopelementen. Das Startelement ist eine einzel ne logische Null (ein Bit), die vor dem Datenwort steht. Das Stopelement wird solange bertragen, bis das n„chste Startelement anschlieát. Es gibt keine obere Grenze fr die L„nge des Stopelements. Es existiert jedoch ein unteres Li mit, welches von den Systemeigenschaften der angeschlosse nen Ger„te abh„ngt. Typische Untergrenzen sind 1.0, 1.42 bzw. 2.0 Bits L„nge (die meisten modernen Systeme benutzen ein oder zwei Stopbits). Der negative šbergang des Startelements definiert die Posi tion der einzelnen Bits im zu bertragenden Datenwort. Eine interne Uhr im Empf„nger wird bei diesem šbergang gesetzt und dazu verwendet, die Position der Datenbits zu lokali sieren. Es gibt einige gute Grnde, die asynchrone šbertragungs technik zu benutzen. Es muá kein Taktsignal mit dem Daten wort bertragen werden, was zu einer Vereinfachung der be n”tigten Hardware fhrt. Auch mssen die zu bertragenden Zeichen nicht hintereinander gesendet werden; sie werden (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3b Seite 33 bertragen, wenn sie verfgbar sind. Dies ist besonders ntzlich, wenn Daten von einem Ger„t mit manueller Eingabe bertragen werden (z.B. einer Tastatur). Der Hauptnachteil der asynchronen šbertragungstechnik ist, daá ein nicht un erheblicher Teil der Kommunikationsbandbreite fr Start- und Stopelemente verbraucht wird. Die Frequenz, mit der asynchrone Daten bertragen werden, wird als Baudrate bezeichnet. Die Baudrate ist die Umkeh rung der šbertragungsdauer des krzesten Signalelements, normalerweise ein Datenbitintervall. Wenn ein Stopbit ver wendet wird, entspricht die Baudrate der Bitrate; bei Sy stemen, die mehr als ein Stopbit verwenden, entspricht die Baudrate nicht mehr der Bitrate. Asynchrone šbertragung Asynchrone šbertragung ber eine einfache zweipolige Lei tung kann mit mittelhohen Baudraten durchgefhrt werden (10 KBaud oder mehr, abh„ngig von der Leitungsl„nge und der Treiberhardware. Bei šbertragung ber ein Telefonnetz ist die Baudrate auf zirka 2 KBaud begrenzt, und ein Modem ist erforderlich, um die Datenimpulse in analoge Daten (T”ne), die ber ein Telefonnetz bertragen werden k”nnen, umzuwan deln. (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3b Seite 34 3.5.2 Signalpegel Die E.I.A.-Normen fr die RS-232-C Schnittstelle definieren die Spannnungspegel und ihre zugeh”rigen logischen Zust„nde fr den Austausch von Daten und Steuerinformationen zwi schen den miteinander kommunizierenden Ger„ten. Beim Datenaustausch entspricht ein Signal einer logischen Eins, wenn an der Schnittstelle eine Spannung, die niedri ger als minus drei Volt ist (bezogen auf Masse), gemessen wird, und einer logischen Null, wenn die Spannung h”her als plus drei Volt ist. Bei den sogenannten "Handshake" Leitun gen entspricht die negative Spannung dem Zustand "Aus" und die positive Spannung dem Zustand "Ein". Nachstehende Ta belle faát noch einmal zusammen: !===================!=========================! ! ! šbertragungsspannung ! ! Notation +------------+------------+ ! ! negativ ! positiv ! !===================!============!============! ! Logischer Zustand ! 1 ! 0 ! +-------------------+------------+------------+ ! Signalzustand ! "Marking" ! "Spacing" ! +-------------------+------------+------------+ ! Funktion ! AUS ! EIN ! +-------------------+------------+------------+ ! physik. Pegel !-15V -> -3V !+3V -> +15V ! !===================!============!============! (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3b Seite 35 3.5.3 Anschluábezeichnungen und Signalbeschreibungen Als Anschluá fr die serielle Schnittstelle ist ein 25 poliger Stecker genormt (DB-25). Folgende Tabelle fhrt die Anschluábelegung auf: DTE !Pin! DIN-Bezeichnung ! EIA-Bezeichnung ! CCITT! DCE ----+---+---------------------------+------------------------------+------+---- --- ! 1 ! E1 Schutzerde ! PGND Protective ground AA! 101 ! --- ----+---+---------------------------+------------------------------+------+---- --> ! 2 ! D1 Sendedaten ! TD Transmit Data BA! 103 ! --> ----+---+---------------------------+------------------------------+------+---- <-- ! 3 ! D2 Empfangsdaten ! TD Receive Data BB! 104 ! <-- ----+---+---------------------------+------------------------------+------+---- --> ! 4 ! S2 Sendeteil einschalten! RTS Request To Send CA! 105 ! --> ----+---+---------------------------+------------------------------+------+---- <-- ! 5 ! M2 Sendebereitschaft ! CTS Clear To Send CB! 106 ! <-- ----+---+---------------------------+------------------------------+------+---- <-- ! 6 ! M1 Betriebsbereitschaft ! DSR Data Set Ready CC! 107 ! <-- ----+---+---------------------------+------------------------------+------+---- --- ! 7 ! E2 Betriebserde ! SGND Signal Ground AB! 102 ! --- ----+---+---------------------------+------------------------------+------+---- <-- ! 8 ! M5 Empfangssignal ! DCD Data Channel Received CF! 109 ! <-- ! ! ! Line Signal Detector ! ! ----+---+---------------------------+------------------------------+------+---- --> !20 ! S1.2 Endger„t betr.bereit ! DTR Data Terminal Ready CD! 108.2! --> ----+---+---------------------------+------------------------------+------+---- DTE Data Terminal Equipment (Data Source, Data Sink) = DEE Datenendeinrichtung (Datenquelle, Datensenke) DCE Data Communications Equipment (Modem) = DšE Datenbertragungseinrichtung (Modem) (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3b Seite 36 Signalbeschreibung Schutzerde (Protective Ground): Sie muá mit dem Ger„te chassis verbunden sein. Sie kann auch mit der "Signalerde Betriebserde" verbunden sein. Sendedaten (Transmit Data): Dieses Signal muá w„hrend der Intervalle zwischen den einzelnen Zeichen und der Zeit, in der keine Daten gesendet werden, im "Marking" Zustand ge halten werden. Empfangsdaten (Receive Data): Dieses Signal muá w„hrend der Intervalle zwischen den einzelnen Zeichen und der Zeit, in der keine Daten gesendet werden, vom angeschlossenen Ger„t im "Marking" Zustand gehalten werden. Sendeteil einschalten (Request-to-send): Bei Einweg- oder Vollduplexbertragung kennzeichnet der "Ein" Zustand die Sendebereitschaft der Schnittstelle. Bei Halbduplexbertragung kennzeichnet der "Ein" Zustand die Sendebereitschaft und keine Empfangsbereitschaft der Schnittstelle. Der "Aus" Zustand kennzeichnet die Empfangs bereitschaft des angeschlossenen Ger„tes. Sendebereitschaft (Clear-to-send): Dieses Signal wird vom angeschlossenen Ger„t generiert und zeigt an, ob es bereit ist, Daten zu empfangen. Der "Ein" Zustand zeigt der Schnittstelle an, daá das angeschlossene Ger„t Daten emp fangen kann. Der "Aus" Zustand zeigt der Schnittstelle an, daá das angeschlossene Ger„t nicht empfangsbereit ist. Betriebsbereitschaft (Data Set Ready): Dieses Signal zeigt den Status des angeschlossenen Ger„tes an, wobei der "Ein" Zustand Kommunikationsbereitschaft signalisiert. Der "Aus" Zustand tritt zu allen anderen Zeiten auf und zeigt an, daá das angeschlossene Ger„t alle Signale der Schnittstelle ig noriert. (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3b Seite 37 Empfangssignalpegel (Carrier Detect): Der "Aus" Zustand zeigt an, daá die Signalqualit„t nicht ausreicht fr eine einwandfreie Datenbertragung. Dieses Signal wird vom Genie IIIs nicht ausgewertet. Terminal betriebsbereit (Data Terminal Ready): Der "Ein" Zustand zeigt dem angeschlossenen Ger„t die Betriebsbereit schaft der Schnittstelle an. 3.5.4 Anschluábelegung Genie CP/M ist als DTE (Data Terminal Equipment) ausgelegt (linke Seite im o.a. Bild). Wenn zwei Ger„te als DTE ausgelegt sind, mssen sie ber ein sogenanntes Nullmodem verbunden werden. Hier werden die Leitungspaare (2 - 3), (4 - 5) und (6 - 20) miteinander vertauscht. Nullmodem mit Software-Protokoll Genie DTE --------------------------------------- 1 ---------------------------- 1 2 ------------S /------------- 3 X 3 ------------/ S------------- 2 4 ----S 5 ----/ 7 ----------------------------- 7 6 ----S 20 ----/ (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3b Seite 38 Nullmodem mit Hardware-Protokoll Genie DTE --------------------------------------- 1 ---------------------------- 1 2 ------------S /------------- 3 X 3 ------------/ S------------- 2 4 ------------S /------------- 5 X 5 ------------/ S------------- 4 7 ---------------------------- 7 6 ------------S /------------- 20 X 20 ------------/ S------------- 6 (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3b Seite 39 4 Treiberroutinen Im Genie-IIIs-CP/M sind alle physischen Treiberroutinen streng vom BIOS getrennt. Diese Treiberroutinen k”nnen ber einen zu s„tzlichen BIOS Vektor, der hinter dem XMOVE Aufruf des Origi nal BIOS liegt, erreicht werden. Bis auf den Akkumulator, der als Rckgaberegister verwendet wird, werden s„mtliche Prozes sorregister bei Aufruf dieser Treiberroutinen gerettet. Die einzelnen Treiberroutinen werden mittels einer Funktions nummer unterschieden, die in Register C zu bergeben ist. Beispiel fr den Aufruf der Treiberroutinen: WBOOT EQU 0000H ;warm boot entry point USERF EQU 30 ;additional BIOS function SYSTEM: PUSH BC ;save reg. BC LD IX,(WBOOT+1) ;warm boot entry point --> reg. IX LD BC,3*(USERF-1) ;offset to system entry point --> reg. BC ADD IX,BC ;add offset POP BC ;restore reg. BC JP (IX) ;perform system call and return to caller Beschreibung aller Treiberroutinen: Funktion 0: Videocontroller initialisieren Import: HL = Videoparametertabelle Die Parametertabelle muá mindestens 16 Bytes lang sein, da die Register R0 bis R15 des Controllers komplett geladen werden. Dieser Aufruf sollte nur von erfahrenen Systemprogrammierern verwendet werden; deshalb wird auf eine Beschreibung der Controllerregister hier nicht weiter eingegangen. Eine detail- (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3b Seite 40 lierte Beschreibung der Controllerregister finden Sie im Daten- blatt des Videocontrollers MC6845, das bei Motorola angefordert werden kann. Funktion 1: RS232-C Schnittstelle initialisieren Import: A = Datenformat B = Nummer der Schnittstelle 0 = erste serielle Schnittstelle (SIO A) 1 = zweite serielle Schnittstelle (SIO B) E = Baudrate Mit diesem Aufruf ist es m”glich, das Datenbertragungsformat und die Baudrate der seriellen Schnittstelle einzustellen. Beschreibung der šbergabeparameter: Datenformat Bit 0 : Wenn dieses Bit logisch Eins ist, wird ein Parit„ts- bit generiert (Senden) bzw. abgeprft (Empfangen). Bit 1 : Wenn dieses Bit logisch Eins ist, wird das Parit„ts bit bei einer geraden Anzahl von logischen Einsen im Datenwort generiert, ansonsten bei einer ungeraden Anzahl. Bits 2,3: Diese beiden Bits geben die Anzahl der Stopbits in jedem zu bertragenden Zeichen an. Dabei gilt: Bit 3 ! Bit 2 ! Stopbits ------+-------+--------- 0 ! 1 ! 1 1 ! 0 ! 1,5 1 ! 1 ! 2 (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3b Seite 41 Bits 7, 6: Diese beiden Bits geben die Anzahl der Bits in jedem zu sendenden oder zu empfangenden seriellen Daten wort an. Dabei gilt: Bit 7 ! Bit 6 ! Wortl„nge ------+-------+---------- 0 ! 0 ! 5 Bits 0 ! 1 ! 6 Bits 1 ! 0 ! 7 Bits 1 ! 1 ! 8 Bits Baudrate Hiermit l„át sich die gewnschte Baudrate einstellen, wobei gilt: Baudrate ! E ---------+--- 50 ! 2 75 ! 3 110 ! 15 134,5 ! 4 150 ! 14 200 ! 5 300 ! 13 600 ! 6 1200 ! 11 1800 ! 10 2400 ! 7 4800 ! 9 9600 ! 8 19200 ! 0 Funktion 2: Tastaturstatus Export: A = ASCII Code der gedrckten Taste (0 = keine Taste gedrckt) (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3b Seite 42 Funktion 3: Tastatureingabe Export: A = gelesenes Zeichen (ASCII Code) Funktion 4: Bildschirmausgabe Import: A = auszugebendes Zeichen (ASCII Code) Funktion 5: Druckerstatus Import: B = Nummer des Druckers 0 = erste Parallelschnittstelle 1 = zweite Parallelschnittstelle (PIO) Export: A = 0 Drucker bereit <> 0 Drucker nicht bereit Funktion 6: Druckerausgabe Import: A = auszugebendes Zeichen B = Nummer des Druckers Funktion 7: RS 232-C Eingabestatus Import: B = Nummer der Schnittstelle Export: A = 0 kein Zeichen empfangen <> 0 Zeichen empfangen (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3b Seite 43 Funktion 8: RS 232-C Eingabe Import: B = Nummer der Schnittstelle Export: A = empfangenes Zeichen Funktion 9: RS 232-C Ausgabestatus Import: B = Nummer der Schnittstelle Export: A = 0 Empf„nger bereit <> 0 Empf„nger nicht bereit Funktion 10: RS 232-C Ausgabe Import: A = zu sendendes Zeichen B = Nummer der Schnittstelle (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3b Seite 44 Funktion 11: Diskettensektor lesen Import: A = Banknummer des Datenbuffers (oberes Nibble) Laufwerksnummer (0-7, unteres Nibble) B = Sektornummer E = Spurnummer HL = Datenbuffer Export: A = Fehlerstatus 0 = kein Fehler 1 = ungltige Laufwerksnummer 2 = ungltige Spur 3 = ungltiger Sektor 4 = Laufwerk nicht bereit 6 = Datenrecord gel”scht/gesperrt 7 = Datenrecord nicht gefunden 8 = CRC-Fehler 9 = Daten verloren Die Charakteristika der zu lesenden Diskette k”nnen im SYSTAB Bereich (siehe Anhang A) eingestellt werden. Dieser Aufruf sollte jedoch nur von erfahrenen Programmierern verwendet wer den. (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3b Seite 45 Funktion 12: Diskettensektor schreiben Import: A = Banknummer des Datenbuffers (oberes Nibble) Laufwerksnummer (0-7, unteres Nibble) B = Sektornummer E = Spurnummer HL = Datenbuffer Export: A = Fehlerstatus 0 = kein Fehler 1 = ungltige Laufwerksnummer 2 = ungltige Spur 3 = ungltiger Sektor 4 = Laufwerk nicht bereit 5 = Laufwerksfehler 6 = Diskette schreibgeschtzt 7 = Datenrecord nicht gefunden 8 = CRC-Fehler 9 = Daten verloren Funktion 13: Datum und Uhrzeit lesen (nur Hardwareuhr) Import: HL = Adresse eines 22 Bytes langen Buffers, der bei Rckkehr zum Aufrufer Datum und Uhrzeit in der Form WWW MM/DD/YY HH:MM:SS enth„lt, wobei gilt: WWW = Wochentag MM = Monat DD = Tag YY = Jahr HH = Stunden MM = Minuten SS = Sekunden (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3b Seite 46 Funktion 14: Datum und Uhrzeit setzen (nur Hardwareuhr) Import: A = Wochentag (0-6, 0 = Sa) B = Monat (MM) D = Stunden (HH) E = Minuten (MM) H = Tag (TT) L = Jahr (JJ) S„mtliche Daten werden im BCD-Format bergeben. Bei der Zehnerstelle der Stunden muá Bit 3 gesetzt sein. Im Falle eines Schaltjahres muá Bit 2 bei der Zehnerstelle des Tages gesetzt sein. Funktion 15: Interbank Transfer Import: A = Quellbank (oberes Nibble) Zielbank (unteres Nibble) B = Anzahl der zu transferierenden Bytes (128 max.) DE = Zieladresse HL = Quelladresse (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3b Seite 47 Funktion 16: Hard Disk Sektor lesen Import: A = Banknummer des Datenbuffers (oberes Nibble) Laufwerksnummer (0-2, unteres Nibble) B = Sektornummer DE = Spurnummer HL = Datenbuffer Export: A = Fehlerstatus 0 = kein Fehler 1 = ungltige Laufwerksnummer 2 = ungltige Spur 3 = ungltiger Sektor 4 = Laufwerk nicht bereit 7 = Datenrecord nicht gefunden 8 = CRC-Fehler Die Charakteristika des zu lesenden Festplattenlaufwerks k”nnen im SYSTAB Bereich (siehe Anhang A) eingestellt werden. Die Sek toren werden absolut gelesen, d.h. es wird keine Verwaltung von defekten Sektoren durchgefhrt. Dieser Aufruf sollte nur von erfahrenen Programmierern verwendet werden. (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3b Seite 48 Funktion 17: Hard Disk Sektor schreiben Import: A = Banknummer des Datenbuffers (oberes Nibble) Laufwerksnummer (0-2, unteres Nibble) B = Sektornummer DE = Spurnummer HL = Datenbuffer Export: A = Fehlerstatus 0 = kein Fehler 1 = ungltige Laufwerksnummer 2 = ungltige Spur 3 = ungltiger Sektor 4 = Laufwerk nicht bereit 6 = Laufwerksfehler (Wechselplatte schreibgeschtzt) 7 = Datenrecord nicht gefunden 8 = CRC-Fehler Funktion 18: Datum und Uhrzeit im CP/M 3 Format lesen Import: HL = Adresse eines 5 Bytes langen Buffers, der bei Rckkehr zum Aufrufer Datum und Uhrzeit in der Form TTTTHHMMSS enth„lt, wobei gilt: TTTT = Anzahl der Tage seit dem 1.Januar 1978 (bin„r) HH = Stunden (BCD) MM = Minuten (BCD) SS = Sekunden (BCD) Funktion 19: Datum und Uhrzeit im CP/M 3 Format setzen Import: D = Stunden (BCD) E = Minuten (BCD) HL = Anzahl der Tage seit dem 1. Januar 1978 (bin„r) (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3b Seite 49 Funktion 20: Bitmuster eines Bildschirmzeichens laden Import: A = ASCII-Code des zu ladenden Zeichens (20 - 9F) HL = Bitmuster (16 Bytes) Das erste Byte im Buffer entspricht der ersten Abtastzeile (Scan Linie) des Bildschirmzeichens, das zweite Byte der zwei ten Abtastzeile usw.. Die acht Bits eines Bytes entsprechen den Punkten (Dots), aus denen sich eine Abtastzeile des Bildschirm zeichens zusammensetzt, wobei diese Punkte (Bits) seitenver kehrt im Buffer abgespeichert sein mssen. Funktion 21: Originalzeichensatz wiederherstellen (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3b Seite 50 Funktion 22: Direkte Bildschirmfensterein-/ausgabe Import: A = 0 Bildschirm lesen 1 Bildschirm schreiben D = 0 zusammenh„ngender Bildfensterbuffer (Buffer muá mindestens soviel Bytes lang sein, wie das momentan aktivierte Bildschirmfenster Zeichen beinhaltet) 1 "Full screen" Buffer (Buffer enth„lt vollst„ndige Bildschirmseite, d.h. seine L„nge muá mindestens 1920 Bytes be tragen) E = 0 normale Darstellung 1 inverse Darstellung (nur bei Bildschirmausgabe relevant) HL = Benutzerbuffer Diese Funktion bezieht sich auf das momentan aktivierte Bild schirmfenster, wobei immer nur der komplette Fensterinhalt ge lesen bzw. geschrieben werden kann. Wurde mit D = 1 der "Full screen" Buffer gew„hlt, so greift die Treiberroutine je nach Gr”áe und Lage des aktuellen Bildschirmfensters automatisch auf die richtige Bufferposition zu, d.h. in HL muá bei D = 1 grund s„tzlich nur die Anfangsadresse einer vollst„ndigen Bildschirm seite angegeben werden. Diese Option erspart dem Anwendungspro grammierer beim Aufbau von komplizierten Bildschirmmasken viel Rechenarbeit. Funktion 23: Allgemeine Hardwareinitialisierung - Der Bildschirmcontroller wird mit den Powerup/Reset Parame tern initialisiert. - Die seriellen Schnittstellen werden mit den Powerup/Reset Pa- rametern initialisiert. - Der Z80 PIO Baustein wird so initialisiert, daá er als zweite Parallelschnittstelle fungieren kann. - Der Real Time Clock Interrupt Vektor wird gesetzt. (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3b Seite 51 Funktion 24: Uhrenanzeige ein-/ausschalten Import: A = 0 Uhrenanzeige ausschalten <> 0 Uhrenanzeige einschalten B = Zeilennummer der Uhrenanzeige (0 - 24) E = Spaltennummer der Uhrenanzeige (0 - 79) Funktion 25: Graphikbildschirm ein-/ausschalten Import: A = 0 Graphikbildschirm ausschalten <> 0 Graphikbildschirm einschalten B = Nummer der anzuzeigenden Graphikseite (0 oder 1) Funktion 26: Graphikbildschirm l”schen Import: A = Farbe 0 = schwarz 1 = weiá B = Nummer der zu l”schenden Graphikseite (0 oder 1) (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3b Seite 52 Funktion 27: Punkt auf Graphikbildschirm setzen Import: A = 0 keine Normierung der Koordinaten (oberes Nibble) 1 Normierung der Koordinaten (oberes Nibble) Farbe (unteres Nibble) 0 = schwarz 1 = weiá B = Nummer der anzusprechenden Graphikseite (0 oder 1) DE = x-Koordinate (0 - 639) HL = y-Koordinate (0 - NNN nicht normiert) (0 - 449 normiert) Da das Seitenverh„ltnis von x- und y-Achse nicht dem Seitenver h„ltnis der Bildschirmkanten entspricht, besteht die M”glich keit einer normierten Graphikausgabe, d.h. die y-Koordinate wird entsprechend der tats„chlichen vertikalen Aufl”sung ska liert. Voreingestellt sind 11 Abtastzeilen pro dargestellter Textzeile (siehe auch Kap. 2.5, M6845), das ergibt insgesamt 275 Abtastzeilen. Bei normierter Ausgabe wird nun die zwischen 0 und 449 liegende y-Koordinate auf einen zwischen 0 und 274 liegenden Wert abgebildet. Dadurch wird bewirkt, daá der Ab stand zwischen zwei Punkten auf der y-Achse derselbe ist wie der zwischen zwei Punkten auf der x-Achse. Funktion 28: Punkt von Graphikbildschirm lesen Import: B = Nummer der anzusprechenden Graphikseite (0 oder 1) DE = x-Koordinate (0 - 639) HL = y-Koordinate (0 - NNN) Export: A = Farbe des gelesenen Punktes 0 = schwarz 1 = weiá (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3b Seite 53 Funktion 29: Gerade zeichnen Import: A = 0 keine Normierung der Koordinaten (oberes Nibble) 1 Normierung der Koordinaten (oberes Nibble) Farbe (unteres Nibble) 0 = schwarz 1 = weiá B = Nummer der anzusprechenden Graphikseite (0 oder 1) HL = Adresse eines acht Bytes langen Versorgungsblockes mit folgendem Aufbau: x1 = x-Koordinate des Startpunktes (0 - 639) y1 = y-Koordinate des Startpunktes (0 - 449 normiert, 0 - NNN nicht normiert) x2 = x-Koordinate des Endpunktes (0 - 639) y2 = y-Koordinate des Endpunktes (0 - 449 normiert, 0 - NNN nicht normiert) Funktion 30: Kreis zeichnen Import: A = Farbe 0 = schwarz 1 = weiá B = Nummer der anzusprechenden Graphikseite (0 oder 1) HL = Adresse eines sechs Bytes langen Versorgungsblok kes mit folgendem Aufbau: xm = x-Koordinate des Mittelpunktes (0 - 639) ym = y-Koordinate des Mittelpunktes (0 - 449) r = Radius (>= 0 ) Hinweis: Die Ausgabe erfolgt grunds„tzlich normiert! (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3b Seite 54 Funktion 31: Kreisbogen zeichnen Import: A = Farbe 0 = schwarz 1 = weiá B = Nummer der anzusprechenden Graphikseite (0 oder 1) HL = Adresse eines zw”lf Bytes langen Versorgungsblockes mit folgendem Aufbau: xm = x-Koordinate des Mittelpunktes (0 - 639) ym = y-Koordinate des Mittelpunktes (0 - 449) x1 = x-Koordinate des Startpunktes (0 - 639) y1 = y-Koordinate des Startpunktes (0 - 449) x2 = x-Koordinate des Endpunktes (0 - 639) y2 = y-Koordinate des Endpunktes (0 - 449) Hinweis: Die Ausgabe erfolgt grunds„tzlich normiert! Der Kreisbogen wird vom Start- zum Endpunkt entgegen gesetzt dem Uhrzeigersinn gezeichnet. (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3b Seite 55 Funktion 33: Rechteckigen Bereich kopieren Import: A = 0 Quellrechteck in Graphikseite 0 (oberes Nibble) 1 Quellrechteck in Graphikseite 1 (oberes Nibble) 15 Quellrechteck in Buffer des Aufrufers (oberes Nibble) 0 Zielrechteck in Graphikseite 0 (oberes Nibble) 1 Zielrechteck in Graphikseite 1 (oberes Nibble) 15 Zielrechteck in Buffer des Aufrufers (oberes Nibble) (Quell- und Zielrechteck in Buffer des Aufru fers ist nicht erlaubt) DE = Adresse des Buffers des Aufrufers (entf„llt bei Kopieren von einer Graphikseite in die andere bzw. auf dem Bildschirm) HL = Adresse eines acht bis zw”lf Bytes langen Versor gungsblockes mit folgendem Aufbau: x1 = x-Koordinate der unteren linken Ecke des Quellrechtecks (0 - 639, entf„llt bei Kopie ren aus Buffer des Aufrufers) y1 = y-Koordinate der unteren linken Ecke des Quellrechtecks (0 - NNN, entf„llt bei Kopie ren aus Buffer des Aufrufers) x2 = x-Koordinate der unteren linken Ecke des Zielrechtecks (0 - NNN, entf„llt bei Kopieren in Buffer des Aufrufers) y2 = y-Koordinate der unteren linken Ecke des Zielrechtecks (0 - NNN, entf„llt bei Kopieren in Buffer des Aufrufers) dx = horizontale Kantenl„nge des zu kopierenden Rechtecks (1 - 640) dy = vertikale Kantenl„nge des zu kopierenden Rechtecks (1 - NNN+1) (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3b Seite 56 5 Festplatte 5.1 Generieren eines Festplattensystems Um das Festplatten CP/M System auf Ihrem Genie IIIs einsetzen zu k”nnen, mssen Sie vorher ein Genie IIIs Floppy Disk CP/Mplus System Version 3b erworben haben. Vergewissern Sie sich, daá die Seriennummer des Festplattensystems mit der des Floppy Disk Systems bereinstimmt. Nun gehen Sie genau in nachstehender Reihenfolge vor: a) Laden Sie das Floppy Disk CP/M System ur. b) Fertigen Sie jeweils mindestens zwei Sicherungskopien der beiden gelieferten Systemdisketten an (wie in Kapitel 1.4 beschrieben). c) Legen Sie die Initialisierungsdiskette fr das Festplat tensystem in Floppy Laufwerk B ein und laden Sie erneut ur. Die im Genie IIIs eingebaute bzw. an den Genie IIIs extern angeschlossene Festplatte wird nun formatiert. Anschlieáend werden automatisch die beiden Betriebssystemdateien CPM3.SYS und CCP.COM auf der Festplatte angelegt. Sollte die Festplat te bereits formatiert sein, erscheint eine Sicherheitsabfra ge, um ein unbeabsichtigtes L”schen der Festplatte zu verhin dern. Weiterhin wird eine Tabelle auf dem Bildschirm ausgege ben, die die Laufwerkseinteilung und die Kapazit„t der ein zelnen Laufwerke angibt. Die Initialisierungsdiskette ben”tigen Sie jetzt nicht mehr, auáer ein "Head Crash" wrde die Formatierung Ihrer Festplat te zerst”ren. In diesem Falle máten Sie die oben angegebene Generierungssequenz erneut durchfhren. Hinweis: Das Dienstprogramm FORMAT untersttzt jetzt auch die Wechselplatte, falls eine Fest-/Wechselplattenstation an Ih- ren Genie IIIs angeschlossen ist. (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3b Seite 57 5.2 Das Dienstprogramm BACKUP: Aufruf: BACKUP (Modus) (Quellaufwerk) (Ziellaufwerk) („V) Fr "Modus" kann angegeben werden: S = Sichern einer Disk R = Restaurieren einer Disk Fr "Quell-" bzw. "Ziellaufwerk" mssen Sie die Namen der betreffenden logischen "CP/M"-Laufwerke angeben. Wird die Op tion "„V" angegeben, wird jeder kopierte Block verifiziert. Bis auf "„V" werden alle nicht angegebenen Parameter von BACKUP abgefragt. Beim Sichern einer Disk fordert BACKUP automatisch soviele (schon formatierte) Zieldisketten an, wie ben”tigt werden, um den Inhalt des Quellaufwerks zu sichern. Beim Restaurieren einer Disk fordert BACKUP automatisch alle beim Sichern beschriebenen Quelldisketten an. Durch einen in telligenten Sicherungsalgorithmus ist ein Verwechseln der Si cherungsdisketten untereinander und mit anderen Disketten ausgeschlossen. Achtung: BACKUP kopiert nur die belegten Bl”cke einer Disk! Beispiel: BACKUP S B D [V] Alle belegten Bl”cke der Disk B werden auf eine oder mehrere Disketten D kopiert und verifiziert. (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3b Seite 58 6 Einschr„nkungen 6.1 RST 38H Die Treiberprogramme des Genie IIIs arbeiten interruptgesteu ert, um eine Softwareuhr und gepufferte Tastatureingabe zur Verfgung stellen zu k”nnen. Da der Genie IIIs aufgrund sei ner Hardware Architektur nur im Interruptmodus 1 arbeiten kann, sind alle CP/M Programme, die den Restart Vektor 38 benutzen, auf dem Genie IIIs nicht lauff„hig. Hier eine Liste dieser Programme: - SID Debugger (Digital Research) - ZSID Debugger (Digital Research) - Mi-C Compiler (G.Kersting/H.Rose) Dies bedeutet jedoch keine echte Einschr„nkung, da der von Digital Research mitgelieferte Debugger SID sowieso nur 8080 Opcodes, nicht jedoch Z80 Opcodes verarbeiten kann. Statt des Debuggers ZSID l„át sich der Debugger Trace-80 der Firma Lau terbach Datentechnik einsetzen, bei dem der vom Debugger ver wendete Restart Vektor frei w„hlbar ist. Vom Mi-C Compiler ist eine Spezialversion erh„ltlich, die den Restart Vektor 30 benutzt. 6.2 Inkompatibilit„ten zu CP/M Version 2.2 Grunds„tzlich ist CP/Mplus Version 3 voll kompatibel zu CP/M Version 2.2, wenn die unter diesen Systemen arbeitenden Pro gramme Betriebssystemfunktionen nur ber die BDOS Schnitt stelle aufrufen. Bei zeichenorientierter Ein-/Ausgabe sind auch noch die BIOS Schnittstellen zueinander kompatibel. Es existieren jedoch einige wenige CP/M 2.2 Programme, die diese offiziellen Betriebssystemschnittstellen umgehen und damit unter dem System CP/Mplus nicht oder nur beschr„nkt (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3b Seite 59 lauff„hig sind. Hier eine Liste der bis dato bekannten Pro gramme: - MicroShell Kommandoprozessor (New Generation Systems) - DPATCH Disk Editor (Advanced Micro Techniques) - Trace-80 Debugger (Lauterbach Datentechnik) Abhilfemaánahmen: Der Kommandoprozessor MicroShell sollte nicht mehr eingesetzt werden, da der gr”áte Teil seiner Funktionen unter CP/Mplus sowieso zu Verfgung steht. Um DPATCH unter CP/Mplus voll lauff„hig zu machen, mssen Sie die auf der Systemdiskette mitgelieferte "Resident System Extension" BIOS22.RSX mit dem Dienstprogramm GENCOM an DPATCH anbinden. Aufruf: GENCOM DPATCH BIOS22 Da im CP/M Version 2.2 nur eine maximale Laufwerkskapazit„t von 8 MBytes untersttzt wird, l„át auch DPATCH beim physi schen Diskzugriff (Funktion 5) keine gr”áere Laufwerkskapazi t„t zu. Trace-80 ben”tigt einen kleinen Patch, um im CP/Mplus ord nungsgem„á BDOS Aufrufe durchfhren zu k”nnen. Dieser Patch kann mit Trace-80 selbst vorgenommen werden. Aufrufsequenz fr Version 2.07: T80 T80 A 3DFF NOP NOP SAVE T80 100 50FF 6.3 Lieferumfang Das Dienstprogramm COPYSYS von Digital Research wird aus ur heberrechtlichen Grnden nicht mit CP/Mplus fr TCS Genie IIIs ausgeliefert. Allerdings stellt das Dienstprogramm KOPIER mit der Option SYSTEM einen vollwertigen Ersatz fr COPYSYS dar. (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3b Seite 60 7 Untersttzung des Benutzers Weitere Untersttzung (wie Bearbeitung von Fehlern oder der Be zug von Erg„nzungen) wird nur gew„hrt, wenn Sie untenstehende Mitteilung an die folgende Adresse senden: Thomas Holte Sommerstr.16 8504 Stein Ich/Wir habe(n) das Betriebssystem CP/M 3 bezogen. Absender: ..................................................... ..................................................... ..................................................... Versions- und Seriennummer Ihres Systems: ..................... Bezogen am: .............. bei: ............................... ............................... ............................... Unterschrift: ................................................. (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3a A N L A G E A : S Y S T A B (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3a A N L A G E B : D I S K E T T E N F O R M A T E (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3a Osborne I (einfache Dichte): - einseitig - einfache Dichte - 40 nutzbare Spuren - 10 Sektoren pro Spur - 256 Bytes Sektorl„nge - Nummer des ersten Sektors: 1 - 2 Steps von Spur zu Spur - "Interleaving"-Faktor: 1 - 2 KBytes Blockgr”áe - 2 KBytes "Directory"-Gr”áe - šbersetzungsfaktor: 2 - 3 Systemspuren Osborne I (doppelte Dichte): - einseitig - doppelte Dichte - 40 nutzbare Spuren - 5 Sektoren pro Spur - 1024 Bytes Sektorl„nge - Nummer des ersten Sektors: 1 - 2 Steps von Spur zu Spur - "Interleaving"-Faktor: 1 - 1 KByte Blockgr”áe - 2 KBytes "Directory"-Gr”áe - šbersetzungsfaktor: 1 - 3 Systemspuren (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3a Tandy TRS-80 Modell 4: - einseitig - doppelte Dichte - einfache Dichte der ersten Spur - 39 nutzbare Spuren - 8 Sektoren pro Spur - 512 Bytes Sektorl„nge - Nummer des ersten Sektors: 1 - 2 Steps von Spur zu Spur - "Interleaving"-Faktor: 4 - 1 KByte Blockgr”áe - 2 KBytes "Directory"-Gr”áe - šbersetzungsfaktor: 1 - 0 Systemspuren Tandy TRS-80 Modell II/12: - 8-Zoll Diskettengr”áe - einseitig - doppelte Dichte - einfache Dichte der ersten Spur - 76 nutzbare Spuren - 16 Sektoren pro Spur - 512 Bytes Sektorl„nge - Nummer des ersten Sektors: 1 - "Interleaving"-Faktor: 4 - 2 KBytes Blockgr”áe - 4 KBytes "Directory"-Gr”áe - šbersetzungsfaktor: 1 - 1 Systemspur (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3a IBM Personal Computer (einseitig): - einseitig - doppelte Dichte - 40 nutzbare Spuren - 8 Sektoren pro Spur - 512 Bytes Sektorl„nge - Nummer des ersten Sektors: 1 - 2 Steps von Spur zu Spur - "Interleaving"-Faktor: 1 - 1 KByte Blockgr”áe - 2 KBytes "Directory"-Gr”áe - šbersetzungsfaktor: 1 - 1 Systemspur (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3a A N L A G E C : B I L D S C H I R M P A R A M E T E R (C) 1985 by Thomas Holte Genie IIIs CP/M Version 3a In folgender Tabelle finden Sie die empfohlenen Standardwerte fr die ersten zw”lf Register des Bildschirmcontrollers MC6845 in he- xadezimaler Schreibweise fr verschiedene Monitore. Diese Tabelle wird laufend erg„nzt: Sakata SG-1000: 6E 50 56 0A 1C 04 19 19 00 0A 6A 0A IBM PC Monochrome Display: 60 50 50 0F 1D 09 19 1A 01 0B 6B 0B (C) 1985 by Thomas Holte