Get the original WordStar documents: INHOUD.DOC en MANUAL.DOC

TYZACK 64-M GEBRUIKERSHANDBOEK

CASIA CORPORATION HOLLAND 1990

© 1990 AB, inc.

Inhoud

Algemeen  1
Uitpakken1
Digitizer3
Geluids processors5
Speech synth8
Algemene commando's11
Sampler13
 
Appendix A18
Appendix B19
Appendix C20

Algemeen

Het Tyzack 64M systeem wordt algemeen beschouwd als het beste 8-bit systeem ter wereld. Het huidige systeem is opgebouwd uit een MSX 2 en een MSX 1. Het hoofdsysteem is de MSX2. De MSX neemt het sample-werk voor zijn rekening. Verder heeft het systeem seriële poorten, parallele poorten, een digitizer, een stereo sampler, extra toegevoegde geluidsgeneratoren, een MIDI interface, joystick aansluitingen, mogelijkheden voor meerdere monitoren met verschillende beelden. Maar gezien het feit dat de Tyzack aanhang alleen maar bestaat uit echte Tyzack fans mogen deze gegevens als bekend worden verondersteld.

Er wordt door Casia's technische afdeling gewerkt aan de opvolger voor het Tyzack 64M systeem, te weten de VSD DADP GNTP. Meer informatie hierover is vanzelfsprekend te verkrijgen bij Casia Info Service, inc.

Het Uitpakken

Het Tyzack 64M systeem wordt geleverd in een royale doos, waarin onder meer ook het toetsenbord, dit Gebruikershandboek, de nodige aansluitgegevens en de papieren voor Casia's levenslange garantie. Het uitpakken van het systeem is simpel: alles uit de doos halen, schuimplastic blokken verwijderen, etc. Het bekende werk. Nu wil iedereen natuurlijk gelijk resultaten. Dat kan echter niet met een Tyzack, want eerst moet het systeem worden aangesloten. Hier begint het typisch-tyzack achtige te werken. Tyzack heeft namelijk veel aansluitingen. Nu hoeven deze natuurlijk niet allemaal te worden aangesloten. Om te beginnen is het noodzakelijk de TV of Monitor aan te sluiten, 220 volten erin te stoppen en om het toetsenbord in te pluggen. Zie Appendix C voor deze aansluitingen. Nu kan Tyzack aan. Dit gebeurt met de mini-schakelaar onderop. Op de TV (kanaal 36) of op de monitor verschijnt nu als het goed is:

MSX-BASIC version 2.0
(C)1985 Microsoft coorporation
TYDOS version 1.0
(C)1989 Casia, inc.

*** TYZACK 64-M ***

Ready.
_

Als dit inderdaad het geval is ben je heel blij, want dan kun je gaan tyzacken. Als dit niet het geval is dan gaat er iets niet goed.

'tyzacken' is het programmeren op Tyzack. Dit omvat meestal beeldbewerkingen (digitizing of veel kleuren) of sampling.

In dit handboek wordt geen aandacht besteed aan de MSX BASIC die in Tyzack wordt gebruikt. Hierover zijn al genoeg boeken geschreven, en daarvan worden er ook meegeleverd met Tyzack.

Voor digitizen is het aansluiten van een videobron nodig. Hoe dit in zijn werk gaat is te zien in Appendix A, tevens is hier te zien hoe de Digitizer wordt gesynchroniseerd. Voor sampling is een soortgelijk iets nodig, namelijk het aansluiten van een audiobron. In het algemeen is dit een audio genererend apparaat met normale line out. Ook kunnen echter koptelefoon uitgangen van walkmans of draagbare toestanden worden gebruikt. Met nadruk wordt gezegd dat microfoons niet in aanmerking komen om aangesloten te worden. Het gebruik van de sampler is het best te weten te komen door proberen. Aan de hand van de commandolijst die wordt gegeven over/van de sampler is een heel eind te komen. Eventuele problemen kunnen altijd met een telefoontje naar Casia niet verholpen worden (Casia doet niet aan telefonische hulp). Er zijn veel boeken verschenen over het fenomeen Tyzack. Hierin is duidelijk het werken met het systeem weergegeven en wij verwijzen hierbij daarnaar. Ook kan het zijn dat in Het vallen der regen van Vr. M. Berger (2036) het een en ander over het werken met de Tyzack Sampler verschijnt.

Verder gewoon veel proberen, het lukt vast wel…


De Digitizer

Het Tyzack 64M system beschikt over een zwart/wit digitizer met een resolutie van 256 bij 256 pixels (picture elements) of 'dots'. Wanneer een videobeeld wordt aangeboden op de 'Video In' aansluiting van het systeem wordt, bij goed ingestelde synchronisatie, het beeld 50 keer per seconde ingelezen in het eigen geheugen van de digitizer (8kB). Het instellen van de synchronisatie wordt uit de doeken gedaan in Appendix A.

