Forum: Mikrocontroller und Digitale Elektronik SIMM zu DRAM Adapter


von Alex S. (arcadetv)


Lesenswert?

Hallo liebe Mikrocontroller-Gemeinde,
ich bin in Sachen Hardware sicher nicht so fit wie ihr,
daher gleich vorab: Wer sich an N00b-Fragen stört, der darf meinen Post 
gern ignorieren.

Ich sammle seit Jahren leidenschaftlich Arcade-Automaten, restauriere 
und repariere diese so gut ich kann. Ich habe nicht wirklich Ahnung von 
Dingen, die innerhalb von CPUs und Eproms passieren.

Es gibt allerdings eine Hardware, die mir persönlich sehr am Herzen 
liegt, das Capcom PlaySystem III, kurz CPS3.
Dieses Board arbeitet mit Custom 72pin SIMMS, auf welchen die Spieldaten 
durch das auf dem Board befindliche Servicemenu geflasht werden. Dieser 
Vorgang dauert ca. 1 std.
Nun bin ich im Besitz aller erhältlicher Software für das System und 
suche eine Möglichkeit diesen Prozess zu beschleunigen.

Ich wollte mal ganz vorsichtig fragen, ob Ihr es für machbar haltet, und 
welche Art von Information neben pinouts usw ich brauche.


Hier schonmal, was ich bis jetzt weiss:

-Die custom SIMMS mit DRAM-SIMMS zu ersetzen, würde bedeuten, dass die 
Spieldaten nach jedem Start des System neu geflasht werden müssen, 
allerdings wäre das vertretbar, wenn der Prozess statt einer std in etwa 
1 Minute vollzogen wäre.

-leider ist das pinout der custom SIMMs anders als das von std DRAM

-die address bus size ist größer (21 addresszeilen gegen 11 
addresszeilen)

-der Leseprozess bei DRAM erfolgt in 2 Schritten (erst raw-auswahl mit 
11 addresszeilen und später die column mit der gleichen adresszeile


Heißt, soweit mir das bewußt ist, man braucht neben einer eigenen 
Adapter-Platine auch einen Controller, der den Lese/Schreib-Prozess 
übersetzen kann.


Meine Frage:
Haltet ihr es für realistisch daß ein N00b mit ein bißchen Unterstützung 
sowas hinbekommt, oder meint Ihr ich sollte besser die Finger davon 
lassen?


weitere Infos:
http://wiki.arcadeotaku.com/w/CPS3
http://mamedev.org/source/src/mame/drivers/cps3.c.html


Bedanke mich herzlich für's Lesen.
Viele Grüße,
-Alex-

von Georg G. (df2au)


Lesenswert?

Bitte sei nicht traurig. Aber dein Vorhaben ist auch für einen 
erfahrenen Entwickler eine Herausforderung.

von Alex S. (arcadetv)


Lesenswert?

Bin ich nicht, danke für die ehrliche Antwort!!

Falls jemand so etwas zu bezahlbaren Konditionen realisieren könnte, 
würde ich mich freuen wenn der- oder diejenige sich hier melden würde.

von Dr. Sommer (Gast)


Lesenswert?

Interessante Frage. Da die CPU (und damit wahrscheinlich auch die 
SIMM's) nur 25 MHz haben, könnte man die Signale vermutlich relativ 
einfach in einem CPLD oder mittelschnellen Cortex-M3 oder so abfangen 
und auf einen Flash umsetzen. Oder vielleicht findet sich sogar ein 
Parallelflash auf den die Signale direkt passen. Der gewählte Flash 
müsste lediglich schneller als das Originalzeug sein, aber das ist 
glaube ich kein Problem... Vielleicht lässt sich das ganze auch auf 
(schnelle) SD-Karten umsetzen, das wird dann aber etwas schwieriger :-)

Aber ohne extensive Fachkenntnis wird das wohl nichts...

von Alex S. (arcadetv)


Lesenswert?

DAS klingt wie Musik in meinen Ohren...
Dr. Sommer, setz Dich doch gerne mit mir in Verbindung, falls Du gewillt 
wärst sowas gegen Aufwandentschädigung+Spesen auszuarbeiten!

Danke Ihr Lieben!

von Kindergärtner (Gast)


Lesenswert?

Sorry, habe selber schon genug zu tun ;-)

