Für ein kommendes Projekt möchte ich die Daten der Lampen-Matrix von einem Sega Pinball (Baywatch) abgreifen. Die frühen Sega-Maschinen benutzen noch die Data East-Boards, die eng verwand mit System 11 sind. Hier sind CPU und Treiberstufe auf einem gemeinsamen Board vereint, was es etwas schwieriger macht, die Daten abzugreifen. Natürlich ist es möglich, die Lampenmatrix direkt abzugreifen, aber eine einfacherer Lösung könnte es sein, direkt den Address- und Datenbus der CPU abzugreifen. Dazu muss man wissen, dass das Board diverse PIAs nutzt, die über unterschiedliche Adressen angesprochen werden.
Der Adressdekoder auf dem CPU-Board sieht so aus:
Man kann jetzt die ganzen Gatter durchgehen um die Schaltung zu verstehen. Alternativ sind aber auf der rechten Seite die Adressen zu finden.
Jetzt muss man diese nur nachverfolgen und kommt auf folgende Zuordnungen:
2100 | Spulentreiber (CN12) |
2200 | Spulentreiber (CN11) |
2400 | 11D: Lampenmatrix |
2800 | 11B: 7-Segment-Treiber (CN2/CN3) |
2C00 | 9B: Alphanumeric DMD (CN22) |
3000 | 8H: Switches (CN 8, CN10) |
3400 | 7B: Alphanumeric DMD, Sound (CN22, CN21) |
Interessant ist es zu sehen, dass die Spulen teilweise über einen PIA (CN12), teilweise über einen reines Flipflop (CN11) angesteuert werden. Warum das so ist, ist mir momentan noch nicht klar.
Damit ist sollte es recht einfach sein, durch “Lauschen” auf dem Bus, sowohl den Status der Lampen als auch der Spulen zu erkennen.