DISCIPLE HANDBOEK

Bewerking en aanvulling van het Introductory Manual  (MGT 1986)
 R.Koning, 1994.

1
    INHOUD

Introductie / Aansluiten  ................................. 	  2
Opstarten van het Systeem / Inhibit knop .... 	 	  3
Autoload prog's, CAT, RESET, BREAK  ...... 	  4
Formatteren / Backup  ...................................... 	  5
Copieen en Back-ups  ...................................... 	  6
Diskdrive syntax  .............................................. 	  7
Wild-cards / RENAME  ................................... 	  8
Snapshot knop  ................................................. 	  9
Gebruik joystick en printer  ............................  	10
LOAD @, OPEN #, Streams & channels  .....  	11
MOVE, CLEAR #, CLS#  .................................  	12
Execute files  .....................................................  	13
POKE @, Systeemvariablen  ..........................  	14

NETWERK:
 Netwerk  ...........................................................  	16
 Gedeeltelijk toegankelijk netwerk  ................  	17
 Netwerk met onafhankelijke stations  ..........  	19

BIJLAGE  A : 
 Hook Codes  ....................................................  	20 

BIJLAGE  B:
 Directory layout  .............................................  	24
 Voorbeeld LOAD @  ......................................  	26
 Conversie naar Gdos 3D  ...............................  	28

BIJLAGE  C: 
 Technische Specificaties  ..............................  	29
 Poort informatie  ..............................................  	30
 Disk aansluiting  ..................................... ....... 	31
 Printer aansluiting  .........................................  	32

BIJLAGE  D:
 Foutmeldingen  ...............................................  	33
 Overzicht COMMANDO'S  ...........................  	34
 Inhoud (code) van de PAL chips  ................		36

2
    INTRODUCTIE

De Disciple is een interface voor de Sinclair SPECTRUM, dat het mogelijk maakt te werken met:

- 1 of 2 Shugart compatible diskdrives.   ( 5 1/4" of 3 1/2",  40 of 80 tracks, 
  SS of DS, SD of DD)   Opslagcapaciteit 90 - 780 kB.
- Een centronics parallel printer.
- 1 of 2 standaard (Atari-type) joysticks.
- Tot 63 andere computers in een NETWERK.
- Bijna alle andere Spectrum randapparatuur.

Bijzonderheden:
* Een 48K file kan in ca. 4 sec. geLOAD of geSAVEd worden.
* Er wordt geen Ramgeheugen van de computer gebruikt.
* Met SNAPSHOT kan elk programma worden onderbroken om de gehele
   geheugeninhoud op schijf te zetten, of om een schermafdruk
   (screendump) op de printer te maken.
* De netwerk-aansluitingen is compatible met die van Interface 1.
   In het netwerk kan worden volstaan met 1 drive en 1 printer.
* De Disciple herkent ook de microdrive-commando's zoals die
   reeds in Sinclair Basic bestaan.
 
    AANSLUITEN VAN HET SYSTEEM

BELANGRIJK: VOORDAT  ER  RANDAPARATUUR  OP  DE  COMPUTER  WORDT AANGESLOTEN: ALTIJD EERST DE STROOM UIT ZETTEN.  ANDERS  KAN  DE COMPUTER BESCHADIGD WORDEN.

Deze handleiding gaat er van uit dat u reeds een geinitialiseerd SYSTEEM-FILE bezit, en behandelt deze initialisatie niet. Hiervoor wordt verwezen naar het originele 'manual'!

3 
    OPSTARTEN

Nadat de computer, de Disciple, de drive(s) en eventueel de printer op de juiste manier aan elkaar zijn gekoppeld, kan de voeding aangesloten worden. Het normale Sinclair titelscherm  zal verschijnen.
Zorg dat de INHIBIT knop niet ingedrukt staat. (= achterste) Doe een schijf waarop het systeemfile staat (CODE-file SYS...)  in drive 1. Druk op RUN en ENTER.
Het DISK-OPERATING-SYSTEEM (DOS) wordt geladen. 
Nu verschijnt de boodschap:

          Miles Gordon Technology DOS 3b

en:       O.K. GDOS 3, 0:1

Wanneer wel de eerste regel, maar niet de O.K. melding verschijnt, dan wacht het systeem waarschijnlijk op een reactie van een printer. Deze is echter niet aangesloten, staat niet aan, of niet on-line, of er zit geen papier in. Druk op BREAK, zorg dat de printer klaar staat, of schakel dmv.  POKE @11,1  de printerpoort uit. Daarna kan het systeem gebruikt worden. Als de printerpoort is uitgeschakeld dmv. POKE @11,1 dan kan na een reset (PRINT USR 0), de ZX-printer via de doorvoerpoort gebruikt worden. POKE @11,0 zet de Disciple-poort weer aan.

Hebt U een programma van tape geladen of zelf ingetikt, en U ontdekt dan dat het systeemfile nog niet is ingeladen, type dan: 
 RUN boot.   Wanneer U intypt:   RUN 10000,   wordt behalve het systeem-file ook een evt. op de schijf staand autoload-programma geladen, en wordt het reeds aanwezige programma overschreven. 

    DE INHIBIT KNOP       (De achterste)

Er bestaat randapparatuur waarvan de werking botst met die van het operating systeem van de Disciple. Dit is o.a. het geval met Interface 1. Door 1 keer op de Inhibit knop te drukken, zodat deze "in" staat, ontstaat de mogelijkheid het operating systeem van de Disciple uit te schakelen. Dit kan nu met : OUT 31,0.
Doe dit nadat het SYTEEM-FILE (en evt. een programma) van schijf is geladen. De disk-drive kan nu niet meer gebruikt worden, maar de printerpoort en joystick nog wel. Waarschijnlijk kan de 'botsende' randapparatuur nu gebruikt worden. Wilt U de Disciple met drive weer gebruiken, druk dan OF op de Inhibit knop, zodat deze weer uit staat, OF geef OUT 31,16. De Disciple kan nu weer normaal worden gebruikt.
Ook tijdens het programmeren kan OUT 31,0 en OUT 31,16 worden gebruikt om de Disciple's D(isk) O(perating) S(ysteem) in en respectivelijk uit te schakelen. Hierbij moet de 'INHIBIT' knop wel 'ingedrukt' zijn.

4 
    HET PROGRAMMA 'AUTO.....'  (AUTOload)

Dit is een programma dat automatisch wordt geladen wanneer het operating-systeem wordt geRUNd. Dit kan elk willekeurig programma zijn, de enige voorwaarde is dat de naam met 'AUTO' begint. Wilt U het autoload programma NIET vanzelf laden, type dan in:
      RUN boot    in plaats van       RUN
Er kan maar een (1) Autoload op een schijf voorkomen.

    DE RESET KNOP

