LambdaSpeak III ROM

Aus Deutsches CPCWiki
Version vom 19. Juli 2019, 14:45 Uhr von TFM (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „Bevor Sie die Befehle dieser RSX Erweiterung benutzen, geben Sie bitte den Befehl |LSINIT (Englischer Modus) bzw. |LSINIC (Catalan/Spanischer Modus) ein! Erst…“)

(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

Bevor Sie die Befehle dieser RSX Erweiterung benutzen, geben Sie bitte den Befehl |LSINIT (Englischer Modus) bzw. |LSINIC (Catalan/Spanischer Modus) ein! Erst dadurch werden viele Möglichkeiten des großartigen LambdaSpeak III nutzbar. Wenn nicht, dann befindet sich der LS3 in der Amstrad SSA-1 Speech Synthesizer Emulation.

LambdaSpeak III Sprach Synthesizer, Drum Maschine, Sample Spieler, Echtzeituhr und MP3/WAV Spieler

Dies ist eine Sprach Synthesizer der neuen Generation, er emuliert/simuliert folgende Erweiterungen:

- EPSOM Modus - DECtalk Modus - dk'tronics SPEECH Synthesizer - Amstrad SSA1 Synthesizer - Amdrum Drumkit - PCM Sample Spieler - MP3 / WAV Spieler - Echtzeituhr - MIDI (mit Erweiterungs-Kärtchen, via seriellem Bus)

  • Software Unterstützung: ROM mit RSX Kommandos, Z80 Bibliothek, FutureOS und einige Spiele

RSX Bibliothek für die LambdaSpeak III Erweiterungskarte

Um die RSX Befehle zu nutzen legen Sie die Diskette ins Laufwerk und tippen: run"disc Oder Sie installieren "LS3.ROM" als Erweiterungs-ROM. Es bietet alle RSX Befehle und mehr.

Bevor es losgeht Um LambdaSpeak III im mächtigen Lambda/Epson Modus zu nutzen geben Sie den RSX Befehls |LSINIT ein. Er initialisiert LambdaSpeak III, der sich der sich nach dem Einschalten im SSA1 Modus befindet.

Befehlsübersicht

Das RSX Kommando |LSHELP zeigt die Befehle an.

RSX Kommandos für LambdaSpeak III

|LSINIT / |LSINIC --> Use commands to initialize LambdaSpeak III after reset! |RESET |STOP |SP,@text$ |LAMBDASPEAK,@text$ |SETVOLUME,0-15 |GETVOLUME,@v% |SETVOICE,0-15 |GETVOICE,@v% |SETSPEED,0-15 |GETSPEED,@v% |SETDELAY,0-15 |GETDELAY,@v% |SPEAKMODE |GETLANGUAGE,@v% |ENGLISH |SPANISH |LAMBDA |SSA1 |DECTALK |DKTRONICS |SSASPO |DKSPO |SERIAL |SEROFF |GETMODE,@v% |GETFMODE,@v% |BLOCKOFF |BLOCKON |CONFOFF |CONFON |GETFAST |GETMED |GETSLOW |SPEAKINFO |SPSCREEN |SPFILE,file$ |DAISY |BIGWATCH |HAL9000 |AMDRUM |PCMTEST |GETVERSION,@v% |LED,0-255 |PLAY,address,length,delay |EPLAY,address,length/64,delay,E-RAM |XBLKON |XBLKOFF |SAYTIME |SAYDATE |SAYTEMP |SETTIME, hour , minute , second |SETDATE, year , month , day , dow |GETTIME,@hour%,@minute%,@second% |GETDATE,@year%,@month%,@day%,@dow% |PCMUP,adr,StP,#P |PCMMODE,1-4 |PCMPLAY,chan,sample_#,#_pages,rate |EECLR |EETEST |EEGET,adr,page |EEUP,adr,StPage,#pages |MP3SLEEP |MP3WAKE |GETTEMP,@t% |HIBERNATE |RESUME |MP3PLAY,song |MP3XPLAY,dir,sng |MP3PLAYC,song |MP3PLAYF,folder(01-99) |MP3VOL,vol(0-30) |MP3STOP |MP3HOLD |MP3CONT |MP3RES

|LSHELP --> zeigt diese Meldung an. Unterstützen Sie mittels PayPal: tfm@futureos.de

Hilfe zur Software ist erreichbar unter: FutureSoft@gmx.de (keinesfalls: TFM@FutureOS.de)

Befehle zur Kontrolle des LambdaSpeak III

Achtung: Eines der beiden folgenden Kommandos sollte benutzt werden bevor Sie LambdaSpeak III Kommandos benutzen1

|LSINIT: Initialisiert den LambdaSpeak III bei Verwendung des LambdaSpeak III ROMs. Im einzenlnen werden die Parameter-Übergabe auf 'schnell' (mittels |GETFAST), die Sprache auf Englisch (|ENGLISH), die Blockierung auf aus (|BLOCKOFF), der Modus auf Epson (|LAMBDA) und die Sprechverzögerung auf minimal (20 ms) eingestellt (|SETDELAY,1).

|LSINIC: Initialisiert den LambdaSpeak III bei Verwendung des LambdaSpeak III ROMs. Im einzenlnen werden die Parameter-Übergabe auf 'schnell' (mittels |GETFAST), die Sprache auf Spanisch (|SPANISH), die Blockierung auf aus (|BLOCKOFF), der Modus auf Epson (|LAMBDA) und die Sprechverzögerung auf minimal (20 ms) eingestellt (|SETDELAY,1).

|RESET: Entspricht dem Ein- und Ausschalten des LambdaSpeak III. Setzt den LambdaSpeak III in den dk'tronics Modus.

|STOP: Unterbricht die laufende Sprachausgabe (NUR im Non-Blocking-Modus). Achtung: Zuvor muß der LambdaSpeak III mittels |BLOCKOFF und |XBLKOFF komplett entblockiert werden.

|WAIT: Wartet bis LambdaSpeak III bereit ist. Also bis Port &FBEE dem Wert &20 oder &80 entspricht.

Befehle zur Auswahl des LambdaSpeak III Modus

|LAMBDA: Selektiert den mächtigen Epson Modus.

|DECTALK: Selektiert den DECtalk Modus, hierbei ist sogar singen möglich.

|SSA1: Schaltet den Amstrad SSA-1 Modus ein. Der LambdaSpeak III emuliert nun den Amstrad SSA-1 Spachsynthesizer.

|SSASPO: Wie der SSA1 Modus, nutzt aber den SPO256-AL2 Chip auf der Karte (wie die Amstrad Hardware).

|DKTRONICS: Schaltet auf dk'tronics Modus um. Der LambdaSpeak III emuliert nun den dk'tronics Spachsynthesizer.

|DKSPO: Wie der dk'tronics Modus, nutzt aber den SPO256-AL2 Chip auf der Karte (wie die dk'tronics Hardware).

