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