Zum Inhalt springen

LISY_Mini pinmame system7 support für APC


bontango

Empfohlene Beiträge

Ich habe den Black Knight inzwischen auch mit APC-Sound am laufen und mache mich jetzt an den Jungle Lord.

Das Problem mit dem Outhole scheint es beim Jungle Lord nicht zu geben und auch beim Black Knight scheint es nur den allerersten Ball nach dem Start von PinMame zu betreffen. Ganz selten macht er das auch beim zweiten Ball, aber danach funktioniert alles einwandfrei. Startet man Lisy allerdings neu, dann ist das Problem beim ersten Ball wieder da und danach nicht mehr. :my_huh:

Link zu diesem Kommentar
Auf anderen Seiten teilen

seeeeehr merkwürdig.

Ich könnte mir vorstellen dass da evtl. noch 'andere' Dinge mitspielen.

Das habe ich Momentan bei LISY35 manchmal auch, da ist das PIC noch mit nem Sound beschäftigt wenn der Befehl für die Spule reinkommt,

der wird dann vom PIC in eine Queue geschrieben und etwas später ausgeführt.

Kannst Du das Black Knight Problem mal mit 'Full Log', also alle Log Optionen eingeschaltet, aufzeichnen?

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 7 Stunden schrieb bontango:

Kannst Du das Black Knight Problem mal mit 'Full Log', also alle Log Optionen eingeschaltet, aufzeichnen?

Der folgende Teil ist interessant:

[427.048490][0.000016] LISY_W_SWITCH_READER: changed switch reported: returnbyte:148
[427.048505][0.000015] LISY_W_SWITCH_READER: return switch: 20, action: 1
[427.048521][0.000016] LISY_W_SWITCH_HANDLER Switch#:20 action:1
[427.097632][0.049111] API_write(2 bytes): 0x15 0x01
[427.097682][0.000050] LISY_W_SOLENOID_HANDLER: Solenoid:1, changed to 1 ( no AC Relais) 
[427.134470][0.036788] API_write: 0x29
[427.134502][0.000032] API_read_byte: 0x14
[427.134518][0.000016] LISY_W_SWITCH_READER: changed switch reported: returnbyte:20
[427.134533][0.000015] LISY_W_SWITCH_READER: return switch: 20, action: 0
[427.134549][0.000016] LISY_W_SWITCH_HANDLER Switch#:20 action:0
[427.154268][0.019719] API_write(2 bytes): 0x0c 0x28
[427.154312][0.000044] LISY_W_LAMP_HANDLER: Lamp:40, changed to 0
[427.220485][0.066173] API_write: 0x29
[427.220515][0.000030] API_read_byte: 0x93
[427.220531][0.000016] LISY_W_SWITCH_READER: changed switch reported: returnbyte:147
[427.220546][0.000015] LISY_W_SWITCH_READER: return switch: 19, action: 1
[427.220562][0.000016] LISY_W_SWITCH_HANDLER Switch#:19 action:1
[427.232770][0.012208] API_write: 0x29
[427.232795][0.000025] API_read_byte: 0x94
[427.232810][0.000015] LISY_W_SWITCH_READER: changed switch reported: returnbyte:148
[427.232825][0.000015] LISY_W_SWITCH_READER: return switch: 20, action: 1
[427.232840][0.000015] LISY_W_SWITCH_HANDLER Switch#:20 action:1
[427.245061][0.012221] API_write: 0x29
[427.245085][0.000024] API_read_byte: 0x11
[427.245101][0.000016] LISY_W_SWITCH_READER: changed switch reported: returnbyte:17
[427.245115][0.000014] LISY_W_SWITCH_READER: return switch: 17, action: 0
[427.245130][0.000015] LISY_W_SWITCH_HANDLER Switch#:17 action:0
[427.257354][0.012224] API_write: 0x29
[427.257376][0.000022] API_read_byte: 0x14
[427.257391][0.000015] LISY_W_SWITCH_READER: changed switch reported: returnbyte:20
[427.257406][0.000015] LISY_W_SWITCH_READER: return switch: 20, action: 0
[427.257421][0.000015] LISY_W_SWITCH_HANDLER Switch#:20 action:0
[427.257798][0.000377] API_write(2 bytes): 0x16 0x01
[427.257840][0.000042] LISY_W_SOLENOID_HANDLER: Solenoid:1, changed to 0 ( no AC Relais) 
[427.269638][0.011798] API_write: 0x29
[427.269662][0.000024] API_read_byte: 0x13
[427.269677][0.000015] LISY_W_SWITCH_READER: changed switch reported: returnbyte:19
[427.269692][0.000015] LISY_W_SWITCH_READER: return switch: 19, action: 0
[427.269706][0.000014] LISY_W_SWITCH_HANDLER Switch#:19 action:0
[427.275319][0.005613] API_write(2 bytes): 0x0c 0x15
[427.275360][0.000041] LISY_W_LAMP_HANDLER: Lamp:21, changed to 0
[427.281938][0.006578] API_write: 0x29
[427.281960][0.000022] API_read_byte: 0x93
[427.281976][0.000016] LISY_W_SWITCH_READER: changed switch reported: returnbyte:147
[427.281991][0.000015] LISY_W_SWITCH_READER: return switch: 19, action: 1
[427.282005][0.000014] LISY_W_SWITCH_HANDLER Switch#:19 action:1
[427.294220][0.012215] API_write: 0x29
[427.294244][0.000024] API_read_byte: 0x13
[427.294259][0.000015] LISY_W_SWITCH_READER: changed switch reported: returnbyte:19
[427.294273][0.000014] LISY_W_SWITCH_READER: return switch: 19, action: 0
[427.294288][0.000015] LISY_W_SWITCH_HANDLER Switch#:19 action:0
[427.318791][0.024503] API_write: 0x29
[427.318819][0.000028] API_read_byte: 0x91
[427.318834][0.000015] LISY_W_SWITCH_READER: changed switch reported: returnbyte:145
[427.318849][0.000015] LISY_W_SWITCH_READER: return switch: 17, action: 1
[427.318864][0.000015] LISY_W_SWITCH_HANDLER Switch#:17 action:1
[427.331082][0.012218] API_write: 0x29
[427.331105][0.000023] API_read_byte: 0x11
[427.331119][0.000014] LISY_W_SWITCH_READER: changed switch reported: returnbyte:17
[427.331134][0.000015] LISY_W_SWITCH_READER: return switch: 17, action: 0
[427.331149][0.000015] LISY_W_SWITCH_HANDLER Switch#:17 action:0
[427.395921][0.064772] API_write(2 bytes): 0x0c 0x2a
[427.395973][0.000052] LISY_W_LAMP_HANDLER: Lamp:42, changed to 0
[427.404815][0.008842] API_write: 0x29
[427.404840][0.000025] API_read_byte: 0x91
[427.404856][0.000016] LISY_W_SWITCH_READER: changed switch reported: returnbyte:145
[427.404871][0.000015] LISY_W_SWITCH_READER: return switch: 17, action: 1
[427.404886][0.000015] LISY_W_SWITCH_HANDLER Switch#:17 action:1
[427.454023][0.049137] API_write: 0x29
[427.454057][0.000034] API_read_byte: 0x11
[427.454073][0.000016] LISY_W_SWITCH_READER: changed switch reported: returnbyte:17
[427.454089][0.000016] LISY_W_SWITCH_READER: return switch: 17, action: 0
[427.454105][0.000016] LISY_W_SWITCH_HANDLER Switch#:17 action:0
[427.466260][0.012155] API_write: 0x29
[427.466286][0.000026] API_read_byte: 0x91
[427.466301][0.000015] LISY_W_SWITCH_READER: changed switch reported: returnbyte:145
[427.466316][0.000015] LISY_W_SWITCH_READER: return switch: 17, action: 1
[427.466331][0.000015] LISY_W_SWITCH_HANDLER Switch#:17 action:1
[427.555846][0.089515] API_write(2 bytes): 0x0b 0x28
[427.555895][0.000049] LISY_W_LAMP_HANDLER: Lamp:40, changed to 1
[427.676549][0.120654] API_write(2 bytes): 0x0b 0x15
[427.676599][0.000050] LISY_W_LAMP_HANDLER: Lamp:21, changed to 1
[427.793479][0.116880] API_write(2 bytes): 0x0b 0x2a
[427.793530][0.000051] LISY_W_LAMP_HANDLER: Lamp:42, changed to 1
[427.810342][0.016812] API_write: 0x29
[427.810369][0.000027] API_read_byte: 0x93
[427.810385][0.000016] LISY_W_SWITCH_READER: changed switch reported: returnbyte:147
[427.810399][0.000014] LISY_W_SWITCH_READER: return switch: 19, action: 1
[427.810415][0.000016] LISY_W_SWITCH_HANDLER Switch#:19 action:1
[427.914452][0.104037] API_write(2 bytes): 0x15 0x01
[427.914504][0.000052] LISY_W_SOLENOID_HANDLER: Solenoid:1, changed to 1 ( no AC Relais) 
[427.996231][0.081727] API_write(2 bytes): 0x0c 0x28
[427.996280][0.000049] LISY_W_LAMP_HANDLER: Lamp:40, changed to 0
[428.074581][0.078301] API_write(2 bytes): 0x16 0x01
[428.074634][0.000053] LISY_W_SOLENOID_HANDLER: Solenoid:1, changed to 0 ( no AC Relais) 
[428.112987][0.038353] API_write(2 bytes): 0x0c 0x15
[428.113034][0.000047] LISY_W_LAMP_HANDLER: Lamp:21, changed to 0
[428.234108][0.121074] API_write(2 bytes): 0x0c 0x2a
[428.234159][0.000051] LISY_W_LAMP_HANDLER: Lamp:42, changed to 0
[428.393899][0.159740] API_write(2 bytes): 0x0b 0x28
[428.393985][0.000086] LISY_W_LAMP_HANDLER: Lamp:40, changed to 1
[428.514755][0.120770] API_write(2 bytes): 0x0b 0x15
[428.514809][0.000054] LISY_W_LAMP_HANDLER: Lamp:21, changed to 1
[428.635733][0.120924] API_write(2 bytes): 0x0b 0x2a
[428.635788][0.000055] LISY_W_LAMP_HANDLER: Lamp:42, changed to 1
[428.752637][0.116849] API_write(2 bytes): 0x15 0x01
[428.752692][0.000055] LISY_W_SOLENOID_HANDLER: Solenoid:1, changed to 1 ( no AC Relais) 
[428.834282][0.081590] API_write(2 bytes): 0x0c 0x28
[428.834332][0.000050] LISY_W_LAMP_HANDLER: Lamp:40, changed to 0
[428.894737][0.060405] API_write(2 bytes): 0x16 0x01
[428.894787][0.000050] LISY_W_SOLENOID_HANDLER: Solenoid:1, changed to 0 ( no AC Relais) 

