Zum Inhalt springen

Arduino Pinball Controller


Black Knight

Empfohlene Beiträge

@bontangoIch bastle gerade die Sounds in meinen Rollergames und habe ein ganz merkwürdiges Problem. Es scheint soweit alles zu funktionieren, aber er startet immer wieder die Titelmusik 0x3, d.h. sie bricht jedes andere Musikstück ab und startet auch immer wieder neu.  
Der Anfang eines Spiels sieht dann z.b. so aus:

Zitat

loading rom 0: rolr-u26.lu3
loading rom 1: rolr_u27.l2 
done
[137.497595][0.436610] LISY_W sound_handler: board:1 0x0 (0)
[137.497676][0.000081] play soundindex 0 on board 1 
[140.321234][2.823558] timer experid, nvram delayed write
[144.614946][4.293712] LISY_W sound_handler: board:1 0x1 (1)
[144.615137][0.000191] play soundindex 1 on board 1 
[146.452261][1.837124] LISY_W sound_handler: board:1 0x1 (1)
[146.452445][0.000184] play soundindex 1 on board 1 
[146.457256][0.004811] LISY_W sound_handler: board:1 0x50 (80)
[146.457372][0.000116] play soundindex 80 on board 1 
[149.744295][3.286923] LISY_W sound_handler: board:1 0x50 (80)
[149.744478][0.000183] play soundindex 80 on board 1 
[149.745860][0.001382] LISY_W sound_handler: board:1 0x2 (2)
[149.745972][0.000112] play soundindex 2 on board 1 
[153.233203][3.487231] LISY_W sound_handler: board:1 0x2 (2)
[153.233388][0.000185] play soundindex 2 on board 1 
[153.236581][0.003193] LISY_W sound_handler: board:1 0x3 (3)
[153.236707][0.000126] play soundindex 3 on board 1 
[158.190316][4.953609] LISY_W sound_handler: board:1 0x3 (3)
[158.190514][0.000198] play soundindex 3 on board 1 
[158.192052][0.001538] LISY_W sound_handler: board:1 0x3 (3)
[158.192167][0.000115] play soundindex 3 on board 1 

Wie schon gesagt sendet er alle Kommandos doppelt, also nur jedes zweite lesen, aber am Ende startet er die Musik und nach 5s nochmal - das geht dann immer so weiter.

Irgendeine Idee?

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • Antworten 1,6Tsd
  • Erstellt
  • Letzte Antwort

Top-Benutzer in diesem Thema

  • Black Knight

    642

  • bontango

    438

  • Volley

    100

  • jabdoa

    97

Top-Benutzer in diesem Thema

Veröffentlichte Bilder

aktuell keine Idee, ich bin aber eh generell am Sound in LISY dran evtl. finde ich ja was.

Das ist aber nur beim Rollergames, also kein generelles LISY/WPC Problem?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Du meinst Sys11C, richtig?

Da der Rollergames der erste und einzige Sys11C ist, an dem es bisher getestet wurde, kann es auch ein allgemeines 11C Problem sein.

Ich werde am WE mal ein paar weitere Tests machen. Ich kann z.B. die original Soundplatine anschließen und schauen, was die daraus macht. In PinMame habe ich die entsprechenden Kommandofolgen schon eingegeben, aber der macht das gleiche wie der APC: Track 3 immer neu starten.

Link zu diesem Kommentar
Auf anderen Seiten teilen

OK, wenn pinmame gnauso reagiert dann wart ich deine Tests erst einmal ab.

Was anderes: da mich jemand darauf angesprochen hat habe ich nochmal die aktuelle Gerber für APC bei JLC geladen, der zeigt nach wie vor keine Vorschau oder Platinenabmessungen an ... Wie ist denn das empfohlene Vorgehen? Hochladen, Fehlermeldung abwarten, Abmessungen (welche?) eintragen und weiter ... ?

Link zu diesem Kommentar
Auf anderen Seiten teilen

So sieht es bei mir aus. Layer U legt die Abmessungen fest. Dazu leg ich einfach die weisse Linie um die Platine

Umriss.jpg

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 3 Stunden schrieb bontango:

Wie ist denn das empfohlene Vorgehen? Hochladen, Fehlermeldung abwarten, Abmessungen (welche?) eintragen und weiter ... ?

Am Besten 200mm x 237mm als Maße eingeben. Es klappt aber wohl auch jedes andere Maß, dann stimmt nur der allererste Preis nicht.

vor 2 Stunden schrieb Volley:

Hast du die Conturen auf den Conturenlayer gemalt?

Ja, habe ich. Es funktioniert auch nur das Vorschautool nicht, die Platinen werden ansonsten ja korrekt produziert.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich muss immer Exportieren:

Gerber Dateien

Bohrdateien

Fräsdateien

Dann das Ganze in eine Zip Datei packen zum hochladen.

 