Het beeld kan vervolgens in de computer worden gehaald met een CMD commando. Het geheugen van de computer kan tegelijkertijd 8 beelden opslaan (het formaat verschilt van dat wat de Video Processor gebruikt, en daardoor neemt een beeld slechts 8K in beslag). Er is een ander CMD commando nodig om de ingeladen beelden op het scherm te vertonen (alleen SCREEN 8). Op deze manier kunnen snel achter elkaar beelden worden ingeladen zonder dat er het tijdsverlies van conversie naar scherm bij komt.

Een andere belangrijke functie is de mogelijkheid om een beeld the 'smoothen'. Hierbij wordt een pixel vergeleken met de pixels eromheen, en wordt hieruit een grijswaarde afgeleidt. Het zwart/wit beeld wordt op deze manier omgezet in een beeld dat vijf grijstinten bezit. Een geSMOOTH beeld kan niet meer in de geheugen buffers van de digitizer worden opgeslagen omdat het het meer dan 8K geheugen vergt.

De digitizer kan in de zogenaamde 'LOCK' toestand gezet worden waardoor er geen beelden meer worden ingelezen. Wanneer gedigitaliseerd wordt vanaf een video bron die bewegende beelden genereert (videorecorder, televisie) dan is het aan te raden om deze functie te gebruiken. Doordat de snelheid van het inleescommando lager is dan de inleessnelheid van de digitizer, zullen er bij één keer inlezen meerdere beelden worden gepakt. Bij bewegende beelden resulteert dit in een onsamenhangende lijnenmassa op het scherm.

Een overzicht van de CMD commando's:

CMD DIG <block><subblock>
(Digitize)
Leest een beeld in van de digitizer en kopieert het naar een buffer in het RAM van de computer. <block> en <subblock> geven aan in welke van de 8 beschikbare buffers het beeld moet worden opgeslagen. <block> kan elke waarde uit { A, B, C, D } zijn en <subblock> is 0 of 1. Dit heeft tot gevolg dat A0 de eerste buffer is, A1 de tweede, B0 de derde enz.

CMD GDP <block><subblock> "," <vertshift>
(Get Digitized Picture)
Het beeld dat is opgeslagen in een van 8 de acht buffers in het RAM wordt omgezet naar schermformaat en vertoond. <block> en <subblock> hebben dezelfde betekenis als hiervoor. <vertshift> geeft de vertikale verschuiving aan waarmee het beeld wordt vertoond. Dit is nodig omdat het gedigitaliseerde beeld 256 pixels hoog is en het scherm slechts 212. <vertshift> mag elke waarde zijn van 0 tot en met 44. Dit commando werkt alleen in SCREEN 8 en zal een foutmelding geven wanneer het wordt gegeven in een andere scherm-mode.

CMD SMT ["@:"] <block><subblock> "," <vertshift>
(Smooth)
Dit commando werkt op een gelijke manier als CMD GDP. Dit heeft als gevolg dat <block>, <subblock> en <vertshift> gelijk gedefinieerd zijn. Dit commando gebruikt echter een door Casia ontwikkelde methode om het zwart/wit beeld om te zetten naar 5 grijstinten. Ook dit commando werkt alleen in SCREEN 8.

Wanneer voor het blocknummer "@:" wordt gezet, dan zal de smooth functie de kleurnummers voor de vijf grijstinten niet uit het Tyzack programma ROM halen, maar uit het gebruikersgeheugen, en wel op de adressen F080H–F084H. Met de BASIC instructie POKE kunnen hier vijf zelf gekozen kleurwaarde ingezet worden voordat het CMD SMT commando wordt gegeven. Deze geheugen adressen worden ook gebruikt door andere Tyzack commando's, wat betekent dat er niet van uit gegaan kan worden dat deze kleurwaarden behouden zijn. De veiligste weg is ze net voor het aanroepen van de functie te definiëren. De vooraf ingestelde kleuren zijn: 00H, 24H, 49H, 6EH en FFH.

CMD LCK
(Lock)
Dit commando zorgt ervoor dat de digitizer het beeld afmaakt dat op dat moment wordt ingelezen, en dan in de 'LOCK' toestand komt. Dit wil zeggen dat er geen beelden meer worden ingelezen. Dit is vooral handig wanneer bewegende beelden worden ingelezen, omdat er anders met CMD DIG meerde beelden tegelijk worden gepakt, wat rare effecten kan geven.

CMD ULK
(Unlock)
Dit commando heft de 'LOCK' toestand van de digitizer op. Zie CMD LCK voor de uitleg van deze toestand.

Het is aan te raden om gedigitaliseerde beelden eerst video GDP te bekijken alvorens ze te SMOOTHen, omdat het smooth commando vrij lang duurt (circa 8 seconden) en niet onderbroken kan worden met behulp van CTRL-STOP.

