Jump to content

Neue Probleme


seppoman
 Share

Recommended Posts

Hallo,

nachdem meine MB SID jetzt eine Zeitlang vernachlässigt wurde, bin ich seit letzter Woche wieder aktiv, und kam dabei auf folgende Probleme:

1. Ich bekam von Anfang an beim Einschalten immer eine Sammlung von wirren MIDI-Befehlen, die ich auf eventuelle Anschalt-Spitzen im Stromverbrauch meines VFD Displays zurückführte. Hat allerdings nicht großartig gestört, da im Betrieb alles in Ordnung war. Jetzt habe ich aber den MIDI-Ausgang gestern mal wieder an den PC geklemmt, um aktuelle Firmware aufzuspielen.

Komischerweise bekomme ich jetzt aber nur noch gelegentlichen Blödsinn (System Reset und Continue) zu sehen, keine Bootloader-Meldungen, keine Sysex-Bestätigungen beim Upload (der allerdings trotzdem klappt). Jetzt kommt das Eigenartige: Wenn ich im CC-Mode an den Encodern drehe, werden die CCs absolut korrekt gesendet !?? Ich habe testweise Opto-Koppler und PIC in mein zweites Core-Modul gesteckt, auch einen zweiten PIC mit der gleichen Software in mein Master-Core-Modul usw. Immer das gleiche. Was kann das sein?

2. Mir ist aufgefallen, daß speziell bei Sounds mit langsamem Attack (wie z.B. "Slow Intro") man einen tieffrequenten Knackser am Anfang jeder Note hört. Ist das normal und ich habe es bisher nur nie bemerkt, oder kann ein Hardware-Problem die Ursache sein?

3. Ich helfe gerade einem Freund, sich auch eine MB SID zu bauen. Er will ein etwas anderes Bedien-Konzept (10 Encoder mit Druckfunktion unter dem 2x40 Display und daneben nur 9 Tasten, mit denen man direkt auf die 8 Untermenüs und auf die Hauptebene springen kann). Das habe ich gestern programmiert, und dummerweise macht die Kiste jedesmal einen Reset, wenn man versehentlich an einem Encoder dreht, über dem kein Parameter steht (z.B. 6-10 im LFO-Menü). Ist das ein Fehler in meinem Code oder kann das jemand nachvollziehen? Nachdem ja im normalen Step-C Control Surface CS_MENU_ENC_CHANGE_MENU_P6 (bis P10) nicht verwendet wird, könnte ich mir vorstellen, daß evtl. doch ein kleiner Bug in der normalen SID Applikation der Grund sein könnte?

Vielen Dank schonmal im Vorraus für Eure Tips :)

Seppoman

Link to comment
Share on other sites

Hallo,

1. Ich bekam von Anfang an beim Einschalten immer eine Sammlung von wirren MIDI-Befehlen, die ich auf eventuelle Anschalt-Spitzen im Stromverbrauch meines VFD Displays zurückführte. Hat allerdings nicht großartig gestört, da im Betrieb alles in Ordnung war. Jetzt habe ich aber den MIDI-Ausgang gestern mal wieder an den PC geklemmt, um aktuelle Firmware aufzuspielen.

Komischerweise bekomme ich jetzt aber nur noch gelegentlichen Blödsinn (System Reset und Continue) zu sehen, keine Bootloader-Meldungen, keine Sysex-Bestätigungen beim Upload (der allerdings trotzdem klappt). Jetzt kommt das Eigenartige: Wenn ich im CC-Mode an den Encodern drehe, werden die CCs absolut korrekt gesendet !?? Ich habe testweise Opto-Koppler und PIC in mein zweites Core-Modul gesteckt, auch einen zweiten PIC mit der gleichen Software in mein Master-Core-Modul usw. Immer das gleiche. Was kann das sein?

Verwendest Du evtl. eine Delta Soundkarte von M-Audio?

Hier muss ich eine Schleife drehen: ein Bekannter hatte mit dieser Karte mal ein aehnliches Problem, dass immer dann auftrat, wenn er das Core Modul ausschaltete. Es stellte sich heraus, dass der Elko (C5) zu gross war, so dass die Versorgungsspannung nur langsam absank und an einer bestimmten Schaltschwelle zufaellige MIDI Events gesendet wurden. Wir haben dann C5 durch einen 1000 uF ausgetauscht, danach war das Problem verschwunden (mittlerweile sind ein paar Potis und LEDs am Core Modul angeschlossen, so dass der 1000uF wieder durch einen 2200uF ausgetauscht werden musste, um den Jitter zu minimieren).

