Guten Abend Du bist nicht angemeldet.

Achtung! Unsere Forensoftware ist NICHT für die Nutzung mit dem Smartphone ausgelegt!
Seit den letzten Updates der aktuellen Smartphones, ist die Nutzung des Forums mit dem Smartphone nur noch eingeschränkt möglich!
Wir bitten hierfür um Entschuldigung und empfehlen DRINGEND die Nutzung eines Desktop-Computers oder eines Laptops!
Nutzt KEINE "Emojis" aus den Smartphones, da dies einen SQL-Fehler auslöst bei euch!

Lieber Besucher, herzlich willkommen bei: Automatenfreunde.de - Das Forum rund um Automaten. Falls dies dein erster Besuch auf dieser Seite ist, lies bitte die Hilfe durch. Dort wird dir die Bedienung dieser Seite näher erläutert. Darüber hinaus solltest du dich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutze das Registrierungsformular, um dich zu registrieren oder informiere dich ausführlich über den Registrierungsvorgang. Falls du dich bereits zu einem früheren Zeitpunkt registriert hast, kannst du dich hier anmelden.

Zwickel

Serienspieler

  • »Zwickel« ist männlich
  • »Zwickel« ist der Autor dieses Themas

Beiträge: 281

Mitglied seit: 21. Juli 2012

Herkunft: Hamburg

  • Private Nachricht senden

1

Montag, 14. November 2016, 18:02

Vom Geldspielautomat zur Musikbox

Moin.

Ich befasse mich derzeit damit aus einem Bally-Royal-Casino eine Musikbox
zu frickeln.

Dazu habe ich unter anderem das Pluto-8-Mainboard durch ein Mini-ITX-PC-Bord
ersetzt..
Software (XP-Final) und Treiberkram funzt wunderbar, doch habe ich folgendes
Problem.

Auf dem Pluto-Board befindet sich ja auch die Multiplexer für die LED und
Tastenbeleuchtungs-Steuerung, ähnlich, wie sie in der weißen Steuereinheit von
adp vertreten ist.

Nun möchte ich das Tableau weiter für die Lichtwerbung und die Creditanzeige
weiter nutzen..

Hat jemand mit Ersatzschaltungen schon Erfahrungen gemacht oder kann mir
jemand Ansätze dazu geben, wie ein Eprombetriebener Multiplexer realisierbar
ist ?

Ich werde die Treiberstufen des Pluto-Bord einbeziehen. Weiteres aus dem Bord
zu nutzen, macht kein Sinn, wegen des Sicherheitskonzept des Hersteller dieses
Board.. Die Orginalsoft von Bally bringt auch nix da Kauderwelch a la verschlüsselt.

Denke eher an reiner Hardware-Lösung abgesehen vom Bitmustern auf Eprom..

Die Creditanzeige werde ich so umbauen, das sie durch Latches funzt und muss
dies dann mit der Steuerung des MP verbinden.

Allerdings bleibe ich an dem Telegramm des 68.x seriell-MP kleben, da ein
"Modebit" vertreten ist und ich nicht weiß, wie ich den im MCS-Controller
(8052) raus hauen kann..
Das Modebit zeigt ja nur die Dialogrichtung an, also für die TTL zu Max 232 -
Schnittstelle Richtung MCU uninteresannt.
Im Gegenrichtung muss ich jedoch das Modebit nutzen, da der MP sonst nur
Bahnhof versteht. (Alles Multi-Drop-Bus und ID-003 - Gedöns)..

Hoffe nun auf Tüfftelrunde hier.. ;tea

pc-coholic

5cent Spieler

  • »pc-coholic« ist männlich

Beiträge: 20

Mitglied seit: 11. August 2016

Herkunft: Bayern

  • Private Nachricht senden

2

Dienstag, 15. November 2016, 11:16

Was MDB angeht, kann ich dir vielleicht zumindest Low-Level etwas weiterhelfen...

Ich habe Mal vor langer, langer Zeit eine MDB-Brücke für einen Münzprüfer zu "proprietäres Ding" gebaut. Das hat mehr schlecht als recht funktioniert - aber das nur am Rande...

Wenn du einen FT232R benutzt, kannst du dir das neunte Bit (das Modebit) dazubasteln, indem du an der Parität rumwackelst...

Ich habe leider den Code gerade nicht in meinem online Repository, kann den aber heute Abend Mal raussuchen.

Zwickel

Serienspieler

  • »Zwickel« ist männlich
  • »Zwickel« ist der Autor dieses Themas

Beiträge: 281

Mitglied seit: 21. Juli 2012

Herkunft: Hamburg

  • Private Nachricht senden

3

Donnerstag, 17. November 2016, 15:50

MDB-Telegramm

Das MDB - Telegramm hat ja 11 Bit. 1 Start, 8 Daten, 1 Modebit und dann noch das Stopbit.

Der RS 232 - Standard hat max. 10..

Und an der Conventierung bleibe ich kleben.. Kann nicht das Stopbit einfach in Nirvana
schicken und das Modebit als Stopbit deklarieren, weil dann zu Fehlerträchtig

Ich schaue mir mal den FT 232 R mal genauer an.

Danke, eventuell geht es mit dem weiter.

pc-coholic

5cent Spieler

  • »pc-coholic« ist männlich

Beiträge: 20

Mitglied seit: 11. August 2016

Herkunft: Bayern

  • Private Nachricht senden

4

Donnerstag, 17. November 2016, 21:15