De Geluidsprocessoren

Tyzack beschikt over twee Philips geluidsprocessoren met elk zes kanalen. Elk kanaal kan worden ingesteld qua volume en toonhoogte. Ook is het opwekken van ruis mogelijk. Elke processor beschikt tevens over twee onafhanelijke enveloppe generatoren, die het volume van een kanaal in de tijd laten veranderen en die het geluid in het stereobeeld kunnen laten 'bewegen'.

De twee geluidsprocessoren worden beschouwt als 1 processor met 64 registers. Het komt er op neer dat de eerste 32 registers van geluidprocessor 1 zijn en de tweede 32 van processor 2. In de behandeling wordt alleen gekeken naar processor 1. Voor de registernummers van processor 2 dient bij elke registerwaarde van processor 1 32 te worden opgeteld, zo komt register 8 van processor 1 overeen met register 40. (8 van processor 2).

CMD SND <reg> "," <data>
(Sound)
Er is maar één commando voor het besturen van de twee processoren. De twee worden gebruikt als één processor met 64 registers, hierdoor kan <reg> dus elke waarde hebben van 0 tot en met 63. Er moet echter wel worden opgemerkt dat niet elk register een functie heeft in de processor. (zie ook het register overzicht). <data> kan elke mogelijke byte waarde hebben (0 - 255).

Overzicht van de functies van de registers:

Dec  Hex     7   6   5   4   3   2   1   0   (bit)

  0   00   L30 L20 L10 L00 R30 R20 R10 R00   volume chan. 0
  1   01   L31 L21 L11 L01 R31 R21 R11 R00   volume chan. 1
  2   02   L32 L22 L12 L02 R32 R22 R12 R02   volume chan. 2
  3   03   L33 L23 L13 L03 R33 R23 R13 R03   volume chan. 3
  4   04   L34 L24 L14 L04 R34 R24 R14 R04   volume chan. 4
  5   05   L35 L25 L15 L05 R35 R25 R15 R05   volume chan. 5
  6   06     -   -   -   -   -   -   -   -   not used
  7   07     -   -   -   -   -   -   -   -   not used  
  8   08   N70 N60 N50 N40 N30 N20 N10 N00   note chan. 0
  9   09   N71 N61 N51 N41 N31 N21 N11 N01   note chan. 1
 10   0A   N72 N62 N52 N42 N32 N22 N12 N02   note chan. 2
 11   0B   N73 N63 N53 N43 N33 N23 N13 N03   note chan. 3
 12   0C   N74 N64 N54 N44 N34 N24 N14 N04   note chan. 4
 13   0D   N75 N65 N55 N45 N35 N25 N15 N05   note chan. 5
 14   0E     -   -   -   -   -   -   -   -   not used
 15   0F     -   -   -   -   -   -   -   -   not used
 16   10     - O21 O11 O01   - O20 O10 O00   octave chan. 1/0
 17   11     - O23 O13 O03   - O22 O12 O02   octave chan. 3/2
 18   12     - O25 O15 O05   - O24 O14 O04   octave chan. 5/4
 19   13     -   -   -   -   -   -   -   -   not used
 20   14     -   - SD5 SD4 SD3 SD2 SD1 SD0   sound on
 21   15     -   - NS5 NS4 NS3 NS2 NS1 NS0   noise on
 22   16     -   - N11 N01   -   - N10 N00   noise select 1/0
 23   17     -   -   -   -   -   -   -   -   not used
 24   18   E70   - E50 E40 E30 E20 E10 E10   enveloppe 0
 25   19   E71   - E51 E41 E31 E21 E11 E01   enveloppe 1
 26   1A     -   -   -   -   -   -   -   -   not used
 27   1B     -   -   -   -   -   -   -   -   not used
 28   1C     -   -   -   -   -   -   -  EN   chip on/off
 29   1D     -   -   -   -   -   -   -   -   not used
 30   1E     -   -   -   -   -   -   -   -   not used
 31   1F     -   -   -   -   -   -   -   -   not used
Per kanaal kan de processor 8 (octaven) x 256 ('noten') = 2048 verschillende tonen produceren. Per octaaf zijn er natuurlijk maar twaalf werkelijke noten (standaard noten systeem). Hier volgen voor alle noten de bijbehorende 'note' waarde:
C    25                  F#   152
C#   46                  G    17
D#   89                  A    216
E    110                 A#   237
F    131                 B    4 (*)
(*) Bij een B in octaaf n moet het octaafregister worden gevuld met de waarde n+1 en het note register met de waarde 4.

[N.B. De waarde voor D is weggevallen in transcriptie]