|AMDRUM: Schaltet auf den Amdrum Modus um. Der LambdaSpeak III emuliert nun das AMDRUM. Dieser Modus muss aktiv sein, wenn die Befehle |PLAY und |EPLAY benutzt werden sollen. Achtung: Der Amdrum Modus kann nur durch ein- und ausschalten des CPC / LambdaSpeak III verlassen werden!

|PCMMODE: Schaltet den PCM Modus ein. In diesem Modus können Samples des 128 KB EEPROMs gespielt werden. Achtung: This mode can only be left by pressing the Reset_LambdaSpeak III button on the LS3 board.

Befehle zum Einstellen der Parameter des LambdaSpeak III

|SETVOLUME,0-15: Setzt die Lautstärke auf einen Wert von 1 bis 15. Der Wert 0 stellt den Standard ein.

|SETVOICE,0-15: Setzt die Stimme auf einen Wert von 1 bis 15. Der Wert 0 stellt den Standard ein.

|SETSPEED,0-15: Setzt die Sprechgeschwindigkeit auf einen Wert von 1 bis 15. Der Wert 0 stellt den Standard ein.

|SETDELAY,0-15: Setzt die Verzögerung auf einen Wert von 1 bis 15. Der Wert 0 stellt den Standard ein. Dabei ist die vergangene Zeit gemeint, bis die an den LambdaSpeak III geschickten Zeichen gesprochen werden