Da sind dann z.B. folgende Daten drin, bei dir auch?

JLC-DAteien.jpg

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 14 Stunden schrieb Black Knight:

Es funktioniert auch nur das Vorschautool nicht, die Platinen werden ansonsten ja korrekt produziert.

Habe es gerade nochmal versucht (selbe Datei), diesmal wird die Vorschau angezeigt.?!

Ich vermute mal die haben ne Serverfarm hinter nem Loadbalancer und je nachdem welchen Server man zugeteilt bekommt funktioniert es mal, und mal nicht ...

@Black KnightBei der BOM gibt es zwei 'Inventory shortage' 74HCT573 und 74HCT273 von Nexperia sind derzeit nicht lieferbar, allerdings haben die auch Texas Instruments im Programm, da sind noch genug da. Könntest Du die BOM entsprechend anpassen?

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 5 Stunden schrieb bontango:

Könntest Du die BOM entsprechend anpassen?

Ich würde gerne noch warten; vielleicht werden sie ja noch nachbestellt. Bei LCSC sind beide ICs noch lieferbar und daher bezieht JLCPCB seine Teile ja wohl. Daher habe ich noch Hoffnung, dass die Dinger wieder auftauchen.

Am 11.3.2021 um 15:12 schrieb bontango:

OK, wenn pinmame gnauso reagiert dann wart ich deine Tests erst einmal ab.

Ich habe die Originalboards nochmal eingebaut und meinen Logicanalyzer zwischen CPU und Audioboard gehängt. Dann habe ich das gleiche gemacht wie bei meinem Lisy/APC Test: Spiel gestartet und den Ball einfach im Abschuss liegen lassen.

Zunächst mal werden hier keine Komandos doppelt gesendet, wie von PinMame. Auch das Kommando 0x03 wird nicht alle 5s gesendet, ansonsten ist alles genauso wie in meinem Log vom Montag.

Da scheint bei PinMame/Lisy also irgendwas schief zu laufen. Vielleicht liegt es daran, dass die Kommunikation zwischen CPU und Audio-Board ziemlich schräg realisiert ist und PinMame das ja teilweise nachbildet: 
Ein neues Soundkommandos wird mit einem Puls am Signal CB1 angekündigt. Allerdings kommen die Daten nicht auf eine Flanke von CB1, sondern liegen 20µs nach der steigenden Flanke von CB1 für 20µs an :my_huh:
Wird aber noch besser, denn wenn Musik gespielt wird, dann ist auch CB2 aktiv. Dieses Signal funktioniert dann als normale Clock und die Datenleitungen zählen dann bei jedem Puls einen hoch, immer von 1 bis 4 (siehe Bild).

Kannst du die Soundkommandos irgendwie filtern? Kann es sein, dass PinMame je nach Einstellung auch Daten raus haut, die auf die CB2 Clock kommen, obwohl für uns ja nur CB1 relevant ist?

Logic.png

Link zu diesem Kommentar
Auf anderen Seiten teilen

da muss ich mal in der Source zur SYS11C Soundkarte wühlen, so tief in der Kommunikation bin ich gar nicht 'eingehakt'; ich bekomme direkt Soundkartenkommandos. Aber dann wäre das ein pinmame bug

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 11 Stunden schrieb bontango:

Aber dann wäre das ein pinmame bug

Ich habe Visual PinMame nicht installiert, also kann ich es nicht ausprobieren, aber man kann den Rollergames da ja vermutlich spielen, oder? D.h. es ist entweder kein Bug oder es gibt zumindest einen Workaround. 
Das würde uns ja auch reichen. So wie mit den doppelten Kommandos, es ist zwar komisch aber dann ignoriere ich halt jedes zweite. Das Blöde bei den ständigen 0x03 Kommandos ist ja nur, dass ich nicht weiß welche ich ignorieren soll und wann er es ernst meint.

Soll ich mal im Pinside Forum fragen, ob jemand was weiß?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Es wird hier immer komischer.

Jetzt habe ich gemerkt, dass die Original-HW bei einem bestimmten Stück im Musiktest eine Sprachsequenz einblendet. Ich kann die Kommandos für diese Sequenz mit meinem Logicanalyzer sehen. 
Der PinMame sendet diese Kommandos komischerweise nicht, also läuft das Musikstück beim APC einfach ohne Sprachsequenz durch.  
Etwas ähnliches passiert beim Start eines Spiels, dann fängt die Musik an zu spielen und eine Stimme 'singt' 'Rollergames'. Auch das ist eine zusätzlich zur Musik abgespielte Sequenz und in diesem Fall macht es auch der PinMame, d.h. es hört sich auch im APC genauso an wie im Original.  
Es scheint also kein Grundsätzliches Problem zu sein, sondern PinMame will in manchen Fällen einfach nicht.