Het volume van een kanaal wordt apart voor links en rechts ingesteld, de formule VOLUME = 16 * LEFTVOLUME + RIGHTVOLUME kan gebruikt worden. Voor mono gebruikt is ook de formule VOLUME = 17 * VOLUME handig. Het volume kan worden ingesteld van 0 tot en met 15, waarbij 0 het kanaal uit zet, en 15 het hardst is.

Het kanaal wordt aan en uitgezet met behulp van de bits in register 20. Een 1 in dit register wil zeggen dat het kanaal doorgegeven wordt aan de uitgang (om inderdaad geluid te krijgen moet natuurlijk het volume open staan, en de chip 'on'). Om alle kanalen aan te zetten wordt CMD SND 20,31 gebruikt, maar (voor gemak) CMD SND 20,255 kan ook gebruikt worden. De bovenste twee bits hebben geen betekenis.

Ruis kan worden aangezet met behulp van register 21. De chip heeft 2 ruisgeneratoren wat ertoe leidt dat kanalen 0 - 2 het geluid van ruisgenerator 0 vertegenwoordigen, en kanalen 3 - 5 het geluid van ruisgenerator 1. De 'vorm' van de ruis wordt bepaald met de waarden in register 22. Dit wordt gedaan met twee bits, die het volgende betekenen:

N1x N0x

 0   0    Ruisklok: 31,3 kHz
 0   1    Ruisklok: 15,6 kHz
 1   0    Ruisklok:  7,6 kHz
 1   1    van generator 0 (x = 0) of 3 (x = 1)
De enveloppe wordt ingesteld met registers 24 en 25. 24 regelt de enveloppe voor kanaal 2 en 25 voor kanaal 5. De betekenis van de bits is als volgt:
bit 0          0: links en rechts zijn gelijk
               1: links en rechts zijn tegengesteld
bit 1,2,3      0 0 0     amplitude = 0
               0 0 1     amplitude = maximaal
               0 1 0     enkelvoudige decay
               0 1 1     herhaalde decay
               1 0 0     enkelvoudige driehoek
               1 0 1     herhaalde driehoek
               1 1 0     enkelvoudige attack
               1 1 1     herhaalde attack
bit 4          0: vorm van enveloppe wordt met 4 bits bepaald
               1: vorm van enveloppe wordt met 3 bits bepaald
bit 5          0: enveloppe wordt geklokt door generator 1 of 4
               1: enveloppe wordt geklokt door write pulse (niet
                  mogelijk in Tyzack 64M systeem)
bit 6          moet altijd 0 zijn
bit 7          0: enveloppe is uit
               1: enveloppe start
(Zie Appendix B voor enveloppe curves)

Voor de frequenties van de generatoren bestaat een formule die soms handig kan zijn:

frequentie = 8000000 / 2^(17 - octave + (1 - note/255))

Vanuit deze frequentie kan de snelheid van de enveloppe worden berekend wanneer deze geklokt wordt vanuit generator 1 of 4:

8/f-klok (4 bits) of 4/f-klok (3 bits)

De Speech Synthesizer