|ENGLISH: Schaltet die Sprachausgabe auf Englisch.

|SPANISH: Schaltet die Sprachausgabe auf Spanisch.

|BLOCKON und |BLOCKOFF: Diese beiden Kommandos schalten das 'Blocking' für Sprachausgabe ein oder aus. Bei eingeschaltenem 'Blocking' hält der LambdaSpeak III den CPC solange an, bis alle Zeichen gesprochen wurden und der LambdaSpeak III wieder bereit ist.

|XBLKON and |XBLKOFF: Diese beiden Kommandos schalten das 'Blocking' für 'Statusmeldungen' ein oder aus. Bei eingeschaltenem 'Blocking' hält der LambdaSpeak III den CPC solange an, bis die aktuelle Statusmeldung gesprochen wurden und der LambdaSpeak III wieder bereit ist.

|CONFON und |CONFOFF: Schalten die 'Conformations' ein oder aus. Sind die Eingeschalten, so wird der LambdaSpeak III alle Änderungen (z.B. Modus, Sprache etc.) akustisch quittieren.

|GETFAST, |GETMED und |GETSLOW: Definieren wie lange der LambdaSpeak III Daten auf den Bus legt um vom CPC gelesen werden zu können. Das kann 10 us, 50 us oder 20 ms lang sein.

  • Schneller Maschinencode sollte 'fast' benutzen, also 10 us. Das gilt auf für FutureOS.
  • Normaler Maschinencode sollte 'medium' nutzen, also 50 us. Ebenso RSX Erweiterungen.
  • Für BASIC Programme (z.B. IN und OUT Befehle) sollte man auf 'slow' = 20 ms schalten.

Befehle zum Auslesen der Parameter des LambdaSpeak III

|GETVOLUME,@v%: Liest den Wert der 'Lautstärke' (1 bis 15) in eine Variable ein. Die verwendete Variable (hier: v%) muss vor Verwendung definiert werden.

|GETVOICE,@v%: Liest den Wert der 'Stimme' (1 bis 15) in eine Variable ein. Die verwendete Variable (hier: v%) muss vor Verwendung definiert werden.

|GETSPEED,@v%: Liest den Wert der 'Sprechgeschwindigkeit' (1 bis 15) in eine Variable ein. Die verwendete Variable (hier: v%) muss vor Verwendung definiert werden.

|GETDELAY,@v%: Liest den Wert der 'Verzögerung bis zum Sprechen' (1 bis 15) in eine Variable ein. Die verwendete Variable (hier: v%) muss vor Verwendung definiert werden.

|GETLANGUAGE,@v%: Liest den Wert der 'Sprache' (1 bis 15) in eine Variable ein. Die verwendete Variable (hier: v%) muss vor Verwendung definiert werden.

|GETMODE,@v%.: Liest den Wert des 'Sprach-Modus' (1 bis 15) in eine Variable ein. Hängt von Modus, Sprach und Blocking ab. Die verwendete Variable (hier: v%) muss vor Verwendung definiert werden.

|GETFMODE,@v%: Liest den vollen Modus in dem sich LambdaSpeak III momentan befindet Die verwendete Variable (hier: v%) muss vor Verwendung definiert werden.

|GETVER,@v%: Liest den Wert der Version des LambdaSpeak III (1 bis 255) in eine Variable ein. Die verwendete Variable (hier: v%) muss vor Verwendung definiert werden.

|SPEAKMODE: Der LambdaSpeak III gibt seinen aktuellen Sprach-Modus an.

Befehle zur Sprachausgabe

|SP,@text$ oder |LAMBDASPEAK,@text$: Der in Variable text$ enthaltene Text wird mittels des LambdaSpeak III gesprochen. Sie sollten zuvor in den Epson oder DECtalk Modus schalten. Achtung: Vor diesem Kommando müssen zuerst |LSINIT oder |LSINIC benutzen!

