• Welcome to Schneider / Amstrad CPC Forum.
Welcome to Schneider / Amstrad CPC Forum. Please login.

25. May 2026, 20:11:55

Login with username, password and session length

Shoutbox

TFM

2024-04-08, 20:42:44
Happy Sonnenfinsternis!  :)

TFM

2024-01-15, 17:06:57
Momentan billige Farbbänder auf Ebay für PCW

Devilmarkus

2023-07-09, 10:37:40
Zweiter 👋😂🤣

TFM

2023-06-13, 14:21:49
Sommerloch!

Recent

Members
Stats
  • Total Posts: 12,858
  • Total Topics: 1,530
  • Online today: 730
  • Online ever: 1,724
  • (16. January 2020, 00:18:45)
Users Online
Users: 2
Guests: 399
Total: 401

399 Guests, 2 Users
TFM, xesrjb

LambdaSpeak CPC Sprach-Synthesizer, Sample Player, RTC, MP3, UART Erweiterung

Started by LambdaMikel, 01. May 2017, 09:41:34

Previous topic - Next topic

0 Members and 10 Guests are viewing this topic.

LambdaMikel

Nett wäre natürlich ne Kombi aus PCM Sample Playing und Cylon - also sowas we "Destroy all humans" alle 3 Sekunden, und Cylon light  :irre:
Das sollte eigentlich gehen, da im EEPROM PCM Sample Play Mode die Play Sample Commands sehr spezielles Format haben
(8 bytes - sowas wie 0 <channel> 0 <start page> 0 <länge> 0 <sample play speed>) - alle anderen Bytes die an &fbee gesendet werden und nicht in dieser Sequenz kommen, sollten nur dazu führen, dass die LEDs geändert werden und werden vom Modus ignoriert. Wenn die 8 Play Sample Command Bytes schnell genug gesendet werden, führt das auch nur zu einer kleinen "Unterbrechung / Flackern" im Cylon  Light.

In welchem Modus machst Du Cylon? Echo Test Program modus? Also mal probieren, ob das auch im PCM Play EEPROM modus funktioniert.

Und hoffentlich lassen sich auch die Sprach-Bestätigungen abschalten ("Send Page number, number of pages, ...") in den EEPROM Upload / Play modi, ich habe das leider nie gestestet. Zur Not Firmware update   :zunge0020:
Insbesondere bin ich gespannt, wie lange / wie schnell Du einen WAV hochladen kannst (zunächst muss natürlich "Destroy all Humans" hochgeladen werden, dann Cylon light und Play EEPROM Sample Commands).

TFM

Hab heute schon mal angefangen RSXe zu machen. Cylon als RSX wäre zu aufwendig, da müsste man einen Interrupt ins AMS-OS einhängen, aber ein keines BASIC Proggy tut es ja auch. Na eines nach dem anderem. So ganz schlau werde ich aus einigen Sachen noch nicht, bin jetzt beim testen. In ASM ist das hald wieder anders als in BASIC, da das mit dem Status abfragen einfach sein muss.  :) Mal sehen ob ich bin Anfang der Woche was gebacken bekomme.  :)
TFM of FutureSoft
http://www.futureos.de --> Das Betriebssystem FutureOS (Update: 24.12.2025)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> RSX ROM für LambdaSpeak (Update: 29.01.2025)

LambdaMikel


Rennert

Mein LS3 ist heute auch gekommen, funktioniert soweit alles. hab gleich mal die RTC gestellt. MP3 will ich mal testen.

@TFM: wie startest du den Cylon Mode? hast sicher ein Prog geschrieben.

Rennert

MP3 geht auch, vielleicht könnte man noch einbauen, das der nächste Song abgespielt wird, wenn der aktuelle zuende ist. und eine Ordnerauswahl. In der Beschreibung zum Modul steht ja, das man Ordner anlegen soll mit 01, 02 usw.

Wo sitzt denn genau der Temperatursensor? die Temperatur ist sehr hoch, da strahlt die Wärme vom Modul bissel ab ;)

Rennert

 Wenn ich RTC ne Weile laufen lasse, verschiebt sich das Zeitbild nach links und irgendwann kommt nen Out of Range.

LambdaMikel

Upps... Zeitbild verschiebt sich nach links?? Wie ist das denn möglich?
Hmm, ja das ist interessant... ist das reproduzierbar der Fall, in jedem Slot? Stromversorgung etc.? Bustreiber? Solche Sachen habe ich nicht....

