----------------------------------------------------
Anhang
III
Der
ATARI™ Programmrekorder
----------------------------------------------------
Es
folgt eine Besprechung das ATARI Programm-Recoders. Die nachstehenden Punkte werden
hierbei berücksichtigt:
1.
WIE DER PROGRAMMRECORDER
ARBEITET - Information zur Herd- und Software,
die zum Betreiben des Recorders erforderlich sind.
2.
ANWENDUNGS-M÷GLICHKEITEN
- Wie Audio- und Digitelinformation zur Erzeugung eines benutzerfreundlichen Programms
gemischt werden können.
WIE
DER PROGRAMMRECORDER ARBEITET
1.1
Die Struktur von Datensätzen
Byte-Definition:
Das
OS schreibt Dateien in Blöcke
festgelegter Länge
mit einer Rate von
600 Baud (Bits/Sekunde). Zum
übertragen von Daten zwischen dem ATARIîTMî
Computer und
dem ATARI Programmrecorder wird eine
asynchrone serielle
übertragung
verwendet. Der POKEY-Chip
erkennt Datenbytes in
der folgenden Reihenfolge:
1 Start-Bit (Leerzeichen),
9
Daten-Bits
(0=Leerzeichen, 1=Markierung)
und ein Stop-Bit (Markierung).
Ein Byte wird mit dem niederwertigsten Bit an der ersten Stelle gesendet/empfangen.
Die
Frequenz für eine Markierung liegt bei 5327 Hz; die Frequenz eines Leerzeichens
liegt bei 3995 Hz. Das Daten-Byte-Format sieht wie folgt aus:
A =
Start-Bit (Leerzeichen)
0..7 = Daten-Byte
B = Stop-Bit (Markierung)
Record-Definition:
Records
sind 132 Bytes lang und werden folgendermaßen aufgeteilt: 2 Markierungszeichen
zur Geschwindigkeits-Messung, ein Kontrollbyte, 128 Daten-Bytes und ein Checksum
(=Prüfsumme)-Byte. Das Record-Format wird nachfolgend dargestellt:
1.
und 2. Markierung:
Jede
Markierung besitzt den Hex-Wert 55. Inklusive der Start- und Stop-Bits ist jede Markierung
10 Bit lang. Idealerweise sollte sich zwischen den Markierungen und den nachfolgenden
Daten kein Leerband befinden.
Geschwindigkeits-Messung:
Der
Sinn der Markierungszeichen
besteht in dar Justierung der Baud-Rate.
Die
Eingabe-Baud-Rate beträgt im Normalfall 600 Baud. Diese Rate wird durch die
SIO-Routine justiert, da sich das Band dehnen, der Motor Gleichlauf-Störungen
haben kann usw. Sobald die reale Empfangs-Baud-Rate festgestellt wurde, wird die
Hardware entsprechend eingestellt. Eine Raten-ƒnderung auf 318 bis auf 1407 Baud
kann theoretisch durch diese Technik bearbeitet werden.
Das
OS überprüft die Band-Geschwindigkeit auf folgende Weise: Die Software
fragt ständig das serielle Eingab-Bit des POKEY-Chips ab und sucht ein Start
(0)-Bit, welches den Beginn eines Record anzeigt. Wird ein solches gefunden, so speichert
das OS den augenblicklichen Wert des ìFrameî (=Anordnungs) -Zählers,
indem der Wert von ANTICs VCOUNT-Register (Vertical Screen Counter = senkrechter
Bildschirm-Zählers) sichert. Das OS fährt weiter mit Abfragen des Eingabe-Bit
fort, bis es 20 Bit (Ende der 2. Markierung) gezählt hat. Danach wird VCOUNT
benutzt, um die verstrichene Zeit zu bestimmen. Die Baud-Rate wird aus dem Ergebnis
errechnet. Dies geschieht für jeden Record.
Kontroll-Byte:
Das
Kontroll-Byte enthält einen der drei folgenden Werte:
$FC
zeigt an, daß der Record vollständig aus Daten besteht (128 Bytes).
$FA
zeigt an, daß der Record zum Teil aus Daten besteht; es wurden weniger als
128 Bytes vom Benutzer angegeben. Dieser Fall taucht nur gegen Ende der Datei auf.
Die wirkliche Zahl der Bytes (1-127) wird im letzten Byte vor der Checksum gespeichert
(dem 128. Byte).
$FE
zeigt an, daß der Record ein End-of-File-Record ist, der von 128 Null-Bytes
gefolgt wird.
Checksum:
Die
Checksum wird von der SIO-Routine erzeugt und überprüft, befindet sich
aber nicht im I/O-Puffer des Cassetten-Handlers CASBUF (.03FD.).
Die
Checksum ist die Summe aller Bytes das Records, inklusive der beiden Markierungen,
die in einem Byte gespeichert und mit einem Komplement-übertrag berechnet wird.
Bei Addition der einzelnen Bytes wird auch das Carry-Bit (übertrags-Bit) addiert.
1.2
Timing
1.2.1
Inter-Record-Gap (IRG)
Wie
schon in Abschnitt 1.1
angesprochen, besteht jeder Record aus 132 Daten-Bytes inklusive Checksum-Byte. Um
ein Record von einem
anderen zu
unterscheiden, fügt der Cassetten-Handler ein sog.
ìPre-Record-Write-Toneî (PRWT; Schreibton vor Record) und
einen ìPost-Record-Gapî
(PRG; Lücke nach Record) an. PRWT und PRG
sind reine Markierungs-Töne.
Der ìInter-Record-Gap" (IRG;
Zwischen-Record-Lücke) zwischen jeweils zwei Records besteht
aus dem PRG des ersten
Record, gefolgt vom PRWT des zweiten
Record. Die Anordnung der Records und Lücken sieht wie folgt aus:
PRWT
MARKIERUNG DATEN
PRG PRWT
MARKIERUNG DATEN
PRG
<----- RECORD 1
-----> <-----
RECORD 2 ----->
1.2.2
Normaler und kurzer IRG-Modus
Die
Länge von PRWT und PRO sind abhängig vom WRITE-OPEN-Modus. Es gibt zwei
Arten von IRG-Modi: normaler und kurzer IRG-Modus.
Bei
÷ffnen einer Datei legt das höchstwertigste Bit von AUX2 den Modus fest.
Bei nachfolgender Ein- und Ausgabe führt der Cassetten-Handler das Schreiben/Lesen
in einem der beiden Modi durch, abhängig vom MSB des AUX2-Bytes.
Normaler
IRG-Modus:
Dieser
Modus wird für ein Lesen benutzt, das durch Bearbeitung unterbrochen wird; das
Band stoppt immer, wenn ein Record gelesen wurde. Stoppt der Computer das Band und
führt die Berechnungen schnell genug durch, so kann das Einlesen des nächsten
Records so folgen, daß man nur ein kurzes Abbremsen der Kassette erkennt.
Kurzer
IRG-Modus:
In
diesem Modus wird das Band
nicht zwischen den einzelnen Records gestoppt, unabhängig von Schreiben oder
Lesen.
Beim
Lesen muß das Programm ein READ für jeden Record erhalten, bevor dieser
am Lesekopf vorbeikommt. Die einzige übliche Benutzung liegt bisher in der Speicherung
von BASIC-Programmen in interner (tokenisierter) Form, wobei der Computer beim Lesen
die Daten lediglich im RAM platzieren muß. Die BASIC-Kommandos zum Wählen
diesem Modus sind ìCSAVEî und ìCLOADî.
Hierbei
gibt es potentielle Probleme. Die auf das Band schreibende Software muß lange
Lücken zulassen, so daß der Anfang der Records beim Lesen gefunden werden
kann.
1.2.3
Timing-Struktur
Die
Timings für die einzelnen
Inter-Record-Gaps lauten wie folgt:
NORMALER
IRG PRWT = 3 Sekunden Markierungston
KURZER
IRG PRWT = 0,25
Sekunden Markierungston
NORMALER
IRG PRG = Bis zu 1 Sekunde
unbestimmter Ton
KURZER
IRG PRG =
Bis zu N Sekunden unbestimmter Ton,
wobei N vom Timing des Benutzer-
Programms
abhängig ist.
Jeder
Record wird mit dem folgenden Timing geschrieben: beim Starten des Motors und nach
Schreiben des PRWT hängt die Dauer der Töne von dem oben gezeigten Format
ab. Danach werden Record und PRG geschrieben. Der Motor wird im normalen Modus gestoppt,
läuft aber im kurzen IRG-Modus weiter, da Markierungen geschrieben werden.
Anmerkung:
Im normalen IRG-Modus enthält das Band aufgrund des Motorstops/-starts Teile
mit unbestimmten Daten. (Es ist ein Zeitraum von 1 Sekunde möglich abhängig
vom Recorder.) Diese unbestimmten Daten können der Rest der vorangegangenen
Bandnutzung sein.
1.2.4
Hörbare I/O-Möglichkeit
Die
hörbare I/O-Möglichkeit ist zum Bestimmen des Leseerfolges bei Kassetten
nützlich, besonders bei CLOAD. Markierungen und Leerzeichen erzeugen unterschiedliche
Frequenzen, so daß dar Benutzer schnell zwischen erfolgreichen und erfolglosen
Einlese-Operationen unterscheiden lernt.
1.3
Datei-Struktur
Eine
Datei besteht aus den folgenden drei Elementen:
1)
Ein 20 Sekunden-Vorspann des Markierungs-Tons.
2)
Beliebige Anzahl von Daten-Sätzen.
3)
End-of-File.
Wenn
eine Datei für eine Ausgabe geöffnet wird, beginnt das OS mit dem Schreiben
eines Vorspanns von 20 Sekunden Markierung. Danach springt das OS zurück zum
Aufrufer, schreibt aber weiter Markierungen auf das laufende Band.
Der
Timeout-Zähler für Schreib/Lese-Operationen wird bei Rücksprung dem
OS auf 35 Sekunden gesetzt. Taucht ein Timeout auf, bevor der erste Satz geschrieben
wird, so hält das Band an, wobei eine Lücke zwischen dem OPEN-Vorspann
und dem Vorspann des ersten Records bleibt.
1.4
Band-Struktur
Es
gibt auf jedem Band 2 Seiten. Jede Seite besitzt zwei Spuren, eine für Audio-,
die andere für Digitalinformation. Auf diese Weise kann das Band in beide Richtungen
beschrieben werden. Die folgende Darstellung zeigt einen Blick auf das Band:
------------------------------------------------------------
.........................................
/////////////////Audio-Spur//////////////
Linke Spur
.........................................
Seite
A
.........................................
////////////////Digitale Spur////////////
Rechte Spur
.........................................
------------------------------------------------------------
.........................................
////////////////Digitale Spur////////////
Rechte Spur
.........................................
Seite
B
.........................................
/////////////////Audio-Spur//////////////
Linke Spur
.........................................
------------------------------------------------------------
Die
Bänder werden im 1/4-Spur-Stereo-Format bei einer Geschwindigkeit von 1 7/8
Inch pro Sekunde (IPS) beschrieben. Dar ATARI Computer benutzt ein Tape-Deck, das
einen Stereo-Kopf (nicht Mono- oder Einzel-Kopf) besitzt.
1.5
Cassetten-Boot
Ein
Boot-Programm auf Kassette kann beim Einschalten des Systems als Teil der System-Initialisierung
gebootet werden.
Bei
der System-Initialisierung werden Funktionen wie das Rücksetzen der Hardware-Register,
Löschen den RAMs, setzen von Flags usw. ausgeführt.
Nachdem
die residenten Handler aktiviert sind, wird, falls die START-Taste gedrückt
ist, das Flag CKEY(.004A.) gesetzt. Wenn dieses Flag gesetzt ist, wird ein Cassetten-Boot
versucht.
Die
folgenden
Schritte
sind
zum
Booten
von
Cassetten erforderlich
1)
Der Benutzer muß
die START-Taste drücken, wenn dem Gerät eingeschaltet wird.
2)
Ein Cassetten-Band mit
einer Datei im Boot-Format muß in den Recorder eingelegt und die ìPLAYî-Taste
gedrückt werden.
3)
Die Cassetten-Datei muß
im kurzen IRG-Format erstellt worden sein.
4)
Nach Ertönen des Hup-Tons,
was die Bereitschaft des Computers anzeigt, muß der Benutzer irgendeine Taste
drücken.
Sind
alle Bedingungen dieser Liste erfüllt, so liest das OS die Boot-Datei von der
Kassette und überträgt nach Abschluss dieser Operation die Kontrolle an
die gelesene Software. Die nachfolgende Liste beschreibt den Boot-Vorgang im Detail.
1)
Der erste Cassetten-Record
wird in den Cassetten-Puffer eingelesen.
2)
Die Information der ersten
6 Bytes dieses Records wird analysiert. Diese Bytes einer Cassetten-Boot-Datei besitzen
folgendes Format:
1.
BYTE:
wird nicht für den Cassetten-Boot-Prozess benötigt.
2.
BYTE: enthält
die Anzahl der Cassetten-Records (128 Bytes), die als Teil des Boot-Vorgangs gelesen
werden sollen (inklusive des Record, der diese Information enthält). Diese Zahl
bewegt sich zwischen 0 bis 255, wobei 0 = 256 bedeutet.
3.
+ 4. BYTE: enthalten
die Adresse (nieder-, dann höherwertig), an die das erste Byte der Datei geschrieben
worden soll. Wird nach Abschluss des
Boots die SYSTEM-RESET-Taste gedrückt, so wird ebenfalls hierher gesprungen.
Nach
Abschluss von Schritt 2 hat das Cassetten-Boot Programm...
a)
Die Anzahl der zu bootenden Records gesichert;
b)
die Ladeadresse gesichert;
c)
die Initialisierungsadresse in CASINI (.02,03.) gespeichert.
3)
Der gerade gelesene Record
wird an die festgelegte Lade-Adresse gebracht.
4)
Die restlichen Records
werden direkt in den Lade-Bereich gelesen.
5)
Es wird ein JSR zur Lade-Adresse
+6 ausgeführt, wo ein Multiboot-Prozess fortgeführt werden kann. Das Carry-Bit
zeigt beim Rücksprung den Erfolg oder Misserfolg der Operation an (Carry gesetzt
= Fehler, Carry zurückgesetzt - Erfolg).
6)
Es wird indirekt über
CASINI gesprungen, um das Programm zu initialisieren. Das Programm muß bei
der Initialisierung die Start-Adresse nach DOSVEC (.0A,0B.) bringen.
7)
Es wird indirekt über
DOSVEC gesprungen, um die Kontrolle an das Programm zu übertragen.
Durch
Drücken
der
SYSTEM-RESET-Taste nach
Abschluss der Boot-Operation
werden die Schritte 6 und 7 wiederholt.
CASSETTEN-ANWENDUNG
Dieser
Abschnitt
schildert
die
Einsatzmöglichkeiten
des
ATARIîTMî-Cassetten-Systems.
2.1
Anschluss des Cassetten-Systems
Die
meisten seriellen Geräte besitzen zwei identische I/O-Anschlüsse: einen
seriellen Eingabe-Anschluss und einen Erweiterer des seriellen Busses. Durch diese
Anschlüsse können mehrerer Peripherie-Geräte hintereinander geschaltet
werden. Dies wird im folgenden Diagramm dargestellt:
Der
Programm-Recorder 410 entspricht allerdings nicht dieser Anordnungsfolge. Er muss
das letzte Glied der Kette sein, da er keinen Ausgang für den seriellen Bus
wie andere Peripherie-Geräte besitzt. Hierdurch wird sichergestellt, daß
immer nur ein Recorder an das System angeschlossen werden kann. Das System kann nicht
erkennen, ob ein Programm-Recorder angeschlossen ist, daher kann er beliebig angeschlossen
oder entfernt werden.
Immer,
wenn eine Cassetten-Datei zum Lesen oder Schreiben bereitgemacht werden soll, muß
der Benutzer folgende Schritte durchführen:
EINGABE
(DATEN VOM RECORDER ZUM COMPUTER):
Wird die Kassette für eine Eingabe geöffnet, so wird ein einzelner Hup-Ton
vom Computer erzeugt. Ist die Kassette bereit (Strom eingeschaltet, Kabel des seriellen
Busses angeschlossen und das Band an den Anfang der Datei gebracht), muß der
Benutzer die PLAY-Taste des Programmrecorders und anschließend eine beliebige
Taste (ausgenommen <BREAK> auf dem Computer drücken, um den Lesevorgang
zu starten.
AUSGABE
(DATEN VOM COMPUTER ZUM RECORDER):
Wird die Kassette zur Ausgabe bereitgemacht, so werden zwei Hup-Töne vom Computer
ausgegeben. Ist die Kassette bereit (siehe oben), muß der Benutzer gleichzeitig
die Tasten RECORD und PLAY des Programm-Recorders drücken. Danach muß
wieder eine Taste (ausgenommen <BREAK>
auf
dem
Computer
betätigt
werden, um den
Schreibvorgang
zu starten.
2.2
Sichern und Laden digitaler Programme
Die
folgende Technik sichert digitale Daten direkt vom Computer über den I/0-Anschluss
entweder auf den Programm-Recorder oder auf die ATARI-Lab-Machine, die ein 1/4-Zoll-Band
mit einer Geschwindigkeit von 7 1/2 Inch pro Sekunde verwendet.
BASIC:
Format:
CSAVE
100 CSAVE
Dieses
Kommando wird normalerweise im Direkt-Modus benutzt, um ein RAM-residentes Programm
auf Kassette zu schreiben. Mit CSAVE wird die tokenisierte Form des Programms gesichert.
Format: CLOAD
100 CLOAD
Dieser
Befehl kann sowohl im Direkt-Modus, als auch innerhalb einem Programms verwendet
werden, um Programme von Kassette ins RAM zu bringen.
ASSEMBLER:
QUELLPROGRAMM
FORMAT: LIST#C:(.,XX,YY.)
Dieses
Kommando wird zum Schreiben des Assembler-Quellcodes auf Band benutzt. Die eingeklammerten
Werte (.,XX,YY.) stehen für ein optionales Sichern von festgelegten Zeilen.
Werden diese Werte nicht angegeben, so wird das gesamte Programm, d.h. alle Zeilen,
gesichert.
FORMAT:
ENTER#C:
Mit
diesem
Befehl
wird
das
Quellprogramm
von
Kassette gelesen.
OBJEKTPROGRAMM:
FORMAT:
SAVE#C:<XXXX,YYYY
Der
Inhalt des Speicherblocks zwischen den Adressen XXXX und YYYY wird auf Kassette geschrieben.
FORMAT:
LOAD#C:
Mit
diesem Kommando werden die gesicherten Daten von Band in den Speicher gelesen. Der
hierfür benutzte Speicherbereich entspricht dem, aus welchem die Daten mit dem
SAVE-Kommando geschrieben wurden.
2.3
Sichern von digitalen Programmen mit Audio-Spur
Konzept:
Mit
dieser Technik ist keine Kontrolle des Audio-Kanals durch das Programm möglich.
Letzterer fungiert nur als Hintergrund, um die eintönigen Wartezeiten beim Ladevorgang
zu überbrücken.
SCHRITT 1:
Folgen
Sie
den
in
2.2
aufgelisteten Anweisungen
zum Schreiben eines
Digital-Programmes. Dieses
Mal kann
allerdings nicht
der normale Programm-Recorder
(1 7/8
Inch pro Sekunde) benutzt
werden, da es
mit diesem nicht
möglich
ist,
gewöhnliche
Audio-Information
aufzunehmen.
Es
wird statt dessen
die
ATARI-RECORDING-LAB-MACHINE
verwendet, die ein
Urband mit
einer Geschwindigkeit 7 1/2 Inch pro Sekunde
benutzt. Mit der LAB-MACHINE
ist es möglich Information
auf eine bestimmte Spur
zu schreiben.
Auf
der LAB-MACHINE wird der Aufnahme-Modus für die rechte Spur eingeschaltet, so
daß die digitale Information auf die rechte Spur des 7 1/2 Inch-Bandes gebracht
wird.
SCHRITT 2:
Führen
Sie Schritt 1 für die Audio-Aufnahme aus. Spulen Sie dabei erst das Band an
den Programm-Anfang zurück und schalten Sie dann den Aufnahme-Modus für
die linke Spur ein. Auf diese Weise wird die Audio-Information auf die linke Spur
des 7 1/2 Inch-Bandes geschrieben.
2.4
Synchronisation
von digitalen Programmen, Audio-Information, SYNC-Markierungen
und
Bildschirmsteuerung
Konzept
der Synchronisation
Es
gibt keine effiziente Möglichkeit
für ein
Programm, ein
Audio-Segment zu erkennen,
wenn
das Band
läuft. Um
das Synchronisations-Problem
zu
lösen,
werden
sog. Synchronisations-Markierungen
(SYNC-Marks) benutzt. Diese
enthalten das Signal, welches dem Programm
mitteilt, daß ein
Audio-Segment gespielt wurde (ein Audio-Segment
kann entweder
Musik
oder gesprochene Anleitung sein, abhängig vom Programm).
Um
es genauer zu formulieren: da die Audio-Daten keine Datei-Struktur besitzen, entspricht
die auf der digitalen Spur befindliche SYNC-Mark einer End-of-Record-Markierung der
Audio-Spur. So kann ein Programm entscheiden, wenn es eine SYNC-Mark erkennt, ob
die Kassette für Berechnungen stoppen oder zum Spielen des nächsten Audio-Segments
weiterlaufen soll.
SCHRITT
1:
Der
Programmierer entwirft ein ìDrehbuchî für das Märchen vom
Frosch. Dieses Drehbuch würde wie folgt aussehen:
(MUSIK)
HEUTE M÷CHTE ICH DIR DAS MƒRCHEN VON DER PRINZESSIN UND DEM FROSCH ERZƒHLEN.
ES IST EINE NETTE GESCHICHTE, ALSO GEH¥ NICHT WEG./
(MUSIK)
BEVOR ICH MIT DER GESCHICHTE BEGINNE, WüRDE ICH GERNE WISSEN, ZU WEM ICH SPRECHE.
WIE HEIßT DU? GIB DEINEN NAMEN EIN UND DRüCKE DIE RETURN-TASTE. (PAUSE)
(MUSIK)
NUN DENN, FANGEN WIR AN. ES WAR EINMAL, VOR LANGER ZEIT. DA LEBTE EINE SCH÷NE
PRINZESSIN MIT DEM NAMEN YYYY AUF EINEM SCHLOSS./
(MUSIK)
EINES SCH÷NEN TAGES GING DIE PRINZESSIN .../
Anmerkung:
-
ì/î bedeutet, daß das Programm nach einer SYNC-Markierung sucht.
Der Sprecher sollte für eine halbe Sekunde aufhören zu reden, bevor mit
dem nächsten Audio-Segment begonnen wird.
-
ìPauseî zeigt an, daß der Sprecher für eine Sekunde stoppen
sollte, damit der Motor genügend Zeit zum Aus- und Anlaufen hat. Jedes Audio-Segment
sollte mindestens 10 bis 30 Sekunden lang sein, da zu viele SYNC-Markierungen auf
engem Raum den Computer verwirren können.
SCHRITT
2:
Der
Programmierer sollte, bevor er mit der Eingabe beginnt, einen Plan entwerfen, der
das Verhältnis zwischen Bildschirm und Audio-Information angibt.
BEISPIEL:
Das
folgende Beispiel (siehe nächste Seite) zeigt, wie ein Programmierer eine Kassette
aufbauen sollte, die Kontrolle über eine Audio-Spur ausübt. Dieses Beispiel
heißt "FROSCH":
SCHRITT
3:
Das
Programm FROSCH könnte wie folgt aussehen:
10 REM Dieses Programm "FROSCH" soll die Synchro-
20
REM nisation von Audio-
und Digital-Information
30
REM mit dem Kassetten-System
demonstrieren.
35
REM
40
DIM IN$(20)
50
POKE 54018,52:REM Motor
einschalten
60
GRAPHICS 1
70
PRINT #6;"DIE PRINZESSIN
UND DER FROSCH":PRINT #G;.... :REM Aufbauen des Bildschirmes für 2.
Teil.
80
GOSUB 1000:REM SYNC-Markierung
überprüfen - Die Einführung
muss abgelaufen sein.
100
POSITION X,Y:PRINT #6;"DEIN
NAME?":REM Für Teil 4
105
GOSUB 1000:REM Teil 5
110
POKE 54018,60:REM Motor
für Benutzer-Eingabe stoppen.
120
INPUT IN$:REM Name des
Benutzers
130
POKE 54018,52
135
PRINT #6;CHR$(125):REM
Bildschirm loeschen
140
POSITION X,Y:PRINT #6;IN$:PRINT
#6;....:REM Bildschirm für Teil 10.
150
GOSUB 1000:REM Garantiere,
dass Sprache von Teil 10 beendet ist.
160
PRINT #6;....:REM Bereit
für Teil 12.
UNTERPROGRAMM
ZUM üBERPRüFEN VON SYNC-MARKIERUNGEN:
Auf
dem Band wird eine SYNC-Markierung durch ein ìLeerzeichenî und eine
ìNicht SYNC-Markierungî dargestellt (Ein Leerzeichen ist eine ì0î-Frequenz,
d.h. eine niedrigere Frequenz als die einer Markierung mit einer "1"-Frequenz.
Wie vorangehend erwähnt liegt eine Markierungs-Frequenz bei 5327Hz und eine
Leerzeichen-Frequenz bei 3995Hz). Das Unterprogramm zum Suchen von SYNC-Markierungen
wartet auf ein ìLeerzeichenî vom seriellen Anschluss und sieht wie folgt
aus:
1000
IF INT(PEEK(53775)/32+0.5)=INT(PEEK(53775)/32)THEN RETURN : REM überprüfen
des 5. Bits jede ankommenden Bytes. Wenn eine Null auftaucht, ist das SYNC-Leerzeichen
gefunden.
1010
GOTO 1000
ROUTINE
FüR DIE MOTORKONTROLLE:
Das
Programm ist in er Lage, den Motor, durch Setzen der folgenden Daten an die Stelle
54018, an- und auszuschalten:
EIN:
POKE 54018,52
AUS:
POKE 54018,60
SCHRITT
4:
Nachdem
das Audio-Drehbuch in Grundzügen festgelegt wurde, muß der Programmierer
die für den Programm- und Audio-Teil des Bandes benötigte Zeit (inklusive
Pausen) abschätzen. Ist der erforderliche Zeitraum größer als eine
Cassettenlänge, so muß entweder das Programm oder das Drehbuch umgeschrieben
werden.
SCHRITT
5:
Sichern
Sie das Programm auf ein Master-Tape, z.B. ìMaster 1".
SCHRITT
6:
Mit
Hilfe des Drehbuches wird die Stimme bzw. die Musik (inklusive Pausen) auf ein anderes
Master-Tape (ìMaster 2î) geschrieben.
SCHRITT
7:
Nachdem
diese beiden Urbänder fertiggestellt sind, werden sie zusammengemischt, um ein
weiteres Master-Tape (ìMaster 3î) zu erhalten. Für diesen Vorgang
sind 3 RECORDING-LAB-MACHINES erforderlich. Erstellen Sie zwei Kopien von Urband
ìMaster 3î.
SCHRITT
8:
Laden
Sie des SYNC-Mark-Programm in den ATARI Computer.
Mit
diesem
werden
ununterbrochen
SYNC-Marks ("0"-Frequenz)
auf die digitale Spur geschrieben.
Die
SYNC-Mark
informiert
das
Programm, daß
ein
Audio-Segment
gespielt
wurde.
Immer,
wenn eine Pause
auf der Audio-Spur auftaucht,
wird
eine SYNC-Mark an
dieser
Stelle benötigt. Das
fertige Band mit Audio- und
Digital-Spur würde wie folgt aussehen:
Das
SYNC-Mark-Programm sieht
folgendermaßen aus:
10
REM DRüCKEN SIE DIE "START"-TASTE, UM EINE
20
REM SYNC-MARKIERUNG AUF DAS BAND ZU SCHREIBEN.
30
REM
40
REM
50
IO=53760:CONSOLE=53279:CASS=54018
100
FOR I=0 TO 8
110
READ J:POKE IO+I,J
120
NEXT I
125
REM DIE FOR-SCHLEIFE SETZT
AUDIO-FREQUENZ UND
126
REM KANAL
130
DATA 5,160,7,160,5,160,7,160,0
140
REM
150
REM I/0 IST ERSTELLT: JETZT
STARTE CASSETTE
160
POKE CASS,52
200
POKE CONSOLE,8
210
IF PEEK(CONSOLE)<>7
THEN 230:REM CONSOLE=7
BEDEUTET
MARKIERUNG SCHREIBEN.
220
POKE IO+15,11:GOTO 200:REM
KEINE TASTE DER
KONSOLE
GEDRUCKT
230
POKE IO+15,128+11:GOTO
200:REM WENN CONSOLE<>7
SCHREIBE
"LEERZEICHEN"
SCHRITT
9:
Legen
Sie beide ìMaster 3î-Bänder in zwei unterschiedliche Maschinen
und spulen Sie sie zurück. Schließen Sie einen der Recorder an einen ATARI
Computer an, in dem sich das SYNC-Mark-Programm befindet. Dieser Recorder wird zur
Aufnahme der SYNC-Markierungen auf die Digital-Spur benutzt. Der andere Recorder
wird später für die Audio-Aufnahme verwendet.
SCHRITT
10:
Geben
Sie ìRUNî
zum
Starten
des
SYNC-Markierunge-Programms
ein.
Starten
Sie
gleichzeitig die
beiden
Recorder,
einen für
die Aufnahme,
den anderen für die
Wiedergabe. Achten Sie
auf die Audio-Information und drücken Sie jedesmal die ìSTARTî-Taste,
wenn dieses durch eine Pause angezeigt wird.
SCHRITT
11:
Das
Band ist nun, nach Aufnahme von Programm, Audio-Information und SYNC-Markierungen,
fertig. Das Band ist bereit für eine Massenproduktion.
2.5
Verriegeln der BREAK-Taste
Es
kann vorkommen, daß der Programmierer die BREAK-Taste verriegeln möchte.
Um zu verhindern, daß der Ladevorgang eines Cassetten-Programms unterbrochen
wird, wenn er zufällig auf die BREAK-Taste drückt. Das OS kann ein Record
nicht wiederfinden, solange der Benutzer nicht in der Lage ist, das Band zu diesem
verlorenen Record zurückzuspulen. Die Routine zum Abschalten der BREAK-Taste
sieht wie folgt aus:
4000
X=PEEK(16):IF X<128 THEN 4020
4010
POKE 16,X-128:POKE 53774,X-128
4020
RETURN
Diese
Abschalt-Routine muß
nach jedem ÷ffnen des Bildschirmes und jeder ƒnderung des Graphik-Modus aufgerufen
werden.
2.6
Massenproduktion
Der
Programmierer produziert ein oder mehrere Urbänder, entsprechend den in Abschnitten
2.2, 2.3 und 2.4 besprochenen Aufnahme-Techniken. Alle ATARIîTMî-Urbänder
werden auf einer offenen 1/4-Spur-Bandspule mit einem 1/4-Zoll-Band bei einer Geschwindigkeit
von 7 1/2 IpS aufgenommen. Das ìMASTER-TAPEî geht als ìSOURCE-MASTER2î
an den Duplikator.
Der
Duplikator benutzt das ìSOURCEMASTER2î-Band zur Erstellung eines ìWORK-MASTERî-Bandes
für die endgültige Massenproduktion. Das abgegebene Produkt ist also die
dritte Generation. Die folgende Darstellung zeigt diesen Vorgang:
Das
ìINTERIM-MASTERî-Band ist für den Duplikator erforderlich, da das
ìWORK-MASTERî-Band zerstört oder durch die häufige Benutzung
verbraucht werden kann. Das ìSOURCE-MASTERî-Band muß für
absolute Notfälle reserviert werden. Das ìINTERIM-MASTERî-Band
ist die Arbeits-Kopie des ìWORK-MASTERî-Bandes.
2.6.1
Massenproduktion von Kassetten
Zum
gegenwärtigen Zeitpunkt wird von ARTARI"TM" die ìBIN-LOOPî-Methode
für die Massenproduktion bevorzugt. Das ìWORK-MASTERî-Band wird
zur Erzeugung eines ìLOOP-MASTERî-Bandes (Schleifen-Urband) kopiert.
Letzteres kann jede beliebige Bandbreite besitzen. Das ìBIN-LOOPî-Band
wird zu einem ìCONTINUOUS-LOOPî-Band zusammengefügt, welches einen
kurzen leeren Führer-Ton an der Klebestelle besitzt. Diesen Band wird in eine
Urband-Maschine gebracht, die mit einer hohen Geschwindigkeit läuft und an die
mehrere ìSLAVEî (Sklave) - Maschinen angeschlossen sind. Die Anordnung
sieht wie folgt aus:
Das
ìLOOP-MASTERî-Band wird wiederholt gelesen. Wenn z.B. 100 Kassetten
produziert werden sollen, wo wird die Länge das Bandes der ìSLAVEî-Maschine
gemessen, indem das Programm mit 100 multipliziert wird. Auf dar ìMASTERî-Maschine
befindet sich ein Zähler, der auf 100 gesetzt wird.
Beim
Lesen des ìLOOP-MASTERî-Bandes werden alle 4 Spuren auf das Band dar
ìSLAVEî-Maschine geschrieben.
Wird
auf den leeren Teil des ìLOOP-MASTERî-Bandes gestoßen, so produziert
die Maschine einen ìSCHNEIDE-TONî, der auf eine oder mehrere Spuren
der Bänder in den ìSLAVEî-Maschinen geschrieben wird. Der Zähler
wird danach um 1 erhöht.
Auf
jedem fertigen Band der ìSLAVEî-Maschine befinden sich 100 Programme
und 100 zugehörige ìSCHNEIDE-T÷NEî. Diese Bänder werden
in automatische Lade-Maschinen eingelegt, die erstere in Kassetten-Hüllen spulen.
Die Anordnung sieht folgendermaßen aus:
LADE-MASCHINE
Die
Kassetten-Hüllen werden mit einem kurzen Stück Leerband geliefert, das
auf die Cassetten-Spulen aufgewickelt ist. Die Lade-Maschine zieht dieses Stück
aus der Hülle, schneidet es und verklebt es mit dem Bandanfang eines Bandes
der ìSLAVEî-Maschinen. Danach wird das ìSLAVEî-Band in
die Kassette gewickelt, bis ein -SCHNEIDE-TON- erscheint. Die Lade-Maschine schneidet
an dieser Stelle das Band der -SLAVE-Maschine erneut und verklebt es mit dem anderen
Teil des Leerbandes in der Kassetten-Hülle. Schließlich wird das fertige
Band in die Hülle gewickelt und mit der nächsten Kassette begonnen.
Die
Kassetten-Hülle wird entweder per Hand oder automatisch in die Lade-Maschine
gelegt oder aus ihr genommen, wenn das Band fertig aufgewickelt ist.
2.6.2
Qualitäts-überprüfung
Jedes
mal, wenn eine Produktserie hergestellt wird, müssen einzelne Produkte dieser
Serie überprüft werden, bevor erstere ausgeliefert und verkauft werden
kann.
Diese
Qualitäts-überprüfung
wird im allgemeinen am ersten und letzten Produkt der Serie vorgenommen.