De speech synthesizer (spraakgenerator) van Tyzack is een SPO 256-AL2. Het IC wekt spraak op met behulp van foneemsynthese. In de chip zijn 64 'klanken' opgeslagen die gecombineerd kunnen worden tot woorden. Er is voorzien in een buffer voor de speech synthesizer waardoor programma executie niet opgehouden wordt door de speech synthesizer. Het aansturen gaat met de codes van de fonemen. De volgende commando's zijn beschikbaar:
CMD SAY """ <foneem> [ "/" <foneem> ] """
(Say)
Het commando CMD SAY accepteert 64 verschillende foneem codes en stopt de meegegeven codes in de buffer. Wanneer de buffer vol is wordt het laatste byte in de buffer overschreven. Het laatste foneem in de buffer is dus altijd het laatst ingevoerde byte, zo zal dus een 'stop' code nooit verloren gaan. De fonemen worden opgesomd in de volgende lijst:
     Silence
     PA1 (10 ms)    before BB, DD, GG, and JH
     PA2 (30 ms)    before BB, DD, GG, and JH
     PA3 (50 ms)    before PP, TT, KK, and CH, and between words
     PA4 (100 ms)   between clauses and sentences
     PA5 (200 ms)   between clauses and sentences

     Short Vowels
     IH             sitting, stranded
     EH             extent, gentlemen
     AE             extract, acting
     UH             cookie, full
     AO             talking, song
     AX             lapel, instruct
     AA             pottery, cotton

     Long Vowels
     IY             treat, people, penny
     EY             great, statement, tray
     AY             kite, sky, mighty
     OY             noise, toy, voice
     UW1            after clusters with YY: computer
     UW2            in monosyllabic words: two, food
     OW             zone, close, snow
     AW             sound, mouse, down

     R-Colored Vowels
     ER1            letter, furniture, interrupt
     ER2            monosyllables: bird, fern, burn
     OR             fortune, adorn, store
     AR             farm, alarm, garment
     YR             hear, earring, irresponsible
     XR             hair, declare, stare

     Resonants
     WW             we, warrant, linquist
     RR1            initial position: read, write, x-ray
     RR2            initial clusters: brown, crane, grease
     LL             like, hello, steel
     EL             little, angle, gentlemen
     YY1            clusters: cute, beauty, computer
     YY2            initial position: yes, yarn, yo-yo

     Voiced Fricatives
     VV             vest, prove, even
     DH1            word-initial position: this, then, they
     DH2            word-final and between vowels: bathing
     ZZ             zoo, phase
     ZH             beige, pleasure

     Voiceless Fricatives
     FF             These may be doubled for initial position
     TH             and used in final position
     SS             
     SH             shirt, leash, nation
     HH1            before front vowels: YR,IY,IH,EY,EH,XR,AE
     HH2            before back vowels: UW,UH,OW,OY,AO,OR,AR
     WH             white, whim, twenty

     Voiced Stops
     BB1            final position: rib; between vowels:
                     fibber; in clusters: bleed, brown
     BB2            initial position before a vowel: beast
     DD1            final position: played, end
     DD2            initial position: down; clusters: drain
     GG1            before high front vowels: YR,IY,IH,EY,EH,XR
     GG2            before high back vowels: UW,UH,OW,OY,AX; and
                     clusters: green, glue
     GG3            before low  vowels:  AE,AW,AY,AR,AA,AO,OR,ER; 
                     in medial clusters: anger; and final
                     positioning: peg

     Voiceless Stops
     PP             pleasure, ample, trip
     TT1            final clusters before SS: tests, its
     TT2            all other positions: test, street
     KK1            before front vowels: YR,IY,IH,EY,EH,XR,AY,
                     AE,ER,AX; initial clusters: cute,
                     clown, scream
     KK2            final position: speak; final clusters:
                     task
     KK3            before back vowels: UW,UH,OW,OY,OR,AR,AO;
                     initial clusters: crane, quick,
                     scream

     Affricates
     CH             church, feature
     JH             judge, injure

     Nasal
     MM             milk, alarm, ample
     NN1            before front and central vowels: YR,IY,IH,
                     EY,EH,XR,AE,ER,AX,AW,AY,UW; final clusters:
                     earn
     NN2            before back vowels: UH,OW,OY,OR,AR,AA
     NG             string, anger

CMD SPN
(Speech On)
De speech buffer wordt uitgelezen op de interrupt. Voordat er wordt gekeken of er nieuwe data moet worden geschreven wordt een bit in het I/O status byte van Tyzack bekeken. Als dit bit 0 is wordt de speech synthesizer niet meer aangestuurd. Dit betekent dat het uitlezen uit de buffer niet meer gebeurt. Het uitlezen wordt aangeschakeld met SPN. Hierdoor wordt het bit op 1 gezet.

CMD SPF
(Speech Off)
Zie SPN. Het bit in het I/O status byte wordt op 0 gezet. Het is mogelijk dat de speech synthesizer op het laatst uitgevoerde foneem blijft 'hangen'. Wanneer dit gebeurt kan de speech worden uitgezet met behulp van CMD ALF (zie aldaar).

CMD SBE
(Speech Buffer Empty)
De speech buffer wordt leeg gemaakt, en de speech interrupt wordt uitgeschakeld (zie SPF). Nieuwe data wordt weer helemaal aan het begin van de buffer geschreven. Ook dit commando kent het probleem dat de speech kan blijven 'hangen', zie ook hiervoor SPF.

Het nu volgende voorbeeld programma tekent een collectie cirkels op het scherm en roept er steeds de naam van de computer doorheen:

10 SCREEN 8
20 CMD SPF:FOR X=1 TO 30:CMD SAY "TT2/AY/ZZ/EH/KK2/PA5":NEXT X
30 CMD SPN
40 FOR R=0 TO 50 STEP 2:CIRCLE (128,106),R,255:NEXT R
50 GOTO 50

Algemene Commando's

De algemene commando's behoren niet tot een bepaalde groep hardware in Tyzack. Ook de commando's die een uitbreiding zijn op de mogelijkheden van de MSX basic behoren tot de algemene CMD commando's. Hier het overzicht:
CMD HLP
(Help)
Dit commando geeft een overzicht van alle CMD commando's die geen betrekking hebben op de sampler (deze staan in een ander deel van het Tyzack programma ROM en worden daardoor niet weergegeven). De lijst geeft alle drie-letterige commando's, de CMD ervoor wordt niet gegeven.