Das ist am KC Compact, richtig?  Hast Du die letzte Version der LS300 dsk from Github Repository genommen?

Der Temperatursensor ist im Uhrmodul.... das gibt sich evtl. nach einiger Laufzeit. Der muss sich nämlich erst etwas kalibrieren. Ich hatte das zunächst auch dass der 80 Grad oder so war, und nach ein paar Minuten Luafzeit ist die Temperatur normal. Evtl. ist die Puffer-Batterie nicht gut.

Das könnte evtl. auch nur das BASIC-Programm und die Kommunikation mit LS betreffen. Kannst Du mal laufen lassen und einfach nur out &fbee,&DD verwenden. Wenn das die Zeit immer richtig sagt, ist es intern eigentlich i.O. Das gleiche für Datum, out &fbee,&dc

Diese kleinen BASIC-Programme sind all nur Proof of Concept... ach ja, und TFM hatte auch einen Patch gepostet für das Program, betreffend die Lese-ROutine. Ich glaube, das Betraf eine Warteschleife und folgendes WAIT command. Evtl. mal etwas mit der Schleifenlänge spielen, oder ganz weglassen, oder oder oder....

Hintergrund ist - man sendet ein Kommando wie "get hours" oder "get minutes", und LS legt dann für eine gewisse Zeit das Zeit-Byte auf den Port. Man muss also den richtigen Momentan "abpassen", um zu pollen. Ich habe das mittels "


void cpc_input_8bit(uint8_t byte) {
 
  DATA_TO_CPC(byte);
  z80_run;
  CPC_READ_DELAY;
  DATA_TO_CPC(255);
  CPC_READ_DELAY; 

  DATA_TO_CPC(0);

}


synchronisiert. Es erscheint zunöchst also "byte" (also die Stunden, Minuten, ...) auf dem Datenbus. Das kann ja leider auch 0 sein!
Man sollte also den Port nach "get hours" command so lange lesen, bis man 255 liest. Dann ist man sicher, dass man das "richtige" Byte gelesen hat - das Byte direkt vor 255. Danach kann man dann auf den Übergang 255 -> 0 warten.

Wie gesagt, das Timinig macht es etwas kritisdch für BASIC. TFM hatte die Warteschleife vor dem WAIT moniert, aber ich glaube, sogar dafür hatte ich einen Grund.

Ich denke also, dass es nur ein BASIC Problem ist.

Und, by the way, CPC READ DELAY:

#define CPC_READ_DELAY  FAST_CPC_GETTERS ? _delay_us(50) :  _delay_ms(10)


Evtl. also mal Port-Kommunikation auf "SLOW GETTERS" umstellen.

Rennert

Ja KC Compact, habe das letzte Dsk von Github.
Werde das Modul mal weiter vorne platzieren, ist grad das letzte im Glied.

TFM

Ja, die Warteschleife-Unterroutine hat einen Grund ... prüft Space bzw. D für Datum. Ist wohl ein BASIC Fehler irgendwo ein Überlauf oder so.
Das Programm ist ja auch nur eine Demo, die darf jeder nach Herzenslust umschreiben und erweitern und wie auch immer.  :)
TFM of FutureSoft
http://www.futureos.de --> Das Betriebssystem FutureOS (Update: 24.12.2025)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> RSX ROM für LambdaSpeak (Update: 29.01.2025)

Rennert

Die Zeit wird richtig angesagt. Bei der Zeit sind nach kurzer Zeit die Sekunden vierstellig, aber die vorderen Zahlen der Sekunden laufen normal weiter. Beim Datum kommt das dann auch später.
Hab das Modul mal weit vorne gesteckt, mal schauen ob das Out of Range in 850 noch kommt. Die komische Anzeige kommt trotzdem noch.

LambdaMikel


Rennert

Das Out of Range in 850 kam immernoch.
Habe mal die Zeile 850 gelöscht und kam nicht wieder. Ist die Zeile wo der Wochentag angezeigt wird.

LambdaMikel


Rennert

Na Samstag, also 6.
Wegen den doppelten Zeichen am Ende: habe mal bei Zeile 810, 830, 850, 870 jeweils ein ;:PRINT"    " angehängt, da kommen erstmal keine doppelten Sekunden usw.
Mal sehen ob auch das Out of Range weg ist.

LambdaMikel