|SPEAKSCREEN: Der aktuelle Bildschirminhalt wird mittels des LambdaSpeak III gesprochen. ACHTUNG: Wenn sich der LambdaSpeak III nicht in Epson bzw. DECtalk Mode befindet wird auf Epson geschalten. Und die Confirmations werden AUS geschalten. Das Kommando kann durch längeres drücken des ESCape Taste abgebrochen werden.

|SPFILE,file$: Der Inhalt der ASCII Datei 'file$' wird mittels des LambdaSpeak III gesprochen ACHTUNG: Man muss das Kommando |LSINIT, |LAMBDA oder |DECTALK vor diesem Kommando ausführen. Ansonsten wird der LS3 in den EPSON Modus geschalten und die Confirmations sind AUS. Das Kommando kann durch längeres drücken des ESCape Taste abgebrochen werden.

Befehle zur Kontrolle der Echtzeituhr des LambdaSpeak III

|SAYTIME: Der LambdaSpeak III spricht die Uhrzeit

|SAYDATE: Der LambdaSpeak III spricht das Datum

|SETTIME: Das Format des Befehls ist |SETTIME, Stunde(0-23), Minute(0-59), Sekunde(0-59). Dieser Befehl setzt die Uhrzeit der Echtzeituhr des LambdaSpeak III. Achtung: Dieses Kommando schaltet die Confirmations aus, Sie sollten es mittels |CONFON wieder einschalten.

|SETDATE: Das Format des Befehls ist |SETDATE, Jahr(00-99), Monat(1-12), Tag(1-31), Wochentag(1-7). Dieser Befehl setzt das Datum und den Wochentag der Echtzeituhr des LambdaSpeak III. Dabei ist 1 = Montag und 7 = Sonntag. Achtung: Dieses Kommando schaltet die Confirmations aus, Sie sollten es mittels |CONFON wieder einschalten.

|GETTIME: Das Format des Befehls ist Stunde%=0:Minute%=0:Sekunde%=0:|GETTIME,@Stunde%,@Minute%,@Sekunde% Durch diesen Befehl kann die Uhrzeit der Echtzeituhr des LambdaSpeak III in Variablen gelesen werden.

|GETDATE: Das Format des Befehls ist Jahr%=0:Monat%=0:Tag%=0:Wochentag%=0:|GETDATE,@Jahr%,@Monat%,@Tag%,@Wochentag% Durch diesen Befehl kann das Datum der Echtzeituhr des LambdaSpeak III in Variablen gelesen werden.

Befehle zum Amdrum Modus des LambdaSpeak III

|PLAY,adr,len,del: Spielt ein Sample via Amdrum Emulation. Das Sample beginnt an Adresse 'adr' im Speicher, es ist 'len' Bytes lang und wird mit der Verzögerung von 'del' abgespielt. Achtung: Für diesen Befehl muss zuvor mit dem Befehl |AMDRUM auf den AMDRUM Modus umgeschalten werden. Es kann nicht zurückgeschalten werden.

|EPLAY,adr,len/64,delay,E-RAM: Spielt ein Sample via Amdrum Emulation. Das Sample beginnt ab Adresse 'adr' im Speicher. Es ist 'len/64' Bytes lang. Die Länge in Bytes ist also: len * 64. Dadurch lassen sich Samples bis zu 4096 KB abspielen. Das Erweiterungs-RAM in dem das Sample beginnt wird mittels 'E-RAM' übergeben. Der Parameter E-RAM hat das Fomat &7FC4, &7FC5, ... &7FFF. Achtung: Für diesen Befehl muss zuvor mit dem Befehl |AMDRUM auf den AMDRUM Modus umgeschalten werden. Es kann nicht zurückgeschalten werden.

ACHTUNG: Samples im Hauptspeicher werden mittels |PLAY abgespielt und Samples im Erweiterungs-RAM mittels |EPLAY

Kommandos für den PCM Sample Player Modus des LambdaSpeak III