OK, hier Mal etwas Code... Ich hoffe, du kannst mit Python etwas anfangen ;-)

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
class MDB(object):
  def __init__(self, deviceid):
    self.__deviceid = deviceid
    self.__scaling = 0
    self.__coins = {}
    self.__deposited = 0

  def _ftdisend(self, data, mode):
    data_parity = self._parityOf(int(hexlify(data), 16))

    if data_parity == -1:
      if mode:
        #parity = serial.PARITY_EVEN
        parity = 2
      else:
        #parity = serial.PARITY_ODD
        parity = 1
    else:
      if mode:
        #parity = serial.PARITY_ODD
        parity = 1
      else:
        #parity = serial.PARITY_EVEN
        parity = 2

    self.__device = Device(self.__deviceid)
    self.__device.ftdi_fn.ftdi_set_line_property(8, 1, parity)
    self.__device.baudrate = 9600
    self.__device.write(data)
    self.__device.flush()

  def _parityOf(self, int_type):
      parity = 0
      while (int_type):
          parity = ~parity
          int_type = int_type & (int_type - 1)
      return(parity)

  def _read(self):
    returndata = []
    for i in self.__device.read(100):
      returndata.append(i)

    return returndata

  def _send(self, data):
    mode = 1

    for element in data:
      self._ftdisend(element, mode)
      mode = 0

    self._ftdisend(self._calcchk(data), 0)

    time.sleep(0.1)
    return self._read()

  def _calcchk(self, data):
    sum = 0
    for byte in data:
        sum += int(hexlify(byte), 16)
    return unhexlify('{:02x}'.format(sum % 256))

  def _getbits(self, byte):
    return bin(int(hexlify(byte), 16))[2:].zfill(8)


Um das Reset-Kommando (für einen Münzprüfer zu senden), würde das hier die Funktion:

Quellcode

1
2
3
4
5
6
7
  def reset(self):
    print "OUT: Reset"
    answer = self._send(data = ['\x08'])
    if (len(answer) == 1) and (answer[0] == '\x00'):
      print "IN : OK"
    else:
      print "IN: Fail - " + answer


Ich hatte nur festgestellt, dass man unbedingt die FTDI-Library verwenden muss und es nicht ausreichend ist einfach nur den seriellen Port zu öffnen... Da werden dann von Hand hingebastelte Nachrichten durchaus auch Mal weggeworfen, wenn die Parität nicht stimmt...

Edit: Gerade nochmal gesucht - der Code war wohl doch in meinem Repo - man muss nur richtig danach suchen :-P https://github.com/pc-coholic/pylibmdb

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »pc-coholic« (17. November 2016, 21:21)


Zwickel

Serienspieler

  • »Zwickel« ist männlich
  • »Zwickel« ist der Autor dieses Themas

Beiträge: 281

Mitglied seit: 21. Juli 2012

Herkunft: Hamburg

  • Private Nachricht senden

5

Freitag, 18. November 2016, 17:58

Danke :-)

Leider kann ich wenig mit Phyton oder C was anfangen.
Hab Begriffstutzigkeiten mit dessen Syntax-Regeln..
Müsste beide Sprachen von "Hallo Welt" an erlernen..

Aber trotzdem vielen Dank.

Der MP soll direkt an einem 8052 Controller angeschlossen werden.
der 8052 soll dann die Creditanzeige steuern, weiter mit dem
PC-Bord kommunizieren, sprich Tasten ersetzen (Playtaste freigeben)
und VDAI Schnittstelle ansteuern.

Ich werde mich wohl weiter mit Pascal, 8052-Bascom oder mit MCS-ASM
von Elektor abkämpfen müssen.

Wird wohl viel länger dauern, wie ich dachte, wen man schon das Rad
regelrecht neu erfinden muss..

Vorübergehend frickel ich lieber mit einem Paralell-MP rum, ist demnach
1000x einfacher..

Rattenfänger

Multigamer

  • »Rattenfänger« ist männlich

Beiträge: 857

Mitglied seit: 7. August 2017

Herkunft: Niedersachsen

  • Private Nachricht senden

6

Dienstag, 8. August 2017, 21:50

Hallo,
ist euer Projekt noch aktuell?
Habe hier einen Merkur-Ergo und ähnliche Pläne.
Allerdings die Software auf Knopix oder Win-CE.

Zwickel

Serienspieler

  • »Zwickel« ist männlich
  • »Zwickel« ist der Autor dieses Themas

Beiträge: 281

Mitglied seit: 21. Juli 2012

Herkunft: Hamburg

  • Private Nachricht senden

7

Montag, 7. Januar 2019, 04:21

Musikbox-Projekt aufgegeben..

Leider musste ich das Projekt aufgeben..

Bin nur soweit gekommen, das XP, den Touchsreen sowie die Software Silverjuke zum Laufen zu bringen..

Habe weiter Forschungen zur Ansteuerung des Tableau und ID003 (MP -Steuerung) betrieben, doch wie
das Silverjuke - Forum ( Austausch über Silverjuke - Skinprogramierung) eingestellt wurde, war die Entscheidung
"aus die Maus" fällig. da die Logik hinter der Skinprogrammierung schwer verständlich erschien. Ohne Hilfeforum
keine Chance.

Die heute verfügbaren Silverjuke-Skins sind zwar ansehnlich, jedoch für das Touch zu fein gerastert. Liedauswahl
funzte anbei nicht zufriedenstellend.

Weiter bekam ich wegen des Modebit zum Telegramm zwichen Controller und serial - MP ein Knoten im Hirn..

Nun habe ich mein Royal Casino zurück gebaut und erfreue mich wieder am Orginal..

Veruch bereue ich jedoch nicht, da ich anbei viel dazu gelernt habe ;}

Legende:

Forum enthält keine neuen Beiträge
Forum enthält neue Beiträge
Forum ist geschlossen
Forum ist ein externer Link