Autor Thema: LambdaSpeak CPC Sprach-Synthesizer, Sample Player, RTC, MP3, UART Erweiterung  (Gelesen 162724 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline TFM

  • Administrator
  • CPC 6128+
  • *****
  • Beiträge: 3.794
  • Likes gesamt: 104
  • Karma: +57/-0
  • Geschlecht: Männlich
  • FutureSoft und CPC - Ein starkes Team!
    • FutureOS
Genau, aber zuerst sollte es einmal bei mir funktionieren. ...

Klaro, Source ist ja im Netz, Dokumentiert ist es auch... und bei Fragen bin ich immer gerne da.  :)
TFM of FutureSoft
http://www.FutureOS.de --> Das Betriebssystem FutureOS (Update: 22.02.2022)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> RSX ROM für LambdaSpeak (Update: 26.12.2021)

Offline TFM

  • Administrator
  • CPC 6128+
  • *****
  • Beiträge: 3.794
  • Likes gesamt: 104
  • Karma: +57/-0
  • Geschlecht: Männlich
  • FutureSoft und CPC - Ein starkes Team!
    • FutureOS
Leider hat es wohl mit dem Firmware Update einen (neuen?!) Bug gegeben. Es äußert sich folgerdermaßen:

- Wenn ich FutureOS laufen lasse / benutze, dann friert die Oberfläche nach einiger Zeit ein.
- Drücke ich Reset am LS3, dann geht es weiter... (aber hald mit LS3 uninitialisiert).
- Drücke ich Reset am CPC, dann passiert nix (außer MODE Anderung), also ist wohl der CPC durch WAIT vom LS3 blockiert. Hier hilft ein Reset am LS3.

Was könnte los sein?
- Unter FutureOS wird ständig die LS3 RTC abgefragt, und da scheint es zu hängen.
- Wenn ich auf das LED-Display gucke, dann zeigt das Werte wie &D3, &D4, &D5, &D7, &D9.

Michael, könntest Du bitte mal in die LS3 Firmware Funktionen &D3 bis &D9 schauen, ob da manchmal WAIT gesetzt - aber nicht zurück gesetzt wird?

Es könnte sein, dass es damit zusammenhängt, dass ich kurz zuvor Funktion &F4 nutze.

Bitte um Hilfe!  :flehan: :flehan: :flehan:

TFM of FutureSoft
http://www.FutureOS.de --> Das Betriebssystem FutureOS (Update: 22.02.2022)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> RSX ROM für LambdaSpeak (Update: 26.12.2021)

Offline LambdaMikel

  • LambdaMikel
  • Moderator
  • CPC 464+
  • *****
  • Beiträge: 1.175
  • Likes gesamt: 157
  • Karma: +54/-0
  • Geschlecht: Männlich
    • Homepage
Hmm, also es gibt in diesem Zyklus eigentlich nur einen einzigen z80_halt, und der passiert sobald ein Byte am Datenbus ankommt. Dass Byte wird dann entweder weggepuffert fürs Sprechen, oder aber wenn es ein Kontroll-Byte ist, geht es in   process_control - dort wird es dispatched. In proces_control wird der Z80 sofort wieder freigegeben mittels z80_run, WENN non blocking confirmations an sind:




void process_control(uint8_t control_byte) {

  LEDS_ON;

  stop(); 

  if (NON_BLOCK_CONFIRMATIONS) {
    z80_run;
  }
...
}


LS3 Epson Hauptschleife:

while (1) {

TRANSMIT_OFF;
READY_ON;

speech_native_ready;
z80_run;

loop_until_bit_is_set(IOREQ_PIN, IOREQ_WRITE);

DATA_FROM_CPC(databus);

loop_until_bit_is_clear(IOREQ_PIN, IOREQ_WRITE);

z80_halt;
speech_native_busy;  // to 0...

TRANSMIT_ON;
READY_OFF;

if (databus & 0b10000000 ) {
 
  if (databus == 0xF0) {
    // do nothing for next byte! just for databus LED display
   
    loop_until_bit_is_set(IOREQ_PIN, IOREQ_WRITE_DK);
    _delay_us(3); // don't change... it works    
    DATA_FROM_CPC(databus);  
    loop_until_bit_is_clear(IOREQ_PIN, IOREQ_WRITE_DK);

  } else {

    process_control(databus);

    if (!BLOCKING)
      z80_run;

    if (CUR_MODE != LAST_MODE) {

      if (CUR_MODE == START_OVER_SAME_MODE)
CUR_MODE = LAST_MODE;
      else
LAST_MODE = CUR_MODE;
     
      break;
    }
   
  }
} else {
 
....
}


Das einzige z80_halt passiert also direkt nach Empfang eines Bytes, wird aber sofort wieder frei gegeben im Falle eines Kontroll-Bytes. Wenn allerdings die LS3 Hardware abschmiert... das ist momentan das einzige, was ich mir vorstellen kann.

Wie oft pro Sekunde sendest Du denn die Uhrzeitabfrage? Evtl. etwas moderater in der Abfrage-Frequenz, passiert es dann auch?

Offline TFM

  • Administrator
  • CPC 6128+
  • *****
  • Beiträge: 3.794
  • Likes gesamt: 104
  • Karma: +57/-0
  • Geschlecht: Männlich
  • FutureSoft und CPC - Ein starkes Team!
    • FutureOS
Ich frage die Uhr locker 50x in der Sekunde ab, aber selbst wenn ich nur einmal abfragen würde, wo wäre der Vorteil? Der Fehler tritt hald dann eventuell später auf.

Wann tritt der Fehler auf? Manchmal nach Sekunden, manchmal nach 1-2 Minuten.

Der Source von Dir sagt mir nix, das ist kein Z80, sorry. Es scheint so als ob das Z80 HALT in seltenen Fällen nicht zurückgenommen wird. Bitte einfach mal selber ausprobieren.

Eventuell hängt es mit einem Interrupt der Atmel CPU zusammen?

Das Problem hat in der Firmware zuvor ja nicht bestanden, guck mal was sich geändert hat.  :)
TFM of FutureSoft
http://www.FutureOS.de --> Das Betriebssystem FutureOS (Update: 22.02.2022)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> RSX ROM für LambdaSpeak (Update: 26.12.2021)

Offline LambdaMikel

  • LambdaMikel
  • Moderator
  • CPC 464+
  • *****
  • Beiträge: 1.175
  • Likes gesamt: 157
  • Karma: +54/-0
  • Geschlecht: Männlich
    • Homepage
Ich frage die Uhr locker 50x in der Sekunde ab, aber selbst wenn ich nur einmal abfragen würde, wo wäre der Vorteil? Der Fehler tritt hald dann eventuell später auf.

Wann tritt der Fehler auf? Manchmal nach Sekunden, manchmal nach 1-2 Minuten.

Der Source von Dir sagt mir nix, das ist kein Z80, sorry. Es scheint so als ob das Z80 HALT in seltenen Fällen nicht zurückgenommen wird. Bitte einfach mal selber ausprobieren.

Eventuell hängt es mit einem Interrupt der Atmel CPU zusammen?

Das Problem hat in der Firmware zuvor ja nicht bestanden, guck mal was sich geändert hat.  :)

Hmm, also in der Beziehung hat sich aber nichts geaendert in der Firmware. Ist diese Version von FOS online? Dann kann ich es selbst mal laufen lassen.

Nach welcher Zeit tritt denn das auf.

Und welche Version Firmware verwendest Du nun? Slow, Medium, oder Fast Getters?

Stellst Du denn sicher, dass Du das naechste &D3..D9 Kommando erst sendest, wenn der LS3 wieder bereit ist? Diesen Fall koennte man einfach verhindern indem man die Uhr nur alle 500 ms oder so aufruft.
« Letzte Änderung: 08. August 2019, 17:20:26 von LambdaMikel »

Offline TFM

  • Administrator
  • CPC 6128+
  • *****
  • Beiträge: 3.794
  • Likes gesamt: 104
  • Karma: +57/-0
  • Geschlecht: Männlich
  • FutureSoft und CPC - Ein starkes Team!
    • FutureOS