Nun zur M-Audio Delta: der Driver hat offensichtlich einen Bug. Bei einer bestimmten Kombination an ungueltigen MIDI Events haengt sich die Karte so sehr auf, dass der MIDI In nur nach einem Neustart des Rechners wieder voll funktionsfaehig ist.

2. Mir ist aufgefallen, daß speziell bei Sounds mit langsamem Attack (wie z.B. "Slow Intro") man einen tieffrequenten Knackser am Anfang jeder Note hört. Ist das normal und ich habe es bisher nur nie bemerkt, oder kann ein Hardware-Problem die Ursache sein?

der Sound ist etwas ungluecklich programmiert. Am Anfang steht die Pulsweite auf 0, der SID generiert daraus eine steile Flanke. Evtl. macht es Sinn, mit einer zweiten Huellkurve ein Lowpass Filter zuzuschalten, der den oberen Frequenzbereich fuer die ersten Millisekunden "zumacht".

3. Ich helfe gerade einem Freund, sich auch eine MB SID zu bauen. Er will ein etwas anderes Bedien-Konzept (10 Encoder mit Druckfunktion unter dem 2x40 Display und daneben nur 9 Tasten, mit denen man direkt auf die 8 Untermenüs und auf die Hauptebene springen kann). Das habe ich gestern programmiert, und dummerweise macht die Kiste jedesmal einen Reset, wenn man versehentlich an einem Encoder dreht, über dem kein Parameter steht (z.B. 6-10 im LFO-Menü). Ist das ein Fehler in meinem Code oder kann das jemand nachvollziehen? Nachdem ja im normalen Step-C Control Surface CS_MENU_ENC_CHANGE_MENU_P6 (bis P10) nicht verwendet wird, könnte ich mir vorstellen, daß evtl. doch ein kleiner Bug in der normalen SID Applikation der Grund sein könnte?

Ja, alles was ich auf Anfrage eingebaut, aber noch nie selber testen konnte, ist grundsaetzlich fehlerhaft. Dafuer seit ihr ja da ;-)

Probiere mal folgendes aus: in cs_menu_enc.inc innerhalb der CS_MENU_ENC_CS_Change_Menu Funktion folgende Zeilen:

        movwf   MIOS_PARAMETER1
        movff   CS_MENU_PAGE_OFFSET, MIOS_PARAMETER2
wie folgt ergaenzen:
        movwf   MIOS_PARAMETER1
        ;; ignore if parameter pos >= number of entries
        movf    CS_MENU_ENTRIES, W
        IFGEQ   MIOS_PARAMETER1, ACCESS, rgoto CS_MENU_ENC_CS_Change_Menu_End
        ;; else modify parameter
        movff   CS_MENU_PAGE_OFFSET, MIOS_PARAMETER2

Gruss,

       Thorsten.

Link to comment
Share on other sites

Hi Thorsten,

Verwendest Du evtl. eine Delta Soundkarte von M-Audio?

Hier muss ich eine Schleife drehen: ein Bekannter hatte mit dieser Karte mal ein aehnliches Problem, dass immer dann auftrat, wenn er das Core Modul ausschaltete. Es stellte sich heraus, dass der Elko (C5) zu gross war, so dass die Versorgungsspannung nur langsam absank und an einer bestimmten Schaltschwelle zufaellige MIDI Events gesendet wurden. Wir haben dann C5 durch einen 1000 uF ausgetauscht, danach war das Problem verschwunden (mittlerweile sind ein paar Potis und LEDs am Core Modul angeschlossen, so dass der 1000uF wieder durch einen 2200uF ausgetauscht werden musste, um den Jitter zu minimieren).

Nun zur M-Audio Delta: der Driver hat offensichtlich einen Bug. Bei einer bestimmten Kombination an ungueltigen MIDI Events haengt sich die Karte so sehr auf, dass der MIDI In nur nach einem Neustart des Rechners wieder voll funktionsfaehig ist.

Nein, ich hab eine Terratec EWS88 MT.

Aber tatsächlich habe ich gerade mal getestet, und wenn man die MB ein paar Minuten aus läßt, erst dann MIDI-OX startet und die MB einschaltet, geht alles prima. Wenn man allerdings direkt nacheinander aus- und einschaltet, kommt nur noch Schrott rein, bis man den Rechner neu startet. Vielleicht ist es ja auch ein Windows2000-Problem - Ich teste das bei Gelegenheit nochmal mit meinem MOTU-Parallelport-Interface...