von Alex S. (arcadetv)


Lesenswert?

Kann auch gerne irgendwann später sein, ist nicht eilig :-)

von Soul E. (Gast)


Lesenswert?

Alex Schütz schrieb:

> Dieses Board arbeitet mit Custom 72pin SIMMS, auf welchen die Spieldaten
> durch das auf dem Board befindliche Servicemenu geflasht werden. Dieser
> Vorgang dauert ca. 1 std.

D.h. kleine Platinen mit (Parallel-)Flashbausteinen. Schwarze Käfer, 
deren Nummern mit 28F oder 29F anfangen.

> Nun bin ich im Besitz aller erhältlicher Software für das System und
> suche eine Möglichkeit diesen Prozess zu beschleunigen.

Einen Adapter basteln, mit dem man diese Platinen an den PC hängen kann 
und mit eigener SW beschreiben. Dann müssen die Daten nicht durch den 
Prozessor des Automaten geschoben werden.



> -Die custom SIMMS mit DRAM-SIMMS zu ersetzen, würde bedeuten, dass die
> Spieldaten nach jedem Start des System neu geflasht werden müssen,

Nein, die Spieldaten müssen 100 mal in der Sekunde neu geflashed werden. 
DRAM braucht alle 10ms einen Refresh.


Du brauchst einen Ersatz für die Flash-SIMMs mit passendem 
USB-Programmieradapter. Für die ROM-SIMMs des Apple MacIntosh gibt es 
entsprechende Lösungen.

von Vanilla (Gast)


Lesenswert?

Alex Schütz schrieb:
> Dieses Board arbeitet mit Custom 72pin SIMMS, auf welchen die Spieldaten
> durch das auf dem Board befindliche Servicemenu geflasht werden. Dieser
> Vorgang dauert ca. 1 std.

Was steht an Informationen zusätzlich zur Verfügung?
Was ist auf den SIMMS verbaut? Ist der Typ des Flashspeichers zu 
erroieren?
Was kann denn die Software die den Speicher beschreiben soll. Kann man 
diese modifizieren (Source vorhanden).

Typischerweise muss zur Programmierung eines Flashspeichers der Block 
erst einmal über eine Kommandosequence gelöscht werden, ggfs. zuvor 
"unprotected".
In grauer Vorzeit gab es etliche zueinander inkompatible Flashbausteine 
bzw. Verfahren.

Wird vom System selbst nach der externen Programmierung noch schreibend 
auf die SIMMS zugegriffen.
Falls nicht könnte ggfs. ein kleines Layout und 1-2 Eprom-Emulatoren aus 
der Bucht die billigste Lösung sein. Das Programm würde dann über z.B. 
USB auf die Emulatoren geschrieben...

Eine weitere Alternative wäre z.B. über Non-Volatiles SRAM (z.B. 
Ferro-RAM) oder batteriegepuffertes SRAM. Ist aber alles Exotisch und 
dementsprechend schwer und teuer zu beschaffen.

Gruß

Vanilla

von Helmut S. (helmuts)


Lesenswert?

> ieses Board arbeitet mit Custom 72pin SIMMS

Mach doch mal ein Bild auf dem man die Beschriftung der ICs lesen kann.

Gruß
Helmut

von Alex S. (arcadetv)


Lesenswert?

Ich werde versuchen alle Fragen asap zu beantworten, dafür muss ich 
einiges bei jemand anfragen, der sehr in der Hardware drin ist, 
allerdings keine Lösung für den Speicher hat.


Hier schonmal Fotos zum anschauen:
https://picasaweb.google.com/115948745418514736250/CPS3SIMMS?authuser=0&feat=directlink