Hebt U een resetknop op de computer dan kunt u de computer resetten zonder het operating-systeem te verliezen. Dit blijft bewaard in de DiscipleRAM, en hoeft dan niet opnieuw geladen te worden. Druk hiervoor een (1) maal op de reset-knop. (In sommige gevallen kan het nodig blijken om de 'INHIBIT' knop hierbij ingedrukt te houiden. Reset U 2 keer achter elkaar, dan is het operating systeem wel verwijderd, en moet dit opnieuw vanaf de systeem-schijf worden ingeladen. Het systeem kan ook uitgeschakeld worden door twee maal     PRINT IN 123   in te voeren.

    DE CATALOGUS

Type CAT 1 (ENTER) voor een catalogus.
Van elk bestand op de schijf wordt het volgnummer en de naam vertoond. In de derde kolom wordt het aantal gebruikte sectoren gegeven. In dubbele dichtheid bevat iedere sector 512 bytes. (Enkele = 256) De vierde kolom toont het soort bestand.
De vijfde kolom toont voor code het beginadres en de lengte. Voor een Basicprogramma wordt daar de autostartregel afgedrukt, indien aanwezig.
Het maximaal mogelijke aantal bestanden op een schijf is 80. Gewiste bestanden behouden (onzichtbaar) hun plaats in de catalogus. De ruimte die het bestand zelf innam komt wel vrij. De namen in de catalogus worden niet alfabetisch gesorteerd.
Er kan ook een verkorte catalogus getoond worden. Typ dan  in:
    CAT 1!    (of CAT 2!). 
Dit toont uitsluitend de namen, in drie kolommen. Om de catalogus van drive 1 naar de printer te sturen, typen we:    
    CAT #3;1  of    CAT #3;1!
Het is niet mogelijk de catalogus naar een diskfile te sturen.

    BREAK
Break stopt alle normale routines van de computer, maar het heeft geen effect tijdens lees- en schrijf-activiteiten van/naar disk. Een programma stopt pas nadat deze zijn afgewerkt.

5 
    FORMATTEREN VAN SCHIJVEN.

Het wordt afgeraden om te gaan formatteren wanneer er een programma in het geheugen aanwezig is. Voor het formatteren wordt namelijk ongeveer 8000 byte aan geheugen gebruikt vanaf adres 49152.  Alle informatie die hier staat wordt overschreven. Doe een schijf in de drive en type in:
         FORMAT D1 (of D2)       - voor dubbele dichtheid
         FORMAT SD1 (of SD2)     - voor enkele dichtheid
Er zal nu om bevestiging gevraagd worden: Are You sure y/n? U kunt dan nog terug.
Enkele dichtheid (Single Density) komt tegenwoordig (1993) niet meer voor. Dubbele dichtheid zal op een dubbelzijdige diskdrive met 80 tracks leiden tot een schijfcapaciteit van 780 kB. (geformatteerd)

Een schijf wordt tot 'systeemschijf' gemaakt door het operatingsystem erop te zetten met:
         SAVE D1 "Sys 3b" CODE 0, 6656
U kunt het Sysfile ook een andere naam geven, mits deze maar begint met "Sys". Dit is handig als U over meerdere Sys files beschikt voor verschillende toepassingen.
(Zie conversie naar 3d in Bijlage B.)

    BACK-UP SCHIJF

Bij het gebruik van 2 drives is het commando beschikbaar:        
     FORMAT D1 TO D2
Dit commando formatteert de schijf in drive 1 en zet de inhoud van de schijf in drive 2 'sector-voor-sector' over op de schijf in  drive 1. LET GOED OP DE VOLGORDE VAN DE CIJFERS!!!!
Alle informatie op de eerstgenoemde schijf wordt gewist. Van de tweede schijf wordt een exacte copie gemaakt. De geheugeninhoud boven 49152 wordt hierbij overschreven. Dit duurt iets langer dan met het commando:  SAVE D1 "*" TO D2 (of D1), dat voor systemen met slechts een drive gebruikt kan worden.

6 
    BACK-UP BESTANDEN en andere KOPIEeN

We kunnen een back-up van een programma maken d.m.v.:
           SAVE D1 "voorbeeld" TO D1 "kopie"
Voordat de back-up gemaakt wordt is er gelegenheid van schijf te wisselen. D.m.v. een boodschap op het scherm zal het systeem laten merken dat het wacht op het indrukken van de spatietoets. U kunt ook de volgende instructie geven :
           SAVE D1 "voorbeeld" TO D1
Dit betekent dat U een back-up file wilt maken met dezelfde naam. U hebt ook hier de gelegenheid van schijf te wisselen voor U op de spatiebalk drukt. Verwisselt U de schijf niet, dan verschijnt de melding "OVERWRITE FILENAAM " (y/n). Moet het bestaande programma worden overschreven? Druk op Y(es) om door te gaan of op N(o) om terug te keren.  Hebt U 2 drives op de Disciple aangesloten, dan kunt U ook  een back-up maken van drive 1 naar drive 2 met :
           SAVE D1 "voorbeeld" TO D2 "kopie"
Wordt er na D2 geen naam ingetypt, dan zal de back-up dezelfde naam houden als het origneel.
Om een back-up van een hele schijf te maken, typ in:
           SAVE D1 "*" TO D1  (of D2)
(zie voor uitleg onder 'Wild-card')
Maakt U de backup op dezelfde drive, dan volgt steeds gelegenheid om van schijf te wisselen.

Het copieeren van SNAPshots en Open-type bestanden is op bovenstaande manier niet mogelijk. Bij het maken van een 'sector-voor-sector' back-up gaan deze natuurlijk wel mee over. Zie: Back-up Schijf, en FORMAT TO.

LET OP: Het commando SAVE Dx"naam" TO verziekt een groot deel van het geheugen!
Na afloop van het copieeren van een programma of een schijf voert de computer automatisch een NEW instructie uit!! Het verdient de voorkeur om met  MOVE Dx"naam" TO  te werken.

7 
    DISK DRIVE SYNTAX

Aan BASIC-commando's die betrekking hebben op diskoperaties, moet een zgn. 'syntax operator' meegegeven worden, - een code om de computer te laten weten dat de instructies bedoeld zijn voor de diskdrive en niet voor b.v. cassetterecorder of printer. De volgende mogelijkheden zijn aanwezig:

     D1 of d1 = commando voor drive 1
     D2 of d2 = commando voor drive 2
     D* of d* = commando voor de laatst gebruikte drive.

Wordt in een diskcommando de hoofdletter D gebruikt dan verschijnt na afloop de verkorte catalogus op het scherm. Bij kleine letter d (en bij het commando LOAD) gebeurt dit niet. In nieuwere versies van het SYSfile (> 3C) is mogelijkheid niet
meer aanwezig. Een voorbeeld voor het saven van een Basic programma:
Voor tape:      SAVE "Squares"       ENTER
Naar drive1:    SAVE D1 "Squares"    ENTER
Onthoudt dat D1 kan zijn D of d, 1 of 2 of *

Ook de bij Microdrives gebruikelijke syntax is geldig, bijv. om een programma te laden : LOAD *"m";1;"naam". Zie de microdrive handleiding voor verdere byzonderheden.

Het is mogelijk voor de programmanaam een variabele te gebruiken. Geef aan de variabele A$ de naam Squares en type:
            SAVE D1;A$     (let op de puntkomma!)
Ook voor het drivenummer kan een variabele gebruikt worden:
            LOAD varnaamD1;A$  (Of  LOAD dd1"naam" 
Overige voorbeelden:
            LOAD D1 "Squares"
            VERIFY D1 "Squares"
            MERGE D1 "Squares"
            ERASE D1 "Squares"
Wordt er bij SAVE een naam meegegeven die al voorkomt op de schijf, dan wordt er gevraagd of we dit reeds bestaande bestand willen overschrijven.  Geef Y(es) of N(o) als antwoord. Proberen we een niet bestaand programma te ERASEn, dan volgt een
foutmelding. Een verschil met Microdrive! 

VERKORTE SYNTAX

Er bestaat de mogelijkheid verkorte commando's te geven: 
Voorbeeld:    LOAD p1
     	        MERGE p2
              	        VERIFY p5
Deze voorbeelden hebben betrekking op de programma's
 1, 2, 5. (Nummers vlgs catalogus.)

8 
    WILD-CARDS

Bij het vinden van een programma in de catalogus wordt door de Disciple geen onderscheid gemaakt tussen hoofd- en kleine letters.

Wild-cards (jokers) geven de mogelijkheid bestanden met gelijksoortige namen als een groep te selecteren. Stel we hebben een aantal programma's met de volgende namen :    nummer1, nummer2, nummer3, nummer4 enz. We kunnen deze hele groep wissen door in te typen:
            ERASE D1 "nu*"
Het sterretje in de naam betekent dat de rest van de letters er niet meer toe doet. Het commando zal ALLE programma's die met "nu" beginnen van schijf wissen. Let op dat niet onbedoeld andere programma's die ook met "nu" beginnen worden gewist.
We kunnen ook intypen :
             ERASE D1 "??mm*"
Het vraagteken betekent dat de letters op die positie er niet toe doen. Dit (voorbeeld) commando heeft tot gevolg dat ALLE bestanden waarbij in de naam "mm" op de 3e & 4e positie voorkomt gewist zullen worden. 
De 'wild-cards'   '?'  en  '*'   zijn te  gebruiken met de commando's   CAT,  SAVE...TO,  en   ERASE.
Om ALLE programma's van schijf 1 naar schijf 2 over te zetten kunt U intypen :
             SAVE D1 "*" TO D2
Nog een mogelijk gebruik van wildcards:
             SAVE D1 "nummer*" TO "aantal*"
Hirbij moet de nieuwe bestandsnaam uit evenveel letters bestaan als de oude (hier dus 6).

TIP UIT DE DISCIPLE NIEUWSBRIEF:
Geef alle Taswordfiles als laatste teken "!".  Voor een selectieve CAT van alle Taswordfiles is dan voldoende
            CAT D1 "?????????!"
Om alle Taswordfiles naar drive 2 over te zetten :
            SAVE D1 "?????????!" TO D2

    RENAME
Om een bepaald bestand een andere naam te geven,  typen we:

            ERASE D1 "Squares"  TO "Voorbeeld1"

9
    DE SNAPSHOT-KNOP.

Door CAPS-SHIFT op de Spectrum in te drukken en daarbij ook de Snapshot-knop van de Disciple (voorste), komt u in de Snapshot-mode. Dit is te constateren doordat een lopend programma stopt, en er een aantal gekleurde lijnen in de border verschijnen. We kunnen nu het beeldscherm op de printer afdrukken, of de 
(RAM-) geheugeninhoud van de Spectrum naar de laatst gebruikte drive  schrijven.
Tijdens lopende programmas gemaakte snapshots-files zullen later, bij  opnieuw inladen van de 'snaps', weer gewoon verder gaan met het 'gesnapte' programma vanaf het punt waarop 'gesnapt' werd. Snapshots kunnen op elk willekeurig moment gemaakt worden. De volgende mogelijkheden zijn er:

Druk op "1"   voor een 32 koloms  schermcopie op de printer.
Druk op "2"   om op een Epson-compatible printer (die ESC * kent) een dubbelbrede schermcopie te maken, waarbij kleuren worden uitgebeeld door grijstinten. (Zoals bij SAVE SCREEN$ 2.) Als het printen klaar is gaat het programma gewoon verder.
Druk op "3"   om het scherm naar schijf te schrijven als SCREEN$. De  border licht op tijdens het wegschrijven en het lopende programma gaat verder vanaf het punt waar het gestopt werd.
Druk op "4"   om 48K geheugen naar schijf te schrijven. De  border licht op tijdens het wegschrijven en het lopende programma gaat verder vanaf het punt waar het gestopt werd.
Druk op "5"   om 128K geheugen naar schrijf te schrijven. De border zal enkele ogenblikken oplichten en dan staat het beeld weer stil. Als het scherm (let wel het beeld, en niet de border) veranderd is, druk dan op toets "Y" (Yes). Als het beeld niet is veranderd, druk dan op toets "N" (No). De border zal weer oplichten tot het wegschrijven voltooid is. Het programma gaat dan weer verder op het punt waar gestopt werd.

    Hebt U het programma geladen van drive 1 en moet een te maken  Snapshot-file naar
    drive 2 - of andersom - druk dan TEGELIJK   op CAPS SHIFT en op toets 3, 4, of  5.

Snapshot-bestanden krijgen automatisch de namen "Snap  A", "Snap B",  enz. De letter is afhankelijk van de plaats in de directory. U kunt ze later een duidelijker naam geven, dmv. het commando ERASE....TO. (zie daar.)
Snapshots kunnen weer worden ingeladen met :
           LOAD D1 "naam " S         (voor een 48K Snap)
           LOAD D1 "naam " K         (voor een 128K Snap)
           LOAD D1 "naam " SCREEN$   (voor schermdump)
           LOAD px  (voor x moet een getal ingevuld worden)
Zonder de S, K en SCREEN$ toevoegingen worden de Snapshots niet geladen. Ook bij gebruik van de Microdrive syntax moet de juiste letter aan het eind van het laadcommando worden toegevoegd. Bij het "p" commando is geen toevoeging nodig.

Het overzetten van Snapshots naar een andere (of dezelfde) schijf is niet mogelijk. Het is natuurlijk wel mogelijk om opnieuw een Snapshot van een Snapshot te maken. 

10 
    GEBRUIK VAN JOYSTICKS

Een joystick, aangesloten op de rechtsachter geplaatste connector, kan werken in zowel Kempston als Sinclair (interface 2) mode. (Rechts is waar toets '0' zit.) 
Wanneer een programma hiernaar vraagt kunt U een van beide kiezen. Een op de linker poort aangesloten joystick werkt alleen in Sinclair mode.
Bij sommige spellen kan geen (Kempston) joystick gekozen worden. Kies dan de "keyboard"-optie uit het menu aan het begin van het spel. Wanneer er gevraagd wordt welke toetsen U wilt gebruiken voor Op/Neer/Fire enz., beweeg dan de joystick in de juiste richting. De joystick zal daarna gewoon werken.

    GEBRUIK VAN DE PRINTER

Er bestaan vier commando's om de printer aan te sturen:
   LPRINT   : werkt als PRINT   (zie hieronder voor AT & TAB)
   LLIST    : werkt als LIST
   SAVE SCREEN$ 1      of     COPY SCREEN$ 1
   SAVE SCREEN$ 2      of     COPY SCREEN$ 2
Met SAVE SCREEN$ 1 wordt het beeldscherm gecopieerd (gedumpt) naar de printer.
Met SAVE SCREEN$ 2 wordt een dubbelgrote dump van het beeldscherm gemaakt, waarbij kleuren d.m.v. grijstinten weergegeven worden. De printer dient dan wel Epson-compatibel te zijn. D.w.z. moet dmv. 'ESC * '  in bit-image mode te brengen zijn.
TAB  opdrachten worden bij LPRINT gewoon uitgevoerd wanneer uw printer 'EPSON compatible' is. Voor  AT  opdrachten geldt dat het het 'kolom' gedeelte (getal na de komma), gewoon wordt uitgevoerd als TAB.

Tenslotte, voor de programmeurs:
Elk controlekarakter dat naar de printerpoort gestuurd wordt moet vooraf gegaan worden door een CHR$ 27 (ook wanneer CHR$ 27 zelf moet worden verzonden). Om dus de codes CHR$ 27, CHR$ 65, CHR$ 40 aan de printer door te geven, moet worden ingevoerd :   LPRINT CHR$27; CHR$27; CHR$27; CHR$ 65; CHR$ 27; CHR$ 40;
Deze eigenaardigheid kan omzeild worden door voor het printen in te voeren  
POKE @ 6,1 en na het printen  POKE @ 6,0.

In programma's die de mogelijkheid tot printen bieden, kan het soms ook nodig zijn om deze POKEs te gebruiken. Kunt U in de basic listing van het programma komen, zet dan deze statements in de regels waar het printen begint respectievelijk eindigt. In Tasword II gaat dit uitstekend met POKE @ 6,1  in regel 279 en POKE @ 6,0  in regel 281. 
Het POKE @ 6,n  statement wordt onder POKE @ verklaard.

Van belang zijn verder de commando's POKE @ 11,0 en POKE @ 11,1 waarmee de printerpoort resp. aan- en uitgezet kan worden.

11 
    LEZEN/SCHRIJVEN van een SECTOR.

De zeer krachtige commando's
    LOAD @ drive,track,sector,adres
    SAVE @ drive,track,sector,adres
stellen U in staat rechtstreeks met sectoren van de schijf te werken vanuit Basic.
         
   drive  = nummer van de drive ( 1 of 2 )
   track  = nummer van   0 tot 39      (40 tracks)  kant 1
                                          0 tot 79      (80 tracks)   ,,
                                      128 tot 167    (40 tracks)  kant 2
                                      128 tot 207    (80 tracks)   ,,
   sector = nummer van 1 tot 10
   adres  = geheugenadres in de Spectrum.

Zie voorbeeld in Bijlage B.

LET OP : De lengte van een sector bedraagt bij enkele dichtheid  256 bytes, en bij dubbele dichtheid 512 bytes.

    STREAMS en CHANNELS.

We kunnen een bestand op de schijf openen, en er een 'stream'nummer aan toekennen, d.m.v. het commando: 
      OPEN #stream; D1 "filenaam" IN     of 
      OPEN #stream; D1 "filenaam" OUT
 stream = stream nr ( 4 t/m 16 ),  D1 = D1 of D2 (drive nr)
   IN      = Er moet uit het bestand gelezen worden.
   OUT  = Er moet naar het bestand geschreven worden.
We kunnen nu naar deze stream (en dus naar het bestand)  schrijven met :  
       PRINT # stream;"tekst"; 
of er uit lezen :  INPUT # stream;i$

Wordt bij OPENen niet aangegeven of het IN of OUT betreft, dan geldt 'IN' wanneer de filenaam op schijf wordt gevonden, (het bestand dus al bestaat), en 'OUT' wanneer de naam niet in de directory voorkomt. Door de mogelijke IN/OUT toevoegingen verschilt dit commando van dat van Interface 1 / Microdrive. Een IF1-compatible commando is
evenwel ook mogelijk :
      OPEN #stream;"m";1;"filenaam"
Files die op schijf werden gezet met het OPEN # commando worden in de catalogus aangegeven als OPENTYPE files.

Met het commando:
      CLOSE # * stream        (stream = stream nummer 4 t/m 16)
wordt de aangegeven stream en het daarop aangesloten bestand gesloten. Wanneer geen streamnummer opgegeven wordt, dan worden alle streams, die op dat moment geopend zijn, gesloten. Dit commando is niet Interface1-compatible, omdat de Disciple het
teken * in dit commando nodig heeft.  Zie ook CLEAR #. 

12
    MOVE

Het commando  MOVE  stuurt een bestand naar een stream of naar een ander bestand. Het is niet nodig een file te openen alvorens deze te MOVEn naar een ander file.
      MOVE D1 "filenaam" TO # stream
Dit commando leest een file van de genoemde drive, en stuurt het naar de genoemde stream.  D1 = D1 of D2, en stream = het streamnummer  ( 3 t/m 16 )
Onthoud dat #3 door de Disciple al op de printer aangesloten is.
      MOVE D1"filenaam" TO D1 "filenaam1"
Dit commando leest het file en schrijft het naar de tweede file.

Voorbeeld van een schrijffile :
      10   OPEN #4;d1;"test "OUT
      20   PRINT #4;"Dit is een test"
      30   CLOSE #*4

     100   OPEN #4;"test"IN
     110   INPUT #4;A$
     120   PRINT A$
     130   CLOSE #*4

Overige opmerkingen:
     a) Output files kunnen slechts naar 1 drive tegelijkertijd
        worden geopend.
     b) Inputfiles kunnen van meerdere drives tegelijkertijd
        worden geopend.
     c) Er kunnen zoveel files geopend zijn als er stromen
        beschikbaar zijn.

    CLEAR #