Ich habe allerdings schon einige LEDs und Encoder (2 D_IN, 1 D_OUT, jeweils voll bestückt). Ist das zu wenig, um die 7 großen Elkos auszulasten (2 Core, 2 SID, 3 PSU_Optimized)?

Heute ist das Problem wieder ein Anderes: Der SID reagiert nicht auf Noten-Befehle. Upload geht, im CC Mode sieht man die Note-On/Off-Befehle auch im Monitor, aber leider erzeugt weder der Master noch der Slave irgendwelche Töne. Das Filter-Pfeifen nach dem Einschalten hört man aber. Hä???? Ich bin verwirrt...

der Sound ist etwas ungluecklich programmiert. Am Anfang steht die Pulsweite auf 0, der SID generiert daraus eine steile Flanke. Evtl. macht es Sinn, mit einer zweiten Huellkurve ein Lowpass Filter zuzuschalten, der den oberen Frequenzbereich fuer die ersten Millisekunden "zumacht".

Der Sound ist vielleicht ein Sonderfall, aber etwas ist dieses Knacken auch bei anderen Sounds (z.B. Poly Saw) zu hören. Nachdem ja heute wie gesagt keine Töne erzeugt werden, kann man gut hören, daß (komischerweise nur beim Slave, obwohl "mit Ton" das auch beim Master hörbar war) meistens bei NoteOn/Off-Befehlen der Knackser kommt.

Ja, alles was ich auf Anfrage eingebaut, aber noch nie selber testen konnte, ist grundsaetzlich fehlerhaft. Dafuer seit ihr ja da ;-)

Probiere mal folgendes aus:

[...]

Super, das war´s :)  Funktioniert einwandfrei, keine Resets mehr.

Vielen Dank,

Seppoman

Link to comment
Share on other sites

Hallo,

zu 1): ich kann mir kein genaues Bild ueber die Zusammenhaenge machen... am besten versuchst Du erstmal einen Weg zu finden, die ungueltigen MIDI Events wegzukriegen.

zu 2): das Knacksen das Du ansprichst ist ein generelles SID problem, ich wuesste nicht, wie man es ohne manuelles Finetuning der Klangparameter unterdruecken koennte. Man muesste es eigentlich auch an einem C64 reproduzieren koennen, wenn man einfach eine beliebige Frequenz einstellt, Attack sehr hoch, Sustain auf maximal und anschliessend das Gate Flag setzt

Gruss,

       Thorsten.

Link to comment
Share on other sites

Hi Thorsten,

so, ich habe nach langem Suchen das "kommt kein Ton raus"-Problem gelöst... Peinlich, peinlich...

Ich habe beim Testen der Menu Encoder-Oberfläche wahllos an allen Knöpfen rumgeschraubt und dabei wohl versehentlich den MIDI-Kanal verstellt. Ist natürlich klar, daß dann nix rauskommt. DAU-Alarm,  hüstel... ::)

Könntest Du mir wegen der ungültigen MIDI-Events einen kleinen Tip zum Anfangen geben? Soll ich mal ein paar von den 2200er Elkos rausnehmen oder evtl. noch irgendwo kleine Entstörkondensatoren dazuklemmen?

Noch eine andere Frage: Diese Menu-Encoder-Oberfläche für meinen Kumpel läuft inzwischen gut. Im Praxistest fiel uns jetzt auf, daß man ja eigentlich die normalen Auswahltasten kaum mehr braucht - wie gesagt, eigene Tasten mit denen man direkt jedes Menü und die Hauptebene anspringen kann. Deshalb wäre es eigentlich unnötig, die teuren Druckencoder zu verwenden.

Die einzigen Stellen, wo´s nicht ohne Tasten geht, ist das Name-Menü (hineinkommen und dort die Navigation) und das "do!" im Save-Menü. Wäre es evtl. mit nicht zu großem Aufwand möglich, die Encoder dort so zu benutzen, daß z.B. ein Dreh nach rechts (z.B. alle 10 Encoder-Clicks) an dieser Stelle so wirkt wie eine gedrückte Taste?

Und noch ein Mini-Bug-Report: Im Filter-Menü läßt sich die 3Of-Option nicht per ...MENU_P6 Encoder ändern.

Vielen Dank,

Seppoman

Link to comment
Share on other sites

Hallo,

dass der falsche MIDI Kanal eingestellt ist, war mein erster Gedanke, aber dass Dir das passiert, haette ich nicht gedacht. ;-)