Man sieht, dass Schalter 20 (Outhole) aktiv wird und die Outhole-Spule 1 anzieht. Daraufhin wird Schalter 20 inaktiv, aber er prellt wohl noch einmal. In der Balltruhe (Schalter 17, 18 und 19) herrscht dann noch einige Schalteraktivität, bis sich die Kugeln langsam beruhigen. Dann zieht Spule 1 zum zweiten mal an und obwohl danach alles ruhig ist und kein Schalter mehr betätigt wird zieht Spule 1 noch ein drittes mal an.

Wenn du magst kann ich dir das ganze Log per Mail schicken, aber ich kann da nichts auffälliges sehen. Ich habe auch noch ein Log, bei dem ich das Prellen von Schalter 20 unterdrückt habe - das ändert aber nichts; die Spule 1 wird trotzdem mehrfach angezogen.

Ob die alte SW anhand der Schaltertimings irgendwelche Zeiten justiert und sich das dann merkt? Mir fällt eigentlich keine andere Erklärung ein, warum das sonst nur bei Ball 1 passieren sollte. Gehört habe ich von sowas aber noch nie.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Da das Outhole-Problem beim Jungle Lord nicht auftritt würde ich dem jetzt auch keine allzu große Bedeutung beimessen. Für mich sieht das nach PinMame Macke aus und die Auswirkungen sind ja auch nicht tragisch - beim Systemstart einen Ball ins Outhole legen reicht im allgemeinen schon. Dann betätigt er die Spule 2 bis 3 mal und danach hat er's kapiert.

Ich würde das Thema daher jetzt erst mal begraben; und die wichtigeren Dinge angehen. Der Advance Schalter funktioniert beim Jungle Lord z.B. ebenfalls nicht, weshalb man die Spieleinstellungen nicht ändern kann. Ansonsten läuft die Kiste übrigens einwandfrei, auch der Sound war nicht viel Arbeit.