Dit commando sluit alle stromen en kanalen die open zijn.

    CLS #
Dit commando maakt het scherm en attributen geheugen  schoon en herstelt de BORDER, PAPER, INK, INVERSE, BRIGHT, OVER en FLASH naar de standaardwaarden.

13
    Het EXECUTE file.

Een execute file is een machine code programma van max. 1 sector (510 of 254 bytes) lengte. Het wordt geladen, en gerund (!), in de Disciple-RAM en niet in het Spectrum geheugen zoals andere programma's. Een execute file geeft de mogelijkheid MC-routines
te gebruiken zonder dat er iets aan de bestaande geheugenindeling (RAMTOP e.d.) van de Spectrum gewijzigd moet worden.
Om een aangemaakte M.C.routine met een max. lengte van 510 bytes (1 sector) als execute file te saven, typt u in :
        SAVE D1 "prognaam" X,adres
Hierin is:      D1 = D1 of D2 (drive nummer)
                       X  = de letter X (hiemee wordt aangegeven dat het om een EXECUTE-file
                                gaat.
                  adres = geheugenadres waar de routine staat in het  Spectrumgeheugen. Let
                                op dat het programma moet kunnen draaien op adres 7126 dec, en
                                dat de Disciple-ROM daarbij is ingeschakeld. 

Om een execute file te laden: (dus met automatische RUN)
         LOAD D1 "prognaam"X   of
         LOAD Pnummer  (verkorte syntax)
Na het uitvoeren van een EXECUTE-file gaat de computer verder met datgene waarmee hij bezig was.

Voor MachineCode programmeurs: vanuit een EXECUTEfile moeten routines in de Spectrum ROM aangeroepen worden d.m.v.
  RST  16
  DEFW xxxxx      (xxxxx is het betreffende adres)

14
    HET POKE @ COMMANDO

Het POKE @ commando wordt gebruikt om de systeemvariabelen die in het Disk Operating  Systeem (GDOS) worden bewaard, te wijzigen. POKE @ adres,getal betekent eigenlijk: Schakel de Disciple ROM + RAM in, en POKE het getal naar adres+664).  
Op adres 664 beginnen de Disciple systeemvariablen. Bij invoer van een getal kleiner dan 256 wordt er op een (1) adres gePOKEd en bij een getal groter dan 256 tot 65535 wordt er op twee opeenvolgende adressen gePOKEd. Dit kan in het hele Spectrum-geheugen worden gebruikt. Er wordt gePOKEd op adres+664.

 	POKE @ 0,n    (0 - 8)       		RBCC        standaard waarde = 7
Deze variabele wordt gebruikt tijdens bewerkingen op disk. Het getal wordt geAND met het sectornummer en als kleur naar de  border gezonden. Staat hier 0, dan verandert de border niet.  Staat hier 7, dan verandert de border bij iedere nieuwe sector.          

 	POKE @ 1,n    (40 of 80 + 128)   	TRAKS1      standaard waarde = 208
  	POKE @ 2,n    (40 of 80 + 128)   	TRAKS2      standaard waarde = 208
Deze variabelen bewaren van diskdrives 1 en 2 het aantal tracks, en of de drive enkel- of dubbelzijdig is.

	POKE @ 3,n    (0 - 255)          	STPRAT      standaard waarde = 6
 Hiermee wordt een extra vertraging bij de zgn. 'steprate' voor  de diskdrives ingesteld. Bij moderne drives kan hier 0-3 staan.

	POKE @ 4,n    (0 - 63)           	NST         standaard waarde = 1
 Deze variabele bewaart het nummer van de computer in een  netwerk. De nummers zijn als volgt zijn gereserveerd :
      0 = netwerk uit      	1 = hoofdcomputer (master)
    2/9 = assistenten  	10/63 = leerlingen

	POKE @ 5,n    (0 - 255)          	WIDTH       standaard waarde = 80
 Deze variabele geeft het aantal karakters per regel voor de  centronics printerpoort. Zet hier 255 voor maximale regelbreedte  in alle gevallen.

	POKE @ 6,n    (0 of 1)           PCODE       standaard waarde = 0
 Is de waarde 1, dan stuurt de printerdriver de absolute waarde van de codes 0 tot 255 naar de printer.  Is de waarde 0, dan worden naar de printer te sturen code verwerkt zoals in de Spectrum gebruikelijk is. TAB en AT zullen  werken bij LPRINT/LLIST opdrachten, nutteloze codes (PAPER, INK)  worden genegeerd. Codes die toch als absolute waarde verzonden  moeten worden, moeten nu worden vooraf gegaan door een CHR$ 27.