und die gleichen Fotos zum downloaden:
https://www.dropbox.com/sh/bld5zwi463pmcer/OK3cqRDV0E


Danke schonmal, mit so viel Feedback hatte ich gar nicht gerechnet, aber 
es freut mich riesig!!

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

29F016 ist ein Flash-ROM.

Das kann man nicht ohne erheblichen Aufwand durch ein DRAM ersetzen.

von Alex S. (arcadetv)


Lesenswert?

Rufus Τ. Firefly schrieb:
> 29F016 ist ein Flash-ROM.
>
> Das kann man nicht ohne erheblichen Aufwand durch ein DRAM ersetzen.

Kann man so aus dem Bauch heraus sagen, dass man es mit etwas 
schnellerem ersetzen kann?

von oszi40 (Gast)


Lesenswert?

29F016 16-Megabit (2,097,152 x 8-Bit) CMOS 5.0 Volt-only, Sector Erase 
Flash Memory: DB z.B. 
http://html.alldatasheet.com/html-pdf/92562/AMD/AM29F016/47/1/AM29F016.html
Das wird wohl nicht ganz einfach ohne passende HW.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Alex Schütz schrieb:
> Kann man so aus dem Bauch heraus sagen, dass man es mit etwas
> schnellerem ersetzen kann?

Indem Du andere, schnittstellenkompatible neuere Flash-ROMs verwendest, 
und diese nicht mit Deinem Gerät sondern mit einem eigenen 
Programmiergerät beschreibst. Dein Gerät weiß nichts von schnelleren 
Bausteinen, der durch Dein Gerät durchgeführte Programmiervorgang wird 
daher auch durch schnellere Bausteine recht wahrscheinlich nicht 
beschleunigt werden.


Auch wenn Du die Flash-ROMs mit sehr viel "glue logic" durch andere 
Speicher ersetzen würdest, müsstest Du die gewünschten Inhalte 
dorthineinbekommen - also mit einem anderen Programmiergerät, oder mit 
einem eigenen Controller, der auf den Speicher zugreift, um ihn aus 
anderer Quelle (SD-Karte?) zu befüllen, und nach erfolgter Befüllung auf 
noch ungeklärte Art und Weise Dein Gerät aktiviert (denn während der 
Befüllung darf es den Speicher selbst nicht "anfassen").

Wäre es nicht einfacher, mehrere dieser "Custom-SIMMs" zu verwenden und 
die je nach Anforderung auszutauschen?

von Alex S. (arcadetv)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Wäre es nicht einfacher, mehrere dieser "Custom-SIMMs" zu verwenden und
die je nach Anforderung auszutauschen?

Leider sind diese Teile wirklich schwer zu bekommen.
Je nachdem welches Spiel laufen soll, muss es an den Steckplätzen eine 
Mindestmenge Speicher geben.
siehe http://wiki.arcadeotaku.com/w/CPS3#SIMM_requirements

Dazu kommt noch, dass es unterschiedlich große Bausteine gibt.
->32, 64 und 128er (Mbit)

Ich stelle gerade noch die Mail an den Hardware-Kenner zusammen, ich 
hoffe dann mehr Input liefern zu können.
Nochmal Danke an Euch, ich finde Eure Posts höchst inspirierend.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Alex Schütz schrieb:
> Leider sind diese Teile wirklich schwer zu bekommen.

Die Dinger sind erheblich leichter selbstgebastelt als irgendwelche 
DRAM-mit-sonstwas-Logik-Lösungen.

> Dazu kommt noch, dass es unterschiedlich große Bausteine gibt.
> ->32, 64 und 128er (Mbit)

Was Du da abgebildet hast, bestand aus 4 Flash-ROMs mit jeweils 16 MBit, 
also 8 MByte insgesamt.

von Alex S. (arcadetv)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Die Dinger sind erheblich leichter selbstgebastelt als irgendwelche
DRAM-mit-sonstwas-Logik-Lösungen.