|PCMUP: Das Format des Befehls ist |PCMUP, RAM-address, first_page(0-255), number_of_pages_to_be_written(1-256) Dieses Kommando wird dazu benutzt Daten vom RAM ins 128 KB EEPROM des PCM Sample Spielers zu kopieren. Jedes EEPROM Seite ('Page') ist 512 Bytes lang. Page 0 kann mit dem PCM Player nicht gespielt werden. Achtung: Dieses Kommando schaltet die Confirmations aus.

|EEUP: Das Format des Befehls ist |EEUP, RAM-address, first_page(0-255), number_of_pages_to_be_written(1-256) Dieses Kommando wird dazu benutzt Daten vom RAM ins 128 KB EEPROM des LambdaSpeak III zu kopieren. Jedes EEPROM Seite ('Page') ist 512 Bytes lang.

|EEGET Das Format des Befehls ist |EEGET, RAM-address, first_page(0-255) Dieses Kommando wird dazu benutzt um eine Page von 512 Byte aus dem EEPROM des LambdaSpeak III zu lesen.

|PCMMODE: Das Format des Befehls ist |PCMMODE, number_of_channels(1-4) Dieses Kommando aktiviert den PCM Sample Spieler Modus und selektiert die Anzahl aktiver Kanäle (1-4). Der PCM Modus kann nur durch Druck des Reset-Knopfes des LambdaSpeak III bzw. Aus-/Einschalten verlassen werden

|PCMPLAY: Das Format des Befehls ist |PCMPLAY, channel(1-4), first_page(1-255), number_of_pages(1-255), speed-rate(1-255) Dieses Kommando started das Abspielen von PCM Samples. Ein Sample kann bis zu 128 KB lang sein. Die Grenzen der Samples sind durch die Grenzen der 512 Byte langen Seiten/Pages des EEPROMs definiert. Achtung: Bevor Sie |PCMPLAY benutzen müssen Sie mittels |PCMMODE den PCM Mode aktivieren!

|PCMTEST: Schickt ein 'Beispiel-sample' an den Digital-Analog-Wandler der Amdrum Emulation. Endlosschleife.

|EECLR..: Löscht das 128 KB EEPROM in dem die PCM Samples gespeichert werden.

|EETEST.: Testet das 128 KB EEPROM in dem die PCM Samples gespeichert werden und gibt Größe und Zusand an.

Kommandos um das MP3 Modul des LambdaSpeak III zu kontrollieren

|MP3PLAY: Das Format dieses Kommandos ist |MP3PLAY, Nummer_des_Liedes. Die Nummer liegt zwischen 0 und 99. Im Hauptverzeichnis der SD Karte des MP3 Modules muss eine MP3 vorliegen, deren Namen mit der Nummer beginnt.

  • Beispiele:
  • |MP3PLAY,1 spielt das Lied "001_Das_Miauen_der_Katze" oder...
  • |MP3PLAY,7 spielt das Lied "007_FutureOS_rulez" und so weiter...
  • Achtung: Dieses Kommando aktiviert den Seriellen Modus des LambdaSpeak III!

|MP3XPLAY: Das Format dieses Kommandos ist |MP3XPLAY, Verzeichnis, Nummer_des_Liedes Dieses Kommando spielt ein Lied (durch eine Nummer bezeichnet) auf einem Verzeichnis (durch Nummer bezeichnet). Dabei beginnen sowohl Namen als auch Verzeichnisse mit Nummern (001xxx bis 099xx), der Rest des Names ist egal.

  • Beispiel:
  • |MP3XPLAY,1,1 spielt das Lied "001_Captain_Future" aus dem Verzeichnis "01_CF"
  • Achtung: Dieses Kommando aktiviert den Seriellen Modus des LambdaSpeak III!

|MP3PLAYC: Das Format dieses Kommandos ist |MP3PLAYC, Nummer_des_Liedes Das gleiche Lied wird in einer Schleife gespielt. Achtung: Dieses Kommando aktiviert den Seriellen Modus des LambdaSpeak III!