Ich frage die Uhr locker 50x in der Sekunde ab, aber selbst wenn ich nur einmal abfragen würde, wo wäre der Vorteil? Der Fehler tritt hald dann eventuell später auf.

Wann tritt der Fehler auf? Manchmal nach Sekunden, manchmal nach 1-2 Minuten.

Der Source von Dir sagt mir nix, das ist kein Z80, sorry. Es scheint so als ob das Z80 HALT in seltenen Fällen nicht zurückgenommen wird. Bitte einfach mal selber ausprobieren.

Eventuell hängt es mit einem Interrupt der Atmel CPU zusammen?

Das Problem hat in der Firmware zuvor ja nicht bestanden, guck mal was sich geändert hat.  :)

Hmm, also in der Beziehung hat sich aber nichts geaendert in der Firmware. Ist diese Version von FOS online? Dann kann ich es selbst mal laufen lassen.

Nach welcher Zeit tritt denn das auf.

Und welche Version Firmware verwendest Du nun? Slow, Medium, oder Fast Getters?

Stellst Du denn sicher, dass Du das naechste &D3..D9 Kommando erst sendest, wenn der LS3 wieder bereit ist? Diesen Fall koennte man einfach verhindern indem man die Uhr nur alle 500 ms oder so aufruft.

- Neueste FutureOS Version gestern online geladen, siehe Forum Thread
- Firmware: Natürlich neuestes Update v41
- Fast Getters
- Klar warte ich bis LS &20 meldet
 :)
TFM of FutureSoft
http://www.FutureOS.de --> Das Betriebssystem FutureOS (Update: 22.02.2022)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> RSX ROM für LambdaSpeak (Update: 26.12.2021)

Offline TFM

  • Administrator
  • CPC 6128+
  • *****
  • Beiträge: 3.794
  • Likes gesamt: 104
  • Karma: +57/-0
  • Geschlecht: Männlich
  • FutureSoft und CPC - Ein starkes Team!
    • FutureOS
So habe nochmal v40 geflasht und getestet.

Das Problem mit dem Einfrieren des CPC (da hilft auch kein Reset) tritt von Firmware v40 auf v41 auf.

Einfach mal FutureOS starten, warten bis alles steht, dann auf CPC Reset drücken. Erst der Druck auf LS3 Reset hilft da.

Bitte alle mal ausprobieren, ob das Problem reproduziert werden kann.

Danke für jegliche Hilfe  :)


EDIT: Es passiert bei v40 auch, nur viel seltener und viel später...  :irre:
« Letzte Änderung: 09. August 2019, 15:28:25 von TFM »
TFM of FutureSoft
http://www.FutureOS.de --> Das Betriebssystem FutureOS (Update: 22.02.2022)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> RSX ROM für LambdaSpeak (Update: 26.12.2021)

Offline LambdaMikel

  • LambdaMikel
  • Moderator
  • CPC 464+
  • *****
  • Beiträge: 1.175
  • Likes gesamt: 157
  • Karma: +54/-0
  • Geschlecht: Männlich
    • Homepage
So habe nochmal v40 geflasht und getestet.

Das Problem mit dem Einfrieren des CPC (da hilft auch kein Reset) tritt von Firmware v40 auf v41 auf.

Einfach mal FutureOS starten, warten bis alles steht, dann auf CPC Reset drücken. Erst der Druck auf LS3 Reset hilft da.

Bitte alle mal ausprobieren, ob das Problem reproduziert werden kann.

Danke für jegliche Hilfe  :)


EDIT: Es passiert bei v40 auch, nur viel seltener und viel später...  :irre:

Ja ich denke das hat nichts mit v41 vs v40 zu tun... ich werde es mal laufen lassen am WE. Wie lange braucht es bis es einfriert?

Ich hatte ASMCLOCK auch sehr lange laufen lassen,und keinen solchen Effekt.

Offline LambdaMikel

  • LambdaMikel
  • Moderator
  • CPC 464+
  • *****
  • Beiträge: 1.175
  • Likes gesamt: 157
  • Karma: +54/-0
  • Geschlecht: Männlich
    • Homepage
... also habe gerade FOS neuste Version runtergeladen und installiert.
Uhr läuft schon seit 15 Minuten 20 Minuten mit v47 Firmware ohne Probleme - muss jetzt zur Arbeit...