Ungueltige MIDI Events: bei meiner MBSID sind sowohl die Core, als auch die SID Module mit 1000uF Kondensatoren bestueckt. Ich habe sie damals wegen der Groesse gewaehlt, mit 2200uF wuerde ich das C64 Gehaeuse nicht zukriegen. Vielleicht habe ich somit unbewusst das Problem vermieten, auf das Du nun gestossen bist - aber ich bin mir nicht sicher.

Das Problem kannte ich bisher nur von Core Modulen, an denen keine weiteren Verbraucher angeschlossen sind. Warum es nun bei Dir auftritt, kann ich nicht sagen, und deshalb bleibt Dir nur eins: ausprobieren!

Encoder fuer 3Of/Save/Name: sieht nach Aufwand aus :-/ Fuer 3Of finde ich evtl. eine Loesung, fuer die restlichen Wuensche habe ich keine Lust/Zeit

Gruss,

       Thorsten.

Link to comment
Share on other sites

Zum Thema "ungewolltes Knacken": ich habe mir heute nochmal den Audio Out des SIDs am Scope angesehen - sobald das Gate Bit einer einzigen Voice gesetzt wird, steigt der DC Offset um ca. 200 mV:

sid_offset_1voice.jpg

und wenn drei Voices zum gleichen Zeitpunkt gestartet werden, wie bspw. beim "Slow Intro Sound", addieren sich die Offsets zu ca. 500 mV:

sid_offset_3voices.jpg

In diesem Artikel steht mehr zum Thema Offset (und wie man diese Designschwaeche ausnutzen kann ;-)): http://www.kubarth.de/sid/articles/the_c64_digi.txt

Zitat:

So, the DC offset must come from the ADSR multiplying D/As. Another measurement shows that even the mixer itself has a small DC offset.

Gruss,

       Thorsten.

Link to comment
Share on other sites

  • 2 weeks later...

Hi Thorsten,

erstmal danke für die ganzen Infos. Kleinere Elkos usw. probiere ich die Tage mal aus.

Hallo,

Encoder fuer 3Of/Save/Name: sieht nach Aufwand aus :-/ Fuer 3Of finde ich evtl. eine Loesung, fuer die restlichen Wuensche habe ich keine Lust/Zeit

Aber ich ;)

Ausschnitt aus CS_MENU_ENC_CS_Change_Menu:

; ******************************************* Aenderung ************************

      ;; ignore if parameter pos >= number of entries
      movf    CS_MENU_ENTRIES, W
      IFGEQ   MIOS_PARAMETER1, ACCESS, rgoto CS_MENU_ENC_CS_Change_Menu_End
      ;; else modify parameter     
;...
      ;; CFG Menu?
      movlw      0x07
      IFNEQ      CS_MENU, ACCESS, rgoto CS_MENU_ENC_NOCFG
      ;; name editing mode?
      IFSET      CS_STAT, CS_STAT_MODIFY_NAME, rgoto CS_MENU_ENC_NAMSP
      ;; 3. Parameter?
      movlw      0x02
      IFNEQ      MIOS_PARAMETER1, ACCESS, rgoto CS_MENU_ENC_NOCFG
      ;; set cursor
      movf      MIOS_PARAMETER1, W
      addwf      CS_MENU_PAGE_OFFSET, W

      ;; branch to the CS_MENU_Select function
      goto      CS_MENU_Select

CS_MENU_ENC_NAMSP
      ;; set cursor to: CS_MENU_PAGE_OFFSET + number in WREG
      movf      MIOS_PARAMETER1, W
      addwf      CS_MENU_PAGE_OFFSET, W

      goto      CS_MENU_Select_NameFunc

CS_MENU_ENC_NOCFG
      ;; SAV Menu?
      movlw      0x07
      IFLEQ      CS_MENU, ACCESS, rgoto CS_MENU_ENC_NOSAV
      ;; 2. Parameter?
      movlw      0x01
      IFNEQ      MIOS_PARAMETER1, ACCESS, rgoto CS_MENU_ENC_NOSAV
      ;; set cursor
      movlw      0x01
      addwf      CS_MENU_PAGE_OFFSET, W
      ;; branch to the CS_MENU_Select function
      goto      CS_MENU_Select

CS_MENU_ENC_NOSAV

;; *********************** wieder Normal ************************************* 

Das ist sicher nicht der eleganteste Weg, funktioniert aber ganz gut. Einziges Problem: Wenn im CFG-Menü der Namens-Eintrag zu sehen ist, aber nicht auf Position 3, dann wird der Encoder zwar erkannt, aber trotzdem der 3. Parameter auf dem Display selektiert. Ist MIOS_PARAMETER1 fürs Cursorsetzen die falsche Variable? Wenn ja, wo bekomme ich die "ansichtskorrigierte" Menüposition her?