Was macht eigentlich dein Comet? Nach System 7 wäre System 9 ja eigentlich ein logischer Schritt.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Am 13.7.2020 um 10:47 schrieb Black Knight:

Was macht eigentlich dein Comet? Nach System 7 wäre System 9 ja eigentlich ein logischer Schritt.

Ich muss zugeben dass LISY_Mini derzeit wieder 'on Hold' ist. 😧

Ich habe derzeit drei anderer Projekte laufen:

- Soundboard für Gottlieb (FPGA based) https://lisy.dev/gosof80.html

- low cost 5101 Adapter https://lisy.dev/pic_5101.html

- 'BallyFA' Bally board based on FPGA

BallyFA hat mich Momentan im Griff, es läuft ALLES wunderbar, bis auf die controlled Lamps, die flackern. Irgendwas mit internem FPGA timing

wegen externer clock (crossing clock domains) und metastability vermute ich. Macht mich waaahnsinnig 😉

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 22 Stunden schrieb bontango:

Ich muss zugeben dass LISY_Mini derzeit wieder 'on Hold' ist.

Das habe ich schon gemerkt. 😉  Ist aber auch nicht weiter schlimm. Das PinMame Zeug ist ja nicht eilig und der Rest sollte nicht mehr viel Arbeit sein.

Ich wäre allerdings dankbar wenn wir I2C mal testweise ans Laufen bringen könnten. Wenn das klappt könnte ich nämlich die APC 3.0 Boards bestellen.

Wie war da nochmal der letzte Stand, musste ich für I2C Kommunikation den R1 auslöten oder versucht Lisy erst I2C und geht nur auf USB wenn da nix kommt?

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 14 Stunden schrieb Black Knight:

oder versucht Lisy erst I2C und geht nur auf USB wenn da nix kommt?

R1 drin lassen! Das ist die Kennung für eine LISY_Mini ( I2C oder USB)

Ich schaue erst ob auf der I2C Adresse jemand wohnt und schalte dann auf USB Kommunikation falls nicht.

 

vor 14 Stunden schrieb Black Knight:

Wenn das klappt könnte ich nämlich die APC 3.0 Boards bestellen.

👍 bitte eins für mich reservieren

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 5 Stunden schrieb bontango:

R1 drin lassen! Das ist die Kennung für eine LISY_Mini ( I2C oder USB)

OK, beim APC 3.0 brauchen wir den aber nicht, oder?

vor 5 Stunden schrieb bontango:

Ich schaue erst ob auf der I2C Adresse jemand wohnt und schalte dann auf USB Kommunikation falls nicht.

Hat das bei dir schon funktioniert? Bei mir geht erst die gelbe LED an, dann die grüne und dann springt er um auf die rote. In den Flipperdisplays tut sich in der Zeit gar nichts. Anschließend beginnt das Ganze von vorn.

vor 5 Stunden schrieb bontango:

👍 bitte eins für mich reservieren

Sollst du haben.

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 1 Minute schrieb Black Knight:

OK, beim APC 3.0 brauchen wir den aber nicht, oder?

doch, auch da muss LISY wissen auf welcher Hardware sie läuft

 

vor 2 Minuten schrieb Black Knight:

Hat das bei dir schon funktioniert?

Ich meine mich zuerinnern das ja, aber muss ich noch mal checken. Ich seh mal zu dass ich morgen das noch mal aufbaue

Link zu diesem Kommentar
Auf anderen Seiten teilen

Habe gerade nochmal in unserem APC 3.0 Thread gestöbert.

So wie's aussieht lief bei dir auch I2C schon vernünftig, d.h. du musst das jetzt auch nicht nochmal aufbauen.

Den R1 wollten wir aber nur für Lisy_Mini drin lassen, beim APC 3.0 sollte der raus und Lisy sollte den APC an der I2C Adresse erkennen - wenn ich mich nicht irre. Momentan ist der R1 beim APC 3.0 also nicht vorgesehen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 18 Stunden schrieb Black Knight:

So wie's aussieht lief bei dir auch I2C schon vernünftig, d.h. du musst das jetzt auch nicht nochmal aufbauen.

Stimmt, das lief schon 🙂