15 

	POKE @ 7,n    (0 - 255)          	LSPCE       standaard waarde= 12
 Deze variabele bewaart de regelafstand voor grafisch printen.  Het getal staat voor  n/72 inch.

	POKE @ 8,n    (0 - 255)          	LFEED       standaard waarde=1
 Deze variabele bewaart het aantal 'linefeeds' dat na een 'CR'  aan de printer gegeven moet worden. 

	POKE @ 9,n    (0 - 255)          	LMAG        standaard waarde=0
 Deze variabele bewaart het aantal spaties dat na een 'CR'  aan de printer gegeven wordt. Hiermee wordt de linker  kantlijn bij printen ingesteld.

	POKE @ 10,n   (0 of 1)           	GRAPH       standaard waarde=1
 Is de waarde 1, dan genereert de printerdiver de grafische symbolen voor  ,  , en   in LPRINT en LLIST statements.  Is de waarde 0, dan worden de 'eigen' karakters van de
 printer afgedrukt.

	POKE @ 11,n   (0 of 1)           	ZXPNT       standaard waarde=0
 Is de waarde 0, dan gebruikt GDOS de centronics printerpoort. Is de waarde 1, dan wordt de printerpoort onveranderd gelaten  door GDOS. Na een reset kan er dan een ZX printer op de  doorvoerpoort worden gebruikt, of, samen met INHIBIT ingedrukt, een seriele printer via Interface I.

	POKE @ 14,n   (0 tot 65535)      	ONERR       standaard waarde=0
	POKE @ 15,n           dit is dus een dubbelpoke!
 Staat hier 0, dan keert GDOS bij fouten tijdens de 'syntax-check' van een opdracht terug naar de Spectrum. Wanneer een  adres in deze variabelen gePOKEd is, dan wordt een sprong  gemaakt naar dit adres, waar de syntax-check verder afgehandelt dient te worden.  Nodig wanneer er extra commando's zijn  toegevoegd.

	POKE @ 6999,0            	BELANGRIJK!!!!

 Op deze plaats bewaart de Disciple de vlag die aangeeft of de  'sectorbitmap' van een in bewerking zijnd bestand op schijf in  al ingelezen is. Voor elke verandering van bestand dient een  nieuwe 'bitmap' in Disciple-RAM gelezen te worden. Helaas wordt deze vlag niet gereset wanneer tijdens schrijfakties naar disk een ERROR optreedt, zoals bijv. Disk Write Protected.
Wanneer in zo'n geval van disk gewisseld wordt, is het gevolg dat er geschreven wordt in sectoren die op de oude schijf wel vrij waren, maar op de nieuwe schijf niet. De reeds bestaande bestanden op de schijf kunnen hierbij ernstig beschadigd raken.
De bovenstaande POKE zorgt ervoor dat er een 'verse' bitmap ingelezen wordt. 
AANGERADEN WORDT OM DEZE POKE STEEDS TE GEVEN NA EEN ERROR DIE  BETREKKING HEEFT OP EEN DISK-OPERATIE. 

16
     NETWERK

Via de twee netwerk-aansluitingen kan gecommuniceerd worden met maximaal 63 andere computers/Disciples.Dit kan op twee manieren:

Via een ONAFHANKELIJK NETWERK.
   Hieraan kunnen 8 computers met ieder een eigen Disciple, diskdrive en printer, worden 
   gekoppeld om programma's uit te wisselen.

Via een GEDEELTELIJK TOEGANKELIJK NETWERK.
   Dit betekent dat alle stations 1 diskdrive en 1 printer delen, die aangesloten zijn op een
   'hoofdcomputer'. Dit maakt de Disciple zeer bruikbaar in een schoolklas.

De volgende begrippen worden gehanteerd:
De HOOFDCOMPUTER of MEESTER:
 - De hoofdcomputer is een computer/Disciple met minimaal een
   diskdrive. Deze computer regelt alle activiteiten van de
   andere stations. Ook dient deze als centrale programmabron
   en als print-gelegenheid.
De ASSISTENT:
 - In elk netwerk kunnen 8 ASSISTENT computers/Disciple aanwezig
   zijn, met minimaal een diskdrive.
 - Assistent-computers dienen in een gedeeltelijk toegankelijk netwerk als extra
   geheugenbank voor de hoofdcomputer en als extra printer mogelijkheid.
 - In een onafhankelijk netwerkworden alle computers als assistent geinitialiseerd.
De LEERLING:
 - Dit is een computer/Disciple zonder diskdrive of printer. In een gedeeltelijk
   toegankelijk netwerk gebruikt hij de drive(s) en printer van de hoofdcomputer en de
   assistenten.  Er kunnen tot 54 leerlingen op een gedeeltelijk toegankelijk netwerk
    worden aangesloten.

OPZETTEN VAN EEN NETWERK.

Voor iedere computer is een afgeschermde kabel met twee standaard 3.5 mm jack-pluggen aan ieder eind nodig. Elke computer wordt door deze kabel met een van de andere in het netwerk verbonden. De volgorde is hierbij niet belangrijk. Wel moet er op gelet worden dat er geen gesloten 'lus' in het circuit ontstaat. (De 'eerste' en 'laatste' computer moeten dus elk maar een (1) aansluiting hebben.)

17
    HET GEDEELTELIJK TOEGANKELIJK NETWERK

De hoofdcomputer en de assistenten moeten een systeemfile laden dat passend is voor hun eigen drives en printers. Bij het opzetten van het systeemfile moet ieder zich als hoofd- of assistent computer hebben geidentificeerd, en de assistenten moeten elk een ander nummer opgegeven hebben (2 tot en met 9). Het is verstandig om de verschillende systeemfiles reeds op schijf te hebben weggeschreven.
De hoofdcomputer en de assistenten loaden normaal met RUN. Voor de leerlingen, die immers geen drive bezitten, moet de volgende methode gebruikt worden: 
Typ in :      FORMAT Nx   (x = nummer 10 - 63)  
In plaats van "N" mag ook "n" worden gebruikt. De Disciple begrijpt nu dat hij leerling in een netwerk is, met nummer x. Het netwerk is nu klaar voor gebruik. Let op dat het niet
mogelijk is om een Snapshotprogramma via het netwerk te versturen.

Hier volgen de mogelijkheden voor het gedeeltelijk toegankelijk netwerk:

- DE  HOOFDCOMPUTER  STUURT  EEN  PROGRAMMA  NAAR  ALLE
  ANDERE  COMPUTERS.
     Het programma moet reeds in de hoofdcomputer geladen zijn.
     De leerlingen typen in:     LOAD N0  (nul)
     De hoofdcomputer typt in:   SAVE N0
- EEN LEERLING  OF  ASSISTENT  ZENDT  EEN  PROGRAMMA  NAAR  ALLE
  COMPUTERS.
     Het programma moet in het geheugen van leerling of assistent aanwezig zijn. 
     Alle ontvangende computers typen in :    LOAD N0
     De verzendende computer typt in :        SAVE N0
- DE HOOFDCOMPUTER OF EEN ASSISTENT ZENDT EEN PROGRAMMA
  NAAR EEN  BEPAALDE LEERLING.
     Het programma moet reeds in het geheugen staan.
     De hoofdcomputer of assistent typt:      SAVE Nx  waarbij x het betreffende
     leerlingnummer is
     Leerling nr x typt in:                   LOAD N1
- EEN LEERLING OF EEN ASSISTENT ZENDT  EEN  PROGRAMMA  NAAR 
  EEN ANDERE LEERLING OF ASSISTENT.
    Het programma moet uiteraard in het geheugen aanwezig zijn.
    De verzender typt in:       SAVE Nontvangernummer
    De ontvanger typt in:       LOAD Nverzendernummer

In bovenstaande dienen beide partijen iets in te typen voordat de programma's verzonden worden. Dit geldt wanneer de ontvanger een leerling of een assistent is.

18

De hoofdcomputer hoeft niet altijd aktief te reageren op aanvragen van assistent of leerling. Zie de volgende commando's:

- EEN LEERLING VRAAGT EEN 'CAT' VAN DE HOOFDDRIVE.
      De leerling typt in:       CAT 1
- EEN LEERLING LAADT EEN PROGRAMMA VAN DE HOOFDDRIVE.
      De leerling typt in:       LOAD D1 "naam"
- EEN LEERLING  STUURT  EEN  PROGRAMMA  NAAR  DE  DRIVE  VAN  DE
  HOOFDCOMPUTER.
      De leerling typt in :      SAVE D1 "naam"

Het is een goede gewoonte, om in de naam van het programma, dat naar de hoofdcomputer wordt gezonden, aan te gegeven van welke leerling dit afkomstig is. Dit zou het nummer kunnen zijn.  Dit maakt het onderscheid tussen programma's van de verschillende leerlingen eenvoudiger.

De hoofdcomputer kan het beeldscherm van een leerling "stelen" om de vorderingen op dat moment te bekijken.Hiervoor wordt het speciale F commando gebruikt, waarop door de leerling niet hoeft te worden gereageerd.

- DE HOOFDCOMPUTER "STEELT" HET BEELDSCHERM  VAN  EEN
  LEERLING
     De hoofdcomputer typt in:         LOAD Fx SCREEN$
     Hierbij is x het nummer van de betreffende leerling. Het werk op computer x stopt
     tijdelijk, terwijl het beeldscherm naar de hoofdcomputer  wordt  verzonden.
     Daarna gaat de leerlingcomputer weer verder.
- DE HOOFDCOMPUTER  DWINGT  EEN  PROGRAMMA  NAAR  EEN 
  LEERLING
     De hoofdcomputer typt in:         SAVE Fx
                                          en/of       SAVE Fx CODE start,lengte
     Hierbij is x het leerlingnummer. 
     Het programma waar de leerling mee bezig was, is nu verloren.

Leerlingen kunnen via het netwerk geen programma's wissen en ook niet het "p" commando voor het laden gebruiken, maar de hoofdcomputer en de assistenten kunnen wel alle normale diskdrive commando's benutten, evenals de normale printercommando's.
De Snapshotknop werkt hier ook gewoon.