Evtl. wollte ich noch eine "Bremse" einbauen, damit man nicht immer aufpassen muß, beim Betreten des Namens-Menüs nicht gleich ein (paar) Zeichen zu löschen. Hättest Du einen Vorschlag, wie ich die "Taste" nur z.b. jeden 4. Encoder-Tick auslösen kann?

Vielen Dank,

Seppoman

Link to comment
Share on other sites

Hallo,

Einziges Problem: Wenn im CFG-Menü der Namens-Eintrag zu sehen ist, aber nicht auf Position 3, dann wird der Encoder zwar erkannt, aber trotzdem der 3. Parameter auf dem Display selektiert. Ist MIOS_PARAMETER1 fürs Cursorsetzen die falsche Variable? Wenn ja, wo bekomme ich die "ansichtskorrigierte" Menüposition her?

Weiter unten in CS_MENU_ENC_CS_Change_Menu wird noch der Cursor Offset hinzuaddiert - evtl. rufst Du die Routine vorher auf.

Evtl. wollte ich noch eine "Bremse" einbauen, damit man nicht immer aufpassen muß, beim Betreten des Namens-Menüs nicht gleich ein (paar) Zeichen zu löschen. Hättest Du einen Vorschlag, wie ich die "Taste" nur z.b. jeden 4. Encoder-Tick auslösen kann?

Du koenntest in CS_MENU_EncSpeedSet (cs_menu.inc) eine aehnliche Verzweigung einbauen, die dann in diesem Menu den SpeedMode der Encoder auf MIOS_ENC_SPEED_SLOW mit pre-divider 0x03 (4) einstellt.

Gruss,

       Thorsten.

Link to comment
Share on other sites

Hi Thorsten,

Vielen Dank, das werde ich so probieren :)

mal eine andere Frage: Wir sind gerade am Frontplattendesign für die Kiste. Nachdem ja jeweils eine extra Taste für die direkte Untermenü-Anwahl draufkommt, wäre es wichtig zu erfahren, ob Du vorhast, in Zukunft noch weitere Untermenüs einzuführen. Mit der aktuellen Version kam ja das VMA dazu, und Gott sei Dank hatten wir die Frontplatte noch nicht bestellt. Wenn jetzt aber in drei Monaten nochmal neue Menüs dazukämen und man dafür dann keine Taste vorgesehen hätte, wäre das unpraktisch.

und gleich noch eine: Wir wollen die originalen braunen Tasten aus dem C64 verwenden. Für die Eingabetasten habe ich auf eBay schon einen Sack alter Cherry-Tastatur-Einzeltaster bekommen.

Die Frage ist jetzt: Die RUN/STOP-Taste soll der Powerschalter werden, ich habe aber bisher keine Netzschalter mit der typischen Kreuzform eines Tastatur-Tasters gefunden.

Deshalb habe ich dafür jetzt den Shift-Lock-Schalter der C64-Tastatur genommen, der soweit erkennbar auch nicht heiß wird oder anfängt zu schmoren. Allerdings gehen da jetzt 15V/600 mA durch, für die so ein Taster vermutlich bei Weitem nicht ausgelegt ist. Kann das längerfristig zu Problemen führen (kein Kontakt, Feuer o.Ä.) oder hat jemand ggf. einen Tip, wo man einen Netzschalter bekommen kann, auf den eine Tastenkappe paßt?

Vielen Dank und viele Grüße,

Seppoman

Link to comment
Share on other sites

Hallo,

ich kann heute noch nicht sagen, welche neuen Untermenues in den naechsten Jahren hinzukommen werden - aus diesem Grund habe ich die Bedienung so flexibel gestaltet, dass ich darauf keine Ruecksicht nehmen muss. Wenn Du nun eigene Taster fuer die Menues einplanst, dann wirklich nur auf eigene Gefahr. Mit Sicherheit wird es noch ein Menu fuer das AOUT Modul geben, spaeter auch mal fuer die uebergeordneten Patches fuer alle 4 SIDs (Performances oder wie man das dann nennen mag)

Run/Stop: bei diesem Einschaltstrom werden die Kontakte des Schalters mit der Zeit korrodieren. Falls Du keine bessere Loesung findest (bspw. bei Conrad --- die sind zwar teuer, bieten dafuer jedoch einen schoenen bunten Katalog), hilft. evtl. ein Relais.

Gruss,

       Thorsten.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...