|MP3PLAYF: Das Format dieses Kommandos ist |MP3PLAYF, Verzeichnis(01-99) Um alle Lieder eines Verzeichnisses (Namen: 01xxx bis 99xxx) in Schleife zu spielen wird dieses Kommando genutzt. Beispiel: |MP3PLAYF,9 spielt alle Lieder aus dem Verzeichnis "09_A_Tribute_to_the_Sisters" in Schleife Wie gewöhnlich sollten die Namen der MP3 Lieder mit "01xxx" up to "99xxx" beginnen. Achtung: Dieses Kommando aktiviert den Seriellen Modus des LambdaSpeak III!

|MP3VOL: Das Format dieses Kommandos ist |MP3VOL, Lautstärke(0-30) Um die Lautstärke einzustellen mit der MP3 Song gespielt werden kann dieses Kommando genutzt werden. Der Wert 0 ist dabei der leiseste (AUS) und 30 steht für maximale Lautstärke Achtung: Dieses Kommando aktiviert den Seriellen Modus des LambdaSpeak III!

|MP3STOP: Beendet die Wiedergabe des aktuellen MP3 Songs. Es herrscht Ruhe! Achtung: Dieses Kommando aktiviert den Seriellen Modus des LambdaSpeak III!

|MP3HOLD.: Pausiert den aktuell gespielten MP3 Song. Achtung: Dieses Kommando aktiviert den Seriellen Modus des LambdaSpeak III!

|MP3CONT: Der aktuelle MP3 Song wird weitergespielt, nachdem er mittels |MP3HOLD angehalten wurde. Achtung: Dieses Kommando aktiviert den Seriellen Modus des LambdaSpeak III!

|MP3RES: Setzt das MP3 Modul zurück, entspricht dem Zustand nach dem Einschalten. Nur für Notfälle gedacht. Achtung: Dieses Kommando aktiviert den Seriellen Modus des LambdaSpeak III!

|MP3SLEEP: Versetzt das MP3 Modul in den Schlaf Modus (sleep mode). Achtung: Dieses Kommando aktiviert den Seriellen Modus des LambdaSpeak III!

|MP3WAKE.: Weckt das MP3 Modul auf, nachdem es mit |MP3SLEEP in den Schlaf-Modus versetzt wurde Achtung: Dieses Kommando aktiviert den Seriellen Modus des LambdaSpeak III!

|SERIAL: Schalted den seriellen Modus ein

|SEROFF: Schalted den seriellen Modus aus

Zusätzliche Befehle

|SPEAKINFO: Gibt Informationen über den LambdaSpeak III Synthesizer an.

|DAISY: Singt ein Lied im DECtalk Modus

|HAL9000: Zitiert den legendären HAL9000 Computer.

|LED: Das Format des Befehls ist |LED,0-255. Die LEDs werden abhängig von übergebenen Wert eingeschalten.

|GETTEMP: Das Format des Befehls ist t%=0:|GETTEMP,@t% Dieser Befehl liest die aktuelle Temperatur der Platine der Echtzeituhr.

|BIGWATCH: Dieses Kommando stelle eine GROSSE Uhr auf dem Bildschirm dar. Datum und Temperatur werden auch angegeben.

|HIBERNATE: Das Format dieses Kommandos ist |HIBERNATE,first_page Dieses Kommando speichert die ersten 48 KB (Hauptspeicher) des CPCs ins EEPROM ab der angegebenen page. Um 48 KB ins EEPROM zu speichern werden 96 pages benötigt. Achtung: Sie müssen zuerst |LSINIT oder |LSINIC benutzen. Oder CPC hängt sich auf!

|RESUME: Das Format dieses Kommandos ist |RESUME,first_page Dieses Kommando liest 48 KB vom EEPROM in den Hauptspeicher des CPCs, ab der angegebenen page. Um 48 KB auf dem EEPROM zu lesen werden 96 pages benötigt. Achtung: Sie müssen zuerst |LSINIT oder |LSINIC benutzen. Oder CPC hängt sich auf!

Die Hardware des LambdaSpeak III

Weitere Informationen über diese wunderbare Hardware können Sie hier finden: [1]