- OM HET WERK VAN EEN LEERLING UIT TE PRINTEN:
    De leerling stuurt het programma naar de drive  van  de hoofdcomputer  d.m.v.  
    SAVE  D1  "prognaam".  Dan  kan  de hoofdcomputer het programma laden en
    bekijken  met  LLIST, LPRINT, of COPY SCREEN$ 1 (of 2).  Ook kan de
    hoofdcomputer het scherm van een  leerling "stelen" en met de Snapshotknop 
    uitprinten.

Probeert iemand de diskdrive te bereiken, terwijl deze reeds in gebruik is, of met een station in contact te komen terwijl deze reeds met een netwerk-operatie bezig is, dan zal de Disciple de eerste opdracht afwerken alvorens met de volgende te beginnen. Er zal dan even gewacht moeten worden, maar het commando hoeft niet herhaald te worden. Is de netwerk operatie voltooid, dan verschijnt de 'OK boodschap'.

19
      HET ONAFHANKELIJK NETWERK.

Dit is een netwerk voor (officieel) 2 - 8 onafhankelijke computers, uitgerust met elk hun eigen disc-drives en mogelijk printers, en aan elkaar gekoppeld voor het uitwisselen van
programma's. Afwijkend van de opgaven van de fabrikant, blijkt het ook
mogelijk te zijn om tot maximaal 64 computers in een onafhankelijk netwerk te laten functioneren.

Sluit de computers aan zoals bij het gedeeltelijk toegankelijke netwerk. Elke computer moet zijn eigen systeemfile laden, waarin de netwerk-nummers 2 t/m 64 gekozen zijn. Geen van de computers is hierbij de hoofdcomputer nr 1.
Stond er in het systeemfile een nummer, dan kan direct met het netwerk begonnen worden. Is er geen nummer ingegeven, dan moet nu het FORMAT Nx commando worden gegeven waarbij x het nummer is.

Nu kunnen programma's als volgt worden verzonden:

- STUUR EEN PROGRAMMA NAAR ALLE COMPUTERS.
    Alle ontvangers typen in:         LOAD N0 (nul)
    De verzender typt nu in:          SAVE N0 (nul)
    0 (nul) betekent dat het programma naar alle computers verzonden moet worden.

- STUUR EEN PROGRAMMA NAAR 1 COMPUTER.
    De ontvanger typt:         LOAD Nverzendernummer
    De verzender typt:         SAVE Nontvangernummer

Alle normale Discple commando's voor (eigen) diskdrive en printer kunnen in het onafhankelijk netwerk worden gebruikt, maar NIET de commando's voor het gedeeltelijk toegankelijk netwerk.

20
    Disciple HOOK-CODES      

HOOK-CODES worden in machinecode gebruikt om de in ROM aanwezige subroutines voor de disk te benutten. Het zijn getallen die aan een RST 8 instructie meegegeven kunnen worden. ( DEFB xx ). Hookcode-routines keren in geval van een ERROR terug met de carry vlag gezet en het foutnummer in het A-register. (Niet bij LBYTE) 
Hookcode-routines kunnen de inhoud van de diverse registers beinvloeden. Vaak is een tabel in de vorm van een UFIA nodig, zie hieronder. Een soortgelijke tabel, genaamd DFCA (Disk File Channel Area) wordt in de Disciple bijgehouden. In Disciple-RAM
bevindt zich ook de Diskbuffer DBUF, met wijzer RPT.
                
 USER FILE INFORMATION AREA   (UFIA)

  Aantal bytes      Naam      Beschrijving

       1            DSTR1     	Drive nummer (1 of 2)
       1            FSTR1     	Programma nummer
       1            SSTR1     	Stream nummer
       1            LSTR1     	Device type (D of d)
       1            NSTR1    	Directory beschrijving (zie daar)
      10            NSTR2   	File naam
       1            HD00      	File type 
       2            HD0B     	File lengte
       2            HD0D      	Startadres van file
       2            HD0F      	File lengte, kale BASIC 
       2            HD11      	Autostart regelnummer (Basic)
Totaal   24 bytes

De volgende hook-codes worden door de Disciple herkend:          

        HXFER        #33  	51 dec.
        OFSM         	#34    	52 d
        HOFLE        #35    	53 d
        SBYT         	#36   	54 d
        HSVBK       	#37   	55 d
        CFSM         	#38   	56 d
        PNTP         	#39   	57 d
        COPS         	#3A 	58 d
        HGFLE        #3B  	59 d
        LBYT         	#3C 	60 d
        HLDBK       	#3D   	61 d
        WSAD         	#3E  	62 d
        RSAD         	#3F  	63 d 
        REST         	#40  	64 d
        HERAZ       	#41   	65 d
        COPS2        	#42   	66 d
        PCAT         	#43   	67 d
        HRSAD      	#44  	68 d
        HWSAD 	#45  	69 d
        OTFOC       	#46   	70 d
        PCATCH   	#47  	71 d

21

HXFER  51 #33    Verplaats de UFIA informatie naar de DFCA.  IX moet wijzen naar de UFIA.
                                                                
OFSM   52 #34    Open de filesector map met de informatie uit de  DFCA. De 11 bytes vanaf NSTR1 worden gebruikt om de filenaam te   vormen. Komt terug met de disk buffer pointer (RPT) wijzend naar  het begin van de Diskbuffer (DBUF).

HOFLE  53 #35    Open een file. IX moet wijzen naar de UFIA.  Deze routine combineert de functies van HXFER en OFSM, en zet  ook de 9 bytes header informatie vanaf HD00 naar het begin van  het file. 

SBYT   54 #36    Zet de byte in het 'A'register in DBUF, op de  plaats aangewezen door RPT. Werk RPT bij. Als de disk buffer vol  is, wordt een sector weggeschreven naar disk en RPT wordt teruggezet naar het begin van DBUF.

HSVBK  55 #37    Save een datablok naar schijf. Register DE wijst  naar het begin van de data en register BC bevat de lengte.
                                                              
CFSM   56 #38    Sluit file sector map. Deze routine maakt de  Diskbuffer leeg en kopieert de headergegevens naar de directory,  sluit het file, en werkt de directory bij.                      
                             
PNTP   57 #39    Verplaats de byte in het 'A'register naar de printerpoort, wanneer de printer niet meer 'busy' is.

COPS   58 #3A    Kopieert het scherm naar de printer in de resolutie zoals deze is ingesteld met de graphics variabelen.

HGFLE  59 #3B    Haal een file van disk. IX moet naar de UFIA wijzen. Keert terug met de eerste sector van het file in DBUF geladen en RPT wijzend naar het eerste byte (meestal staat hier de header-informatie.)
                 
LBYT   60 #3C    Laadt het 'A'register met een byte uit DBUF, aangewezen door RPT, en pas RPT aan. Als de buffer leeg is, wordt nog een sector vanaf de disk gelezen.
 (Let op: de routine test niet of er nog wel een sector is, dit kan tot problemen leiden.)

22
                               
HLDBK  61 #3D    Laadt een datablok met lengte BC van schijf,  naar het geheugengebied aangewezen door DE.
                                                             
WSAD   62 #3E    Schrijft de inhoud van DBUF naar sector E van track D op schijf. Zet de pointer RPT aan het begin van DBUF.

RSAD   63 #3F    Leest de sector E van track D in DBUF en zet de pointer RPT aan het begin van DBUF.

REST   64 #40    Zet de arm van de drive op track 00. Het drivenummer wordt uit DFCA gehaald.

HERAZ  65 #41    Wist het file van schijf met gebruik van de informatie uit de UFIA, wees dus zeker dat IX hier naar wijst.

COPS2  66 #42    Kopieert het scherm naar de printer op A4 formaat en in grijstinten. (Gelijk aan SAVE SCREEN$ 2)

PCAT   67 #43    Verzendt de catalogus via een stream. Deze hookcode werkt niet by SYSfile versies < 3D. Gebruik HXFER om de UFIA naar DBUF te sturen. 
De UFIA moet geprepareerd worden: 
    DSTR1 = Drive nr, SSTR1 = Stream nr (indien discfile, dan op dezelfde drive),
    HDOO  = 2 = korte CAT, 4 = normaal,
    NSTR2 ="*" voor volledige of anders voor selectieve CAT.
 Let op: doet geen CLS. Door een Disciple-bug kan de Directory niet in een Open-type-file gezet worden

HRSAD  68 #44    Leest sector E van track D op drive A naar adres in IX. - is  hetzelfde  als  het Basic commando LOAD @.         
                              
HWSAD  69 #45    Gelijk aan HRSAD, maar schrijft een sector weg.

OTFOC  70 #46    Open of sluit een Open-type-file.
 Deze hookcode werkt niet bij SYSfile versies < 3D.
 Indien A=0, dan open een file via HXFER. Indien A <> 0, dan stream A sluiten.

PATCH  71 #47    Keert terug met de Disciple ingepaged.
 Het 'HL'register bevat 0 bij PLUS-D en 1 bij een DISCIPLE.

23
    VOORBEELDEN DISCIPLE HOOK-CODES

In beide voorbeelden wordt gebruik gemaakt van de zgn. 'UFIA', een tabel met gegevens over het te benaderen bestand. Voordat de eigenlijke M.C.routines gerund kunnen worden moeten eerst hierin de juiste waarden staan. Hier gebeurt dit door de gewenste waarden als DEFW en DEFB mee te geven.

In dit voorbeeld wordt een SCREEN$ gesaved:

      	ORG 49000
Save  	LD  IX,DSTR1  	;Wijs naar UFIA       	DD21E8BF 
      	RST 8         	;Open file, zet header      	CF
      	DEFB #35      	;HOFLE                      	35
      	LD  DE,(HD0D) 	;file adres                 	ED5BFABF
      	LD  BC,(HD0B) 	;file lengte                	ED4BF8BF
      	RST 8         	;Save data naar disk        	CF
      	DEFB #37      	;HSVBK                      	37
      	RST  8        	;Close file                 	CF
      	DEFB #38      	;CFSM                       	38
      	RET                                   			C9

In dit voorbeeld wordt een SCREEN$ geload:

      	ORG 49100
Load  	LD  IX,DSTR1  	;Wijs naar UFIA 	 	DD21E8BF
      	RST  8        	;Haal file-data    	 	CF
      	DEFB #3B      	;HGFLE                      	3B
      	LD   DE,HD00  	;Wijs naar headerbytes      	11F7BF
      	LD   B,9      	;aantal headerbytes         	0609