Um sicher zu gehen, dass es nicht an den Rollergames ROMs liegt habe ich außerdem mal einen anderen Sys11C (DrDude) in PinMame gestartet. Zumindest das mit den doppelten Kommandos passiert hier genauso - das ist also schon mal kein Rollergames spezifisches Problem.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Gut zu wissen dass das nicht Rollergames spezifisch ist, bin dran, aber hab leider noch nichts brauchbares ...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hat das eventuell etwas mit der Soundboardemulation von Pin Mame zu tun? Da wird ja kein richtiges Soundboard angesteuert...

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 2 Stunden schrieb bontango:

Gut zu wissen dass das nicht Rollergames spezifisch ist

Ich muss das etwas relativieren; ich sehe zwar die doppelten Kommandos, aber diese ständigen Neustarts der Musik sehe ich beim DrDude bisher nicht. Das mag daran liegen, dass ich hier keinen DrDude habe und mir das irgendwie zusammenfrickele, aber beim Rollergames taucht das Problem ja schon auf wenn der Ball nur im Abschuss liegt.

Ich werde mal noch einen anderen Sys11C Flipper versuchen, aber es könnte sein, dass wir es tatsächlich mit einem ROM Problem zu tun haben.

vor 1 Stunde schrieb Volley:

Da wird ja kein richtiges Soundboard angesteuert...

Ja, genau das ist das Problem. Wenn wir die Kommandos kriegen würden, die ich mit meinem Logicanalyzer an der Original-HW sehe, dann würde auch alles vernünftig laufen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Gab/gibt es da nicht ne Möglichkeit den APC ohne Pinmame anzusteuern, also mit den original Roms?

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor einer Stunde schrieb Black Knight:

aber es könnte sein, dass wir es tatsächlich mit einem ROM Problem zu tun haben.

Hab's gerade mal mit den Rollergames-L2 ROMs versucht, hat aber nichts verändert.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Am 14.3.2021 um 09:43 schrieb bontango:

bin dran, aber hab leider noch nichts brauchbares ...

Hast du schon irgendeine Idee?

Am 12.3.2021 um 21:10 schrieb bontango:

Aber dann wäre das ein pinmame bug

Auf Pinside wurde vermutet, es könnte ein XPinMame Problem sein. Weißt du auf welchem Stand XPinMame ist? Sowas wie Sound- und Grafiktreiber sind sicherlich anders als bei der Windows Version, aber der eigentliche Emulator sollte doch relativ unabhängig vom Betriebssystem sein, oder?

Kann ich dich bei deiner Suche noch irgendwie unterstützen? Würde es z.B. helfen, wenn ich eine APC SW machen würde, bei der die Schalter für die Balltruhe als aktiv gemeldet werden und die dann einfach nur die Schalter für Geldeinwurf und Spielstart betätigt? Damit müsstest du das Problem mit einem Lisy_Mini Board und einem angeschlossenen DUE ohne APC nachstellen können.

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich muus gestehen ich hab da noch nicht weitergemacht da ich fast die komplette letzte Woche

in den 'Untiefen' der low level SD card programmierung mit FPGA unterwegs war.

Ich hoffe nächste Woche etwas zeit für LISY/APC zu finden .

Link zu diesem Kommentar
Auf anderen Seiten teilen

Am 21.3.2021 um 12:35 schrieb bontango:

Ich hoffe nächste Woche etwas zeit für LISY/APC zu finden .

Das wäre super; wenn wir da ein Problem haben, dann sollte ich ja eine entsprechende Warnung auf meine PinMame Seite schreiben.

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 2 Wochen später...

Gibt es schon was Neues zum Thema System11C Sound?

Es hat vermutlich nichts damit zu tun, aber ich habe noch ein merkwürdiges Problem mit dem Rollergames und PinMame, denn es werden bestimmte Spulen nicht aktiviert.  
So sieht das Solenoid Log des Solenoid Tests über PinMame ab Spule 9 aus:

Zitat