CMD MSX
(Microsoft Extended Basic)
Dit commando reset de computer en laat deze opstarten volgens de MSX norm. De Tyzack commando's zijn maar gedeeltelijk beschikbaar na dit commando. Wanneer er geen echte noodzaak voor is, is het aan te raden alleen maar op te starten als Tyzack 64M systeem. Dat wil zeggen, door de RESET knop, of het aanzetten van het systeem (mogelijk hangt de computer zelfs wanneer er wordt geprobeerd op te starten als MSX, vooral wanneer er datacommunicatie met de extended sampler comp gaande was).

CMD PIE [ <decimal> ]
(Pi)
Dit commando geeft de eerste duizend decimalen van pie op het scherm. Omdat er geen rekening wordt gehouden met de schermgrootte zal het op het 40 tekens scherm van het scherm afscrollen. Voor goed gebruikt van deze functie wordt aangeraden met 80 tekens te werken. Als extra optie kan een getal worden meegegeven (0–1000) dat tot gevolg heeft dat alleen die decimaal wordt uitgeprint.

Bijvoorbeeld:

10 PRINT "De 341-ste decimaal van Pi is een ";
20 CMD PIE 341

CMD ALN
(All on)
Dit commando schakelt de 'chip on' bits van de geluids processors op 1. Dit heeft tot gevolg dat, wanneer volume en aan/uit ingesteld zijn. Het geluid (weer) weergegeven wordt. Het is niet helemaal de tegenhanger van ALF, omdat het niets doet met de speech synthesizer. Het commando komt in feite overeen met CMD SND 28,1:CMD SND 60,1.

CMD ALF
(All off)
Dit commando schakelt al het op dat moment spelende geluid uit. Dit betekent dat de 'chip on' bits van de geluids processors op 0 wordt gezet, en dat een PA1 code naar de speech wordt gestuurd (om een geluid dat was blijven 'hangen' uit te zetten). Er moet worden opgemerkt dat de bufferbesturing van de speech niet wordt uitgezet. Als er dus nog data in de buffer zit, en er is een SPN gegeven, dan gaat de speech, na het onderbreken van 1 foneem, weer gewoon door. Effectief in dit geval is CMD SPF:CMD ALF. Wat dit commando in feite doet is:
CMD SND 28,0:CMD SND 60,0:OUT 58,0
(output port 58 is voor de speech synthesizer).

CMD SMP
(Sampler)
Dit commando is niet meer geïmplementeerd op de 64M met extended sampler comp. Het kan echter wel zeer erge gevolgen hebben voor het systeem (resetten). Het dient dus niet gebruikt te worden. Het zit er alleen in vanwege de niet- opwaardse compatibiliteit van het systeem.

CMD CHC <oldcolor> "," <newcolor>
(Change color)
Dit commando verandert alle voorkomens van kleur <oldcolor> op het scherm in kleur <newcolor>. Het commando werkt alleen op SCREEN 8. De kleurwaarden kunnen alles zijn van 0 tot en met 255. Wanneer <oldcolor> = <newcolor> gebeurt er niets op het scherm (zinloze actie). Dit commando biedt vooral uitkomst in samenwerking met CMD SMT. De kleurwaarden waren hier &H00, &H24, &H49, &H6E, &HFF. Om bijvoorbeeld alle voorkomens wit in een geSMOOTH beeld te veranderen in kleur nummer 171, moet CMD CHC 255,171 worden gegeven.

Sampler

De sampler is een zelfstandig computerdeel in Tyzack. Het bevat een eigen microprocessor en geheugen. Wanneer er op de video-uit of de RF-uit van dit systeem een beeldscherm wordt aangesloten dan is het volgende beeld te zien:

  *** TYZACK SAMPLER SUBSYSTEM ***
                        
A: 0000, EFFE           N: 0000, EFFE
B: 0000, EFFE           O: 0000, EFFE
C: 0000, EFFE           P: 0000, EFFE
D: 0000, EFFE           Q: 0000, EFFE
E: 0000, EFFE           R: 0000, EFFE
F: 0000, EFFE           S: 0000, EFFE
G: 0000, EFFE           T: 0000, EFFE
H: 0000, EFFE           U: 0000, EFFE
I: 0000, EFFE           V: 0000, EFFE
J: 0000, EFFE           W: 0000, EFFE
K: 0000, EFFE           X: 0000, EFFE
L: 0000, EFFE           Y: 0000, EFFE
M: 0000, EFFE           Z: 0000, EFFE

LOOP :                           
BACK :
LEFT : ABCDEFGHIJKLMNOPQRSTUVWXYZ
RIGHT: ABCDEFGHIJKLMNOPQRSTUVWXYZ

Het eerste deel toont de start- en eindwaarden van de labels, bestaande uit een startadres en een eindadres (beide hexadecimaal weergegeven). Bij opstarten worden alle labels ingesteld op het maximale bereik (hier ca. 60K).