loop  	RST  8                                    		CF
      	DEFB #3C      	;LBYT                       	3C
      	LD   (DE),A                               		12
      	INC  DE                                   		13
      	DJNZ loop                                 		10FA
      	LD   DE,(HD0D)	;geheugenadres             	ED5BFABF
      	LD   BC,(HB0B) 	;aantal bytes              	ED4BF8BF
      	RST  8        	;Laad datablok              	CF
      	DEFB #3D      	;HLDBK                      	3D
      	RET                                       		C9

;UFIA   ( User File Information Area )

DSTR1	DEFB 1             		;Drive            	01        
FSTR1	DEFB 0             		;hier nvt         	00
SSTR1	DEFB 0             		;hier nvt         	00
LSTR1	DEFB "d"           		;Device           	64 
NSTR1	DEFB 7             		;Screen$          	07
NSTR2	DEFM "Filenaam.."  	;filename         	54727920312020202020
HD00	DEFB 3             		;Code file        	03
HD0B	DEFW 6912      		;Lengte           	001B
HD0D	DEFW 16384    		;Begin            	0040
HD0F	DEFW 0             		;hier nvt         	0000
HD11	DEFW #FFFFh		;Ongebruikt       	FFFF 

24
    DE DIRECTORY

Voor elk bestand wordt in de directory (catalogus) een ruimte van 256 bytes gereserveerd. Op een DSDD schijf is ruimte voor 80 bestanden, en is de totaal gereserveerde ruimte dus 20 Kb. De directory is te vinden op de sporen 0 t/m 3. Elk spoor bevat 10 sectoren van 256 bytes (SD) of 512 bytes (DD). In SD vinden we dus 1 file per sector en in DD 2 files.

De indeling van een sector in de directory is als volgt:

 Byte nr:    	Naam:	   Beschrijving:

 0          	NSTR1	Directory omschrijving. zie blz 25
 1 - 10  	NSTR2 	Naam van het programma
 11 - 12  		Aantal sectoren, hoge byte eerst.
 13       		Eerste spoornummer, + 128 voor kant 2.
 14  		Eerste sectornummer.
 15 - 209		Bitmap van alle sectoren, zie blz 25.
 210     		Bevat hoogste byte, indien de lengte van een file groter is dan
		 64K. (rest in HD0B) 
De volgende 9 bytes bevatten in het geval van een Basic, Array, Code of Screen$ file een copy van een deel van de UFIA als beschreven op blz. 20. Dezelfde bytes worden bij een Basic, Array, Code en Screen$ file ook vooraan op de eerste sector  van het eigenlijke file gezet.
 211        	HD00 	File type. zie blz 25.
 212 - 213   	HD0B 	Lengte van het file. Ook bij OPENTYPE file
 214 - 215   	HD0D	Startadres van de file.
 216 - 217   	HD0F	BASIC: lengte van het programma zonder de variabelen.
                      		ARRAY: Byte 216 bevat de karaktercode van de variabele +
		                 96 voor een string en 32 voor een nummeriek array. 
		                 217 bevat 255.
                      		CODE of SCREEN$ : 255,255 = 65535
  218 - 219   	HD11    	BASIC : Autostart regelnummer, anders 65535
                      		CODE : Uitvoeradres zoals gedefinieerd in het 3e getal achter
		              CODE bij SAVEn, anders 0.
                      		SCREEN$ of ARRAY : 65535.
  220 - 241  	Hier staat de inhoud van de Z80-registers zoals die bij een SNAPSHOT-file
 	geSAVEd werden. Respectievelijk IY, IX, DE', BC', HL', IF, DE, BC, HL,
 	IF opnieuw en SP. Op de STACK (in het gewone geheugen dus) staan PC,
 	AF en RF. Bij een 128K SNAPSHOT staat er een extra getal op de
	STACK, de inhoud hiervan is nog niet bekend.
	LET OP: AF' wordt helemaal niet bewaard!  
  242 - 255    	Niet gebruikt.

25

      DIRECTORY OMSCHRIJVING         	FILE TYPE

          1  Basic file                			0  Basic file
          2  Data arry                 			1  Data array
          3  String array              			2  String array
          4  Code file                 			3  Code file
          5  Snapshot 48K
          6  Microdrive file
          7  Screen$ file
          8  Speciale file
          9  Snapshot 128K
         10  Opentype file
         11  Executefile

  De Sector-bitmap:

Elk bestand op de schijf heeft een eigen 'bitmap'. Hierin is voor elke sector (te beginnen met track 4, sector 1) een bit gereserveerd. Deze zijn normaal gereset (0). Voor sectoren die door het bestand in gebruik genomen zijn, zijn de corresponderende bits 'geset' (1).
De opeenvolgende sectoren gebruiken opeenvolgende bits, van het laagste naar het hoogste bit.  Voorbeeld:  
Sector 1 van track 4 wordt weergegeven door bit 0 van de eerste byte in de map, dit is byte 15, Sector 2 door bit 1, Sector 9 en 10 door bit 0 en 1 van byte 16. Sector 1 van track 5 wordt weergegeven door bit 2 van byte 16 enz.
De lengte van de 'bitmap is afhankelijk van het diskformaat, hierdoor neemt de bitmap niet altijd de volledige gereserveerde ruimte in beslag.

Wanneer van schijf gewisseld wordt op grond van een opgetreden fout, waarbij dus het programma stopte met een melding, (zoals bijvoorbeeld 'Disk Write Protected'), dan wordt de 'oude' bitmap (bewaard in Disciple RAM) NIETongeldig verklaard! Dit zou wel
moeten, omdat er geen garantie is dat er met dezelfde schijf wordt verder gewerkt. Deze misser kan funeste gevolgen hebben. Geef daarom in deze gevallen ALTIJD een POKE @ 6999,0. (Zie daar.)

26
    VOORBEELD:        LOAD @n,t,s,adres

Met deze commando's is het mogelijk sectoren van een schijf te laden, te bekijken, eventueel te veranderen, en terug te zetten. Wordt een sector naar een schijf weggeschreven, dan is de oude sector die hier stond voorgoed verdwenen. Bij vergissingen kan op deze wijze ONHERSTELBARE SCHADE worden aangericht. Wees er zeker van dat de juiste sector op de juiste plaats op de juiste schijf terecht komt. LET DAAR GOED OP.