vor 18 Stunden schrieb Black Knight:

Momentan ist der R1 beim APC 3.0 also nicht vorgesehen.

Hab nochmal drauf rum überlegt, bau ihn bitte ein. Über den R1 kann ich recht schnell via GPIO abfragen ob es eine LISY_Mini, und falls nicht

zu den LISY1/35/80 Routinen springen.I2C Busabfragen dann erst im zweiten Step, hatte da zwar noch keine Probleme mit, aber in den manpages zu dem

Tool was ich in Linux verwende steht explizit drin das manche devices das 'proben' auf dem Bus nicht mögen.

Damit wär dann auch kein Unterschied zu einer LISY_Mini 'extern' zu einer 'intern'. Die externe kann man ja auch mit drei Strippen via I2C verbinden.

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 24 Minuten schrieb bontango:

Hab nochmal drauf rum überlegt, bau ihn bitte ein.

OK, kann ich machen.

vor 24 Minuten schrieb bontango:

Damit wär dann auch kein Unterschied zu einer LISY_Mini 'extern' zu einer 'intern'.

Nun sind auf dem 3.0 Board ja keine DIP-Schalter mehr drauf. Sollen wir die dann in Zukunft auch auf dem Lisy_Mini Board nicht mehr benutzen und immer die APC Menüs nehmen oder wie unterscheiden wir das?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wir könnten natürlich sagen: wenn eine I2C Verbindung gefunden wird, dann ist es Lisy intern und geht über die APC Menüs und andernfalls ist es Lisy extern, geht über USB und die DIP-Schalter.

Allerdings fände ich die Möglichkeit nett auch Lisy extern über die Menus zu betreiben. Dann könnte ich z.B. das gleiche Lisy_Mini Board an verschiedenen Geräten nutzen, ohne an den DIP-Schaltern herumstellen zu müssen, da die PinMame Spielnummer u.ä. einfach vom jeweiligen Gerät übernommen werden.

Was meinst du? Zum Thema Lisy und APC Menüs warst du bisher sehr schweigsam. Wenn das nur aus momentanem Zeitmangel so ist dann OK, aber wenn dir da was nicht gefällt dann sollten wir darüber reden - immerhin ist das jetzt ein Gemeinschaftsprojekt und da möchte ich nichts über deinen Kopf hinweg entscheiden.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Am 17.7.2020 um 10:36 schrieb Black Knight:

Was meinst du? Zum Thema Lisy und APC Menüs warst du bisher sehr schweigsam. Wenn das nur aus momentanem Zeitmangel so ist dann OK, aber wenn dir da was nicht gefällt dann sollten wir darüber reden - immerhin ist das jetzt ein Gemeinschaftsprojekt und da möchte ich nichts über deinen Kopf hinweg entscheiden.

Ich bin aber halt ein DIP Schalter Fan und tue mich etwas schwer mit den Menues, da muss ich mich noch 'reinfinden', was Zeit kosten

würde, daher mein Schweigen. Grundsätzlich habe ich nichts dagegen, denke es ist gehupft wie gesprungen, im Anwenderlager wird

es auch Vorlieben für DIPs und Vorlieben für Menüs geben.

Wir sollten es möglichst flexibel machen und nicht daran festmachen ob es über I2C oder USB angebunden ist, das wird dann IMHO auf

die schon angesprochene API Erweiterung hinauslaufen, aber da haben wir noch etwas Zeit, oder denkst Du wird muessen das vor dem Boarddesign festlegen?

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 18 Stunden schrieb bontango:

aber da haben wir noch etwas Zeit, oder denkst Du wird muessen das vor dem Boarddesign festlegen?

Nö, das muss nicht jetzt sein.

Wir haben I2C ausprobiert und der R1 von Lisy_Mini ist jetzt auch auf dem neuen Board. Den SW-Teil können wir angehen, wenn dein schwerer FPGA-Infekt etwas verheilt ist 😉

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 20 Stunden schrieb Black Knight:

wenn dein schwerer FPGA-Infekt etwas verheilt ist

ist langwierig 😁 und breitet sich immer mehr aus.

Du hast nicht zufällig einen fertigen VHDL code da, der von einer SD Karte Dateien einliest und den Inhalt in einen internen FPGA rom packt?

Das würde die Heilung beschleunigen 😜

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