Download Apple II Manual (Teil 1) - 8Bit
Transcript
APPLE COMPUTERINC. behält sich das Recht vor, zu jeder Zeit und ohne Ankündigung an dem beschriebenenProduktVeränderungen vorzunehmen,die demtechnischenFortschrittdienen. APPLE COMPUTERINC. weist darauf hin, daß die Verwendungder in diesem Handbuchenthaltenen Infomrationeneinzig und allein auf das Risiko des Anwenders geschieht und alle daraus eventuell entstehendenSchädenausschließlichzu Lastendes Benutzersgehen. Dieses Handbuchist urheberrechtlichgeschütztund enthältfirmeneigenenInformationen.Alle Rechtesind vorbehalten.Das Ruch darf weder ganznoch teilweisekopiert, photokopiert,nachgedruckt,übersetztoderauf ein elektronischesoder sonstiges Mediumübertragenwerden, ohne vorherigeschriftlicheGenehmigungvon APPLECOMPUTERINC. @ 1979by APPLECOMPUTERINC. 10260RandleyDrive C$rpedino,CA 95014 AppleComputerInternational 7, ruede Chartres 92200Neuilly-Sur-Seine FRANCE AppleA2LOOOlA(030-0004-01)-D Geschriebenvon ChristopherEspinosa. Ins Deutscheübertragenvon AlbrechtMeflgel. vol-wart Bevor Sie sich mit diesem BenutzerHandbuch für die Apple II und Apple II Plus Mikrocomputer genauer befassen, wollen wir Ihnen dazu einige Erläuterungen geben. Ziel dieses Buches ist es nicht, sondern Sie mit einigen wichtigen Ihres Apple vertraut zu machen. Ihnen Programmierkenntnisse zu vermitteln, Grundlagen über Aufbau und Wirkungsweise Wenn Sie Ihren Apple gerade erst ausgepackt haben und Sie noch nicht in einer der verfügbaren Sprachen programmieren können, sollten Sie dieses Buch zunächst beiseite legen und erst einmal eines der anderen Anleitungsbücher zu Rate ziehen, die Sie zusammen mit Ihrem Apple erhalten haben. Je nach der Ausführung Ihres speziellen Apple haben sie eines der folgenden Handbücher bekommen : Apple It BASIC Programmierhandbuch bzw. Apple II BASIC Programming Manual (Bestellnummer AZL0005) Applesoft Progammieranleitung bzw. The Applesoft Tutorial (BestellnummerAZL0018) Außer der genauen Beschreibung der speziellen BASIC-Sprache Ihres Apple gibt Ihnen das betreffende Handbuch genaue Anleitungen zur Bedienung Ihres Apple. Die Literaturangaben am Ende dieses Buches stellen Ihnen einige weitere interessante Bücher vor. Dieses Apple. keiten wähnt, Fußnote Handbuch behandelt alle möglichen unterschiedlichen Ausführungen des Daher betreffen vielleicht nicht alle in diesem Buch behandelten MöglichIhren Apple. An Stellen, an denen dieses Handbuch Modifikationen erdie nicht bei jedem Apple-Typ vorhanden sind, weisen wir Sie in einer auf diese Unterschiede hin. Wir beschrieben Ihnen den Apple Il-Computer mit seinen Einzelteilen und deren Arbeitsweisen. Die einzelnen Kapitel des Handbuches befassen sich mit den System-Monitor, den Ein-/Ausgabegeräten und ihren Funktionen, der internen Organisation des Speichers und der Beschreibung der im Apple verwendeten Elektronik. Weitere Informationen über sonstige Apple Hard- und Sofiware-Produkte finden Sie in entsprechenden Produktbeschreibungen, Inhaltsverzeichnis KAPITEL 1 Erste Annäherung Die Stromversorgung Die Hauptplatine So sprechenSie zu Ihrem Apple Die Tastatur Funktion der Tastatur Die Apple Bildschirmeinheit Der Video-Anschluß Bildschirmformat Bildspeicherung Bildschirmseiten Bildmodus-Schalter Der Text-Modus Die Block-Graphik Die hochauflösendeGraphik (Hi-Res) an den Apple : 4 5 9 10 11 11 12 11; 20 AndereEin-/Ausgabeeinrichtungen Der Lautsprecher Die Kassetten-Schnittstelle Ein-/Ausgabeanschlußfür Spiele Signal-Ausgänge Ein-Bit-Eingänge Analog-Eingänge Impuls-Ausgang Variationendes Apple Autostart-ROM/ Monitor-ROM Hauptplatine Version0 Version 1 VerbessertesNetzteiI Der Apple II Plus KAPITEL 2 Der Dialog mit dem Apple Standard-Ausgabe Ausgabe-Stop D%+Text-Fenster Zeichendarstellung Standard-Eingabe RDKEY 32 32 33 34 35 35 GETLN 3: Der ESCAPE-Zustand DerRESET-Ablauf 3; DerAutostaG-&&l RESET Spezielle $%cherstellen des Autostart-ROM’< “4: Der RESETdes ,,alten Monitor”-ROM __ _. . KAPITEL 3 Der System-Monitor Einstieg in den Monitor Adressenund Daten Prüfender Inhalte einzelner Speicherstellen UntersuchungweitererSpeicherstellen Und noch mehr Speicherstellen Anderndes Inhalts einer Speicherstelle Andernder Inhalte von aufeinanderfolgendenSpeicherstellen Verlegeneines Speicherbereichs Vergleichenvon zweiSpeicherbereichen Schreibeneines Speicherbereichsauf Band Einleseneines Speicherbereichsvom Band 44 51 Erstellen und Startenvon Maschinenprogrammen Der Mini-Assembler Fehlersuche,, Prüfenund Andernvon Registerinhalten VerschiedeneMonitor-Kommandos BesondereKniffe mit dem Monitor Erzeugeneigener Kommandos Ubersicht über die Monitor-Kommandos Einige nützliche Monitor-Unterprogramme Spezialadressendes Monitors Format der Mini-Assembler Befehle 73 74 Ein-/Ausgabe-Adressen Verwendungder Seite Null 44 45 45 46 47 48 48 i; 52 5: 57 58 59 i: El 68 KAPITEL4 Der Speicher-Auflau Schreib-Lese-Speicher(RAM) RAM-Aufteilungsstecker Festwert-Speicher (ROM) 76 :i!i <e:: ;* ? KAPITEL 5 Die Organisation i;. der Ein- und Ausgabe 82 Ein-/AusgabeProgrammierungshinweise 85 EingebauteEin-/Ausgabe-Funktionen 84 Peripherie-Zwischenspeicher Peripherie-Ein-/Ausgabe 87 Ein-/Ausgabebereichfür Geräte-AnschlußDie CSW-/KSW-Verzweigungsadressen karten(Peripherie-Karten) 84 Erweiterungs-ROM Ei ROM-Speicherplatzfür Ein-/Ausgabe-Geräte84 KAPITEL6 Die Hardware des Apple ,,USER l”-Lötbrücke Ein-/Ausgabeanschlußfür Spiele 9: DieDer Die Tastatur Tastatur-Anschluß Ei Der Kassettenanschlußbuchsen Der Mikroprozessor die Taktsteuerungdes Mikroprozessors Stromversorgung ROM-Speicherbereich RAM-Speicherbereich 99 100 Der Video-Generator 101 Die Video-Ausgangsanschlüsse EingebauteEin-/Ausgabefunktionen 102 Anschlußder Betriebsspannungen Der Lautsprecher Peripherie-Anschlüsse 103 103 104 106 107 107 108 108 ANHANGA Der Befehlssatz des 650%Mikroprozessors 119 ANHANGB Spezial-Adressen 133 ANHANGC ROM-Programme Autostart-ROM Monitor-ROM Adressbuch(numerischgeordnet) 143 169 204 INDEX ftiGti;;ortverzeichnis Tabellen Tastenund Zeichen Schaubilder 220 224 224 225 225 Für detailliertereInformationen,Ihren Apple in Betriebzu setzen, sei auf Karpitel1 des APPLE BASIC PROGBAMMIER-HANDBUCHS oderderAPPLESOFT PROGBAMMIEBANLEITUNG hingewiesen. In diesem Handbuch hatten sich alle Richtungsangabenan diese Orientierung: Sie sehen auf das SchreibmaschinenähnlicheTastenfelddes Apple.,,Vorne” und ,,unten”sind zur Tastaturhin, ,,hinten” und ,,oben”sind weg vomTastenfeld. EntfernenSie den Deckel, indemSie die hintereEcke hochziehen,bis er ausrrsstet; dann ziehenSie den Deckelgeradezurück und hebenihnab. Dies hierwerdenSiesehen: Netzteil Hauptplatine Lautsprecher Die Stromoersorgung Das Metall-Gehäuseinnenauf der linken Seiteist das Netzteil.Es liefertvier Spannungen: +5 V, -52 V, +11,8 V und -12,0 V. Es ist ein. hochfrequentschaltendes Netzgerätmit vielen Schutzeinrichtungen, damit kein Ungleichgewichtzwischen den unterschiedlichenVersorgungenauftritt. Das Netzkabelfür den Computerist direkt an der Hinterseitedes Netzgeräteseinzustecken.Der Netzschalterbefindetsich aucham Netztztnum sie davor zu schützen,unbeabsichtigtmit der Hochspannungs-Netzversorgung in Berührungzu 2 APPLE II BENUTZER HANDBUCH Die Hauptplatine Die gro8e grüne Leiterplatte,die fast das ganzeuntereGehäuseausfüllt, ist der eingentlicheComputer.Es gibt zwei leicht unterschiedlicheAusführungender AppleII Hauptplatine: die Original-Version(Version0) und die revidierteVersion (Version 1). Die leichtenUnterschiedezwischen den beidenVersionenliegenin der Elektronikauf der Platine.Diese Unterschiedewerden überall in diesem Buch diskutiert. EineZusammenfassungder UnterschiedeerscheintimAbschnitt,,Variantendes Apple” aufSeite27 Auf der Hauptplatinesind etwa achtzigintegrierteSchaltkreiseund eine HandvollandererBauteileuntergebracht Im hinterenZentrumder Platine,direkt vor den acht Einsteckschlitzenmit den goldenenKontakten, befindetsich ein integrierterSchaltkreis,der grö8erals alleanderenist. Dies ist das Gehirndes Apple.Es ist ein 6502-Mikroprozessor in SynerteWMOSTechnik. Im Apple läuft er mit 1 023 000 Arbeitstaktenpro Sekundeund kann in dieser Zeit über fünfhunderttausend Additionenund Subtraktionenausführen.Er hat einenAdreßbereichvon 65 536 Bytes zu je 8 Bit. Sein Repertoireumfaßt56 Befehlemit 13 Adressienuten. Dieser Mikroprozessor und andereVersionenwerden in vielen Computersystemengebraucht,genauso wie alleanderenelektronischenBauteile. Gleich unter dem Mikroprozessor sind sechs Sockel angeordnet,in denenein bis sechs etwas kleinere integrierteSchaltkreisestecken. Diese Ic’s sind die Lesespeicherbausteine, die sogenannten,,ROMs”. Sie enthaltenProgrammefür den Apple,die im Augenblickdes Anschaltensverfügbarwerden. VieleProgramme sind in ROMs vorhanden.Dazu gehörender Apple System-Monitor,der Apple Autostad-Monitor,Apple Integer-Basic(Ganzzahl-Basic),ApplesoftII Basic (Fließkomma-Basic)und das AppleProgrammer’sAid#l (ProgrammierhilfeNr. 1) Unterprogrammpaket.Die Anzahl und der Inhalt der ROMs Ihres Apple hängt davonab,welcheVersiondes Appleundwelches ZubehörSieerworben haben. Direkt unter den ROMs und der zentralenBefestigungsschraubeist eine Fläche,die durch ein weißes Quadrateingegrenztist. Hier stehen 24 Sockel, die alle oder wenigstens zum Teil mit IC’s besttickt sind. Dies sind die ,,RAM’-Speicherbausteine, die den Hauptspeicherdes Apple bilden.Der Applekann in den drei Reihen4 096 bis 49 152 Bytes RAM-Speicheraufnehmen*.In jedeReihepassen8 Ic’s der GroBe4K oder 16K. Jede Reihemuß aus 8 Speicherbausteinen desselbenTyps bestehen,aber die 2 Typenkönnenauf mehrere Arten in den drei Reiheneingextzt werden. So kann man neun verschiedeneSpeichergrößenrealisieren**. Der RAM-Speicherwird benötigt,um alleProgrammeund Datenzu speichern,die Siezu einembestimmten Zeitpunkt brauchen. Die in RAM gespeichertenInformationengehen verloren, wenn Sie den Strom abschalten. Sie können Ihren RAM-Speicher auf 64K ausdehnen, wenn Sie die Apple Luguage Card (Apple Sprxhlgrte), Teil des Apple Lwguage Systems, (Teil Nr. A2BiW6) bzieben. l * Cer Apple II ist so entworfen, daß er sowohl die 16K- als auch die weniger kostspieligen 4K-RAM3 gebrauchen kann. Aber infolge der gr6bren Brauchbarkeit und der verminderten Kostenfür 16K-Bausteine wird der Apple nur mit 16K-RAM3 ausgerüstet. l ERSTE ANNÄHERUNG AN DEN APPLE 3 Die anderen Bauteileauf der AppleIl-Platinehaben unterschiedlicheFunktionen: sie kontrollieren im Computerden Informationsflußvon einemTeilzumanderen,sammelnDatenvon der Außenweltoder senden IhnenInformationenaufden Bildschirmoderals GeräuscheaufdenLautsprecher. Jederder acht Einsteckschlitzehintenauf der Apple-Platinekann eine Peripheriekarteaufnehmen.So ist es Ihnen möglich, Ihren RAM- oder ROM-Speicherplatz auszudehnenoder einen Drucker oder andere Ein/Ausgabe-Geräte anzuschließen. So sprechen Sie zu Ihrem Apple Die Verbindungzu IhremAppleliegt in Ihren Fingerspitzen.Die meistenProgrammeund Sprachenauf dem Appleerwarten, daß Sie durch das Tastenfeldzu ihnen sprechen. Die Tastaturentspricht einer normalen Schreibmaschinentastatur, außer einigengeringfügigenUmordnungenund ein paar Spezialtasten(Für einen schnellenUberblick über die Tastatur: siehe Seite4 bis 10 im APPLEII BASIC-PROGRAMMIEF&HAND BUCHoderdieSeiten5 bis 11 der APPLESOFT PROGRAMMIEREINFÜHRUNG). So wie Sie mit IhrenFingern,,sprechen”, könnenSie auch mit Ihren Augen,,hören”. Der Applewird Ihnen sagen,was er tut, indemer Buchstaben,Zahlen,Zeichenund manchmalfarbigeBlöcke und Linienauf den Bildschirmdes Schwarz-weiß-oder Farbfernsehersbringt, Die Tastatur Anzahl der Tasten Codierurig Anzahl der Tastencodes Ausgang Nötige Betriebsspannungen Spezialtasten Zugeordnete 4 APPLE II BENUTZER Speicherzellen: HANDBUCH : 52 : : : : : : ASCII mlit Großbuchstaben 91 7 Bit und Tastlmpuls (Strebe) +5V bei 120 mA -12V bei 50 mA CTRL ESC RESET REFT Hexa Dezimal Inhalt : $'XM$ 49152 -16384 -16368 Löschen : $C$l$ 49168 Der Apple ll hat eine eingebauteschreibmaschinenähnliche Tastaturmit 52 Tasten,die im ASCII-Code* arbeiten.91 der 96 ASCII-Zeichenmit Großbuchstabenkönnen direkt vom Tastenfeldgeneriertwerden. Tabelle2 zeigt die Tastender Tastaturund ihre zugeordnetenASCII-Codes.,,Photo”3 ist ein Diagramdes Tastenfeldes. Das Tastenfeldist durch ein 16-adriges Kabelmit der Hauptplatineverbunden.Die Stecker des Kabels befindensich in Standard-IC-Sockelnan der Tastaturund ganzvorne an der Hauptplatine,direkt unter dem Tastenfeld.DieelektrischenSpezifikationen für diesenAnschlußfindenSieaufSeite106 Die meistenSprachenauf dem ApplehabenKommandosoder Anweisungen,die IhremProgrammerlauben, Eingabenvon der Tastaturschnell und einfachentgegenzunehmen. (z.B. die INPUT- und GET-Anweisungen in Basic).Jedochkann Ihr Programmauchdirekt das Tastenfeldlesen ,,Photo” 3. Das Apple Tastenfeld Funktion der Tastatur Das Tastenfeldgibt 7 Bits aus, die zusammenein Zeichenbilden.Dieseund ein anderesSignal,das anzeigt, ob eine Taste gedruckt ist, sind den meisten Programmenals Inhalt einer bestimmtenSpeicherstelle verfügbar. Programmekönnen den aktuellenZustanddes Tastenfeldesabfragen,indemsie denWert dieser Speicherstelle lesen. Dieser Wert wird 128 oder gröBer, wenn Sie eine Taste drucken und stellt genau den numerischenCode des Zeichensdar, dessen Tastegeradebetätigtwurde. Tabelle3 auf Seite 6 zeigt die ASCII-Zeichenund die zugeordnetennumerischenCodes. Die Speicherstellebehältihren Wert, bis Sie eine andereTastedrücken oder bis Ihr Programmder Speicherstelleanweist, das Zeichenzu vergessen,das es geradeenthält. * Alle ASCII-Codes haben beim Apple nomulenveise das führende Bii gesetzt ERSTE ANNÄHERUNG AN DEN At’t’LE 5 Hat Ihr Programmeinmal einenTastendruckakzeptiertund verstanden,sollte es die Speicherstelledazu bringen,das gehaltenenZeichenzu ,,entlassen”und auf ein neueszu warten. Ihr Programmkann dies mit dem Zugriff auf eineandereSpeicherstelleerreichen.WennSiediese andereSpeicherstelleansprechen,wird der Wert in der ersteren Speicherstelleunter 128 fallen,Dieser Wert bleibtso, bis Sie eine andereTaste betätigen.Dieser Vorgang heißt ,,Tastenimpulslöschen” (Clear KeyboardStrebe). Ob Ihr Programmnun beimZugriff auf diese Speicherstelleliest oder schreibt,der erhalteneoder geschriebeneWert ist unwichtig. Es kommt allein auf den Zugriff auf diese Speicherstellean, um den Tastenimpulszu löschen. Ist der Tastenimpulseinmal gelöscht, können Sie durch Additionvon 128 (hexadezimalS8tI) zu dem Wert des TastendruckspeichersdenCodeder zuletztgedrucktenTastewiederherstellen. Dies sind die speziellenSpeicherstellen für dieTastatur: Tadle 1: Adreuen doa Tmtenfoldea Beschreibung Adresse Hexa Dezimal W+V W8 49152 49168 -16384 -16360 Tastendruckspeicher Tastendruck löschen Die-Taste rechtsobengeneriert keinenASCII-Code, sieist direktmit demMikroprozessor verbunden WenndieseTastegedrücktwird,hörtjederProzess auf. SeimLoslassen startetder Computer den -Ablauf (dieBeschreibung derFunktion findetsichaufSeite39). Diem Tasten. und-Tasten generieren selbstkeinZeichen, verändern dafüraberdie Codesanderer Die-Taste erzeugteinDuplikat desletztengenerierten Codes, fallssiealleinbetätigtwird.Halten Sie die -Taste gedrtickt,währendSieeineandereTastebetätigen, so wird allezehntelSekunde ein Tastendruck dieser Tasteproduziert. Diese dauernde Wiederholung stoppt,sobald Sieeinederbeiden Tasten loslassen. DiePOWER-Leuchte linksuntenzeigtan, daßderAppleeingeschaltet ist. Eshandeltsichnichtumden Betriebsschalter. 6 APPLE II BENUTZER HANDBUCH Ta* AlleIn CARL SHIFT Solde ;$i :t$ SB1 :tl$ SA1 :i$ 2" SB2 SB2 SA2 SA2 :ii :B; :;z SB3 (IA3 SA4 SA3 SA4 :2 tA7 :2 Leertaste fzi l! 51 68s , ::5 SB6 RETURN c SBD SC7 SC9 $89 SC9 H 1 J K L M B^ -= .> :z /? :: $BA SBB SAC SAD $AE :;; i SC2 $82 $C2 $82 C SC3 SC4 SC5 SC6 $83 $84 $85 SC3 $83 Y f CS f85 e $86 tC6 $86 D E F SB9 SBA SBB SAC :z Alleln 0 PI Q B S T u v W X h ;? i+ 1< :si SA1 Taste SB9 ::s SA9 :a; SAA SAB SBC SBD $BE :;: SAA WB SBC SBD SBE :;y Z ES; SC8 SCA SCB WC SC0 SCE SCF :;1 02 CARL SHIFT Solde S8D !8D t8D $87 SC7 $86 $8~ $8B S8C S8D I;8E S8F :g :;: SC8 I;CA SCB WC SDD ADE SCF :2 SD2 Zl $89 S8A S8B Sec :;E l)8F :;t tD3 :;: :;; :95 tD3 SD4 $94 :2 :95 SD6 Sn7 $97 1198 r;D7 :;; SD8 $98 $99 t9A Sn8 U’9 SD9 SDA $88 $95 :;: $88 $95 $DA $88 $95 S9B $9B S9B $88 $95 S9B AlleCodes sindhexadezimal. DieDezimalwefte dazufindetmanin Tabelle 3. ERSTE ANNÄHERUNG AN DEN APPLE 7 TABELLE3:DerA3CIIZeichensatz. Dezimal Hexa f 8 :4 ii 5 F :6 8 :i!l 12 :: 11 1’2 E 13 14 15 ti SF 128 SM nul eoh stx etx eot -4 ack bel dc2 w em etb ' 7 G W Gruppen vonzweioderdreiKleinbuchstaben sindAbkürzungen fürStandard-ASCII Steuerzeichen. NichtalleZeichen in dieserTabellekönnen vomTastenfeld erzeugtwerden. Eshandelt sichdabeiumdie Zeichen ausdenbeidenSpalten, dieamweitesten rechtsliegen,dieSymbole [ (eckigeKlammer links),\ (rückwärtiger Schrägstrich), _ (unterstreichen) unddieSteuerzeichen ,,fs”, ,,us”und,,rub”. Derdezimale oderhexadezimale WerteinesjedenZeichens ausderTabelle ergibtsichausderSumme der Dezimalzahlen oderHexadezimalzahlen obeninderSpalteundlinksinderZeiledesbetrachteten Zeichens. 8 APPLE It BENUTZER HANDBUCH Die Apple Bildschirmeinheit Die opfbdw Speicherung Anzeige-Arten Aus@a des Text-Kapazität Zeichentyp Zeichen-Arten Zeichensatz Graphik-Kapazität Anzahl der Farben das Apple Bildinhaltes : innerhalb des RAR-Hauptspeichers : Text, Block-Graphik, hochauflösende Graphik : 960 Zeichen (24 Zeilen, 40 Spalten) : 5 x 7 Punktmatrix : normal, invers, blinkend : ASCII-Großbuchstaben, 64 Zeichen : Block-Graphik: 1920 Blöcke in 48 Zeilen und 40 Spalten Hochauflösende Graphik: 53760 Punkte in 192 Zeilen und 280 Spalten : 16 (Block-Graphik) 6 (hochauflösende Graphik) Der Video-Anschluss HintenrechtsaufderAppleb-Platine befindet sicheinmetallener Anschluß, dermit,,Video”gekennzeichnet ist.An diesen Anschluß können SieeinKabelzwischen demAppleundeinemMonotor mitdirektem VideoEingang anbringen. DaseineEndedesVerbindungskabels sollteeinenRCA-PhonoStecker fürdenAnschluß amApplehabenunddasandereEndeeinenpassenden Anschluß für dasGerät,dasSie benutzen. Das SignalamVideoanschluß desAppleentspricht derEIA-Norm (Electronie Industries Association) undesist NTSC-kompatibel (National Television Standards Committee) mit positivem Farbvideosignal (Bildaustastsynchronsignal). DerPegeldiesesSignalskannvon0 V bis 1 V Spitzenwert mit einemkleinenrunden Potentiometer eingestellt werden, dassichrechtsaußen aufderHauptplatine, etwa5,5cmvordemhinteren EndederPlatine befindet. Einenichtjustierbare 2 V-ausführung desselben Video-Signals stehtanzweianderen StellenzurVerfügung : ein einzelnerAnschlußstift* für ,,wirewrap”-Verbindung rechtshintenetwa1,5cm überdemVideoPotentiometer unddieVier-StiftVideo-Anschlußbuchse etwa3 cmüberdemVideo-Potentiometer. Diedrei anderen StiftederViererbuchse sindmit -5 V, +12 Vundmit Masse verbunden (sieheSeite101: VideoHilfsanschluß). l Dieser Stiftist nichtaufApple Il-Platinender Version0 vorhanden. ERSTE ANNÄHERUNG AN DEN APPLE 9 Photo 4. Video-Anschlüsseund Potentiometer Bildschirmformat Auf dem an den Apple angeschlossenenBildschirm können Informationenauf drei verschiedeneWeisen sichtbargemachtwerden : 1) Text. Der Apple kann 24 Zeilenaus Zahlen,Spezialzeichen und Großbuchstabenauf den Bildschirm bringen. Jede Zeile bestehtaus 40 Zeichen,und jedes Zeichensetzt sich aus einer 35-Punkt-Matrix (7 Punkte hoch und 5 Punktebreit) zusammen.Rechtsund links und über jedemZeichenschliel sich einein-Punkt-breiterZwischenrauman. 2) Block-Graphik (Ia-Res = low Resolution). Der Applekann 1920 farbige Flächenin einem Feld von 40 BlöckenBreiteund 46 BlöckenHöhe darstellen.Für jedenBlock stehen16 verschiedeneFarben zur Verfügung.Es erscheint kein Zwischenraumzwischen den einzelnenBlöcken,so daß 2 benachbarte Felderwie eineinzigergrö6ererBlockerscheinen. 1o APPLE II BENUTZER HANDBUCH 3) Hochauflösende Graphik (Hl-Res = High Resolution). Der Apple kann auch farbige Punkte in einem 280 Punkte breiten und 192 Punkte hohen Feld auf dem Bildschiri wiedergeben.Die Punkte haben dieselbe Große wie die Punkte, aus denen die Textzeichenbestehen.Für die hochauflösende Graphik stehen sechs Farbenzur Verfügung: schwarz,weiß, rot, blau,grün und violett’. JederPunkt auf dem Bildschirm kann schwarz, weiß oder farbig sein, wenn auch nicht alle Farbenfür jedenPunkt zur Verfügungstehen. Wenn der Apple einen bestimmtenInformationstypauf den Bildschirm bringt, befindeter sich in einem bestimmten,,Modus”. Wenn Sie also Worte und Zahlenauf dem Bildschirm sehen, können Sie ziemlich sicher sein, daß Ihr Appleim Textmodusist. Entsprechendverhältes sich, wenn Sie den Bildschirmvoller gefärbter Blöcke sehen: Ihr Computerist offensichtlichim Block Graphik-Modus. Sie können auch bei jedemGraphik-Moduseinenvierzeiligen,,Textbereich”untenaufdemBildhaben, Diese vier Zeilenerscheinenanstattder unteren8 Zeilenvon Blöckender Block-Graphik,wodurch noch ein Feld von 40 mal 40 übrigbleibt.In hochauflösenderGraphikwerden dann 32 Punktzeilendurch den Text ersetzt, so daß noch eine 160 mal 280 Punktmatrixfür die Graphik zur Verfügung bleibt. In jedem ,,gemischtenModus” wird Text und Graphik gleichzeitigauf den Bildschirmgebracht,aber es gibt keine Möglichkeit,beideGraphik-Artenzur selbenZeitzu bringen. Bildspeicherung Der Video-Teilholt sich die nötigenInformationenaus dem RAM-Hauptspeicher, um ein Bild zu generieren. Der Inhalteiner einzigenSpeicherstelleentscheidetüber das Erscheineneines bestimmtenObjektesauf einer festgelegtenStelleauf demBildschirm.Dies Objektkann ein Zeichensein, zwei aufeinandergestapelte farbige Blöcke oder eine Zeileaus sieben Punkten.Im Text- und Lo-Res-Graphik-Moduswird ein Speicherbereich von 1024 Bytes als Quellefür die Bildschirminformationbenutzt.Text- und Lo-Res-Graphikarbeitenmit diesem Speicherbereich.Bei der Hi-Res-Graphikist ein anderergrößerer Speicherbereich(8192 Bytes) für die größereanzuzeigendeInformationsmenge nötig. Diese Speicherbereiche nennt man auch ,,Seiten”. Im Falle der Hi-Res-Graphik spricht man von ,,Bildpuffer”, weil dort gewönhlich Bilder oder Zeichnungen aufbewahrtwerden. Bildschirmseiten Es gibt sogar zwei Bereiche,in die jeder Modus seine Informationschreibenkann. Der erste Bereichwird ,,erste Seite” oder ,,Seite1” genannt,der zweite ,,Seite2” oder ,,zweite Seite”. Die beidenBereichesind gleich groß und folgendirekt aufeinander.Die zweite Seiteist nützlich,um Bilderoder Textezu speichern und diese ohne Verzögerungauf den Bildschirmzu bringen.Ein Programmkann Zeichentricksdarstellen; indemes in die eine Seitezeichnet,während die andereauf dem Bildschirmsichtbar ist und dann plötzlich dieSeitentauscht. Text und Block-Graphikteilensich denselbenBereichfür die zweite Seite,genausowie sie den Speicherbereich für Seite1 gemeinsambenutzen.Die beidenobenbeschriebenengemischtenAnzigeartensind auchauf Seite2 verfügbar.Es gibtaberkeinenWeg,diezwei SeitenaufdenselbenBildlchirmzu bringen. * Apples mitderPlatinen-Version 0 haben4 Farben.: schwarz,weiß,grünundviolett. ERSTEANNÄHERUNG AN DEN APPLE 11 T&ello Modus 4: Blldachlrm+ekhotbereicho Seite Beginn Ende Hexa Text/Lo-Res Hi-Res Dezimal 1 $4m 1024 $7FF 2047 2 j 800 2048 $BFF 3071 1 $2000 8192 $3FFF 16383 2 j 4000 16384 $5FFF 24575 Bildmodus-Schalter DieVorrichtungen, die zwischen denverschiedenen Darstellungsarten, Seitenundgemischten Anzeigen entscheiden, sind,,Programmschalter”. EssindSchalter, weilsiezweiPositionen haben(z.B.anoderaus, TextoderGraphik) undessind,,Programm”-Schalter, weilsievomProgramm ausbedient werden. EinProgramm kannaufeinenSchalter durchZugriffaufeinespezielle Speicherstelle einwirken. DieDaten, die im Zusammenhang mit dieserSpeicherstelle gelesen odergeschrieben werden,sindunwichtig : allein derZugriffaufdieAdresse betätigt denSchalter. Esgibt achtspezielle Speicherstellen, diedie Programmschalter für denBildschirm kontrollieren. Siesind paarweise undkomplementär angeordnet. BeimZugriffaufdieeineAdresse einesPaares stellenSieden entsprechenden Modus,,an”unddenentgegengesetzten Modus,,aus”.DiePaare sind: Tabelle 5: Bildmodus-Schatter Beschreibung Adresse Hexa Dezimal t’+5$ 49232 -16304 Anzeige auf GRAPHIK-Modus. wP(51 49233 -16303 Anzeige auf TEXT-Modus. 49234 -16302 Anzeige auf: w$53 49235 -16301 Gemischte w54 SC$55 492% 49237 -16300 Anzeige -16299 Anzeige t@56 49238 -16290 Anzeige t@57 49239 -16297 Anzeige auf t’+52 l nur der APPLE II BENUTZER HANDBUCH TEXT und 1. Seite. der 2. Seite. auf Lo-Res GRAPHIK.* Hi-Res GRAPHIK.* Diese Zustände sind nur sichtbar, wenn der ,,Graphik-Anzeige”-Schalter auf ,,an” ist. 12 TEXT oder Anzeige: nur GRAPHIK. GRAPHIK.* Dies sind diezehnunterschiedlichenKombinationen der Bildmodus-Schalter : Tabelle Seite Anzeige 6: Bildmodus-Kombinationen Seite 1 Schalter Anzeige 2 Schalter Alles Text sc$54 w51 Alles Text SM55 Alles Lo-Res %@54 rPCfi56 alles Lo-Res M55 WiM $@52 w5ti Graphik $C$52 W5$ w54 8C#57 Alles SM55 sca51 tC$52 tc$5$ Graphik Sc652 sc$54 fcp/56 Gemischt Ws$ Sc656 w$53 W5$ und sc#54 tQ57 Gemischt SM53 SC65# und Graphik Alles Hi-Res Graphik Gemischt und Lo-Res Gemischt und Text Hi-Res Text Hi-Res Text wa55 SG53 SC656 Text tc$55 w57 sc#53 %C#5# Lo-Res Hi-Res tM51 (Nun werden sich einige von Ihnen, dte sich gut im Binären auskennen,wundern : ,,Wo bleibendie restlichen sechs Möglichkeiten?!“, wohl wissend, daß 4 zwei-Weg-Schaltergenau 16 Kombinationen ermöglichen.Die Antwort auf das Geheimnisder sechs fehlendenZuständeliegt in dem TEXT/GRAPHIKSchalter.Befindetsich der Computerim TMT-Modus, so kann er sich auch in einer der sechs Kombinationen aus Lo-Res-/Hi-Res Graphik, gemischtenZustandoder Seitenauswahlbefinden.Da der Apple nun aberTextanzeigt,sind dieseunterschiedlichen graphischenZustandenichtsichtbar.) Um den Apple in einen dieser Zustande zu setzen, braucht ein Programm nur auf die Adressen der Speicherstellenzuzugreifen,die die Programmschalterfür diesen Modus darstellen.Programmein Maschinensprachebrauchendazu die oben gegebenenhexadezimalen Adressen: BASIC-Programmearbeitenmit PEEK und POKEund den entsprechendenDezimalzahlen(diese sind oben in Tabelle5 gegeben).Die Schalterkönnen in jederReihenfolgebetätigtwerden, jedochempfiehltes sich beimUmschaltenin einender Graphikzustandeden TUCT/GPiAPHIK-Schalter zuletztzu bedienen.Alle anderenZustandswechselvollziehen sich dann unsichtbarhinter dem Text,so daß beimSetzendes Graphik-Modusdie fertige Graphik-Anzeige im ganzenerscheint. Der Textmodus Im Textzustandkann der Apple24 Zeilenmit bis zu 40 Zeichenpro Zeileanzeigen.Jedes Zeichenauf dem Bildschirm entspricht dem Inhalteiner Speicherstelleaus dem Speicherbereichder Seite,die zur Anzeige gebrauchtwird. Der Zeichensatzbesteht aus 26 Großbuchstaben,10 Ziffern und 28 Spezialzeichen.Die 64 Zeichenwerden aus einer5 Punktebreitenund 7 PunktehohenMatrix gebildet.An beidenSeiteneines jeden Zeichens gibt es einen ein-Punkt-breitenZwischenraum, um benachbadeZeichen zu trennen. Außerdemwerden benachbarteZeilen durch einen ein-Punkt-hohenAbstand auseinandergehalten. Jedes Zeichen ist normalerweiseaus weißen Punkten auf schwarzem Untergrund gebildet,kann jedoch auch schwarz punktiertauf weißem Hintergrunderscheinenoder dauernddazwischenwechseln, und ein blinkendes Zeichenerzeugen.Im Textmodusschaltet der Video-Schaltkreisdes Apple das Farbsignalfür den Bildmonitoraus, so daßsie einklares Schwarz-Weiß-Bildhaben*. l Diese Einrichtung gibt es nicht auf der Platine der Version 0. ERSTE ANNÄHERUNG AN DEN APPLE 13 Der Speicherbereich für die erste Textseitebeginntab Adresse1024und erstreckt sich bis zur Adresse 2047. Die zweite Seitewird in die Speicherplätze2048 bis 3071 abgelegt.In Maschinenspracheergebensich für die erste Seitedie Hexadezimaladressen S400 bis $7FF und für die zweite Seite$800 bis $BFF. Jededieser Seitenist 1024Byteslang. Wer sich nicht vor der Multiplikationfürchtet,wird feststellen,da8 nur 960 Zeichenangezeigtwerden. Die verbleibenden64 Bytes auf jeder Seite,die nicht auf dem Bildschirm erscheinen,werden gebraucht,um Programmenin PROM’s auf den Apple ,,IntelligentInterface”-Gerätekarten als zeitweiligeSpeicherstellenzu dienen(sieheSeite 87 ). Photo5 zeigt64 Zeichen,dieaufdemBildschirmdes Appleverfügbarsind. Photo 5. Der Zeichensatz des Apple Tabelle7 zeigt die dezimalenund hexadezimalenCodes der 64 Zeichen in normalen,inversem und blinkendemZustand. / 14 APPLE II BENUTZER HANDBUCH FJ cn m ( ) s T U V w X c D E F G H 2 52 3 53 4 54 5 SS 7 17 848 Y Z I \ 1 - _ I J K L M N 0 9 59 10 SA 11 SB 12 sc 13 SD 14 SE IS SF 6 S6 Q R A B 48 ! - 1 + l 6 & ? > < = ; : 9 8 7 5 % ’ 4 3 1 2 0 s30 S # ! ’ P @ 32 SZ@ I Si 16 es0 0 SI9 He1 SBB leckmal Invers t 64 0 N L M K J 1 H G F E D _ ^ \ 1 1 Z Y X w V U T s R B c P Q Tabdlo 80 SS0 @ A 540 7: ASCII l - , + * ) ( ’ & % $ # ” ! 560 96 Blinkend 112 128 0 M N L K J 1 H G F E D c A B @ 580 Bildschlmuekhen ? > < = ; : 9 8 1 6 5 4 3 2 0 1 s70 - 1 - \ I Z Y X W V U T s R Q P S90 144 CTRL 160 / - + 1 ) ( % & $ # 1 « SA0 ? = > ; < 9 8 7 6 5 4 1 2 3 0 SB@ 176 Normal 192 0 M N K L J 1 H G F E D A B c @ sc0 208 _ 1 - \ [ Z Y X w V U T R s Q P SDB / - + ( ) * & % # % ,1 l SE0 224 ? > ; < = 9 8 7 6 4 5 3 2 1 fl SFB 240 .n lstaben SBB so1 502 Se3 s04 SOS S06 $01 SB8 Se9 S0A SBB WC #D SBE SI0 SII SI2 SI3 SI4 SI5 SI6 SI7 SI8 SI9 SIA SIB SIC SID SIE SIF 520 S2l s22 S23 524 525 526 521 16 APPLE II BENUTZER HANDBUCH Schaubild1 zeigtfür denText-ModusdieSpeicheradressejedesZeichensaufdemBildschirmdes Apple. Die Block-Graphik Im Block-Graphik-Zustandpräsentiertder Appledieselben1024 Speichersteilenwie im Text-Modus,nur in einem anderen Format. In diesem Zustand wird jedes Byte nicht als ASCII-Zeichen,sondern als zwei aufeinandergestellte farbige Blöcke angezeigt.Der Bildschiri kann ein 40 Blöcke hohes Feld aufweisen. Jeder Block hat eine von 16 Farben. Auf einem Schwarz-Weiß-Fernsehgeraterscheinendie Farben als Musteraus grauenundweißenPunkten. Da jedes Byte in der Speicherseitefür die LoBes-Graphik zwei übereinanderstehende Blocke auf dem Bildschirm darstellt, wird es in zwei gleichgroße Teilezerlegt.(Diese TeilungkennenSie schon von der Hexadezimaldarstellung : je vier Bits werden zu einerHexadezimalziffer zusammengefaßt.) Die beidenHälften könnenjeweils Wertevon 0 bis 15 annehmen.Die linkenvier Bits (Bit 7 bis Bit 4) bestimmendie Farbedes oberenBlocks und die rechtenvier Bits (Bit 3 bis Bit 0) legendie Farbedes unterenBlocks des auf dem Bildschirmwiederzugebenden Bytesfest. DieFarbensind von 0 bis 15 durchnummeriert: Tabelle 8: Faftwn der Black-Gmphlk Dezimal !a Ilex $ld 1 $1 2 $2 3 $3 4 $4 5 $5 6 $6 7 $7 Farbe Schwarz Fuchsinrot Dunkelblau Purpur Dunkelgrün Grau 1 Blau Hellblau Dezimal !iex 8 $8 9 $9 l$ $ fl, 11 $B 12 sc 13 Yu 14 $3 15 $F Farbe Braun Orange Grau 2 Rosa Hellgrün Gelb Aquamarin Yeiß - (DieFarbenkönnenvonFernseher zu Fernseher abweichen, besonders beidenenohneFarbwertkontrolle. Siekönnen denFarbton mitdemFarbtrimmer rechts hintenaufderPlatine justieren.) EinBytemitdemhexadezimalen Wert$D8erscheint alsoalseinbrauner BlockaufeinemgelbenBlockauf demBildschirm. Beidezimaler Rechenweise ergibtsichdieFarbedesunterenBlocks, wennmandenWert desBytesdurch16teilt.DerRestderDivision legtdanndieFarbedesoberen Blocks fest. ERSTE ANNÄHERUNG AN DEN APPLE 17 Skizze2 zeigtdie Speicheradressen allerBlockeaufdemBildschirm. Da die LoBes-Graphik denselbenSpeicherbereichwie die Textausgabebenutzt,passieren interessante Dinge,wenn man zwischen TEXTund LoBes-Graphik umschaltet.Ist der Lo-Res-Graphik-Bildschirmvoller farbigerBlöcke, so erscheinennachdem Umschaltendes TEXVGBAPHIK-Programmschalters lauterscheinbar zufälligeTextzeichen,die zum Teil invers erscheinenoder blinken,Entsprechendverfrältes sich, wenn ein Bildschirm voller Text in den Lo-Res Graphik-Modusgeschaltetwird : Langegraue, rosa, grüne oder gelbewaagerechteStreifenwerdendurch scheinbarzufälliggefärbteBlockegetrennt. 18 APPLE II BENUTZER HANDBUCH $400 $480 $500 $580 $600 $680 $700 $780 $428 $4~8 $528 %5A8 $628 $6~8 $728 $7~8 $450 %4D0 $550 $5D0 $650 $6D0 $750 %7D0 1024 1152 1280 1408 1536 1664 1792 1920 1064 1192 1320 1448 1576 1704 1832 1960 1104 1232 1360 1488 1616 1744 1872 2000 Die hochauflösende Graphik (Hi-Res) Der Apple hat einenzweiten Typ der Graphik-Anzeige,die hochauflösendeGraphik (Abkürzung: ,,Hi-Res” von High Resolution).In diesemZustandkannder Apple53 760 Punktein einer280 Punktebreitenund 192 Punkte hohen Matrix wiedergeben.Der Bildschirmkann schwarze, weiße, violette,grüne, rote und blaue Punkteanzeigen,obwohl eseinigeEinschränkungen gibt, was dieFarbeder einzelnenPunktebetrifft. Die hochauflösendeGraphik nimmt ihre Datenaus einem 8 192 Byte großen Speicherbereich,der auch ,,Bildpuffer”genanntwird. Es gibt zwei unterschiedlicheBildpuffer: einenfür die erste Seiteund einenfür die zweite Seite. Beide Puffer sind unabhängigund getrenntvon den Speicherbereichen,die für die Wiedergabevon Textund Lo-Res-Graphikdienen.Der Bildpufferfür die erste Seitebeginntab Adresse 8192 und erstreckt sich bis Adresse!6383 (hexadezimal : $4000 bis $sFFF). Ist Ihr Applemit 16K (16384Bytes) oder weniger Speicherplatzausgerüstet,so ist die zweite Seiteunerreichbarfür Sie; liegenweniger als 16K Speicher vor, so müssen Sie ganz auf die hochauflösendeGraphik verzichten.Jeder Punkt auf dem Bildschirm repräsentiertein Bit aus dem Bildpuffer.Aus jedem Byte werden 7 Bit zur Anzeigegebracht, wobei das übrige Bit über die Farbender Punkte des Bytes bestimmt.Vierzig Bytes erscheinenauf jeder Zeile des Bildschirms. Das niedrigsteBit (Bit 0) des ersten Bytes einer Zeileerscheintganz links auf dem Bildschirm.Darauffolgen Bit 1, Bit 2 U.S.W.Das höchste Bit (Bit 7) wird nicht angezeigt,Dann kommt das niedrigsteBit des nächstenBytesusw. Sowerden in jederZeileinsgesamt280 Punkteangezeigt, Auf einemSchwarz-Weiß-Monitorerscheinendie Punkteweiß, deren Bit ,,an” (also ,,l”) ist und die Punkte schwarz, derenBit ,,aus” (also 0”) ist. Auf einemFarbbildschirmsind die Verhaltnissenicht so einfach.Ist ein Bit aus, so gibt es wieder einenschwarzenPunkt, ist es an, so kommt es bei der Farbeauf die Position des Punktes auf dem bildschirman. Ist der Punkt ganz links auf dem Bildschirmauf Spalte0 oder auf einer anderenSpalte mit gerader Nummer,so wird er violett erscheinen.Befindetsich der Punkt in der am weitesten rechts liegendenSpalte,also Spalte279 oder in einerSpaltemit ungeraderNummer,so erscheint der Punkt griin. Zwei Punkte,die Seitean Seitestehen,erscheinenbeideweiß. Ist das nicht angezeigteBit eines Bytes ,,an”, so ersetzen blau und rot die Farben violett und grün”. Es gibt also sechs verfügbareFarben in der hochauflösenden Graphik,diedenfolgendenEinschränkungenunterworfensind : 1. Punktein geradenSpaltensind schwarz,weiß, violettoder blau. 2. Punktein ungeradenSpaltensind schwarz,weiß, grtin oderrot. 3. Jedes Byte ist entweder ein Violett/Grün-Byte.oderein Blaubrot-Byte.Es ist nicht möglich,Grün und Blau,Gr6nund Rot,Violettund BlauoderViolettund Rotim selbenBytezu mischen. 4. Zwei farbige Punkte ,,Seitean Seite” erscheinenimmer weiß, sogar wenn sie unterschiedlichenBytes gehören. 5. Auch bei europäischenModellendes Apple geltendiese Regeln,aber die Farbender hochauflösenden Graphikkönnengeringfügtigabweichen. Schaubild3 zeigt den Bildschirm des Apple in hochauflösenderGraphik mit den Speicheradressenjeder Zeiledes Bildschirms. * Aul Apple-Platinen der Version 0 sind die Farben rot und blau nicht verfügbar und das Wen des höchsten Bits ist ohne Bedeutung. 20 APPLE Il BENUTZER HANDBUCH Andere Ein-lAusgabeeinrichtungen Apple Eingänger Ein-/Ausgabeeinrichtungen Cassetten-Zingang 3 Ein-Bit-Digital-Eingänge 4 Analog-Eingänge Ausgänger Cassetten-Ausgang Eingebauter Lautsprecher 4 "Signal"-Ausgängc Impulsausgang ERSTE ANNÄHERUNG AN DEN APPLE 21 Der Lautmrecher Im Gehäusedes Apple befindetsich links unter der Tastaturein kleiner8 Ohm-Lautsprecher,Er ist so an die interneElektronikdes Appleangeschlossen,daß Programmeihn veranlassenkönnen,verschiedeneGeräuscheabzugeben. Der Lautsprecherwird von einemProgrammschalterkontrolliert,Er kann die Membranedes Lautsprechersin zwei Positionenbringen: ,,innen” und ,,außen”.Dieser Programmschalterarbeitetnicht wie die Programmschalter für die unterschiedlichenBildausgaben,sondern funktioniertals Wechselschalter,Jedesmal,wenn ein Programm auf die Speicheradresse,die dem Lautsprecherzugeordnetist, zugreift, wechselt die Membranedes Lautsprechers ihre Stellung von ,,innen” nach ,,außen” oder umgekehrt. Bei jedem Positionswechsel produziert der Lautsprecherein kurzes ,,Klick”. Ein Programmkann durch schnellen periodischenZugriffaufdie Adressedes LautsprecherseinenDauertonerzeugen, Der Programmschalterfür den Lautsprecherist der Speicherzelle49200 zugeordnet.Jeder Zugriff auf diese Adresse (die gleichwertigenAdressen sind -16336 oder hexadezimal$C030) läßt den Lautsprecherein ,,Klick” aussenden. Mit einemLese- oder Schreibvorgangkann ein Programmauf die Adresse der speziellenSpeicherstellefür den Lautsprecherzugreifen.Die Daten,die gelesenoder geschriebenwerden, sind ohneBedeutung,dennes ist die Adresse, die den Schalterbetätigt.Dabeiist zu berücksichtigen,daß einemSchreibvorgangim 6502Mikroprozessor erst ein Lesevorgangvorangeht.So löst ein Schreibvorgangin die Speicherstelleeines Programmschaltersdas zweimaligeSetzendieses Schaltersaus. Bei Wechselschalternergibt sich deshalb nachdemSchreibvorgangderalteZustandvor demZugriff. 22 APPLE II BENUTZER HANDBUCH $2000 8192 $2300 52280 52200 $2180 8232 9088 8960 8832 8784 8448 8576 8320 $2380 8360 S2fl80 $2100 $2028 8488 $20~8 $2128 S21A8 9000 9128 8872 8272 8616 8744 $23~8 8400 52228 $2050 8528 $22~8 S20D0 8656 52328 $2150 8784 8912 $2250 S22DB 021DB $2350 9040 9168 S23D0 3: Speicherplan türdie huchaullbende IIIIIIII~~~~~~~~~~~~~~~~~~~~~~~~’~~’~~~~~ Schaubild Gmphik 114096 In jedem 7-10 71 I-1 L-1 i-----l 116144 1-I Sieerhalten dieAdresse für jedesBytedurchAdditionderReihe, derSpalteundderZeilein demFeld,in demdieses Byteliegt. Feld: SM00 S0400 SBCM SB800 1024 2048 SI488 $1000 3072 5120 SIC00 SI800 7168 Die Kassetten-Schnittstelle (Inteeace) Rechts auf der hinteren Kanteder Apple-Hauptplatinebefindensich zwei kleine schwarze mit ,,IN” und ,,OUT” bezeichneteBuchsen.Dies sind Miniatur-Phono-Buchsen, in die Sie ein Kabelstecken können,das an jedem Endezwei Miniatur-Phono-Steckerhat. Das andereEndedes Kabels kann mit einem StandardKassettenBekorderverbundenwerden, so daß Ihr Apple Informationenauf Musik-Kassetten schreibenund wieder lesenkann. Der mit ,,OUT” bezeichneteAnschluß ist mit einemweiteren Programmschalterverbunden.Es handeltsich wie beidemLautsprecherum einenWechselschalter(sieheoben). Der Programmschalterfür den Kassettenausgangkann durch Zugriff auf die Speicherzelle49184 (entsprechend -16352 oder hexadezimal$C020) betätigt werden. Der Zugriff auf diese Adresse stellt die Spannungam Kassettenausgangvon Null auf 25 mV oder läßt sie von 25 mV auf Null fallen.Steckt das andereEndedes Verbindungskabelsim Mikrophoneingangdes Kassettenrekordersund nimmtder Rekorder auf, so wird ein leises ,,Klick’ aufgenommen.Ein Programmkann einenTon durch periodischenZugriff auf die Speicherstelle49184 in der Aufnahmeerzeugen.Durch Variation von Dauer und Tonhöhe kann Informationfür späterenGebrauchverschlüsselt auf Bandgeschriebenwerden. Der System-Monitorenthält solch ein Programmzur Kodierungvon Datenfür dieAufnahmeauf Band(sieheSeite50). Es wird davor gewarnt, den Programm-Schalterdurch Schreib-Vorgängezu bedienen.Aus den in der Beschreibungdes LautsprecherserwähntenGründenerzeugenSchreib-Vorgängetatsachlichzwei ,,Klicks” aufder Aufnahme.Siesolltennur Lese-VorgängezumBetätigendes Programmschalters verwenden. Der andere,mit ,,IN” bezeichneteAnschluß,kann zum Abhörenvon Kassettenaufnahmen gebrauchtwerden, Sein Hauptzweckliegtdarin, eineEinrichtungzu versorgen,die Tönevom Bandhört, sie zu Datendekodiert und diese im Speicherablegt.So können auf KassettegespeicherteProgrammeoder Datengelesenund dannwieder verwendetwerden. Der Eingangs-Schaltkreisnimmtein 1 V-Signal(Spitzenspannung) aus der Ohrhörer-Buchseund formt es in eine Folge von Einsen und Nullen um. Jedesmal,wenn das Signal am Eingangvon Plus nach Minus wechselt oder umgekehrt,verändertder Eingangsschaltkreisseinen Zustand: von ,,l” nach “0” bzw. von ,,0” nach ,,l”. Ein Programmkann durch Prüfen des Inhalts der Speicherstelle49248 (entsprechend -16288 oder hexadezimal$C060) den Zustand des Eingangsschaltkreisesfeststellen. Ist der Inhalt dieser Speicherstellekleiner als 128, so ist der Zustand Null, sonst liegt der Zustand Eins vor. Obwohl BASICProgrammeden Zustand des Kassetten-Eingangskreises lesen können,ist die Geschwindigkeitvon BASICProgrammenviel zu klein, um aus den einzeln,,aufgepickten”Datenklug zu werden. Es gibt jedoch ein Programmim System-Monitor,das Tönevon Kassettenliestund sie dekodiert(sieheSeite51). 24 APPLE II BENUTZER HANDBUCH Ein-IAusgabeanschlussjZir Spiele Der Sinn dieses Anschlusses liegtdarin, den Effektvon Programmen,insbesonderevon Spielprogrammen, zu erhöhen.Dazu stehen Ihnen eine Reihevon Ein- und Ausgängenzur Verfügung,an die Sie spezielle Geräteanschließenkönnen.Es handeltsich um drei Ein-Bit-Eingänge, vier Ein-Bit-Ausgänge,einenImpulsAusgangund vier analogeEingänge,die alle von Ihren Programmengesteuertwerden können.Ihr Appleist mit zwei Spielsteuerungen (GarneController)ausgestattet,derenAnschlußkabelim Spiele-Anschlußstecken. Die zwei Drehknöpfeder Steuerungensind mit zwei Analogeingängen verbunden.Die zwei Drucktastensind anzwei Ein-Bit-Eingänge des Spiele-Anschlussesangeschlossen. Photo 6. EinJAwgabean#hlu0 tllr Spiele. Signal-Ausgtinge DieSignal-Ausgänge sinddievier Ein-Bit-Ausgänge. JederSignal-Ausgang kannanderen elektronischen Geräten alsEingang dienenoderanSchaltkreisen angeschlossen werden, die Lampen, Relais, Lautsprecher oderandere Geräte treiben. JederSignal-Ausgang wirdvoneinemProgramm-Schalter gesteuert, deraufzweiAdressen ansprechbar ist. So gibt esinsgesamt 8 Adressen, wobeiderZugriffaufdieeineAdresse denAusgang auf,,an”stelltund ein Zugriffauf die andereAdresse denAusgang auf ,,aus”stellt.Ein Signal-Ausgang hat an seinem Anschluß eineSpannung vonfast0 V, wenner ,,aus”ist,sonstliegteineSpannung vonfast+5 V an.Es ist keineMöglichkeit vorgesehen, denaktuellen Zustand einesSignal-Ausgangs festzustellen. Diessinddie Programmschalter : ERSTE ANNÄHERUNG AN DEN APPLE 25 Tabelle 9: Adressen Mr dla Signal-Aurgingo Nr. Zustand Adresse iJ aus 1 aue 49240 49241 49242 49243 49244 49245 49246 49247 Dezimal an an 2 aus an 3 aus an -16296 -16295 -46294 -16293 -16292 -16291 -16290 -16289 Hexa l tM5e w59 SC$5A S'+5B w$5c fc$5D tCd5E SCti5F Ein-Bit-Eingänge DiedreiEin-Bit-Eingänge können entweder anandere elektronische Gerate oderanDruckstasten angeschlossenwerden. Siekönnen denZustand jedesEingangs mitProgrammen in Maschinensprache oderBASICauf dieselbe Weiseerfahre,wie Sie den Kassetteneingang lesen.Die Speicherstellen für die drei Ein-BitEingänge habendie Adressen 49249bis 49251(-16287bis -16285oder hexadezimal $C061bis $C063). Analog-Eingänge Dievier Analog-Eingänge könnenan 150k0hmPotentiometer angeschlossen, werden.DervariableWiderstandzwischen jedemEingang und+5 V steuerteinenEin-Chip-Zeitkreis. BelAnderung desWiderstandes aneinemEingang verändert sichentsprechend dieZeitcharakteristik deszugehörigen Zeitkreises. Programme in Maschinensprache können Veränderungen in denZeitschleifen wahrnehmen undverschaffen sichsoeinen numerischen Wert,derderStellung desPotentiometers entspricht. BevoreinProgramm beginnen kann,diePosition derPotentiometer zuermitteln, mußeserstdieZeitkreise zurtickstellen, indemes auf den Programmschalter 49264(-16272oderhexadezimal $C070)zugreift. BeimZuriicksetzen derZeitkreise werden die Wertein denvier Speicherstellen 49252bis49255(-16284 bis-16281oder$C064bis$C067)größerals128(Bit7 wirdgesetzt).Innerhalb von3,060MillisekundensolltendieWertedieservier Speicherstellen unter128fallen.Diegenaue Zeit,diejedeSpeicherstelle braucht,umunterdenWert128zufallen,istdirektproportional zuderStellung desPotentiometers, daszu dieserSpeicherstelle gehört.Fallsdasangeschlossene Potentiometer einengrößeren Widerstand als 150k0hmhatoderkeinPotentiometer angeschlossen ist,fällt derWertin derzugeordneten Speicherstelle nichtaufNull. 26 APPLE II BENUTZER HANDBUCH Impuls-Ausgang Es gibt noch einen zusätzlichenAusgang,den Impuls-Ausgang,der normalerweiseauf +5 V liegt, aber dessen Spannungdurch den Zugriff auf die Adresse 49216 (-16320 oder $C04F) für die Dauer einer halbenMikrosekundeauf D V fallt. Man beachte,daß ein Schreib-Vorganghier zwei Impulseauslöst. (Der Abschnittüberden Lautsprecherbeschreibtdieses Phänomen.) l Tabelle 10: Ein-/AusgabeAdressen Funktion Adresse Lesen/Schreiben Dezimal Lautsprecher Kassetten-Eingang Kassetten-Ausgang Signal-Ausgänge 492!@ 49256 49184 4924$ bis Ein-Bit-Eingänge Analog-Eingänge Analog Rücksetzen Impuls-Ausgang Hexa -16336 tc$3ti tC#6$ L -16200 -16352 $C$Z$ L -16296 SM58 Jds bis bis L 49247 49249 4925$ 49251 49252 49253 -16289 (@SF -16287 SC$61 L -16286 Ocfd62 ,L -16285 Scfi63 L -16284 l;C$64 L -16283 SC@65 49254 -16282 SC$66 49255 -16281 tc$Q 49264 49216 -16272 -16326 W7$ SC$rtpl L/S L Variationen des Apple Esgibt ein paarVariationen desApplell Computers. JlanchederVariationen sindVerbesserungen oder Modifikationen desComputers an sich,anderesindAnderungen an Betriebsprogrammen. Dassinddie grundlegenden Variationen. ERSTE ANNÄHERUNG AN DEN APPLE 27 Autostart-ROM / Monitor-ROM Alle Apple N-Plus-Systemeenthaltenden Autostart Monitor-ROM.Alle anderenApple-Systemebesitzen keinenAutostart-ROM,habendafüraber denAppleSystem-Monitor-ROM.DieserROM-Versionfehleneinige Einrichtungen,die im Autostart-ROMenthaltensind, sie hat aber auch Einrichtungen,die es nicht im Autostart-ROMgibt. Die Hauptunterschiedezwischen den beidenROMs werden auf den nächstenSeiten erläutert. l Textredigieren. Die ESC-I, -J,. -K und -M Tastenfolgen,die den Zeiger nach oben, links, rechts oder untenbewegen,sind im altenMonitor-ROMnichtverfügbar. l Ausgabestop. Die Möglichkeit,die Ausgabeder meistenBASIC- oder Maschinensprachen-Programme oder Programmauflistungen mitm zu stoppen,bestehterst im neuenMonitor-ROM. l Der RESET-Ablauf. BeimApplemit altemMonitor-ROMmeldetsich beim Einschaltenoder Betätigen der m -Taste das Monitor-Systemanstatt einen ,,Warm-” oder ,,Kaltstart” einzuleiten,wie er auf Seite39 (,,Derm -Ablauf”) beschriebenist. Im alten Monitor-ROM gibt es noch die STEP- und TRACE-Fehlerhilfen des System-Monitors (siehe Seite55). DasAutostart-ROMerkenntdieseMonitor-Kommandos nicht. Hauptplatine Version 0 / Version 1 Die Version 0 und die derzeitigeVersion 1 der Hauptplatinedes AppleII unterscheidensich in wenigen Punkten.Um festzustellen,um welche Art Platinees sich in IhremApplehandelt,hebenSie die Abdeckung und vergleichenSie die rechte obere Ecke der Platinemit dem Photo4 auf SeitelO. Sie besitzendie Version0 des Apple, wenn Sie den einzelnenmetallenenVideo-Verbindungsstiftzwischen der Vier-Stift Video-Anschluß-Buchseund demrundenBildaussteuerungstrimmer nichtfinden. DieUnterschiedezwischen denbeidenVersionendes Applesind : l Farbunterdrückung. Im Text-Modusläßt die Apple-Version0 das Farbsignalam Video-Ausgangaktiv. Dadurcherscheinendie ZeichenaufdemBildschirmgetöntodermitfarbigenRändern. l Einschalt-RESET. Die Version0 hat keineSchaltung,um automatischm Gerateinschalten.Stattdessenmüssen Sieselbstm drucken. einzuleiten,wenn Sie das Beim Einschaltendes Appleder Version 0 enthältdas TastenfeldirgendeinZeichen,Da der Appleeine Eingabeerwartet, behandelt-er dieses Zeichen,als wäre es von Ihneneingegeben.Um dieses Zeichenzu löschen,empfiehltes sich, beimEinschaltennachdemnn0 einm zu geben. l 28 Farben, in der hochauflösenden Graphik. Der Apple der Version0 hat nur vier Farben für die hochauflösendeGraphik: schwarz, weiß, violett und grün. Das höchste Bit (Bit 7) eines jedenauf den BildschirmgebrachtenByteswird ignoriert(sieheSeite20). APPLE Il BENUTZER HANDBUCH 24K Speicheraufteilungs-Problem. Systemeder Version0, die 20 oder 24K Bytes RAM besitzen, scheinenüber mehrSpeicherplatz für BASICzu verfügen,als sie tatsächlichhaben(sieheSeite76). 50 Hz-Apple. Bei der HauptplatineVersion 0 läßt sich das Video-Ausgangssignalnicht auf das europäischePAL-/SECAM-Fernseh-System umstellen.Außerdemfehltder dritte Video-Anschlußzwischen denobenerwähntenvier Stiftender Video-Verbindung unddemrundenBildaussteuerungstrimmer. Lautsprecher bei Kassettenbetrieb. Jeder Ton, der vom eingebautenLautsprecherabgegebenwird, erscheintbei der Version0 des Appleauch auf demAusgangdes Kassettenanschlusses.Befindetsich der Rekorderim ZustandderAufnahme(RECORD),so wird jederTondes Lautsprechersauchaufgezeichnet, Kassetten-Wiedergabe (Einlesen). Der Eingangsschaltkreisdes Kassettenanschlusseswurde so verändert,daßschwächereSignalemitgrößererGanauigkeiterkanntwerden. Verbessertes Netzteil MancheApple-Gerätehabenein Netzteil,das nur mit 110Volt betriebenwerden kann, während andere Versionenmit einemSpannungswahlschalter (110/220V) an der Rückseitedes Gerätesausgerüstetsind. Der Apple ZZPlws Der Apple ll Plus ist ein Standard-AppleIl-Computermit der HauptplatineVersion1, dem Autostart-ROM und dem Applesoftll BASIC (Fließkomma-BASIC)im ROM anstatt dem Apple Integer BASIC (GannahlBASIC).EuropaischeModelledes AppleII Plus sind mit einem110/220V-Netzteilausgestattet.Der Apple Mini-Assembler,das Fließkomma-Programmpaket und.der Sweet 16-Interpreter,die sonst im AppleInteger BASICROMgespeichertsind, sind auf demAppleII Plus nichtverfügbar. ERSTE ANNÄHERUNG AN DEN APPLE 29 30 APPLE II BENUTZER HANDBUCH Fast alle Programmeund Sprachenauf dem ApplebrauchenEingabenvon der Tastaturund Möglichkeiten, Informationenauf den Bildschirmzu schreiben.Dazustehen im ROM-Speicherdes AppleeinigeUnterprogrammezur Verfügung,die die meistenEin-/Ausgabeprozesse in allen Programmenund Sprachenim Apple durchführen. Die Unterprogrammefür diese Ein-/Ausgabefunktionen habenverschiedeneNamen,die sich die Autoren dieser Programmeausgedachthaben,Der Appleselbst kenntdie Namenseiner Maschinenunterprogramme nicht,trotzdemist es für uns allewesentlichbequemer,dieseUnterprogramme bei ihrenNamenzu nennen. Standard-Ausgabe Das Standard-Ausgabe-Unterprogramm heißt COUT (CharacterOUT). COUT schreibt Großbuchstabenin normal oder invers auf den Bildschirm.Es ignoriertdie Steuerzeichen außerw , dem Zeilenvorschub (linefeed),Rückwärtsschritt undKlingelzeichen (hell). Das COUT-Unterprogrammhat einen eigenenunsichtbaren,,Ausgabe-Zeiger”(Die Position, auf die das nächsteZeichengesetztwerden soll). Jedes Mal,wenn COUTaufgerufenwird, setzt es ein Zeichenauf die aktuelleZeigerpositionauf dem Bildschirm (und überschreibtdamit das Zeichen,das dort vorher stand). Dann wird der Zeiger um eine Stelle nach rechts bewegt. Geht er dabei über die rechte kante des Bildschirms,wird er auf die erste Stelleder nächstenZeilegesetzt.Verläßtder Zeigerdie untersteZeile,so wird der gesamteBildschirminhaltum eine Zeilenach obengeschobenund der Zeigerauf die erste Stelle der nun leerenunterstenZeilegesetzt. Wennein m an COUTausgegebenwird, setzt es den Zeigeran denAnfangder nächstenZeile.Verläßt der Zeigerdabeidie letzteZeile,so wird das Bildwie obenbeschriebenumeineZeilehochgeschoben. Ausgabe-Stop Wenn ein Programmoder ein Spracheein m zu COUT schickt, sieht COUT zuerst in der Tastatur nach, ob Sie seit dem letztenAufruf m gedrückt haben.Wenn das der Fall ist, hält das Programman und wartet auf einenweiteren Tastendruckvon Ihnen. Diese Einrichtungwird ,,Ausgabe-Stop”genannt*. BetätigenSie dann einelaste, so gibt COUT das m -Zeichenaus und setzt seine normaleAusgabe fort, Der Code der gedrucktenTastewird ignoriert,es sei denn,es handeltsich um m In diesemFall gibt COUTdem Programmoder der SprachediesenZeichencodeweiter. So ist es Ihnendurch ein m im Ausgabestopmöglich,Programmauflistungen oderBASIC-Programme zu beenden. Ein Zeilenvorschub-Zeichen bewirkt, daß COUTseinenZeigerohnewaagrechteVerschiebungum eineZeile tiefer stellt. Wie immerwird das Bild nach oben geschoben,wenn der Zeigerunter die letzteZeilekommt. DerZeigerbleibtdabeiaufseinerPositionin einerneuenunterstenZeile. l Die Ausgabestop-Einrichtung ist auf @pl6 ohne Autostart-ROM nicht vorhanden 32 APPLE II BENUTZER HANDBUCH Ein Rücksetz-Zeichen(durch t ausgelöst)bewegt den unsichtbarenZeigerum eineStellenach links. Geht der Zeiger über die linke Kante,so wird er ganz rechts in die vorhergehendeZeile gesetzt.Gibt es keine solche Zeile(weil der Zeigeroben auf dem Bildschirmist), so bleibter ganz rechts in der oberstenZeile, ohnedaßder Bildinhaltverschobenwird. Soll COUTein Klingel-Zeichen(hell) ausgeben,so wird der Bildschirmnicht verändertund der Zeidernicht verschoben.Stattdessenwird für l/lO SekundeeinTonvon 1kHz vom Lautsprecherausgegeben. Das Text-Fenster In der obigen Diskussion über die verschiedenenBewegungendes Ausgabe-Zeigersbezogensich die Angaben ,,links”, ,,rechts”, ,,Oben” Und ,,unten” auf das linke, rechte, obere und untere Ende eines normalen40 Zeichen breiten und 24 Zeichen hohen Bildschirms. Es gibt jedoch die Möglichkeit,dem UnterprogrammCOUT mitzuteilen,daß es nur in einem bestimmtenBildschirmbereicharbeitensoll und nichtauf der ganzen960-Zeichen-Anzeige. Dieser abgesonderteText-Bereichheißt ,,Fenster”. Programmeoder Sprachenkönnen die vier Angaben ,,Oben”, ,,Unten”, ,,linkeSeite” und ,,Breite”des Textfenstersin vier spezielleSpeicherstellengeben.Dann wird COUTdie Größedes Bildschirms aus diesen neuenAngabenberechnenund nie Text außerhalbdes Fensters drucken. Soll der Bildschirm hochgeschobenwerden, so geschieht dies nur innerhalbdes Textfensters.Auf diesemWeg habenProgrammeEinflußauf die Unterbringungvon Textauf dem Bildschirm und könnendamitandereBereichedavorschützen.von neuemTextüberschriebenzu werden. Die Speicherstelle32 (hexadezimal$20) enthältdie Spaltenpositionganzlinks im Fenster.Es ist normalerweise Spalte0 ganzlinks auf dem Bildschirm.DieseZahlsollte nie 39 (hexadezimal $27) überschreiten,das wäre schon die äußerste Spalterechts. Die Speicherstelle33 (hexadezimal$21) bestimmtdie Breitedes Textfensters(Anzahlder Spalten).BeachtenSie,daß die Summeaus der linken Positionund der Breitedes Fensters nie 40 überschreitet!Das hattezur Folge,daß COUT Zeichenin Speicherstellenaußerhalbdes BildschirmbereichsschreibtunddamitIhre Programmeund Datengefährdet. Die Speicherstelle34 (hexadezimal$22) enthältdie Nummerder oberstenZeiledes Textfensters.Normalerweise ist es 0, also die oberste Zeiledes Bildschirms.Schließlichgibt die Speicherstelle35 (hexadezimal $23) die (um 1 erhöhte)maximaleZeilennummeran. Normalerweiseist es 24 für die unterste Zeile des Bildschirms.(Die Rechnunggeht auf: 23 + 1 = 24. Die Zeile23 ist aber die 24. Zeile,da immer*von 0 bis 23 gezahltwird.) Wenn Sie das Textfensterverandern,sollten Sie darauf achten, daß Sie wissen, wo der Ausgabe-Zeiger geradeist, damiter sich innerhalbdes neuenFenstersbefindet. * Jede Speicherstelle hat wenigstens ein Bit (sonst ist es keine Speicherstelle). Damit können mindestens die Werte 0 und 1 gespeichert werden. Das sind schon 2 Zustände. wobei der 1. Zustand der ,,Zustand 0” ist und der zweite der ,,Zustand 1”. So kommt es, daß ein Computer von ,,Natur aus” beim Zählen immer mit 0 anfängt. Also nochmal : die erste Zeile ist ,,Zeile !Y, die letzte Zeile ist ,,Zeile 23”. DER DIALOG MIT DEM APPLE 33 I Tabelle Funktion fllr dar Text-Fenster Adresse Linke Breite Kante Obere Kante Untere 11: Spokhemtellen Kante Dezimal He%3 Dezimal Hexa 32 33 w w8fu~l7 821 0/0/39 0/40/40 34 $22 dO/ 35 $23 0/24/24 ll$/$28/828 24 tfuwO~~ sfi/s1s/t1s Zeichendarstellung DasCOUT-Unterprogramm kannZeichen ,,Normal” oder,,Invers”ausdrucken. Diespezielle Ausgabeart wird vomInhaltderSpeicherstelle 50(hexadezimal $32)bestimmt. StehtdortderWert255(hexadezimal $FF),so werdendie Zeichenvon COUTim Normal-Modus ausgegeben. IrrverseZeichenentstehen, wenn63 (hexadezimal S3F)derInhaltdieser Speicherstelle ist. Beachten Sie,daßeinWechsel desAusgabezustande nuraufdieZeichen Einflußhat,dienachdemWechsel gedruckt werden, Weitere Wertein derSpeicherstelle 50 verursachen ungewöhnliche Dinge: beimWert127erscheinen blinkende Buchstaben undalleanderen Zeicheninvers,Beiallenanderen Wertenignoriert COUTeinigeoderalleZeichen desnormalen Zeichensatzes. Tabelle Wert 12: Ausgabekontmlle durch Speicherstelle 50 Effekt Dezimal Hexa 255 SN? COUT gibt Zeichen im 63 03F COUT gibt Zeichen im 121 VIF COUT gibt Buchstaben und alle anderen "NORMAL"-Modus "INVERSE"-Modus im Zeichen "FLASH"-Modus im aus. aua. aus "INVERSE"-Modus. DieSpeicherstelle 50 enthälteinesog.,,Maske”,diedurcheinlogisches ,,UND”(AND)dieeinzelnen Bits jedesauszugebenden Zeichencodes verändert. JedesBit dieser,,Maske”mit demWert0” IäbtdasBit an derselben Stelleim Zeichencode aucheine0” werden, unabhängig vondemWert,deneszuvorhatte.So werdendie beidenoberenBits(Bit7 undBit6) einesjedenAusgabezeichens auf 0” gesetzt,wenndie Speicherstelle 50eine63 (hexadezimal $3Foderbinar00111111) enthält.Auf demBildschirm erscheinen dannZeichen,derenCodes zwischen 0 und63 liegen.WiemanderBildschirmcode-Tabelle auf Seite15 entnimmt. handelt essichalsoumZeichen im,,INVERSE”-Modus. 34 APPLE II BENUTZER HANDBUCH Standard-Eingabe Hier gibt es sogar zwei Unterprogramme,die sich mit der Sammlungvon Standard-Eingaben befassen: RDKEY(Reada key) holt eineneinzigenTastendruckaus der Tastaturund GETLN(Geta line) sammelteine Reihevon Tastendruckenzu einer,,Eingabezeile” zusammen. RDKEY In erster Linie wartet das RDKEY-Unterprogramm darauf,daß der Benutzereine Tasteder Tastaturbetätigt, um dem Programm,das es aufgerufenhat, den Code der gedrucktenTasteweiterzugeben.Währenddieser TätigkeitverrichteRDKEYnochzwei anderenützlicheDienste: 1. Hinweis auf die Eingabestelle. Beim Aufruf von RDKEYwird zuerst der unsichtbareAusgabe-Zeigersichtbar gemacht.Dies weist den Benutzerdarauf hin, daß der Appleauf einenTastendruckwartet und es bringt die erfragteEingabemit einer bestimmtenBildschirmpositionin Beziehung.Meist erscheintder Eingabehinweisin der Näheeines Textes,der beschreibt,was das spezielleProgramm(oder die Sprache)als Eingabeerwartet. Der EingabeZeiger selbst ist eine blinkendeWiedergabedes Zeichens,das sich auf der Stelledes Ausgabezeigers befindet.Gewöhnlichist es das Leerzeichen, wodurch der Eingabezeiger als blinkendesQuadraterscheint, Wenn der Benutzereine Taste druckt, entfernt RDKEYden Eingabezeiger und kehrt mit dem Wert der gedrucktenTastezu dem Programmzurück, das es aufgerufenhat. BedenkenSie,daß der Ausgabezeiger nur eine Position,während der Eingabezeiger ein blinkendesZeichenauf dem Bildschirmdarstellt.Beide bewegensich immerauf dieselbeWeiseund sind kaum voneinandergetrennt,aberwenn der Eingabezeigerverschwindet,bleibtder Ausgabezeiger nochaktiv. 2. Erzeugenvon Zufallszahlen. Während RDKEYauf einenTastendruckdes Benutzerswartet, addiert es fortlaufendeine 1 zu einem Speicherstellenpaar. Wird schließlicheineTaste betätigt,so stellendiese beidenSpeicherstellenzusammen eine Zahl zwischen 0 und 65535 dar. Der genaueWert ist völlig unvorhersehbar.So könnenviele Sprachenund Programmeihn als Basisfür einenZufallszalhlengenerator verwenden. Die Speicherstellender Zufallszahl,die RDKEYlaufendverändert,findensich auf den Adressen78 und 79 (hexadezimal $4Eund !$4F). GETLN Die meistenEingabenauf dem Applewerden zu Eingabezeilen zusammengefa8t. Das UnterprogrammGETLN im ROM des AppleerfragteineEingabezeile von der Tastaturund kehrt, nachdemes eine bekommenhat,zu dem Programmzurück, das GETLNaufgerufenhat.GETLNhat vieleEinrichtungenund Nuancen,und es ist gut,alleFunktionenvon GETLNzu kennen. DER DIALOG MIT DEM APPLE 35 Beim Aufruf druckt GETLNerst das Bereitschaftszeichen. Es hilft Ihnenfestzustellen,welches Programm durch GETLNeineEingabeerfragt. Ein Stern(*) als Bereitschaftszeichen steht für den System-Monitor,eine rechte Spitze(>) für das AppleIntegerBASIC,eine rechteeckige Klammer(1) für ApplesoftII BASICund das Ausrufezeichen(!) für den Apple Mini-Assembler.Zusätzlichwird das Fragezeichen(?) von vielen Programmenund Sprachenbenutzt,um anzuzeigen,daß ein Benutzer-Programm eine Eingabeerwartet. Was Sie als Benutzersehen, ist, daß der Appleeinfachein Bereitschaftszeichen druckt und einen Eingabezeiger zur Anzeigebringt. SchreibenSie, so erscheinendie Zeichender gedrücktenTastenauf dem Bildschirmund der Zeiger bewegt sich mit. Drücken Sie die m -Taste,so wird die gesamteZeilezu dem Programm oderzu der Sprache,zu der Siesprechen,geschicktund SieerhalteneineweitereAufforderung. Diese Vorgängelaufenaber in Wirklichkeit wesentlich komplizierterab. GETLNdruckt das Bereitschaftszeichen und ruft RDKEYauf, das den Eingabezeiger anzeigt.Wenn RDKEYmit einemTastencodezurückkehrt, speichert ihn GETLNin einen Eingabepufferund schreibt das Zeichendort auf den Bildschirm,wo der Eingabezeiger stand. Dann ruft es wieder RDKEYauf. DieserVorgangwiederholt sich, bis der Benutzerdie m -Taste drückt. Wenn GETLNdieses m vom Tastenfelderhält,setzt es das Zeichenan das Endedes Eingabepuffers,löscht den Rest der Bildschirmzeile,in der der Eingabezeiger war und sendetein w zu COUT (siehe Seite32). GETLNkehrt dann zu dem Programmzurück, das es aufgerufenhat. Programmeoder Sprachen,die eine Eingabeerwartet haben, können sich nun die ganze Eingabezeile ansehen,da sie im Eingabepuffer steht. Wann immer Sie eine Zeileschreiben,könnenSie ein m gebenund damitdie gesamteZeilelöschen. GETLNwird einfachalles vergessen,was Sie getippt haben,ein ,,Backslash’ (\) drucken, zu einer neuen Zeile springen, nochmal ein Bereitschaftszeichengeben und Ihnen so die Eingabeeiner neuen Zeile ermöglichen.EineEingabezeile darf maximal255 Zeichenlang sein. WennSie diese Grenzeüberschreiten, wird GETLNdie gesamteZeile löschen und Sie müssen nocheinmalvon vorne anfangen.Damit Sie vor dieserGrenzegewarntsind, gibtGETLNab dem249.Zeichenmit jedemTastendruckeinenTonaus. GETLNerlaubt Ihnenauch, Zeilen,die Sie schreiben,zu verandernund zu korrigieren,damitSie einfache Tippfehlerverbessernkönnen(Eine Einführungin die Standard-Korrektur-Funktionen und den Gebrauchder beidenPfeiltasten(a und 0) erscheint auf den Seiten28-29 und 53-55 des AppleII BASICProgrammierhandbuchsoder auf den Seiten27-28 und 52-53 des AnhangsC in der ApplesoftProgrammiereinführung).Hier ist einekurze Beschreibungder Korrektureinrichtungen von GETLN: Die Linkspfeil- oder Rücksetz-Taste Jeder Druck auf dieseTasteläßtGETLNeindahinterliegendes Zeichenin der Eingabezeile vergessen.Es wird auch ein Rücksetzzeichenzu COUTgeschickt (siehe oben), um die Zeigerauf das Zeichenzu stellen,das gelöschtwurde. Wenn Sie nun ein Zeichentippen,werden das gelöschteZeichenauf dem Bildschirmund das gelöschteZeichenin der Eingabezeile durch das getippteZeichenüberschrieben,MehrfacheBetätigung der Linkspfeiltastelöscht aufeinanderfolgende Zeichen.Jedochwird GETLNdie ganzeZeile ignorierenund eine nochmaligeEingabeverlangen,falls Sie mehr Zeichenmit der Linkspfeiltastelöschen,als Sie zuvor eingegeben hatten. 36 APPLE ll BENUTZER HANDBUCH Die RechtspfeilTaste (-+) oder Wiedereingabe- Die Betätigungder Rechtspfeiltastehat denselbenEffektwie das Tippendes Zeichens,auf dem der Zeiger steht. Zur Korrektur von Tippfehlernist dies besondersnützlich,um den Rest einer Zeile neu einzugeben, über die mit der Linkspfeiltastezuvor zurückgesetztwurde. In Verbindungmit den reinenZeigerbewegungen (siehe nächster Abschnitt) kann man Daten nochmal eingebenoder korrigieren, die schon auf dem Bildschirmstehen. Der Escape-Zustand Wenn Sie die m -Taste drücken, gehen die Eingabe-Unterprogramme in den ,,ESCAPE-ZUSTAND” (Escape: einer Eingabe,,entkommen”).In diesemZustandhabenelf TastenneueBedeutungen, die ,,EscapeAnweisungen”.Wenn Sie einedieser elf Tastendrücken,wird der Appledie Funktionausführen,die mit der Taste im Escape-Zustandverbundenist. Je nachdem,welche Escape-Anweisungausgeführtwurde, verläßt der Apple den Escape-Zustandoder behältihn bei. Falls Sie im Escape-Zustandeine Taste betätigen,die keineEscape-Anweisungist, wird dieserTastendruckignoriertundder Escape-Zustandbeendet. Der Apple kennt elf Escape-Anweisungen.Acht davon sind reine Zeigerbewegungen,die nur den Zeiger bewegen,ohne das Bild oder die Eingabezeile zu ändern,und drei davonsind Löschbefehle,die nur Teile oder das ganze Bild löschen. Alle Löschbefehleund die ersten vier reinen Zeigerbewegungen(EscapeAnweisungen@, A, B, C, D, E und F) beendennach der Ausführungden Escape-Zustand.Die restlichen vier Escape-Anweisungenlassenden Escape-Zustandaktiv*. Ein m -Tastendruck,gefolgtvon einerq -Taste, bewegt den Zeigereine Stellenach rechts, ohne die Eingabezeile zu ändern.So kann manunerwünschteZeicheneinerZeile überspringen: gehenSie mit der Linkspfeiltasteüber die Zeichenhinweg, geben Sie m für jedes falsche ZeichenundgebenSieschließlichmitdemRechtspfeildenRest der Zeilewiederein. GebenSie m und dann ein lil , so wird der Zeigerum ein Zeichennach links gesetzt,ohne die eingabezeile zu verändern,Damit kann man etwas zweimal in einer Zeileeingeben,ohne es nochmaltippenzu müssen : Tippensie es einmalund gehenSie mit wiederholtemm an den Anfangder Eingabe.Nun könnenSiealleinmit der Rechtspfeiltaste die Eingabewiederholen. Die lXf@I Tastenfolgesetzt den Zeiger ohne seitlicheBewegungeine Zeiletiefer. Erreichtder Zeigerdas untereEndedes Textfensters,so wird wie üblichder Text im FenstereineZeilenach oben geschoben.Die Eingabezeile wird nicht von m verändert,m und m (siehe unten) sind nützlich,um den Zeigeran den Anfangeiner anderenZeileauf dem Bildschirmzu setzenunddiesemit der Rechtspfeiltastenochmalseinzugeben. * Die vier Escapr-Anweisungen 1,J, K und M sind nicht in Ppples ohne Autosta-ROM verlügbar. DER DIALOG MIT DEM APPLE 37 Diese Tastenfolgebewegt den ZeigerohneseitlicheVerschiebungum eine Zeilenach oben.Der Zeiger bleibt stehen,wenn er das obere Endedes Textfensterserreicht. Die Eingabezeile bleibt unverändert.Mit m ist es möglich,einevorangehendeZeilemit demZeigerzu erreichenund sie mit der Rechtspfeiltaste erneuteinzugeben. Die m Tastenfolgewird ,,Löschenbis Zeilenende”genaunt.ErkenntCOUTdieseTastenfolge, so wird der Restder Bildschirmzeileab der Zeigerpositionbis zum rechtenEndedes Textfensters gelöscht. Der Zeiger bleibt an seiner alten Stelleund die Eingabebleibt unverändert.IItrI9 löscht denRestder Bildschirmzeile,unabhängigvom Normal/lnvers-Modus,zu Leerzeichen. ,,Lösche bis Bildende”.Hier wird alles im Textfenstergelöscht, das rechts oder unterhalbdes Zeigers steht. Die Eingabewird nicht verändertund der Zeigerbleibt an seiner altenStelle.Mit dieser Tastenfolgekönnen Sie sich wieder freie Sichtverschaffen,nachdemder Bildschirmdurch vieleZeigerbewegungen undKorrekturenvölligunübersichtlichgewordenist. Die m Tastenfolgeheißt ,,Bildschirmlöschen” (genauer: ,,homeand clear”). Das gesamte Textfensterwird gelöschtund der Zeigererscheintdannlinks obenin der ,,Home”-Position.Auch hier wird unabhängigvom Normal/lnvers-Zustandzu Leerzeichengelöscht und die Eingabezeile nichtverändert(Bemerkung: ,,@” ist m). Diese vier Escape-Anweisungenentsprechenden vier reinenZeigerbewegungen IX@! , m , m und m , nur beendensie nachder AusführungdenEscape-Zustandnicht. So können Siefortgesetztp , •J , I bzw. I eintippen,ohneimmererstmeingeben zu müssen. Sie beendendiesen Zustanderst mit einer anderenEscape-Taste(A, B, C, D, E, F oder @) oder durch irgendeineanderenTaste,außerder letztenEscape-Anweisung.Diese Tastewird dannals Eingabeignoriert. Die vier TastenK, J, M und I sind in einemRichtungsfeldauf der Tastaturangeordnet,so daß Sieaus der Lageder vier Tastenzueinanderauf dieBewegungdes Zeigersschließenkönnen. Ia 0 Schaubild 4. Esoape-Anweisungen für Zeigerbewegungen. 38 APPLE Ii BENUTZER HANDBUCH Der Reset-Ablauf Wenn Sie an Ihrem Apple den Netzschalteranschalten*oder die m -Taste drücken und. wieder loslassen, startet der 6602-Mikroprozessordes Apple einenm -Ablauf durch einen Sprung in ein Unterprogrammdes Apple Monitor-ROMs. In den zwei unterschiedlichenVersionendieses ROMs, dem Monitor-ROM und dem Autostart-ROM,werden im m -Ablauf sehr unterschiedlicheTätigkeiten ausgeführt. Der Autostart-ROM Reset Apples mit dem Autostart-ROMbeginnenihren m -Ablauf mit dem Einstellender Bildschirmanzeige. Die Programmschalter werdenaufdieAusgabeder erstenSeiteimText-Modusgestellt. Unsichtbar hinter dem Text wird schon Block-Graphikmit gemischterAnzeige(vier ZeilenText unter der Graphik)vorbereitet.Das Textfensterwird auf volleGrößegeöffnet,der Ausgabe-Zeigerauf die untersteZeile gesetztund die Zeichenausgabe auf ,,Normal”-Modus(weit% Zeichenauf schwarzemGrund) gestellt.Dann werden die COUT- und KEYIN-Programmschalter auf den Gebrauchdes Bildschirms und der Tastaturzur Standard-Ein-/Ausgabegestellt, die Signal-Ausgänge0 und 1 des Spieleanschlussesauf ,,An” und die Signal-Ausgänge 2 und 3 auf ,,Aus” geschaltet.Schließlichwird das Tastensignalgelöscht, die aktiven Ein/Ausgabe-Erweiterungs-ROMsabgestellt(siehe Seite88 ) und vom Lautsprecherein kurzer Ton gegeben. Diese Vorgängewerden jedesmalausgeführt,wenn Sie die m -Taste auf Ihrem Apple betätigenund wieder loslassen,An dieser Stellesieht nun der Autostart-ROMan zwei bestimmtenSpeicherstellennach,ob schon vorher ein m gegebenwurde, oder ob der Applegeradeerst angestelltwurde. So kann dann ein ,,Warm”- oder ein ,,Kalt”-Startdurchgeführtwerden. (Diese speziellenSpeicherstellenwerden weiter unten beschrieben.) 1. Kaltstatt. Der m -Vorgang eines frisch aktiviertenApple löscht nun den Bildschirmund schreibt ,,AppleII” in der Mitte oben. Dannwerden die obengenanntenSpeicherstellen so gesetzt,daßder Apple später weiß, daß er schon eingeschaltetwar. Daraufhinsucht der Appleeine Disk ll Steuerkarte(Disk II Controller Card) in den Gerateanschlüssen7 bis 1 (in dieser Reihenfolge).Findeter eine, so wird das Apple Disk OperatingSystem (Disk Steuerprogramm)aus der Diskette im angeschlossenenlaufwerk geladen(EineBeschreibungder InitialisierungfindenSieim DOS-Handbuchauf Seite9 ). Wenn der Autostart-ROMkeine Disk ControllerCard findetoder Sie nocheinmalm betätigen,bevor das Disk OperatingSystem geladenist, wird mit einem,,lauwarmenStart” die in Ihrem appleim ROM vorhandeneSprache neu gestartet. Diese Initialisierunglöscht eventuellvorhandeneVariablenund Programme.Bei Apples mit der Version0-PlatineohneApplesoftIl Firmware Karteoder mit einersolchen Karten und dem Kontrollschalterin der DOWN-Positionstartet der Autostart-ROMdas Apple Integer BASIC. Apple II Plus-Systemeoder AppleIl-Systemeder Version0 mit der Applesoftll Firmware Kartemit dem Kontrollschalterauf ,,UP” beginnenin AppleII Fließkomma-BASIC (Applesoft). 2. Warmstart. Wenn Sie einenAutostart-ROMhaben,der schon einenKaltstartausgeführthat,werden Sie jedesmal,wenn Sie die m -Taste drucken und wieder loslassen, in Ihre Sprachezurückkehrenund Ihr Programmund IhreVariablenunversehrtvorfinden. Der Einschall-RESET-Ablauffindet nur auf Card statt. l Apples der Version 1 oder aul Apples der Version 0 mit mindestens einer Disk II Controller DER DIALOG MIT DEM APPLE 39 Spezielle Speicherstellen des Autostart-ROM’s Die drei speziellenSpeicherstellenfür den m -Ablauf des Autostart Monitor-ROMs liegen in einem RAM-Bereich,derfür solcheSystemfunktionenreserviertist. Tabelle 13: Spezielle Adresse Adressen Dezimal Hexa 1010 83F2 Eingangsadresse. 1011 t3F3 enthalten ist die es Dies WB6F -1169 Adresse gerade zwei für Speicherstellen den benutzt Sprung wird entin die (Normalerweise TE@j). Einschalt-Byte. ll3F4 Siehe 64361 Diese die Sprache, 1012 für den Autostart-ROM Inhalt (Normalerweise ist es $45) unten. die Startadresse Maschinensprache, ist das eines das Unterprogramms Einschaltbyte in initi- alisiert. WennderAppleeingeschaltet wird,setztderAppledasEinschalt-Byte aufeinenbestimmten Wert.Dieser Wertbildetsichdurchein Exclusive-OR (Ausschließendes ODER) ausder konstanten Zahl165mit dem InhaltderSpeicherstelle 1011.EnthältdieZelle1011denWert224(dennormalen Wert),soergibtsichfür dasEinschalt-Byte : Speicherstelle Konstante Einschalt-Byte Dezimal Hexa 1011 224 BinPr W lllhwB Zahl 165 SA5 ljdlmal 69 $45 hlddjblh Ihr Programm kanndie Eingangsadresse ändern, damitbeieinem m in einanderes Programm oderin eineandere Sprache gesprungen wird.WennSiedieEingangsadresse ändern, solltenSiesichvergewissern daßsichderWertdesEinschalt-Bytes auseinemExclusive-OR von165mit demInhaltderSpeicherstelle 1011ergibt.SetzenSie nicht das Einschaltbyte, so wird der Autostad-ROM beimnächsten m annehmen, daßgerade eingeschaltet wurdeundeinenKaltstart durchführen. So können Siez.B.dieEingangsadresse aufdenAppleSystem-Monitor richten,damitSiedurcheinm in den Monitorkommen. Dazumüssen Sie die Startadresse desMonitorsin die Speicherstellen der Eingangsadresse eintragen. DerMonitorbeginntabAdresse $FF69oderdezimal 65385.Speichern Siedie beidenletztenhexadezimalen ZiffernderAdresse ($69)nach$3F2unddie erstenzweiHexadezimalziffer ($FF)nach$3F3.Arbeiten Siedezimal, sospeichern Sie255(dasistderganzzahlige Anteilaus65385/255) nach1011und105(dasistderRestausdieser Division) nach1010. 40 APPLE II BENUTZER HANDBUCH Nun muß das Einschalt-Bytegesetztwerden. Dazu gibt es ein Unterprogrammin Maschinenspracheim Autostad-ROM,das automatischdas Ergebnisaus der obenerwähntenExclusivenODER-Funktioneinsetzt. Sie brauchenalso nur ein JSR (Sprung ins Unterprogramm)zu der Adresse$FE%Fausführen.ArbeitenSie in BASIC,so führen Sie ein CALL-1169aus. Nun ist alles gesetzt,damitSie beim nächstenm in den Monitorkommen. Wollen Sie die m -Taste wieder normal arbeiten lassen, brauchenSie nur die alten Werte der Eingangsadressewiederherzustellen($E003oder dezimal57347) und dieses Unterprogrammab $FB6F zu starten. Der Reset des ,,Alten Monitor”-ROM Ein m -Ablauf im Apple II Monitor-ROMbeginntmit dem Setzendes ,,Normal”-Modus und dem Einstellender ersten SeiteTest mit gemischter Lo-Res Graphik dahinter.Dann wird das Tetienster voll geöffnetund das Tastenfeldals Eingabegerät und der Bildschirmals Ausgabegerätbestimmt.Der Lautsprecher gibt einenTon ab und es erscheintdas Bereitschaftszeichen r) des System-Monitors,der eineEingabe von Ihnenerwartet. DER DIALOG MIT DEM APPLE 41 42 APPLE It ,BENUTZER HANDBLJCH Tief verborgenim Innerendes AppleROM befindetsich ein meisterhaftesProgramm:der System-Monitor. Er ist Uberwacher und trotzdemSklave des Systems. Er kontrolliert alle Programmeund alle Programme brauchen ihn. Sie können die gewaltigen Einrichtungendes Monitors ausnutzen,um den versteckten Geheimnissenin allen 65536 Speicherstellenauf die Spur zu kommen.Vom Monitor aus sind Sie in der Lage, sich ein, zwei oder auch alle Adressen anzusehenund deren Inhaltezu verandern,Sie können Programme in Maschinen- oder in Assemblerspracheschreiben und sie direkt vom Mikroprozessor ausführenlassen.Sie könnenunermeßlicheMengenvon Datenund Programmenauf Kassetteschreibenund alles wieder einlesen,Mit einemeinzigenKommandokönnen Sie Tausendevon Bytes vergleichenoder transportieren und Sie können den Monitor verlassen und irgendeinanderes Programmoder in einer anderenSprachedes Applebeginnen. Einstieg in den Monitor Das Programmdes Apple System-Monitorsbeginntab der Adresse $FF69 (dezimal65385 oder -151). Den Monitor können Sie oder Ihr BASIC-Programmmit CALL -151 aufrufen. Das Bereitschaftszeichen des Monitors, ein Stern(*), erscheintlinks auf dem Bildschirmund zu seiner Rechtenein blinkenderZeiger. Der Monitor akzeptiertStandard-Eingabezeiten wie alleanderenSystemeund Sprachenauf dem Appleund unternimmtnichts, bis Sie m gegebenhaben.Ihre Eingabezeilen dürfenfür den Monitor bis zu 255 Zeichenlang sein. Sie können Ihren Aufenthaltim Monitor beendenund in die Sprachezurückkehren,die Sie zuvor benutzthaben,indem Sie m w geben(oder mit dem Apple DOS: I q &J III m) odereinfachdurchm*. Adressen und Daten Sie sprechenzu dem Monitor,wie Sie in denmeistenProgrammenund Sprachensprechen:Sietippeneine Zeile auf der Tastatur und dann ein m. Nun wird der Monitor das verarbeiten,was Sie ihm eingegebenhaben und diesen Anweisungen gemäß handeln.Sie werden dem Monitor drei Arten von Informationen geben:Adressen,Werteund Kommandos(Befehle). Adressen und Werte nimmt der Monitor nur in hexadezimalerSchreibweise an. Diese Schreibweise verwendet die zehn dezimalenZiffern0 bis 9 (für die Werte0 bis 9) und die BuchstabenA bis F (um die Zahlen10 bis 15 darzustellen).Eine Hexadezimalziffer kann deshalbWerte von 0 bis 15 annehmen.Zwei Hexadezimalziffern stellenZahlenzwischen 0 und 255 dar und eine Gruppevon vier Ziffernüberstreichtden Bereichvon 0 bis 65535. Also wird jede Adresse im Appledurch vier Hexadezimalziffern dargestelltund jeder Wert (Inhalt einer Speichersteile)durch zwei Hexadezimalziffern. So sprechen Sie mit dem Monitor über Adressen und Werte. Wenn der Monitor eine Adresse haben will, akzeptierter jede Gruppe von Hexadezimalziffern. Sind weniger als vier Ziffernin dieser Gruppe,so wird er führendeNullenergänzen,gibt es mehr als vier Ziffern, so werden nur die letztenvier Ziffern ausgewertet,Entsprechendbehandeltder Monitordie Eingabevon zweiziffrigenDatenwerten, Der Monitor kennt 22 verschiedeneKommandozeichen. Einigesind Satneichen,anderesind Großbuchstaben oder Steuerzeichen, In den folgendenAbschnittenwird der volle Nameeines Kommandosin Großbuchstabenerscheinen.Der Monitor brauchtnur denersten Buchstabendes Kommandonamens. EinigeKommandos werden durch Steuerzeichenaufgerufen.Obwohl der Monitor diese Zeichenerkennt und interpretiert, wird einSteuerzeichen einerEingabezeile nichtauf demBilldschirmerscheinen, * Dies funktioniert 44 APPLE nicht auf Apples ohne Autostart-ROM. II BENUTZER HANDBUCH Priifen derlnhalte einzelner Speicherstellen In denfolgendenBeispielenwerden zur VerdeutlichungIhre Eingabenbuchstabenweiseunterstrichen,um sie von den Antworten des Apple zu unterscheiden.Die Werte in diesen Beispielenkönnenvon den Werten abweichen,dieSieauf IhremApplebeidenselbenAnweisungenerhalten. Wenn Sie nur die Adresse einer Speicherstelleeingeben,wird der Monitor so antworten: Die Adresse, die Sieeingegebenhaben,einGedankenstrich,einLeerzeichen und der Wertin dieserSpeicherzelle. * EOOO E000- 20 *300 0300 * 99 Untersuchung z.ueiterer Speicherstellen Geben Sie dem Monitor in einer Eingabezeileeinen Punkt (.) und dann eine Adresse, so wird ein ,,Speicherauszug”ausgegeben: Es sind die Werte allerSpeicherstellenvon der zuletztgeöffnetenSpeicherstelle bis zu der nach demPunkt angegebenen Adresse.Die zuletztangezeigteSpeicherstellewird wieder als diezuletztgeöffneteundals dienächsteveränderbareSpeicherstellebetrachtet *20 0020 *.2B 00 0021- 28 00 18 0F OC 00 00 0028 A8 06 DO 07 *300 0300 *.315 99 030 89 00 08 0A 0A 0A 99 0308 00 08 C8 DO F4 A6 28 A9 0310 09 85 27 AD CC 03 * .32A 0316 0318 0320 0328* 85 84 CO 43 41 40 8A 4A 4A 4A 4A 09 85 3F A9 5D 85 3E 20 03 20 DER SYSTEM-MONITOR 45 Hier sind noch einige Bemerkungenzum Format eines Speicherauszugs.Erstens: Die erste Zeile eines Speicherauszugsbeginnt mit der Adresse, die der zuletztgeöffnetenSpeicherstellefolgt. Zweitens: Die anderen Zeilen beginnenmit Adressen, die mit einer Acht ($...8) enden oder mit einer Null ($...0). Schließlichwerden nicht mehr als acht Werte in einer Zeile ausgegeben.Wenn der Monitor einen Speicherauszugausgibt, startet er mit der Anzeigeder Adresse und des Wertes der Speicherzelle, die der zuletztgeöffnetenfolgt. Dannwird die nächsteSpeicherstellebearbeitet. Falls die Adresse dieser Speicherstellemit einer 8 oder einer0 endet,,,schneidet” er die Zeile ,,ab” und bringt diese Adresse auf eineneueZeile,um dort mit der Ausgabeder Wertefortzufahren.Nachder Anzeige des Speicherinhaltsder Zelle,derenAdresse Sie verlangthaben,wird der Speicherauszugbeendet.Wieder ergibt sich die zuletzt ausgegebeneAdresse als die zuletzt geöffneteund als die nächste veränderbare Adresse. Ist die angegebeneAdresse in einer Eingabezeile kleinerals die zuletztgeöffneteAdresse, so gibt der Monitornur die Speicheradresse mit ihremInhaltaus, die derzuletztgeöffnetenfolgt. Sie können die zwei Kommandos(Öffnen und Speicherauszug)auf einmal eingeben:tippen Sie die Anfangsadresse,danneinenPunMund die Endadresse.Diesezwei Adressen,die durch einenPunkt getrennt sind, nenntman,,Speicherbereich”. *300,32F 0300 03080310 03180320 0326 *30.40 99 00 09 84 CQ 43 B9 08 85 40 85 03 00 Cf3 27 8A 3F 20 08 DB AD 4A A9 46 OA F4 CC 4A 5D 03 OA A6 03 4A 85 A5 OA 28 85 4A 3E 3D 99 A9 41 09 20 4D 0030 AA 00 FF AA 05 C2 05 C2 0038- 1B FD DO 03 3C 00 40 00 0040 30 E015.E025 E015- 4C ED FD E018- A9 20 C5 24 BO OC A9 8D E020- A0 07 20 ED FD A9 * Und noch mehr Speicherstellen Ein einfacherDruck der -Taste veranlaßtden Monitor,mit einer Speicherauszugszeile zu antworten. Die Speicherausgabe erstreckt sich von der Adresse, die der zuletztgeöffnetenSpeicherstellefolgt, bis zur nächstenAdresse, die mit einer 7 ($...7) oder mit einemF ($...F) endet.Wiederwird die zuletztangezeigte Adresseals zuletztgeöffnetundals nächsteVeränderbarebetrachtet. 46 APPLE Il BENUTZER HANDBUCH *5 0005- 00 *!iEF *liIimm 000b *32 00 00 00 00 00 00 00 00 0032- FF *liIma AA 00 c2 05 c2 *lila!lm 0038- * 10 FD DO 03 3C 00 3F 00 des Inhalts einer Speichernelle Ändern Siehabenbereitsallesüberdie,,nächste veränderbare Speicherstelle” erfahren. DamitSieauchsehen, was wirklichpassiert, tippenSieeinenDoppelpunkt unddanneinenWert. *0 000(b 00 *:5F Gut! SehenSieschnellnach,dennderWertdieserSpeicherstelle hatsichtatsächlich sofortverändert undIhren Eingabewert angenommen : *0 000b * 5F Siekönnen dasÖffnen undÄndern auchzueinerAnweisung zusammenfassen :, *302:42 *302 0302* 42 WennSiedenInhalteinerSpeicherstelle ändern, verschwindet deralteWert,dendieseSpeicherzelle hielt, undkannniewieder ermittelt werden. DerneueWertstehtdannin derSpeicherzelle bisauchervoneinem anderen Wertüberschrieben wird. DER SYSTEM-MONITOR 47 Ändern der Inhalte uon aufeindetiolgenden Speicherstellen Sie brauchen nicht für jede Speicherstelleimmer eine Adresse, einen Doppelpunkt,einen Wert und ein m eingeben,wenn Sie mehrereAdressenhintereinanderändernwollen. Der Monitor machtes Ihnen möglich,die Werte von maximalachtundfünfzigSpeicherstellenauf einmalzu ändern.DazugebenSie die Anfangsadresse,einen Doppelpunktund dann alle Werte ein, die durch Leerzeichenvoneinandergetrennt sein müssen. Der Monitorträgt nun ab der Anfangsadressehintereinanderdie Werte in aufeinanderfolgende Speicherzellen ein Ist er damitfertig, so bestimmter die Adresse nachder zuletztgeändertenSpeicherstelle als die ,,nächste veränderbareAdresse”. Wollen Sie nun noch mehr Speicherstellenhinter der zuletzt verändertenSpeicherzelleändern, so brauchen Sie die Anfangsadressenicht anzugeben,Die nächste Eintragungneuer Werte wird automatischnach der letztengeändertenSpeicherstellefortgesetzt.Sie geben dannnur einenDoppelpunktundweitereWerteein. *300:69 01 20 ED FD 4C 0 3 *300 0300- 69 *lini!m 01 20 ED FD 4C 00 03 *10:0 1 2 3 *:4 56 7 *10.17 0010- 00 01 02 03 04 05 06 07 * Verlegen eines Sveicherbereichs Sie könnendie Inhalteeines Speicherbereichs (festgelegtdurch zwei mit einemPunktvoneinandergetrennte Speicheradressen)als ein Ganzesauffassen und sie dann mit dem MOVE-Kommando des Monitors von einer Stellezu einer anderenbringen.Dazu muß dem Monitorangegebenwerden, wo der Speicherbereich liegtundwo er hinsoll. Diese Informationbesteht aus folgendenTeilen: der Zieladresse,einer linken spitzen Klammer(<), der Anfangs- und der Endadressedes Bereichsund einem,,M”, damit der Monitor einenTransport (Move) durchführt,Die Anfangs- und die EndadressegebenSie in gewohnterWeisean (durch einenPunkt getrennt). DasKommandosiehtdannso aus : {Ziel} < {Anfang} {Ende} M 48 APPLE II BENUTZER HANDBUCH Wenn Sie diese Zeiletippen,sollten Sie die Worte in geschweiftendurch hexadezimale Adressenersetzen. Hiersind einpaarBeispiele: 0000- 5F 00 05 07 00 00 00 00 000b 00 00 00 00 00 00 00 00 *300:A9 8D 20 ED FD A9 45 20 DA FD 4C 00 03 *300.30C 0300 A9 8D 20 ED FD A9 45 20 0308 DA FD 4C 00 03 *0<300,30CM 0000- A9 8D 20 ED FD A9 45 20 000s DA FD 4C 00 03 *310<8.AM *310.312 0310 DA FD 4C * 2<7.9M *0.c 000k 000& A9 8D 20 DA FD A9 45 20 DA FD 4C 00 03 Der Monitor erstellt einfach eine Kopie des angegebenenBereichs und bringt sie an den angegebenen Bestimmungsort.Der ,,Original”-Bereichbleibt unverändert.Die Endadressedes Orginalbereichswird jetzt die zuletztgeöffneteAdresse und die nächsteveränderbareAdresseergibt sich aus der Anfangsadressedes Orginalbereichs.Ist die zweite Adresse des Bereichskleinerals die erste, so wird nur ein Wert (nämlichder Wert der erstenSpeicherstelle des Bereichs)transportiert. Liegtdie Zieladressedes MOVE-Kommandos innerhalbdes Orginalbereichs,so geschehenmerkwürdigeund (manchmal)wunderbareDinge: Die Adressenzwischen dem Anfangdes Bereichs und der Zieladressewerden als Teilbereichebehandelt, deren Werte mehrfach in den Originalbereichkopiert werden, bis sie diesen ausfüllen(siehe Seite59 : ,,BesondereKniffe”). Vergleichen von zwei Speicherbereichen Sie könnenmit dem Monitor zwei Speicherbereiche miteinandervergleichen.DazuverwendenSie dasselbe Format, wie Sie es schon vom MOVE-Kommandoherkennen.So läßt sich mit dem VERIFY-Kommando direkt nacheinemMOVE-Kommando feststellen,ob derTransportgeglücktist. DER SYSTEM-MONITOR 49 DasVERIFY-Kommando brauchtwie das MOVE-Kommando eineZielangabeundeinenBereich: {Ziel} < {Anfang} {Ende} V Der Monitorvergleichtden angegebenen Bereichmit demBereichab der Zielangabe.Bestehenirgendwelche Unterschiede,so gibt der Monitordie Adressenmitdenjeweiligenunterschiedlichen Wertenaus *0: D7 F2 E9 F4 F4 E5 EE A0 E2 F9 AO C3 C4 C5 *300<0. DM *300<0. DV *6:E4 *300<0. DV f00& E4 (EE) BeachtenSie,daß das VERIFY-Kommando die Adresse derjenigenSpeicherstelleim Orginalbereichangibt, derenWert nicht mit dem Wert des entsprechendenBereichsübereinstimmt.Gibt es keineUnterschiede,so gibt VERIFYnichts aus. BeideBereichebleibenunverändert.Die letztegeöffneteund die nächsteveränderbare Adresse ergibt sich jeweils wie im MOVE-Kommando. Entsprechendwerden auch nur die Anfangsadressen verglichen,wenn die Endadressekleiner ist als die Anfangsadresse.Auch VERIFY arbeitet ungewöhnlich,wenndas Ziel im Orginalbereich liegt(sieheSeite68: BesondereKniffe). Schreiben eines Speicherbereichs auf Band Der Monitor hat zwei spezielleKommandos,die Ihnenerlauben,Speicherbereiche auf Kassettezu schreiben und für den späteren Gebrauchwieder einzulesen.Das erste dieser beiden Kommandos,das WRITEKommando,schreibtIhnendie Inhaltevon eineroderbis zu 65536Speicherstellen aufStandard-Kassetten. Um nun solch einenSpeicherbereichauf Kassettezu schreiben,gebenSie dem Monitordie Anfangs- und dieEndadressedes Bereichsein,gefolgtvon einem,,W’ (für WRITE= Schreiben). {Anfang} {Ende} W Um fehlerfreiaufnehmenzu können,sollten Sie den Kassettenrekorderauf ,,Aufnahme”stellen, bevor Sie m auf der Eingabezeile geben.LassenSie das Bandein paarSekundenlaufenund gebenSie dann w. Der Monitor wird eine10 SekundenlangeKopfinformationauf Bandschreibenund dannerst die Daten.Ist der Monitorfertig,so meldeter sich mit einemkurzenTon und wartet auf weitere Anweisungen.Es empfiehltsich dann,das Bandzurückzuspulenund es mit verständlichenAngabenüberden abgespeicherten InhaltundseineAufgabezuversehen, *0:FF FF AD 30 CO 88 DO 04 C6 01 F0 08 CA DO F6 A6 00 4C 02 00 60 *0.14 50 APPLE II BENUTZER HANDBUCH 0000- FF FF AD 30 CO 88 DO 04 000s C6 01 F0 08 CA DO F6 A6 0010 00 4C 02 00 60 *0.14W * Es dauertetwa 35 Sekunden,um nachder 10 Sekunden-Kopfinformation die Wertevon 4096 Speicherstellen auf Band zu schreiben.Es werden etwa 1350 Bit pro Sekundeübertragen.Wenn alleWerte aufgezeichnet sind, schreibt der Monitor noch einenzusätzlichenWert auf das Band. Es ist die ,,Prüfsumme”, die aus allen Wertendes übertragenenSpeicherbereichsgebildetwird. Das READ-Kommando (siehe unten) benutzt dann diesenWert, um Ubertragungsfehlerfestzustellen.(Wen es interessiert:Die Priifsummeist anfangs$FF und wird durch Exclusive-ORvon jedemWert des übertragenenBereichsverändert.) Einlesen eines Speicherbereichs vom Band Haben Sie mit dem WRITE-Kommandodes Monitors einen Speicherbereichauf Band geschrieben,so können Sie ihn mit dem READ-Kommando des Monitors wieder einlesen.Es muß nicht derselbeSpeicherbereichsein, der die Datenvom Bandbekommt.Sie könnenden Monitor auch anweisen, diese Datenin einenanderenSpeicherbereich dergleichenGrößezu geben. Das Format des READ-Kommandosist dasselbe wie bei WRITE, nur steht ein ,,R” an der Stelle des Kommandobuchstabens : {Anfang} {Ende} R GebenSie auch hier nicht sofort das m, sondernstellenSie den Kassettenrekorderauf ,,Wiedergabe” und warten Sie, bis das Vorspulbanddurchgelaufenist. Obwohl das WRITE-Kommando eine10 Sekunden lange Kopfinformationgeschriebenhat, brauchtdas READ-Kommando nur drei Sekunden,um sich auf die Frequenzeinzustellen.So sollten Sie ein paarSekundenvergehenlassen, bis Siem eingeben,damit der Kassettenausgang einengleichmäßigen Tonabgebenkann. *0:0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 *0.14 000s 00 00 00 00 00 00 00 00 0008- 00 00 00 00 00 00 00 00 0010 00 00 00 00 00 *0.14R *0.14 0000- FF FF AD 30 CO 88 DO 04 0008- C6 01 F0 08 CA DO F6 A6 0010- 00 4C 02 00 60 * DER SYSTEM-MONITOR 51 Nachdemder Monitor alle Werte gelesen und gespeicherthat, liest er den Wert der Prüfsummeund vergleichtihn mit der eigenenPrüfsumme.Weichendie beidenWerte voneinanderab, danngibt der Monitor einenTon von sich und schreibt ,, ERR” auf den Bildschirm. So sind Sie gewarnt, daß beim Einlesen Problemeauftratenund die Werte nicht mit denenübereinstimmen,die Sie aufs Bandgeschriebenhaben. Stimmtaberdie Prüfsumme,so erwartetder MonitorweitereAnweisungenvon Ihnen. Erstellen und starten oon Maschinenprogrammen Die Maschinenspracheist sicher die wirksamste Spracheauf dem Apple,obgleichauch die unbequemstein der Handhabung.Der Monitor hat spezielleEinrichtungen,um den Programmierern,die sich mit Maschinensprachebefassen,beim Erstellen,Eintragenund Korrigierenund nicht zuletztbei der Fehlersuchezu helfen. Sie können ein Maschinenprogrammschreiben und die hexadezimalenWerte der Befehlsteileund der zugehörigenAdressteile mit den oben beschriebenenMonitorkommandosin die Speicherzellen eintragen. Mit Hilfe des Monitors können Sie einen hexadezimalen SpeicherauszugIhres Programms erhalten,es überallim Speicherherumtransportierenoder es auf Bandschreibenund es wieder einlesen.Das wichtigste Kommandoim Zusammenhangmit Maschinenspracheist aberdas GO-Kommando. WennSieeine Speicherstelle öffnen und den Buchstaben,,GI’ tippen,wird der Monitor den Mikroprozessorveranlassen,an der geöffnetenAdresse mit der Ausführung des Maschinenprogrammszu beginnen.Der Monitor behandelt dieses Programmwie ein Unterprogramm:am Endeder Ausführungensollte ein RTS-Befehl(Rücksprung aus demUnterprogramm)stehen,um die Kontrollewieder an denMonitorzu geben. Ihre Programmein Maschinensprachekönnenviele Unterprogrammedes Monitors aufrufen,Hier wird ein Programm,das dieBuchstaben,,Al’ bis ,,Z” ausgibt,eingegeben und gestartet: *300:A9 Cl 20 ED FD 18 69 1 C9 DB DO F6 60 *300.30C 0300- A9 Cl 20 ED FD 18 69 01 f;;O; C9 DB DO F6 60 ABCDEFGHIJKLMNOPQRSTUVWXYZ * (Den Befehlssatzdes 6502-MikroprozessorsfindenSieim AnhangA diesesHandbuchs.) Ein hexadezimaler Speicherauszugeignetsich nicht geradebesonders gut, um Programmein Maschinensprache zu lesen und vielleichtdabeiauch noch Fehlerzu suchen. Also muß es etwas anderesgeben,um sich Maschinenprogramme anzusehen. Im Monitor des Applegibt es nun ein Kommando,das Maschinenprogramme in Assemblerspracheausgibt. Das bedeutet,daß eineunformatierteMengevon Hexadezimalziffern in einzelneBefehlevon 1, 2 oder 3 Byte zerlegt wird. Das LIST-Kommandodes Monitors gibt nun ab der angegebenenSpeicherstelleeinen Bildschirm(20 Zeilen)voller Befehleaus : 52 APPLE II BENUTZER HANDBUCH *300L 030003020305 03060308030A030C 030D030E030F03100311031203130314031503160317031B0319* LDA JSR CLC ADC CMP BNE RTS BRK BRK BRK BRK BRK BRK BRK BRK BRK BRK BRK BRK BRK #$Cl SFDED #$01 #$DB $0302 Erkennen Siedie erstenZeilen?Esist dasMaschinenprogramm, dasebennochdie Buchstaben ,,Al’ bis ,,Z” ausgegeben hatte,nur sinddiesmalin der Assemblerform die einzelnen BefehlezumVorschein gekommen. Dierestlichen Befehle (BRK-Befehle) erscheinen, weilimmer 20 Zeilenausgegeben werden, Ihre angegebene Adresse hat sichder Monitorgemerkt, abernichtin dergewohnten Weise.Siewurdein den ,,Befehlszahler” gegeben, der nurdazuda ist, aufSpeicherzellen desProgramms zu zeigen,Nacheinem LIST-Kommando weister auf die Adresse, die derzuletztauf demBildschirm angezeigten Adresse folgt. WennSiejetzteinweiteres LISTgeben, wirdeswiedereinenBildschirm vollerBefehle ausgeben, diesichan dieBefehle desersten Bildschirms anschließen. Der Mini-Assembler Esgibt einweiteres Programm im Monitor*,dasIhnenermöglicht, Programme imselben Assemblerformat einzugeben, wie es dasLIST-Kommando ausgibt.DiesProgramm ist derApple-Mini-Assembler. Es ist ,,Mini”, weil es nicht symbolische Adressen verarbeiten kann,wasvoll entwickelte Assembler können müssen. Sostarten SiedenMini-Assembler: *F666G NunsindSieim Mini-Assembler, DasAusrufezeichen ist seinBereitschaftszeichen, Während Sieim fvliniAssembler sind,können SiejedesMonitor-Kommando geben, wennSieein,,$” voranstellen, Ansonsten hat derMini-Assembler seine eigene Syntaxundseine eigenen Kommandos. * Der Mini-Assembler befindet sich eigentlich nicht im ROM des Monitors, ist aber im INTEGER BASIC-ROM enthalten. nicht in Apple II Plus-Systemen bzw beim Gebrauch der Firmware Applesoft II verfügbar. Daher ist er auch DER SYSTEM-MONITOR 53 Der Mini-Assemblerkennt den Befehlszahlerdes Monitors. Bevor Sie ein Programmeingeben,müssen Sie den Befehlszählerauf die Adresse setzen,wo Ihr Programmabgelegtwerden soll. GebenSie dazu diese Adresse und einenDoppelpunktein. Dannfolgt der erste BefehlIhres Programmsmit den 3 Buchstabendes Befehlssymbolsund einem Leerzeichen.Nun gebenSie den Operandendieses Befehlsein und dann das m. Der Mini-Assemblerformt diese Zeilezu Hexadezimalzahlen um und speichertsie ab, beginnend mit der Adresse,auf die der Befehlzahler zeigt.Diese(höchstens3) Hexadezimalzahlen werden nun wie beim LIST-Kommandodes Monitors wieder ins Assemblerformatgebracht und auf den Bildschirm gegeben. (Damit sehen Sie noch einmalausführlich Ihre eingetippteZeile). Dann meldetsich der Mini-Assembler wieder mit einemAusrufezeichen,Sollendie Befehleaufeinanderfolgen, so braucht bei der Eingabenicht immererst die Adresse und der Doppelpunktgegebenzu werden. TippenSie also einfachein Leerzeichen, den Befehl(Befehlssymbol,Leerzeichen,Operand)und ein m. Diese Zeilewird übersetztund schon könnenSiedienächsteeingeben. Falls die eingegebeneZeile einen Fehler in sich birgt, meldet sich der Mini-Assembler mit einem Klingelzeichen und bringt ein Zirkumflex( ) unterdas falscheZeichen(oder zumindestin die Nähe).Meist sind es Tippfehler:falsche Befehlssymbole,fehlendeKlammern,usw. Der Mini-Assembler lehnt auch Eingabezeilen ab, wenn Siedas Leerzeichenvor oder hinterdemBefehlssymbolvergessen,oder ein fremdes Zeichenin hexadezimaleWerte oder Adressen bringen.Ist die Zieladresseeines relativenSprungs zu weit vom Sprungsbefehlentfernt (mehr als 127 Adressen Entfernungvon der Adresse des Sprungbefehls),so zeigtder Mini-Assemblerdiesauchals Fehleran !300:LDX =02 0300- A2 02 LDX #$02 LDA $00,X STA $lQ,X ! LDA$0,X 0302- B5 00 ! STA$10,X 0304! DEX 95 10 0306 CA ! STA $C030 DEX 0307- STA $C030 10 F6 BPL $0302 00 BRK 8D 30 CO ! BPL$302 030A- ! BRK 030G ! Sie verlassen den Mini-Assembler und kommen in den Monitor,wennSie m Monitorkommando (eingeleitet durchdas$-Zeichen) : gebenoderdas !$FF69G * Ihr Programm in Assemblersprache istnungespeichert. Siekönnen essichwiedermitdemLIST-Kommando ansehen : 54 APPLE Il BENUTZER HANDBUCH * 300L 0300 0302030403060307030A030G 030D030E030F0310 031l031203130314031!% 031603170318031!3- A2 02 85 00 95 00 8oA 30 CO 10 F6 00 io BI 00 ” iQ ” ” LDX LDA STA DEX STA BPL BRK BRK BRK BRK BRK BRK BRK BRK BRK BRK BRK BRK BRK BRK #$02 Ex , SC030 $0302 l Fehlersuche Für das Verständnisvon Maschinenprogrammen ist es sehr vorteilhaft,wenn manihrenAblaufin ,,Zeitlupe” betrachtenkann. Dazu gibt e” im Monitor ein STEP-Kommando*, das schrittweise Maschinenprogramme auswertet,ausführt und anzeigt.Außerdemgibt es ein TRACE-Kommando*, das dieseschrittweise Handlung automatischdurchführt und erst anhält,wenn ein BRKBefehlerreicht wird. Mit diesen beidenMonitorKommandoskönnen Sie in IhrenMaschinen-oder Assemblerprogrammen auch den letztenFehlerausfindig machen. Jedes STEP-Kommando (Step = Schritt) läßt den Monitorden Befehlausführen,auf den der Befehlszähler geradezeigt. Der Befehlwird wie im LIST-Kommandoals Assemblerzeilegedruckt und dann ausgeführt. Danachwerden die Inhalteder internenRegisterdes 6502-Mikroprozessorsausgegeben,Schließlichzeigt der Befehlszähler dannauf dennächstenBefehldes Maschinenprogramms, Hier sehen Sie, was passiert, wenn Sie mit STEPdas eingegebeneMini-Assemblerprogrammschrittweise ausführenlassen: A2 02 LDX #$02 0300A=0A X=02 Y=D8 P=30 S=F8 *S * Die STEP- und TRACE-Kommandossind nicht auf Apples mit dem Autostart-ROM verfügbar DER SYSTEM-MONITOR 55 0302A=0C *S 85 00 X=02 Y=D8 P=30 LDA $00,X S=F8 0304A=0C *12 95 10 X=02 Y=D8 P=30 STA $10,X S=F8 0012*S 0c 030BA=0C X=: *S Y=D8 P=3iE:=F8 03078D 30 CO STA A=0C X=01 Y=D8 P=30 S=F8 *S SC030 030A10 F6 A=0C X=01 Y=D8 *S P=30 BPL $0302 S=F8 030285 00 A=BB X=02 Y=D8 *S P=30 LDA $00,X S=F8 P=30 STA $10,X S=F8 0304A=0B 95 10 X=01 Y=D8 Beachten Sie,daßnachderAusführung desdrittenBefehls derInhaltderSpeicherstelle $12geprüftwurde. Esergabsichdererwartete Wertunddieschrittweise Arbeitsweise konntefortgesetzt werden. DerMonitor hältdiezuletztgeöffnete Adresse unddenBefehlszahler voneinander getrennt. So können Siewährend der schrittweisen Ausführung IhresProgramms dieSpeicherstellen kontrollieren oderändern. DasTRACE-Kommando (trace= Spur)ist nichtsanderes alseinständig wiederholtes STEP-Kommando. Es stoppterstdieAusführung einesProgramms, wennSieeinm gebenoderein BRK-Befehl in Ihrem Programm erreichtwird.TrifftTRACE amEndeIhresProgramms aufeinenRETURN-Befehl, sowirdTRACE seine Tätigkeit irgendwo anders fortsetzen undkanndannnurdurcheinm gestoppt werden. *T 030BA=0B 0307A=0B 030AA=0B 0302A=0A 0304A=0A 56 APPLE DEX X=tii Y=D8 P=32 S=F8 8D 30 C0 STA $C030 X=f;FS'DB P=32 SkF8 BPL $0302 X=;; 10=D8 P=3fD;=F8 $00,X X=00 Y=D8 P'sT;=F8 95 10 $10,X X=00 Y=D8 P=30 S=F8 II BENUTZER HANDBUCH 0306A=0A X=$ Y=D8 P=BiE:=F8 03078D 30 CO STA SC030 A=0A X=FF Y=D8 P=B0 S=F8 030A10 F6 BPL $0302 A=0A X=FF Y=D8 P=B0 S=F8 030G 030G A=! X=FF Y=D8B;iB0 S=F8 * Prüfen und ändem von Registerinhalten Die STEP-und TRACE-Kommandoszeigennach jedem Programmschrittdie Inhalteder internenRegister des Mikroprozessors an. Sie könnendiese Registerselbst zur Anzeigebringenoder sie vorbesetzen,wenn Sieein Maschinenprogramm mit STEP,TRACEoderGOausführenlassen. Der Monitor reserviertfünf Speicherstellen für die fünf 6502-Register: A, X, Y, P (Prozessorzustand)und S (Stackpointer= Kellerzeiger).Das EXAMINE-Kommando des Monitors wird durch ein m ausgelöst und zeigt die Inhaltedieser Adressenan. Die Speicherstellefür das 6502-A-Registerist dann die nächste veränderbareAdresse. Wollen Sie die Werte dieser Speicherstellenändern, so brauchenSie nur einen Doppelpunktund dann die Werte, durch Leerzeichengetrennt,eingeben.Beim nächstenGO, STEPoder TRACEwird der Monitor erst diese Werte in die echtenRegisterdes 6502 laden,bevorer den ersten Befehl Ihres Programmsausführenwird. A=0A X=FF Y=D8 P=B0 S=F8 *:B0 02 l A=B0 X=02 Y=D8 P=B0 S=F8 306s 0306 A=B0 X=?l Y=D8 P=3iEi=F8 *S 03078D 30 CO STA $C030 A=B0 X=01 Y=D8 P=30 S=F8 *S BPL 030A10 F6 $0302 A=B0 X=01 Y=D8 P=30 S=F8 l DER SYSTEM-MONITOR 57 Verschiedene Monitor-Kommandos Sie können den Zustandder NORMAL-/INVERS-Darstellung für die Ausgabedurch COUT(siehe Seite39) vom Monitor aus bestimmen.Das INVERSE-Kommando des Monitors stellt auf inverse Ausgabe um, allerdings bleiben Eingabezeilenin der Normalanzeige.Der NORMAL-Zustandwird dann durch das NORMAL-Kommando des Monitorswieder hergestellt. *0.F 0000- OA OB OC OD OE 0F DO 04 000% C6 01 F0 08 CA DO F6 A6 *1 *0.F 0000- OA OB OC OD OE 0F D0 04 000% C6 01 F0 08 CA DO F6 A6 *N *0.F 000& 000& * 0A OB 0C OD 0E 0F DO 04 C6 01 F0 08 CA DQ F6 A6 Das BASIC-Kommando, durch ein m eingeleitet,gestattetIhnen,den Monitor zu verlassenund in die Sprachezu kommen,die in ROMs auf IhremApplezur Verfügungsteht. Gewöhnlichist es AppleInteger BASIC oder Applesoft il BASIC.Auf diesem Weg gehen Ihnen aber alle vorhandenenProgrammeund Variablenverloren.Sind Sie von BASICin den Monitorgegangenund wollen Sie wieder zurück ins BASIC; ohne Programmeund Variablenzu verlieren,so können Sie dass -Kommando (ContinueBASIC) gebrauchen,Ist das Apple Disk OperatingSystem (DOS) aktiv, so kommen Sie durch das <<3D0G+ Kommandowieder in die Sprachezurück, in der Sie geradearbeiten,und werden Ihr Programmund die Variablenunverändertvorfinden. Das PRINTER-Kommando wird durch ein m gegebenund lenkt alleAusgaben,die normalerweisefür den Bildschirm bestimmt sind, zu einem APPLEINTELLIGENTINTERFACEin einemvorgegebenenEinsteckschlitz.Die Nummerdes Einsteckschlitzessollte 1 bis 7 sein und es sollte dort aucheineInterfacekarte stecken, sonst verlierenSie die Kontrolleüber ihren Appleund damit alle Ihre Programmeund Variablen. DasKommandohatdas Format: {Nummerdes Einsteck-Anschlusses}m Das PRINTER-Kommando «m>> bringtdiefolgendenAusgabendes Applewiederauf denBildschirm. Das KEYBOARD-Kommando ersetzt entsprechenddie Tastaturdes Apple durch ein anderes Eingabegerät über einen bestimmtenEinsteckschlitz.(Weitere Informationenüber die Funktion dieser und der entsprechendenBASIC-KommandosPR# und IN# findenSie auf Seite101 : -CSW und KSW Sprungadressen>>.) DasKEYBOARD-Kommando hatdas Format: {Nummer des Einsteck-Anschlusses}m Ein KEYBOARD-Kommando mit der Anschlußnummer0 bestimmtdie eingebauteTastaturdes Apple als Eingabegerät. 58 APPLE II BENUTZER HANDBUCH Der Monitor kann auch einfachehexadezimale Additionenund Subtraktionenausführen.Sie brauchennur eineZeilemitdiesemFormateinzugeben: {Wert} + {Wert} {Wert} - {Wert} Der Applewird das Ergebnisausrechnenundanzeigen: * 20+13 =33 * 4A-c =3E * FF+4 =03 :R * Besondere Kn@e mit dem Monitor Sie könnenso viele Monitor-Kommandosin einer Eingabezusammenfassen,wie Siewollen, solangeSiesie durch Leerzeichentrennen und die Anzahlaller Zeichen253 in der Eingabezeile nicht überschreitet.Sie könnenaußerdem STORE-Kommando (:) alle Kommandoin beliebigerReihenfolgeangeben.Da der Monitor alle Werte nach dem Doppelpunktin aufeinanderfolgende Speicherstellenablegt,muß dem letztenWert des STORE-Kommandos ein Buchstabenkommando folgen.Das NORMAL-Kommando ist dafür ein gutes Trennzeichen,daes meist keineVeränderungbewirkt undüberallverwendetwerdenkann. *300.307 300:18 69 1 N 300.302 300s S 030s 03000300 A=04 0301* A=05 00 00 00 00 00 00 00 00 18 69 01 X=fl Y=D8 P=3iL:=F8 69 01 ADC #$01 X=Ql Y=D8 P=30 S=F8 Kommandosmit einem Buchstaben,wie L, S, l und N brauchen nicht mit Leerzeichenvon anderen Kommandosgetrenntwerden. Erreichtder Monitor in der Eingabezeile ein Zeichen,das er nicht als Hexadezimalzahl noch als gültiges Kommandozeichen erkennenkann, führt er alle Kommandosbis zu diesemZeichenaus. Dann meldeter mit einemTonsignaldenFehlerund ignoriertdenRestder Eingabezeile. Das MOVE-Kommandokanndazu benutztwerden, einebeliebigeFolgevon Wertenin einenSpeicherbereich zu übertragen,Dazuwird dieseFolgevon Wertenan denAnfangdes Bereichsgeschrieben: *300:11 22 33 * Nun kommt es auf die Anzahlder zu wiederholendenWerte an (in diesemFall sind es drei). Das MOVEKommandobekommtdanneineandereEinteilung: {Anfangsadresse+ Anzahl} c {Anfangsadresse} {Endadresse Anzahl}M DER SYSTEM-MONITOR 59 Dieses MOVE-Kommando kopiert die Folgevon Wertenhinterdie Originalfolge,übertragtdiese Kopiein die anschließenden Speicherzellen undwiederholtdiesenVorgang,bis der gesamteBereichgefülltist. *303300.32DM *300.32F 11 22 33 11 0310- 22 33 0318- 11 22 0320- 33 11 33 22 11 33 22 33 11 03000308- 0328- 22 * 11 33 22 11 33 22 22 11 33 22 11 33 33 22 11 33 22 11 11 33 22 11 33 22 22 11 33 22 11 33 Einentsprechender TrickkannbeidemVERIFY-Kommando angewandt werden, umzuprüfen,ob sicheine FolgevonWertendurcheinenganzenSpeicherbereich hindurch wiederholt. insbesondere läßtsichdamit feststellen, obeinSpeicherbereich überall denselben Wertenthält : *300:0 *301 300.31FM *301300.31 FV l 304:02 *301300.31FV 0303-00 kJ30402 (02) (00) Siekönnen eineKommandozeile schreiben, diesichselbstodereinenTeilderZeileunaufhörlich wiederholt. DazufangtderTeil,dersichwiederholt, miteinemBuchstabenkommando (z.B.,,NI’) anundendetmit34: n, wobein diehexadezimale Position desZeichens ist,andemdieSchleife anfangt(fürdasersteZeichen ist n = 0). NachdemWertfürn mußeinLeerzeichen folgen,damitdieseSchleife funktioniert. l N 300 302 34:0 11 030(b 03020300030203000302030003020300- 33 11 33 11 33 11 :i:: i? :3i2- 33 33 11 l SolcheineSchleife läßtsichnurdurcheinm 60 APPLE II BENUTZER HANDBUCH stoppen. Erzeugen eigener Kommandos Das USER-Kommando wird durch ein m in einer Eingabegegebenund läßtden Monitorzur Adresse $3F8 springen. Sie können in diese AdresseeinenJMP-Befehleinsetzen,der zu IhremeigenenProgramm springt. Ihr Programmkann die Register,die Spezialadressendes Monitors oder die Eingabezeile prüfen, Beispielsweisekann das -Kommando zu einem,, Kommentar”-Kommando programmiertwerden : In einerEingabezeile wird allesdemm folgendeangezeigtund ignoriert. *F666G !300: LDY $34 0300A4 34 ! LDA 200,Y LDY $34 0302B9 00 02 ! JSR FDED LDA $0200,Y 0305! INY JSR $FDED 20 ED FD 0308 C8 ! CMP $8D INY 0309 c9 80 ! BNE 302 CMP #$8D 030BD0 F5 ! JMP $FF69 BNE $0302 030D4C 69 FF !3F8:JMP $300 JMP $FF69 03F8- JMP $0300 4C 00 03 !$FF69G *m DIESISTEINTEST DIES IST EIN TEST DER SYSTEM-MONITOR 61 Übersicht über die Monitor-Kommandos Speicherzellen ansehen {Adresse} GibtdenInhalteinerSpeicherstelle aus. {Anfang} {Ende} GibtalleInhaltezwischen {Anfang} und {Ende} aus. llm!lia Zeigt die Werte von maximal acht Speicherstellen nachder zuletztgeöffnetenAdressean. Speicherinhalte verändern {Adresse} : {Wert} {Wert}... Speichertab {Adresse} die Werte in aufeinanderfolgendeSpeicherzellen. : {Wert} {Wert}... Speichertab der nächstenveränderbarenAdresse die Wertein aufeinanderfolgende Speicherzellen. Transportieren und Vergleichen {Ziel} < {Anfang} {Ende} M Kopiertdie Werte des Bereichs{Anfang} {Ende} in den Bereichab {Ziel}. {Ziel} < {Anfang} {Ende} V Vergleichtdie Wertedes Bereichs{Anfang} . {Ende} mit demBereichab {Ziel}. Schreiben und Lesen auf Band {Anfang} {Ende} W {Anfang} {Ende} R Starten und Ausdrucken Schreibt die Werte des Bereichs nach einer losKopfinformation aufSand. Liest Werte vom Sand in den Speicherbereich{Anfang} {Ende}. Druckt ,, ERR” im Fehlerfall. von Programmen {Adresse} G Laßt den Mikroprozessorab {Adresse} das Maschinenprogrammausführen. {Adresse} L Laßt ab {Adresse} 20 Befehledes Maschinenpro.gramms in Assemblersprache(Disassembler) ausgeben Jedesweitere ,,L” läßt 20 weitere Befehleausgeben 62 APPLE II BENUTZER HANDBUCH Der Mini-Assembler F666G StartetdenMini-Assembler*. $ {Kommando} FührteinMonitor-Kommando aus $FF69G Beendet denMini-Assembler undführt in denMonitor. {Adresse} S Zeigtden Maschinenbefehl von Adressein Assemblersprache an,führtdiesen Befehlausundzeigtdie internenRegister des6502an. Jedesnachfolgende ,,S” zeigt den nächsten Befehlan und führt ihn aus**. {Adresse} T Dauerndes S-Kommando. Wird nur durchErreichen einesBRK-Befehls odereinm gestoppt**. ZeigtdieInhalte der6502Register an. Verschiedenes SetztINVERSE-Modus. N SetztNORMAL-Modus. m StartetdieSprache, dieimROMdesAppleverfügbar ist. mma SetztdieSprache fort, dieim ROMdesAppleverfügbarist. {Wert}+ {Wert} AddiertzweiWerteunddrucktdasErgebnis. {Wert}- {Wert} Subtrahiert denzweiten Wertvomersten undzeigtdas Ergebnis an. {Nummer} m Bestimmt dieAusgabe zudemGerät, dessen IntedaceKarteim Gerateschlitz {Nummer}steckt.Ist {Nummer}=0, dannkommtdie Ausgabe auf den Bildschirm. {Nummer} m Nimmtdie Eingabe vondemGerätan,dessen Interface-Karteim Gerateschlitz {Nummer}steckt.Ist {Nummer}=0,dannwirddieEingabe vonderTastaturerwartet. mm Springtzu demMaschinen-Unterprogramm ab Adresse $3F8. Nicht verfügbar im Appk tt PIUS. ** Nicht verfiigbar im Autostatt-flOM. l DER SYSTEM-MONITOR 63 Einige nützliche Monitor-Unterprogramme Diese Liste enthälteinige nützlicheUnterprogrammeim Monitor-ROMund Autostart-ROMdes Apple.Vor dem Aufruf der UnterprogrammeladenSie die nötigen Speicheradressenoder 6502~Registerinhalte. Der Aufruf erfolgt durch einen JSR-Befehl(Sprung ins Unterprogramm)zu der angegebenenStartadressedes Unterprogramms.Es wird die beschriebeneFunktion ausführenund die Registerso hinterlassen,wie es jeweils angegebenist. Der Prozessorstatus(C, Z, N, V) wird im allgemeinen geändert. $FDED COUT Ausgabe eines Zeichens (Character OUTput) COUTist das Standard-Unterprogramm für Zeichenausgabe. DasZeichen,das ausgegebenwerden soll, steht im Akkumulator. COUT ruft das aktuelle Zeichenausgabe-Unterprogramm auf, dessen Adresse in CSW (Adressen$36und$37) steht.Normalerweiseist es COUT1. $FDFQ COUTl Ausgabe auf den Bildschirm COUT1 bringt das Zeichenim Akkumulatorauf den Bildschirmdes Apple.Es wird auf die laufendePosition des Ausgabezeigersgesetzt und bewegt dann diesen Zeigerweiter. Das Zeichenwird mit dem Inhaltder NORMAL-/INVERSE-Speicherstelle modifiziert.Die SteuerzeichenRETURN,Zeilenvorschubund Klingelzeichenwerdenvon COUT1 ebenfallsbehandelt.Das UnterprogrammläßtalleRegisterintakt. $FE80 SETINV Setzt den INVERSE-Modus (SI2 INVerse) Der INVERSE-Modusfür COUT1 wird gesetzt.Dadurcherscheinenalle Zeichenals schwarze Punkte auf weißem Hintergrund,die dann von COUT1 ausgegebenwerden. Das Y-Registerwird auf $3F gesetzt,alle anderenRegisterbleibenunverändert. $FE84 SETNORM Setzt den NORMAL-Modus (SETNORMal) Setzt den NORMAL-Modusfür COUT1. So werden alle Zeichenals weiße Punkte auf schwarzemHintergrundausgegeben.DasY-RegistererhältdenWert$FF,alleanderenRegisterbleibenunverändert. $FD8E CROUT Gibt ein RETURN aus (Carriage Return OUTput) CROUTsendetein RETURNzu demaktuellenAusgabegerät. $FD8B CROUTl RETURN mit Löschfunktion CROUT1 löscht die Zeile auf dem Bildschirm von der Position des Ausgabezeigersbis zur rechten Begrenzung des Textf&sters. Dannwird CROUTaufgerufen. $FDDA PRBYTE Druckt ein Byte als Hexadezimalzahl Dieses Unterprogrammgibt den Inhaltdes Akkumulatorsals Hexadezimalzahi auf das aktuelleAusgabegerät. Der Inhaltdes Akkumulatorswird verändert $FDE3 PRHEX Druckt eine Hexadezimalziffer(PRint HEXadecimaldigit) Dieses Unterprogrammgibt die unterenvier Bits (Bit 3 bis Bit 0) des Akkumulatorsals eineHexadezimalziffer aus. Der Inhaltdes Akkumulatorswird verändert. 64 APPLE It BENUTZER HANDBUCH SF941 PRNTAX Druckt A und X als eine Hexadezimalzahl (PRiNT A and X in hexadecimal) Dieses Unterprogrammgibt die Inhaltedes Akkumulatorsund des X-Registersals vierziffrigeHexadezimalzahl aus. Der Akkumulatorenthältdie linkenzwei Ziffern,das X-Registerbestimmtdie rechtenzwei Ziffern. Der Inhaltdes Akkumulatorswird verändert. $F948 PRBLNK Druckt drei Leerzeichen(PRint 3 BlaNK spaces) Gibt drei Leerzeichenüber das Standard-Ausgabegerät aus. Der Akkumulatorbekommtden Wert $A0 und das X-RegisterdenWert0. SF94A PRBLP Druckt viele Leerzeichen Dieses Unterprogrammgibt 1 bis 256 Leerzeichen zur Standardausgabe. BeimAufruf bestimmtder Inhaltdes X-Registers die Anzahlder Leerzeichen.Ist X =0, so werden 256 Leerzeichenausgegeben.BeimAusgang hatder AkkumulatordenInhalt$A0 unddas X-Registerden Inhalt0. $FFSA BELL Ausgabe eines Klingel-Zeichens (BELL) Dieses Unterprogrammsendetein Klingel-Zeichen (CTRLG) zu demaktuellenAusgabegerät.Der Akkumulator bekommtdenWert$87. $FBDD BELL1 Abgabe eines Tonsignals aus dem Lautsprecher des Apple Dieses Unterprogrammerzeugtfür die Dauer einer ZehntelsekundeeinenTon von 1 KHz. Die Inhaltedes Akkumulatorsunddes X-Registerswerden verändert. $FD0C RDKEY Eingabeeines einzelnenZeichens Dies ist das Unterprogrammfür Standard-Zeicheneingabe. Ein blinkenderEingabezeiger erscheintauf dem Bildschirman der Positiondes Ausgabezeigersund das Unterprogrammspringt zu dem aktuellenEingabeUnterprogramm,dessen Adresse in KSW (Adressen $38 und $39) gewöhnlich KEYIN(siehe unten), zu findenist. $FD35 RDCHAR Eingabeeines einzelnenZeichens oder einer ESC-Anweisung RDCHARist ein weiteres Eingabe-Unterprogramm, das Zeichenvon der Standardeingabe erhält,aber auch dieelf Escape-Anweisungen interpretiert(sieheSeite43). $FDl B KEYIN Lesen eines Zeichens von der Tastatur Dies ist das Unterprogrammfür die Eingabeüber die Tastatur.Die Apple-Tastaturwird abgefragt,es wird auf einenTastendruckgewartetund eine Zufallszahlgebildet(siehe Seite40). Erfolgtein Tastendruck,so wird der blinkendeZeigerentferntundder Tastencodein denAkkumulatorgegeben. $FDGA GETLN Anforderung einer Eingabezeilemit Bereitschaftszeichen Das UnterprogrammGETLN sammelt aus einzelnenZeichen eine Eingabezeile(siehe Seite41). Ihre Programmekönnen das Bereitschaftszeichen für GETLNin der Speichenelle$33 bestimmen,Das Unterprogramm GETLNkerht mit der Eingabezeileim Eingabepuffer(ab Adresse $200) und mit der Lange der Eingabezeile im X-Registerzurück. DER SYSTEM-MONITOR 65 QFD67 GETLNZ Anforderung einer Eingabezeile Das UnterprogrammGETLNZschickt erst einen Zeilenvorschubzum Standardausgabegerät, bevor GETLN ausgeführtwird (sieheoben). SFDGF Anforderung einer Eingabezeileohne Bereitschaftszeichen GETLNl GETLNl beginnt in GETLN erst an der Stelle, an der die Eingabezeilegebildetwird, so daß kein Bereitschaftszeichen erscheint. Löschen Sie jedoch mehr Zeichenals in der Eingabezeile vorhandenwaren oder betätigenSie m, so gibt GETLNl den Inhaltder Speicherzelle $33 als Bereitschaftszeichen einer neuenEingabezeile aus. SFCA8 WAIT Warten Dieses Unterprogrammwartet einebestimmteZeit und kehrt dannwieder zu dem Programmzurück, das es aufgerufenhat. Der Akkumulatorbestimmtdiese Zeit. Wenn A der Inhaltdes Akkumulatorsist, ergibt sich eineVerzögerungvon (26 + 27A + 5A*) /2 Mikrosekunden(13 Mikrosekundenbis ca. 1/6 Sekunde).WAIT läßtX und Y unverändert,nur das A-Registerwird 0. $F864 SETCOL Setzt die Farbefür die Ausgabe von LoRes Graphik (SET COLor) Der Akkumulatorbestimmt die Farbe,die bei der Lo-Res Graphik-Ausgabeauf den Bildschirmverwendet werden soll. Die FarbenfindenSie in Tabelle8 auf Seite21. Der Akkumulatorwird verändert,sonst ändern sich die Registernicht. $F85F NEXTCOL Die Farbnummer wird um 3 erhöht (NEXT COLor) DieaktuelleFarbefür dieAusgabevon Lo-ResGraphikwird um3 erhöht.Nur das A-Registerwird verändert SF888 PLOT Druckt einen Block auf den Lo-Res Bildschirm Dieses Unterprogrammdruckt einen einzelnenBlock in der vorher eingestelltenFarbeauf den Bildschirm. Die vertikale Position wird im Akkumulatorübergebenund die horizontalePosition wird dem Y-Register entnommen,PLOTverändertnur denAkkumulator. $F819 HLINE Zeichnet einewaagrechte Linievon Blöcken Es wird eine Zeile von Blöcken in der vorher festgelegtenFarbe auf den Lo-Res-Bildschirmgezeichnet. FolgendeAngabenmüssen beimAufruf vorhandensein : Die senkrechteKoordinatesteht im Akkumulator, die waagrechteKoordinatedes linkenEndesim Y-Register,die des rechtenEndesin $2C. HLINEverändertA und Y, läßtaberX intakt. $F828 VLINE Zeichnet eine senkrechte Linie von Blöcken Dieses UnterprogrammzeichneteinesenkrechteLinievon Blöckender vorherfestgelegtenFarbeauf den LoRes-Bildschirm.FolgendeWertemüssen beimAufrufvorliegen: Die oberstevertikalePositionim Akkumulator, die unterstevertikale Koordinatein $2D und die horizontaleKoordinateder Linieim Y-Register.VLINE verändertdenAkkumulator. $F832 CLRSCR Löscht den gesamten Lo-Res Bildschirm CLRSCRlöscht den gesamtenBildschirmder Blockgraphik,Wird CLRSCRim TEXT-Modusaufgerufen,so wird der Bildschirmmit inversen,,@“-Zeichen gefüllt.CLRSCRverändertdie Inhaltevon A und X. 66 APPLE II BENUTZER HANDBUCH SF836 CLRTOP Löscht den oberen Teil der Lo-Res Graphik CLRTOParbeitetwie CLRSCR(siehe oben), aber es werden nur die oberen 40 Reihendes Bildschirms gelöscht. $F871 SCRN Liest ein Zeichen auf dem Lo-Res Bildschirm Dieses Unterprogrammkehrt mit der Farbeeines bestimmtenBlocks auf dem Bildschirmin das Programm zurück, das SCRN aufgerufenhat. Den Aufruf gestaltenSie wie bei PLOT(siehe oben). Die Nummerder Farbedes Blockssteht nachdemAufrufim Akkumulator.AndereRegisterwerden nichtverändert. Liest die Stellungeiner Spielsteuerung PREADbraucht zum Aufruf die Nummerder Spielsteuerungim X-Register.Diese Zahl muß 0, 1, 2 oder 3 sein, sonst werden Sie sich wundern. Die Stellungder Spielsteuerungwird als Zahl zwischen $00 und $FF im Y-Registerübergeben.DerAkkumulatorwird verändert. SFF2D PRERR Drucke , , ERR” PRERR sendet die Zeichen ,,E”, ,,R”, ,,R” und das Klingelzeichenzum Standardausgabegerät. Der Akkumulatorwird verändert. $FMA IOSAVE Rettet alle Register Die Inhaltealler internenRegister des 6502-Mikroprozessorswerden in der ReihenfolgeA-X-Y-P-S in die Speicherstellen$45bis $49 geschrieben.Die Inhaltevon A und X werden verändertund der Dezimalmodus des Mikroprozessorswird gelöscht. SFF3F IOREST Alle Register werden wiederhergestellt Die Inhalteder internenRegister des 6502-Mikroprozessorswerden von den Speicherstellen$45 bis $49 geladen. DER SYSTEM-MONITOR 67 Spezialadressen Taballo Adresse des Monitors 14: Monitor-Adressen Dezimal Hexa 1008 03F$ 1009 S3Fl Monitor-RuM Autostart-ROM EnthBlt keine das die Eingangsadresse S3F4 keine Einschalt-Byte S3F5 Enthält S3F6 S3F7 gramm, S3F2 1011 S3F3 1012 1013 1015 einen das (Normal: 1016 83F8 Enthält 1017 S3F9 "USER" 1018 SJFA JMP einen (mm) 1019 t3FB Enthält 1020 S3FC nichtmaskierbare einen 1021 S3FD 1022 S3FE Enthält 1023 S3FF Interrupt-Nachfragen die in 11 die zu %"-Kommandos benutzte Sprache. dem Unterprobehandelt*. SFF) JMP-Befehl -K ommandos zu JMP-Befehl zu des dem Unterprogramm, das behandelt. Interrupts Adresse Unterprogramms, behandelt (Sprung)-Befehl Applesoft S4C $58 des SFA59). keine 1010 Adresse "BRK"-Nachfragen (normal: 1014 ad Soita 3 Verwendung dem Unterprogramm, das behandelt. Unterprogramms, (IRQ) das behandelt. Format der Mini-Assembler Befehle DerAppleMini-Assembler erkennt56 Befehlssymbole und13 AdreBarten, die in der6502AssemblerProgrammierung verwendet werden. DieBefehlssymbole entsprechen demStandard, derim ,,MOSTechnologyfynertek6500Programming Manual”(AppleTeilA2L0003) angegeben ist,aberdieAdreßformate sind dortanders. HiersinddieStandard-Formate der6502-Adreßarten : *SieheSeite123desApplesoRBA% 68 APPLEII Handbuchs. BENUTZERHANDBUCH 1 Tabollo 15: Yini-AawmMor AdroMonnato Adreßart: Format* Akkumulator keine Unmittelbar #b Adresse absolut S{Ad I-esse Wert Seite # 0 {aIresse] Seite $ indiziert O{Adresse],X S {Adresse],Y Absolut indiziert ${Adresse],X S{Adresse],Y i Impliz;~~t keine / Relativ ${Adresse/ Indiziert Indirekt Absolut indirekt indiziert indirekt Adresse ($(Adresse],X) (${-idresse{),Y (Lfidressej) EineAdresse besteht ausmindestens einerHexadezimalziffer. DerMini-Assembler wertetdieAdressen wie derMonitoraus: hateineAdresse weniger alsvier Ziffern,sobekommt sieführende Nullen;hatsiemehr alsvierZiffern,sowerden nurdievierrechten Ziffernausgewertet. Alle Dollar-Zeichen ($), diediehexadezimale Schreibweise anzeigen, werden vomMini-Assembler ignoriert undkönnen weggelassen werden. Esgibt keinesyntaktischen Unterschiede zwischen absoluter Adressierung undAdressierung in Seite0. Geben SieeinenBefehl, deraufdiesebeiden Weisen adressiert werden kann,sowirder in einenBefehlmit absoluter Adressierung übersetzt, fallsderOperand dieses Befehls gröBer als$FFist.IstderOperand kleiner als$0100,sowirdeseinBefehl fürSeiteO-Adressierung. Befehle mitderAkkumulatoroderimplizierten Adressierung brauchen keinen Operanden. Für Verzweigungs-Befehle (Branch),die ,,relativ” adressieren, sind die Zieladressen als AdreBangabe erforderlich. DerMini-Assembler rechnetautomatisch die relativeSprungweite aus,die eigentlich für den Befehlnötigist. IstdieZieladresse mehrals127Speicherstellen vondemBefehlentfernt,sogeneriert der Mini-Assembler einenTon,setzteinenZirkumflex ( ) unterdieZieladresse undignoriert dieEingabezeile. GebenSiedemMini-Assembler einBefehlssymbol undeinenOperanden, dessen Adressierungsart nichtzu demBefehl paßt, wirdderMini-Assembler diese Eingabe nichtannehmen. DER SYSTEM-MONITOR 69 70 APPLE II BENUTZER HANDBUCH