Wie lange muss ich denn warten?

Sprachausgabe ist ja witzig! Stimme ist nicht so mein Fall... sagt er da "Medium In?"

Ich hänge v47 hier noch mal an. Ich glaube aber nicht, dass sich irgendetwas geändert hat zwischen 39 bis 47 das den Effekt erklären könnte... ich lasse es mal über Nacht laufen.

Gut dass ich jetzt 3 XMem habe... da kann ich schnell mal was testen und wechseln.

Meine Config ist 6128, XMem und LS3, am ToTO-MotherX4 ohne Diode.
« Letzte Änderung: 09. August 2019, 18:50:06 von LambdaMikel »

Offline LambdaMikel

  • LambdaMikel
  • Moderator
  • CPC 464+
  • *****
  • Beiträge: 1.175
  • Likes gesamt: 157
  • Karma: +54/-0
  • Geschlecht: Männlich
    • Homepage
Also, FOS und Uhr laufen jetzt seit über 3 Stunden, und keine Verklemmung. Muss ich noch länger warten?
Evtl. liegt es bei Dir an etwas anderem im Setup?

Offline TFM

  • Administrator
  • CPC 6128+
  • *****
  • Beiträge: 3.794
  • Likes gesamt: 104
  • Karma: +57/-0
  • Geschlecht: Männlich
  • FutureSoft und CPC - Ein starkes Team!
    • FutureOS
Nee, wie geschrieben, es ist weniger als 1 Minute. Werde die v47 brennen und dann berichten.  :)
TFM of FutureSoft
http://www.FutureOS.de --> Das Betriebssystem FutureOS (Update: 22.02.2022)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> RSX ROM für LambdaSpeak (Update: 26.12.2021)

Offline LambdaMikel

  • LambdaMikel
  • Moderator
  • CPC 464+
  • *****
  • Beiträge: 1.175
  • Likes gesamt: 157
  • Karma: +54/-0
  • Geschlecht: Männlich
    • Homepage
Nee, wie geschrieben, es ist weniger als 1 Minute. Werde die v47 brennen und dann berichten.  :)

OK, dann ist es definitiv was anderes bei Dir. Evtl. Harware-Defekt... sonst musst Du LS3 einsenden.

Offline LambdaMikel

  • LambdaMikel
  • Moderator
  • CPC 464+
  • *****
  • Beiträge: 1.175
  • Likes gesamt: 157
  • Karma: +54/-0
  • Geschlecht: Männlich
    • Homepage
@TFM, wie waere es wenn ich Dir einen 2. LS3 schicke... dann kannst Du damit gegenpruefen.
Zudem waere dass dann eine Version mit Serial UART Pins... waere ja schoen wenn Du auch die serielle unterstuetzen wuerdest in Software.

Sollte sowas wie mit Usifac (Programme reinladen) nicht auch mit LS3 gehen?

Und, hast Du alle anderen Karten / Erweiterungen rausgenommen beim Testen? Waere ja schoen wenn @Rennert auch mal die FOS Uhr im Dauerbetrieb testen koennte. Wie gesagt, bei mir laeuft das stundenlang ohne Probleme.

Offline Rennert

was muss ich im FOS machen zum Test?
habe jetzt bei der Konfiguration von FOS die RTC Rom Nummer auf 114 genommen. was muss ich für die RTC vom LS3 nehmen?

Offline LambdaMikel

  • LambdaMikel
  • Moderator
  • CPC 464+
  • *****
  • Beiträge: 1.175
  • Likes gesamt: 157
  • Karma: +54/-0
  • Geschlecht: Männlich
    • Homepage
was muss ich im FOS machen zum Test?
habe jetzt bei der Konfiguration von FOS die RTC Rom Nummer auf 114 genommen. was muss ich für die RTC vom LS3 nehmen?

Aeeh... gar nix? Ich hatte FOS Installer runtergeladen, rauf aufs XMem mit Default Einstellungen, und schon war es installiert. Und die Uhr kommt auch gleich.

Mit ROM-Positionen kenne ich mich nicht aus.