Het volgend programma haalt sectors op van een gekozen file:

  10 CLEAR 26999
  20 REM LET sd=1: REM indien single density
  24 LET sd=2: REM indien double density
  30 LET dn=1: REM drivenr (1 of 2)
  50 CLS: CAT dn
  90 INPUT "Programma nummer : ";p
  92 IF p>80 THEN GO TO 90: REM max. 80 prog op 1 schijf
 100 LET t=INT ((p-1)/(10*sd): REM bereken track in dir.
 110 LET s=INT ((p/sd)-(t*10)+.5): REM sector in dir.
 120 LOAD @*,t,s,27000
 130 LET y=27000:IF sd=2 AND p/2=INT (p/2) THEN LET y=27256
 135 REM DD = 2 prog's per sector, SD = 1.
 200 LET type=PEEK y: REM haal gegevens over file
 210 LET n$="": FOR f=1 TO 10: LET n$=n$+CHR$ PEEK (y+f): NEXT f
 220 CLS : PRINT "Type: ";type;"  Prog.naam    ";n$
 230 PRINT '"Aantal sect. ";256*PEEK (y+11)+PEEK (y+12)
 240 LET st=PEEK (y+13): PRINT '"Starttrack  ";st
 250 LET ss=PEEK (y+14): PRINT '"startsector  ";ss
 260 LET adres=28000: LOAD @1,st,ss,adres

We hebben nu de eerste sector van het file ingeladen met als parameters starttrack, startsector, en een adres. We kunnen de inhoud van deze sector bekijken d.m.v. GOTO 400, of, bij een kort programma, de overige sectoren inladen. 
De sector waarin het het volgende stuk bestand staat, wordt aangewezen door de laatste twee bytes van iedere sector. Byte 510 (of 254) geeft het tracknummer en byte 511 (of 255) het sectornummer.

 270 LET vt=PEEK (adres+(256*sd)-2):REM 254/510
 280 LET vs=PEEK (adres+(256*sd)-1):REM 255/511

Indien er geen volgende sector is, dan is vt=0.

 290 IF vt=0 THEN GO TO 400: REM klaar met laden

Is er nog wel een sector, dan wordt 'adres' verhoogd met 510 (254) (de laatste 2 bytes v.d. sector worden overschreven) en kan de volgende sector geladen worden. Dan terug naar regel 270, tot er geen volgende sectoren meer zijn

 300 LET adres=adres+(256*sd)-2
 310 LOAD @1,vt,vs,adres: GO TO 270

27

We zijn nu klaar met laden, en bekijken de ingeladen sectoren.

 400 CLS : FOR 28000=y TO adres: PRINT k;"  ";PEEK k,
       CHR$ PEEK k AND PEEK k>31: NEXT k

Let op dat er bij de meeste filetypen in de eerste 9 bytes een gedeelte van de UFIA gecopieerd is.

28 
    CONVERSIE  Sys 3a, 3b en 3c tot (verbeterd) Sys 3d.

  10 RESTORE: REM GDOS 3a, 3b en 3c >>>> 3d
  30 READ adres: IF adres=99999 THEN GO TO 90
  40 READ getal: IF getal=-1 THEN GOTO 30
  50 POKE @adres,getal: LET adres=adres+1: GOTO 40
  90 SAVE d*"Sys 3d"CODE 0,6656: STOP
 100 REM printer:110, interrupt:140, OFTOC:170, stream d2:200
         freespace:270, screen$1:290, keyscan:310, close#:330
         128k-return:360, commandcod:390, pcat:420, move:470
         "d":520
 110 DATA 4932,205,221,40,201,58,163,2,167,
          32,5,219,31,203,119,192,55,201,-1
 120 DATA 478,205,224,21,216,0,-1
 140 DATA 65372,243,0,0,-1
 150 DATA 407,251,0,0,33,118,27,-1
 170 DATA 65519,167,202,97,18,195,12,20,-1
 180 DATA 665,135,2,-1
 200 DATA 4183,205,132,41,0,0,0,-1
 210 DATA 4269,205,132,41,0,0,0,-1
 220 DATA 4784,205,132,41,201,205,57,21,195,168,
          41,205,76,21,205,47,13,201,205,121,21,
          195,201,41,205,57,21,195,156,41,205,121,21,
          195,165,41,205,57,21,-1
 230 DATA 627,57,21,76,21,82,21,195,41,89,21,129,41,
          8,25,76,22,95,21,162,41,101,21,196,21,189,
          21,186,41,107,21,178,22,170,8,130,
          21,160,21,135,2,53,5,-1
 240 DATA 4169,202,0,22,-1
 250 DATA 4968,229,42,150,2,124,181,202,61,19,195,88,41,-1
 270 DATA 1616,197,203,127,40,1,135,214,4,33,0,
          0,6,10,22,0,95,25,16,253,193,0,0,-1
 290 DATA 5322,241,62,56,-1
 310 DATA 99,0,0,0,-1
 330 DATA 4513,205,237,21,-1
 340 DATA 4949,221,94,17,221,86,18,221,126,11,
          50,206,26,205,198,41,205,129,41,201,-1
 360 DATA 1322,195,12,22,-1
 370 DATA 4980,253,203,1,102,202,79,0,205,0,91,
          243,1,199,0,195,70,0,-1
 390 DATA 667,107,19,-1
 400 DATA 4307,225,33,0,0,34,150,2,35,201,-1
 420 DATA 1554,205,132,41,58,16,30,0,0,0,0,0,-1
 430 DATA 5858,29,60,-1
 440 DATA 5880,29,60,-1
 450 DATA 5897,2960,-1
 470 DATA 1323,13,22,-1
 480 DATA 4305,24,31,-1
 490 DATA 4742,0,0,0,0,-1
 500 DATA 4974,225,202,61,19,195,88,41,253,203,1,102,
          202,79,0,205,0,91,243,1,199,0,195,70,0,-1
 520 DATA 5960,100,-1,99999
9999 REM SAVE d*"SYS3d.CONV"

29
    TECHNISCH SPECIFICATIES

Compatibility: 	Met de gehele serie ZX Spectrum computers, inclusief de ZX Spectrum
		128K. Uigezonderd zijn de +3, en sommige +2 modellen.

Afmetingen:         295mm lang x 94mm diep x 27 mm hoog  (achterkant)

Voedingspanning:    De DISCiPLE wordt via de uitbreidingspoort gevoed uit de
		    Spectrum voeding.   

Disk interface:     	Standaard SA400 en enkele/dubbele dichtheid uitvoering. Shugart
 		compatible.
Connector:          	Een BBC Micro-type 34 pens IDC connector met de mogelijkheid om 		twee diskdrives aan te sluiten met 3.5" of 5.25" schijven.

Data overdacht standaard:           125 Kbits/sec  250 Kbits/se
Nominale toegangs en laadtijd:    800 mSeconde   350 mSeconde (van een 7K screen)

Specifieke toegangs/laadtijd:       	1 seconde    	 0.5 second
Opslag capaciteit:                   	Enkele           	Dubbele
  (geformatteerd)                    	Dichtheid (SD)  	Dichtheid (DD)
        40 tracks enkelzijdig           	90K            	180K
        40 tracks dubbelzijdig         	190K            	380K
        80 tracks enkelzijdig          	190K            	380K
        80 tracks dubbelzijdig         	390K            	780K

PRINTER INTERFACE:  	Standaard centronics parallel.
                    		8 bits data uitvoer met strobe lijn.
                    		1 bit invoer op BUSY lijn.
Connector:          	26 pens (BBC Micro-type) IDC compatible
                    	voor 36 pins printer vrbinding.
Driver:             	Aanwezig in disk operating system met standaard LPRINT/LLIST
 		commando's en hoge resolutie scherm en user-defined graphics
		mogelijkheid.

JOYSTICK INTERFACE:	Kempston of Sinclair norm voor joystick 1;   
                    		Sinclair norm voor tweede joystick.
Connector:          		9 pins 'D' type Atari standaard connector.
                    		Zgn 'Autofire' niet mogelijk.

NETWERK SYSTEEM:   	Sinclair Interface 1 te gebruiken.
Connectoren:        	2 PC- Jack chassisdelen - 3.5 mm.
Software Driver:    	Disk operating system ondersteunt fileserver en resource
 			facility.

30
      POORT GEGEVENS:

          	Dec 	Hex	IN  	OUT
-----------------|--------|--------|-----------------|---------------------
DISK  	27	1B	status reg	command reg
           	91	5B	track reg	track reg
          	155	9B	sector reg	sector reg
          	219	DB	data reg	data reg
---------------------------------------------------------------------------------------------------------
CONTROLE 	31     	1F	joystick 1	'control'vlaggen
       en            	Bit 0	rechts	drive 1 of 2
JOYSTICK              	Bit 1	links	disk zijde 
                      		Bit 2	omlaag	SD/DD dichtheid
                      		Bit 3	omhoog	keuze rom bank
                      		Bit 4	vuur	inhibit knop a/u
                      		Bit 5	------	ext. Hardwareselect
                      		Bit 6	prntrbusy	printerstrobe
                      		Bit 7	netwerk	netwerk
---------------------------------------------------------------------------------------------------------
NET	59	3B	1 = wacht	---------
BOOT	123	7B	set boot	reset boot 
PATCH	187	BB	set patch	reset patch 
PRINTER	251	FB	---------	printer data uit
JOYSTCK2	254	FE	joystick 2	----------

31
    PEN-BESCHRIJVING  DISK-CONNECTOR

_________________________________________________
|                                                     |
| 33 31 29 27 25 23 21 19 17 15 13 11  9  7  5  3  1  |
|                                                     |
|  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  |
|                                                     |
|                                                     |
| 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2  |
|                                                     |
|  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  |
|_____________________________________________________|
      Nummering, gezien vanaf de achterkant van de Disciple

                                        
 Pinnr.				DATA richting, gezien vanuit  Disciple

    8	Indexpuls		IN
   10	Disk 1 keuze		OUT
   12	Disk 2 keuze		OUT
   16	Motor aan signaal	OUT
   18	Stap richting		OUT
   20	Stap pulse		OUT
   22	Schrijf data		OUT
   24	Schrijf poort		OUT
   26	Track 00			IN
   28	Schrijf beveiliging	IN
   30	Lees data		IN
   32	Selectie kant		OUT

    1 t/m 33  Alle 0 volt (massa)

 N.B. Dit is 'Shugart' compatible, een norm waar bijna alle drives aan voldoen.

32
    PEN-BESCHRIJVING  PRINTER-CONNECTOR
 
_______________________________________________________
||                                                   ||
|| 25  23  21  19  17  15  13  11  9   7   5   3   1 ||
||                                                   ||
|| 0   0   0   0   0   0   0   0   0   0   0   0   0 ||
||                                                   || 
||                                                   ||
||                                                   ||
|| 26  24  22  20  18  16  14  12  10  8   6   4   2 ||
||                                                   ||
|| 0   0   0   0   0   0   0   0   0   0   0   0   0 ||
||___________________________________________________||
       Nummering gezien vanaf de zijkant van de Disciple

  Pinnr.			DATA richting, gezien vanuit  Disciple

    1	Printer strobe	OUT
    3	Data bit 0	OUT
    5	Data bit 1	OUT
    7	Data bit 2	OUT
    9	Data bit 3	OUT
   11	Data bit 4	OUT
   13	Data bit 5	OUT
   15	Data bit 6	OUT
   17	Data bit 7	OUT
   21	Input Busy	IN

   2 t/m 22  Alle 0 volt (massa)

N.B. Dit is 'Centronics' compatible.

33
     FOUTMELDINGEN IN GDOS

0     Nonsens in GDOS       	:gelijk aan Nonsens in Basic
1     Nonsens in GNOS       	:fout tijdens netwerk toepassing
2     Statement END error
3     BREAK requested       	:er is op de BREAKtoets gedrukt
4     SECTOR error          		:zie hieronder        
5     FORMAT data lost      	:zie hieronder
6     NO DISK in drive
7     No "SYSTEM" file
8     Invalid FILE NAME
9     Invalid STATION       	:tijdens netwerk
10    Invalid DEVICE        		:het 'channel' bestaat niet
11    VARIABLE not found
12    VERIFY failed
13    Wrong FILE type
14    MERGE error
15    CODE error            		:
16    PUPIL set             		:tijdens netwerk
17    Invalid CODE          		:
18    Reading a WRITE file  	:file is geopend met OUT
19    Writing a READ file   	:file is geopend met IN
20    O.K. GDOS 3           		:gelijk aan 0 O.K. boodschap
21    Network OFF
22    Wrong DRIVE
23    Disc write PROTECTED  	:BELANGRIJK: zie hieronder
24    Not enough SPACE on disc
25    Directory FULL        		:meer dan 80 bestanden op schijf
26    File NOT FOUND
27    END of file
28    File NAME used
29    Not a MASTER station  	:tijdens netwerk
30    STREAM used
31    CHANNEL used

5 FORMAT DATA LOST   Als deze foutmelding verschijnt, zet dan direct alles wat nog
    wel goed op deze schijf staat over op een andere. Probeer dan de schijf opnieuw te
    formatteren. Lukt dit, dan is de schijf weer te gebruiken, maar opslaan van belangrijke
    programma's op zo'n schijf wordt afgeraden.

4 SECTOR ERROR t,s   (track- en sectornr.) De aangegeven sector op de schijf is
    beschadigd, en lezen of schrijven van/naar deze sector is onmogelijk geworden. Met
    het volgende programma is het soms mogelijk deze fout te herstellen:
   10 LET t= (vul hier tracknr in): LET s= (vul hier sectornr in)
   20 FOR f=62000 TO 60012: READ g: POKE f,g: NEXT f
   30 RANDOMIZE USR 62000
   100 DATA 22,t,30,s,213,207,63,67,209,207,62,167,201
   De sector wordt nu in mcode ingelezen en weer weggeschreven, waardoor de fout
   misschien hersteld wordt.

23 DISC WRITE PROTECTED   De schijf is beveiligd tegen schrijven,
     Na het optreden van deze fout ALTIJD invoeren:  POKE @6999,0.  Zie bij POKE @.

34
    OVERZICHT  DISCIPLE  COMMANDO'S  met korte omschrijving.

Algemeen
RUN                             		Start systeem op

Diskhandelingen  ( D1 = D1,D2,D*,d1,d2,d* ;  n = getal )

CAT 1				Toont catalogus
CAT 1!				Toont verkorte catalogus
SAVE D1 "Naam"		Save file naar aangegeven disk
VERIFY D1 "naam"		Controleert weggeschreven file
LOAD D1 "naam" (code)		Laadt file (behalve snapshots)
LOAD D1 "naam" S		Laadt 48K snapshot file
LOAD D1 "naam" K		Laadt 128K snapshot file
LOAD D1 "naam" SCREEN$	Laadt screen$ file
LOAD p n			Laadt programma nummer n
ERASE D1 "naam" TO "nwenaam"	Geeft file andere naam
ERASE D1 "naam"		Verwijdert een file
SAVE D1 "naam" TO D1 "naam"	Copieert een file
SAVE D1 "naam" TO D1 (of D2)	Backup naar andere schijf
FORMAT D1			Formatteert diskette in dd
FORMAT SD1			Formatteert diskette in sd
FORMAT D1 TO D2		Formatteert in drive 1, en
copieert schijf 2 naar schijf 1
OPEN # n;D1"naam" IN (of OUT)	Opent een file via stream (n)
CLOSE #* n			Sluit file en stream (n)
CLOSE #*			Sluit alle open files
CLEAR #			Wist alle streams en channels
MOVE D1 "naam" TO # n		Zendt betr. file naar stream (n)
MOVE D1 "naam" TO D1 "naam"	Zendt file naar tweede file
SAVE D1 "naam"X,Adres		Save Execute-file (1 sector) 
LOAD D1 "naam"X		Load + Run Execute file (in DRAM)
LOAD @  D,T,S, Adres		Leest Track/Sector in op Adres
SAVE @  D,T,S, Adres		Schrijft Track/Sector van Adres
CLS #				Scherm schoon met standaard ATTR

Printer handelingen:

LLIST				Print een listing
LPRINT "tekst"			Print een tekst
SAVE SCREEN$1		Print copy van screen
COPY SCREEN$1
SAVE SCREEN$2		Print dubbelgroot copy v. screen
COPY SCREEN$2
LPRINT TAB n; "tekst"		Print op positie n van de regel
LPRINT  AT m,n; "tekst"		Print op positie n van regel m

35
    Overzicht  Netwerk commando's: 

  x = station-nr            	Master     = Mr     = 1  (hoofdcomputer), 
  s = zendernr              	Assistent = Ass  = 2 tm 9, 
  r = ontvangernr           	Leerling    = Ll      = 10 tm 63.

OUT 31,16              	Leerling schakelt DISCIPLE in. (verouderd)
FORMAT Nx              	Initialiseer Station met nummer
LOAD N0 }    		Mr, Ass, of Ll zendt file naar alle andere stations
SAVE N0 }
SAVE Nr }    		Ll of Ass zendt file naar een (1) andere Ll of Ass
LOAD Ns }
CAT  1                 		Ll vraagt CAT. van master diskdrive
LOAD D1 "file-naam"    	Ll laadt van  master diskdrive
SAVE D1 "file-naam"    	Ll saved naar master diskdrive
LOAD Fx SCREEN$        	Master 'steelt' screen van Ll x
SAVE Fx                		Master dwingt programma naar Ll x