Damit könnte ich mich sehr gut anfreunden. Hiesse, ich brauche eine 
Quelle für die Chips, einen Satz Gerber-Files und könnte die dann 
produzieren lassen. Klingt gleichsam einfach wie genial.

Weiss jemand zufällig wo man die chips am besten einkauft?

Danke sehr!

von Reinhard Kern (Gast)


Lesenswert?

Alex Schütz schrieb:
> Kann man so aus dem Bauch heraus sagen, dass man es mit etwas
> schnellerem ersetzen kann?

Ja, aber wozu? Ein existierendes System wird dadurch nicht schneller. 
Nur beim PC kann der Chipsatz mit unterschiedlichen Geschwindigkeiten je 
nach vorhandenem Speicher arbeiten (ist aber sehr komplex), ein 
Industrie- oder Spiele-Kontroller wird völlig unbeeindruckt genauso 
schnell zugreifen wie zuvor. Allerhöchstens kann man ihn mit einem not 
ready Signal bremsen, aber auch das ist unüblich, die wussten ja damals 
was sie einbauen.

Gruss Reinhard

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Alex Schütz schrieb:
> einen Satz Gerber-Files

Eagle (oder irgendein anderes Leiterplattenlayoutprogramm) ist Dein 
Freund.

Natürlich solltest Du vorher einen Schaltplan erstellen, d.h. die 
"Verdrahtung" eines der vorhandenen "Custom-SIMMs" durchklingeln, 
welcher der 72 Kontakte geht an welches Beinchen der ROMs etc.

Aufgrund des Alters der Speicherbausteine werden die nicht mehr ganz 
einfach zu organisieren sein.

Digikey schreibt sowohl für 29f016 als auch 29f032 "Anrufen" anstelle 
eines Preises.

Farnell listet einen Ersatztyp für 29F016 namens 29w160EB, der dort in 
Einzelstückzahlen unter 2 EUR kostet.

Sollte also irgendwie lösbar sein.

von oszi40 (Gast)


Lesenswert?

Alex Schütz schrieb:
> Weiss jemand zufällig wo man die chips am besten einkauft?

1.z.B. Suchmaschine: Typ und Preis eintippen?
2.Lieferbedingungen prüfen

von Jana (Gast)


Lesenswert?

Genial was Capcom sich da ausgedacht hatte: Videogames mit automatischer 
Selbstzerstörung: http://wiki.arcadeotaku.com/w/CPS3#Suicide
Wie hast du das Problem eigentlich gelöst?

von Alex S. (arcadetv)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Eagle (oder irgendein anderes Leiterplattenlayoutprogramm) ist Dein Freund.

Ja, das Spiel kenne ich schon ;)
Habe einen guten Platinenmacher in China, den ich bereits bei meinem 
Custom-Gameboy genutzt habe...
(Offtopic:
http://circuit-board.de/forum/viewtopic.php?f=56&t=9847&start=15#p232212
und
http://circuit-board.de/forum/viewtopic.php?f=55&t=9857
)


Ok, ich denke ich werde mal schauen was sich daraus machen läßt.
An Euch alle nochmal ein ganz herzliches Dankeschön! TOP!

Ich werde mich zurückmelden wenn sich entweder neue Infos aufgetan oder 
sich etwas anderes ergeben hat in Richtung Nachbau-SIMMs.

von Alex S. (arcadetv)


Lesenswert?

Jana schrieb:
> Genial was Capcom sich da ausgedacht hatte: Videogames mit automatischer
> Selbstzerstörung: http://wiki.arcadeotaku.com/w/CPS3#Suicide
> Wie hast du das Problem eigentlich gelöst?

Offtopic:
Das hat der besagte Fachmann bereits gelöst :)
http://64darksoft.blogspot.de/

Derzeitiger Stand der Dinge dort:
-Decryption Tables gefunden
-Bios gegen ein custom Bios ersetzt
-Custom CPU (Hitachi SH2) gegen eine Standard CPU getauscht

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.