[650.262840][0.821720] LISY_W_SOLENOID_HANDLER: Solenoid:9, changed to 1 ( AC is 0)
[650.262878][0.000038] LISY_W_SOLENOID_HANDLER: Solenoid:9, changed to 1 ( AC is 0)
[650.387303][0.124425] LISY_W_SOLENOID_HANDLER: Solenoid:9, changed to 0 ( AC is 0)
[650.387333][0.000030] LISY_W_SOLENOID_HANDLER: Solenoid:9, changed to 0 ( AC is 0)
[651.544219][1.156886] LISY_W_SOLENOID_HANDLER: Solenoid:10, changed to 1 ( AC is 0)
[651.544263][0.000044] LISY_W_SOLENOID_HANDLER: Solenoid:10, changed to 1 ( AC is 0)
[651.649118][0.104855] LISY_W_SOLENOID_HANDLER: Solenoid:10, changed to 0 ( AC is 0)
[651.649151][0.000033] LISY_W_SOLENOID_HANDLER: Solenoid:10, changed to 0 ( AC is 0)
[652.286312][0.637161] LISY_W_SOLENOID_HANDLER: Solenoid:12, changed to 0 ( AC is 0)
[652.286357][0.000045] LISY_W_SOLENOID_HANDLER: Solenoid:12, changed to 0 ( AC is 0)
[652.805796][0.519439] LISY_W_SOLENOID_HANDLER: Solenoid:11, changed to 1 ( AC is 0)
[652.805838][0.000042] LISY_W_SOLENOID_HANDLER: Solenoid:11, changed to 1 ( AC is 0)
[652.931298][0.125460] LISY_W_SOLENOID_HANDLER: Solenoid:11, changed to 0 ( AC is 0)
[652.931328][0.000030] LISY_W_SOLENOID_HANDLER: Solenoid:11, changed to 0 ( AC is 0)
[654.070243][1.138915] LISY_W_SOLENOID_HANDLER: Solenoid:12, changed to 1 ( AC is 0)
[654.070283][0.000040] LISY_W_SOLENOID_HANDLER: Solenoid:12, changed to 1 ( AC is 0)
[654.195848][0.125565] LISY_W_SOLENOID_HANDLER: Solenoid:12, changed to 0 ( AC is 0)
[654.195880][0.000032] LISY_W_SOLENOID_HANDLER: Solenoid:12, changed to 0 ( AC is 0)
[655.352614][1.156734] LISY_W_SOLENOID_HANDLER: Solenoid:13, changed to 1 ( AC is 0)
[655.352655][0.000041] LISY_W_SOLENOID_HANDLER: Solenoid:13, changed to 1 ( AC is 0)
[655.457602][0.104947] LISY_W_SOLENOID_HANDLER: Solenoid:13, changed to 0 ( AC is 0)
[655.457632][0.000030] LISY_W_SOLENOID_HANDLER: Solenoid:13, changed to 0 ( AC is 0)
[656.614577][1.156945] LISY_W_SOLENOID_HANDLER: AC-Relais changed to 1
[656.614618][0.000041] LISY_W_SOLENOID_HANDLER: AC-Relais changed to 1
[656.743709][0.129091] LISY_W_SOLENOID_HANDLER: AC-Relais changed to 0
[656.743745][0.000036] LISY_W_SOLENOID_HANDLER: AC-Relais changed to 0
[657.884202][1.140457] LISY_W_SOLENOID_HANDLER: Solenoid:15, changed to 1 ( AC is 0)
[657.884248][0.000046] LISY_W_SOLENOID_HANDLER: Solenoid:15, changed to 1 ( AC is 0)
[658.005409][0.121161] LISY_W_SOLENOID_HANDLER: Solenoid:15, changed to 0 ( AC is 0)
[658.005440][0.000031] LISY_W_SOLENOID_HANDLER: Solenoid:15, changed to 0 ( AC is 0)
[662.976322][4.970882] LISY_W_SOLENOID_HANDLER: Solenoid:19, changed to 1 ( AC is 0)
[662.976369][0.000047] LISY_W_SOLENOID_HANDLER: Solenoid:19, changed to 1 ( AC is 0)
[663.100494][0.124125] LISY_W_SOLENOID_HANDLER: Solenoid:19, changed to 0 ( AC is 0)
[663.100528][0.000034] LISY_W_SOLENOID_HANDLER: Solenoid:19, changed to 0 ( AC is 0)
[665.519045][2.418517] LISY_W_SOLENOID_HANDLER: Solenoid:21, changed to 1 ( AC is 0)
[665.519089][0.000044] LISY_W_SOLENOID_HANDLER: Solenoid:21, changed to 1 ( AC is 0)
[665.623781][0.104692] LISY_W_SOLENOID_HANDLER: Solenoid:21, changed to 0 ( AC is 0)
[665.623812][0.000031] LISY_W_SOLENOID_HANDLER: Solenoid:21, changed to 0 ( AC is 0)

Wie du siehst werden die Spulen 14, 16, 17, 18 und 20 übergangen, die dadurch nicht aktiviert werden. Diese Spulen funktionieren nicht nur nur im Test, sondern auch im Spiel nicht.
Interessant ist auch, dass auch hier alle Kommandos doppelt gesendet werden.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Leider nichts neues, Volley hält mich mit dem Starship auf Trab 😉

Der Effekt sieht ja ähnlich aus, nur an einer ganz anderen Stelle 🧐

nehme aber an das hier hängt mit der AC Relais Steuerung zusammen,

das sollte zu finden sein.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

×
×
  • Neu erstellen...

Wichtige Information

Datenschutzerklärung und Registrierungsbedingungen