Eronder staan vier catagorieën. Wanneer een label bij loop staat aangegeven betekent dat, dat het label steeds herhaald zal worden. Wanneer een label bij back staat aangegeven wil dat zeggen dat het van achter naar voren wordt afgespeeld.

De andere twee catagorieën geven aan welk kanaal moet worden gebruikt bij het afspelen. Alle in het geheugen opgeslagen samples zijn stereo. Bij het afspelen kan het label zodanig worden ingesteld dat alleen links of alleen rechts wordt weergegeven (geen van beide is niet mogelijk). Bij opstarten zijn alle labels op beide kanalen ingesteld, dat betekent dat alle labels gewoon stereo worden weergegeven.

De commando's om de instellingen van de labels te veranderen zijn de volgende:

CMD LAB """ <label> ":" <start> "," <eind> """
(Label)
Dit commando stelt de start en eindpunten van een label in. De waarde <label> is A–Z (zie boven). Start- en eindpunten zijn 0000–EFFE, waarbij alleen even getallen zin hebben (in verband met stereo geluidsopslag). Oneven getallen worden door het systeem omgezet naar het even getal eronder (bit 0 wordt 0 gemaakt). Het spreekt voor zich dat <eind> niet kleiner mag zijn dan <start> omdat dan het afspeelgebied niet bepaald is. Een verandering in de labels wordt op het scherm van de sampler weergegeven. Voorbeeld: Het instellen van label 'G':

CMD LAB "G:1234,5362"

CMD LOP <label>
(Loop)
Dit commando stelt een label in als loop. Het label zal bij afspelen steeds worden herhaald. Op het scherm van de sampler wordt dit zichtbaar doordat het label wordt getoond in de lijst achter het woord 'LOOP'. <label> is van het eerder gedefinieerde type.

CMD NLP <label>
(No Loop)
Dit commando maakt een ingestelde loop ongedaan. Op het scherm van de sampler zal het label uit de lijst verdwijnen. Zie LOP voor <label>.

CMD BCK <label>
(Backwards)
Dit commando stelt een label in voor achteruit afspelen. Wanneer het label wordt aangeroepen in een PLY commando zal het van achter naar voren worden afgespeeld. Op het scherm van de sampler wordt dit aangegeven door het verschijnen van het label in de lijst achter 'BACK'. <label> is van eerder genoemd type.

CMD NRM <label>
(Normal play)
Na het geven van dit commando zal een label weer gewoon van voor naar achter worden afgespeeld. Het verdwijnt uit de lijst van backwards-labels (als het erin stond). <label> is van eerder genoemd type.

CMD LFT <label>
(Left play only)
Wanneer dit commando wordt gegeven zal van het label alleen nog maar het linker kanaal worden afgespeeld. Het rechter kanaal zal worden onderdrukt (niet weergegeven). Op het scherm van de sampler zal het label in de lijst van 'LEFT' worden gezet, en weggehaalt uit 'RIGHT'. <label> is als voorheen.

CMD RGT <label>
(Right play only)
Dit commando is de tegenhanger van LFT. Het zal alleen het rechter kanaal afspelen. De rest is analoog aan CMD LFT.

CMD BTH <label>
(Both channels play)
Na het geven van dit commando staat het label weer zowel bij 'LEFT' in de lijst als bij 'RIGHT'. Het zal weer volledig stereo worden weergegeven (vooropgesteld dat het goed stereo is gesampled, en niet op maar een kanaal). <label> is als eerder genoemd.

CMD RST <label>
(Reset label)
Dit commando geeft een label de instelling die het ook heeft na opstarten. Dat wil dus zeggen, het voert de volgende dingen uit:

CMD LAB "*:0000,EFFE":CMD BTH *:CMD NRM *:CMD NLP *

<label> is vanzelfsprekend van eerder genoemd type.

Voor sampler-activiteiten is ook een aantal commando's geïmplementeerd. Hier een overzicht:

CMD TRG
(Through)
Na dit commando zal de sampler alle input op de audio-in direct via A/D en D/A weergeven op de audio-out. Op deze wijze kan men ingangsvolume en signaal instellen op de sampler. Het wordt onderbroken met CMD STP of elk ander sampler commando (alle commando's genereren een stop puls voor de sampler, om hangen van het systeem te voorkomen, en data niet verloren te laten gaan).

CMD PLY <label> "," <speed>
(Play)
Dit commando speelt het geheugengebied af dat word aangegeven door <label> (A–Z). De afspeelsnelheid wordt opgegeven met <speed> (0–255), waarbij 1 het snelst is, vervolgens oplopend tot 255 (zeer langzaam) en daarna nog 0 (het langzaamst). Wanneer een label is ingesteld op 'loop' zal het blijven spelen tot een stop puls de sampler bereikt. (handig voor muziek bij het werk, omdat de hoofdcomputer gewoon door kan gaan met andere bezigheden).

CMD PLY @
(Play keyboard-like)
Het PLY @ commando wordt gebruikt om snel labels te starten en te stoppen. De sampler komt in een speciale mode waarin het doorsturen van slechts 1 byte nodig is voor het starten van een geluid. Dit doorsturen gebeurt met CMD TTS (zie aldaar). Er moet erop worden gelet dat het geven van andere commando's in deze mode niet mogelijk is en het hangen van het systeem kan veroorzaken. Zie verder TTS.

CMD TTS <value>
(Toets)
Dit commando is alleen geldig na een CMD PLY @. In andere gevallen heeft het onvoorspelbare gevolgen. Het TTS commando start een geluid in de sampler. <value> geeft de ingedrukte toets aan (keyboard-like play method). <value> loopt van 1 tot en met 255. Bij een ingedrukte toets behoort een vooraf ingestelde snelheid en een vooraf ingesteld label. Doordat deze zaken per toets kunnen verschillen is het mogelijk zelf het toetsenbord te configureren. De toonhoogte van elke toets is in te stellen, en er is 'splitting' mogelijk. Er kunnen verschillende geluiden worden gebruikt op 1 toetsenbord (eventueel zelfs 26 verschillende). De vooraf ingestelde waarden zijn genoemd bij CMD SPT. Wanneer voor <value> de waarde 0 wordt gebruikt, keert de sampler terug van PLY @ mode naar gewone commando mode.

CMD SPT <value> "," <label> "," <speed>
(Split)
Dit commando stelt voor een waarde <value>, die gebruikt kan worden met TTS, het bijbehorende label en de bijbehorende snelheid in. Standaard zijn bij opstarten de volgende instellingen gemaakt:
     Value          Label          Speed

     1              A              1
     2              A              2
     3              A              3
     .              .              .
     .              .              .
     255            A              255
Om een hele toetsenreeks in te stellen kan het volgende programma fragment gebruikt worden:
     340 REM Instellen toetsen 13 tot en met 24
     350 FOR T=13 TO 24
     360   CMD SPT T,D,T-8
     370 NEXT T
Het programma maakt de volgende instelling:
     Value          Label          Speed

     .              .              .
     .              .              .
     13             A              5
     14             A              6
     15             A              7
     .              .              .
     .              .              .
     23             A              15
     24             A              16
     .              .              .
     .              .              .

CMD RCD <label>
(Record)
Een belangrijk sampler commando. Dit commando laat de sampler het geluid dat binnenkomt op de audio in opnemen in het geheugengebied aangegeven met het label <label>. <label> is A tot en met Z. De snelheid waarmee wordt opgenomen is de maximale die mogelijk is en kan niet worden veranderd. De snelheid komt ongeveer overeen met afspeelsnelheid 14.

CMD SRS
(Sampler Reset)
Dit commando reset de sampler zodat deze in de toestand komt zoals die bestond na inschakeling. Het commando heeft geen invloed op de hoofdprocessor. Overigens is het interessant om te weten dat het resetten van de hoofdprocessor (reset knop) geen invloed heeft op de sampler. Wel kan het voorkomen dat er juist data transmissie bezig was van hoofdsysteem naar sampler, zodat de sampler 'hangt' na het resetten van de hoofdprocessor. Enige remedie: uit/aan.

CMD SUB
(Sub Monitor)
Dit commando schakelt de sampler over naar de monitor functie voor het maken van (machinetaal) programma's op de sampler. Dit commando kan alleen goed worden gebruikt wanneer het toetsenbord van de sampler is aangesloten.

CMD STP
(Sampler stop)
Het geven van dit commando genereert een stop puls voor de sampler zodat deze stopt met welke afspeel activiteit dan ook (PLY of TRG). Een stop puls wordt echter ook gegeven door elk ander commando wanneer een PLY of TRG bezig is, zodat bij het instellen van een label vanuit het afspelen van een loop niet eerst CMD STP hoeft te worden gegeven, maar gelijk CMD LAB "…" kan worden gegeven.

Appendix A

Het synchroniseren van de digitizer gebeurt na aansluiten van een video bron (zie Appendix C). Er zijn twee instelpotmeters in de digitizer. Een voor het synchronisatieniveau en een voor zwart/wit niveau. Het synchroniseren gaat als volgt:

Appendix B

De enveloppe curves van de geluidsgeneratoren zijn als volgt:
bit       bit 7=0                  bit 7=1
3 2 1 

0 0 0     _______________________________________________

0 0 1     _______________________________________________

0 1 0     _______________________________________________

0 1 1     _______________________________________________

1 0 0     _______________________________________________

1 0 1     _______________________________________________

1 1 0     _______________________________________________

1 1 1     _______________________________________________
Als de enveloppe actief is is het maximale volume 15/16 van de normale waarde.

Appendix C

Aansluitingen van Tyzack 64M