Snapshot-mogelijkheden:

CAPS SHIFT + Snapshot Button stopt het programma tijdelijk;
 de volgende keuzes zijn mogelijk:

1  - 32-kolom screen dump naar printer 
2  - A4 screen dump printer
3  - Save screen    
4  - 48K snapshot save  
5  - 128K snapshot save

36

This are the JEDEC-files of the DISCIPLE PAls
Given here in case one or both of the PAL burns out......

Disciple PAL  ic8  --------  DUM 8 -------------

20L8-15/-25
Fuse map universal device programmer*
L00000 1111111111111111111111111111111111111111*
L00040 1111111111111011111111111011011111111111*
L00080 1111111111111011111110111111011111111111*
L00120 1111101010111011111111111011101110101010*
L00160 0000000000000000000000000000000000000000*
L00200 0000000000000000000000000000000000000000*
L00240 0000000000000000000000000000000000000000*
L00280 0000000000000000000000000000000000000000*
L00320 1111111111111111111111111111111111111111*
L00360 1111111111111101111111111111111111111111*
L00400 1110111111111111111111111001111111111111*
L00440 0000000000000000000000000000000000000000*
L00480 0000000000000000000000000000000000000000*
L00520 0000000000000000000000000000000000000000*
L00560 0000000000000000000000000000000000000000*
L00600 0000000000000000000000000000000000000000*
L00640 1111111111111111111111111111111111111111*
L00680 1111111111111111111111111110111111111111*
L00720 1111111111011111111111111111111111111111*
L00760 1111111111111111101111111111111111111111*
L00800 1110111111111111111110111111111111111111*
L00840 0000000000000000000000000000000000000000*
L00880 0000000000000000000000000000000000000000*
L00920 0000000000000000000000000000000000000000*
L00960 1111111111111111111111111111111111111111*
L01000 1111111111111111111111011111111111111111*
L01040 1111111111111111101111111111111111111111*
L01080 1011111111111111111111111011111111111111*
L01120 0000000000000000000000000000000000000000*
L01160 0000000000000000000000000000000000000000*
L01200 0000000000000000000000000000000000000000*
L01240 0000000000000000000000000000000000000000*
L01280 1111111111111111111111111111111111111111*
L01320 1111111111111111110111111111111111111111*
L01360 1011111111111111111110111111111111111111*
L01400 0000000000000000000000000000000000000000*
L01440 0000000000000000000000000000000000000000*
L01480 0000000000000000000000000000000000000000*
L01520 0000000000000000000000000000000000000000*
L01560 0000000000000000000000000000000000000000*
L01600 0000000000000000000000000000000000000000*
L01640 0000000000000000000000000000000000000000*
L01680 0000000000000000000000000000000000000000*
L01720 0000000000000000000000000000000000000000*

37

L01760 0000000000000000000000000000000000000000*
L01800 0000000000000000000000000000000000000000*
L01840 0000000000000000000000000000000000000000*
L01880 0000000000000000000000000000000000000000*
L01920 1111111111111111111111111111111111111111*
L01960 1111111111111101111111011011101111101010*
L02000 1111111111111101110111111011101111100110*
L02040 0000000000000000000000000000000000000000*
L02080 0000000000000000000000000000000000000000*
L02120 0000000000000000000000000000000000000000*
L02160 0000000000000000000000000000000000000000*
L02200 0000000000000000000000000000000000000000*
L02240 1111111111111111111111111111111111111111*
L02280 1111111111111101110111111011101111101010*
L02320 1111111111111101110110111111101111101010*
L02360 1111111111111101111111011011101111100110*
L02400 1111111111111101111110011111101111100110*
L02440 0000000000000000000000000000000000000000*
L02480 0000000000000000000000000000000000000000*
L02520 0000000000000000000000000000000000000000*
C7C65*
------ 004B (programmer check)

Disciple PAL  ic9     -----  DEE 9  ------------

20L8-15/-25
Fuse map universal device programmer*
L00000 1111111111111111111111111111111111111111*
L00040 0111010101111011111110110111101101010111*
L00080 0000000000000000000000000000000000000000*
L00120 0000000000000000000000000000000000000000*
L00160 0000000000000000000000000000000000000000*
L00200 0000000000000000000000000000000000000000*
L00240 0000000000000000000000000000000000000000*
L00280 0000000000000000000000000000000000000000*
L00320 1111111111111111111111111111111111111111*
L00360 0111100110111011111110110111101101010101*
L00400 0000000000000000000000000000000000000000*
L00440 0000000000000000000000000000000000000000*
L00480 0000000000000000000000000000000000000000*
L00520 0000000000000000000000000000000000000000*
L00560 0000000000000000000000000000000000000000*
L00600 0000000000000000000000000000000000000000*
L00640 1111111111111111111111111111111111111111*
L00680 1011100110111111101110110111011101010111*
L00720 0000000000000000000000000000000000000000*
L00760 0000000000000000000000000000000000000000*
L00800 0000000000000000000000000000000000000000*
L00840 0000000000000000000000000000000000000000*
L00880 0000000000000000000000000000000000000000*

38

L00920 0000000000000000000000000000000000000000*
L00960 1111111111111111111111111111111111111111*
L01000 0111010101111111101110110111011101011011*
L01040 0000000000000000000000000000000000000000*
L01080 0000000000000000000000000000000000000000*
L01120 0000000000000000000000000000000000000000*
L01160 0000000000000000000000000000000000000000*
L01200 0000000000000000000000000000000000000000*
L01240 0000000000000000000000000000000000000000*
L01280 1111111111111111111111111111111111111111*
L01320 0111100101111111111110110111101101010111*
L01360 1010101010111111101101110111101110101011*
L01400 0110011010111111101101111011011101101011*
L01440 1001101001111111101101110111011101101011*
L01480 1010101010111111101101111011101110100111*
L01520 0000000000000000000000000000000000000000*
L01560 0000000000000000000000000000000000000000*
L01600 1111111111111111111111111111111111111111*
L01640 0111010110111111111110110111101101010111*
L01680 0000000000000000000000000000000000000000*
L01720 0000000000000000000000000000000000000000*
L01760 0000000000000000000000000000000000000000*
L01800 0000000000000000000000000000000000000000*
L01840 0000000000000000000000000000000000000000*
L01880 0000000000000000000000000000000000000000*
L01920 1111111111111111111111111111111111111111*
L01960 1011110111111111111110110111101101010111*
L02000 0000000000000000000000000000000000000000*
L02040 0000000000000000000000000000000000000000*
L02080 0000000000000000000000000000000000000000*
L02120 0000000000000000000000000000000000000000*
L02160 0000000000000000000000000000000000000000*
L02200 0000000000000000000000000000000000000000*
L02240 1111111111111111111111111111111111111111*
L02280 1011100110111011111110110111011101010111*
L02320 0000000000000000000000000000000000000000*
L02360 0000000000000000000000000000000000000000*
L02400 0000000000000000000000000000000000000000*
L02440 0000000000000000000000000000000000000000*
L02480 0000000000000000000000000000000000000000*
L02520 0000000000000000000000000000000000000000*
C59C4*
------ FFF9 (programmer check)

*** einde disciple handboek