Seite 2 von 2

Re: borti4938 proudly presents: ein Ultra16 im 1Chip-SNES-Ge

Verfasst: 13. Juni 2014, 09:48
von borti4938
In Arbeit, in Arbeit, in Arbeit 8) Dauert nur noch n Paar Jährchen... Will doch noch n Kasten Bier vom d4s haben - so langsam verdurste ich :beer:

Re: borti4938 proudly presents: ein Ultra16 im 1Chip-SNES-Ge

Verfasst: 16. Juni 2014, 20:17
von stefan_iro
Ja stimmt, d4s hat dem ersten, dem es gelingt ein Ultra16 nachzubauen mal nen Kasten Bier versprochen...

Wäre schön, wenn's klappt!

Re: borti4938 proudly presents: ein Ultra16 im 1Chip-SNES-Ge

Verfasst: 17. Juni 2014, 07:00
von rama
Gibt es da noch einen Thread zu? Also mit dem Kasten Bier ;)

Re: borti4938 proudly presents: ein Ultra16 im 1Chip-SNES-Ge

Verfasst: 17. Juni 2014, 08:23
von borti4938
Zum Beispiel da: http://www.supernes.de/forum/index.php/ ... #post41913

Ich habe übrigens gerade den Code für den U16-IGR fertig gemacht.
Ich habe folgendes reingehackt ;)
  • Reset per Controller
  • Langer Reset per Controller (für das sd2snes)
  • Manipulation des Modi per Controller
  • Eigene Steuerung der LED, somit auch RGB-LEDs möglich. Momentan sind die Farben (RG-LED):
    • Grün: Menü
    • Gelb: Spiel 50Hz
    • Rot: Spiel 60Hz
    Andere Farben sind denkbar ;) Ist aber erstmal der Wunsch meines "Kunden" :D
Die Manipulation des Modi per Controller sowie die Resetfunktionen per Controller sind nur im Spielbetrieb verwendbar. Sollte trotz des Durchschleifens des U16-Modi Fehler 6/7 kommen, fliegt die Manipulation des Modi wieder raus!

Testen des Codes erfolgt kommende Woche. Wer sehr sehr neugierig ist, kann sich gerne bei mir melden und schon vorab testen. Gebraucht wird ein PIC16F684!

VG

Re: borti4938 proudly presents: ein Ultra16 im 1Chip-SNES-Ge

Verfasst: 18. Juni 2014, 14:30
von borti4938
Kleiner Vorgeschmack, sieht allerdings bis auf den RGB-Amp genauso wie im 2Chipper aus ;)

Bild

Re: borti4938 proudly presents: ein Ultra16 im 1Chip-SNES-Ge

Verfasst: 18. Juni 2014, 20:07
von rama
Hast du das ganze U16 jetzt reversed?
Es sieht zumindest alles sehr sauber aus :)

Re: borti4938 proudly presents: ein Ultra16 im 1Chip-SNES-Ge

Verfasst: 18. Juni 2014, 21:35
von borti4938
Ist die originale Platine, die man aus dem eigentlichen U16 auslöten muss. Natürlich habe ich mir aber n komplettes Pinout erstellt ;)

Re: borti4938 proudly presents: ein Ultra16 im 1Chip-SNES-Ge

Verfasst: 19. Juni 2014, 08:19
von rama
Aha! Das erklärt den kleinen Interessentenkreis :)
Ich habe noch ein anderes Projekt, bei dem wir über reverse engineering an die Details der Hardware kommen.
Je nach Interesse könnte ich bei dem U16 bestimmt etwas helfen :)

Re: borti4938 proudly presents: ein Ultra16 im 1Chip-SNES-Ge

Verfasst: 19. Juni 2014, 09:01
von Redscorpion
Wären wir schon zu dritt. Da sollten wir mal fachsimpeln ;)

D4s hat ja ein Logikchip verwendet und selbst was dafür programmiert.
Das Menü und die Funktionieren liegen soweit ich weiss im ROM/Firmware auf dem 29F040 Speicher.

Die Rom/FW kann man via Emu nicht starten, da dann ein HW Fehler kommt. Ich nehme an, dass D4s das eingebaut hat, damit es nicht so einfach wird. Im erstem Step sollte man mal prüfen was genau bei der Logik genutzt wird.

Des Weiteren, schau dir mal die ROM/Firmware an. Ich hatte die Initialisierung schonmal gedebuggt. An einer Stelle greift er auf verschiede Hardwareregister zu. Eventuell kannst du die Hardwarecheckabfrage umgehen und das Menü auch via Emu starten.

Die ROM/Firmware ist ja an sich nichts anderes als ein Programm welches gestartet wird. Beim Starten des SNES wird direkt darauf geschaltet und. Durch starten des Games dann wieder weitergereicht an die CPU/WRAM usw.

Schauen wir mal. Ein Open u16 wäre heutzutage bestimmt eine gute Idee :)

Gruß

red

Re: borti4938 proudly presents: ein Ultra16 im 1Chip-SNES-Ge

Verfasst: 19. Juni 2014, 09:52
von borti4938
Vom Prinzip her, so wie ich das verstanden habe:
Der CPLD bestimmt, ob nun vom Speicher auf der U16-PCB oder vom Modul gelesen wird. Dafür sind /ROMSELECT- und /CPURD-Pins an WRAM und CPU angehoben und separat mit dem grauen Kabel angeklemmt. Ansonsten würden die Leitung direkt ins Modul führen. Das muss so sein, weil die CPU der "Bus-Master" ist. Nach diesem Prinzip ist es evtl. sogar möglich ein build-in sd2snes zu designen, was aber aus meiner Sicht, etwas überdimensioniert ist.

Solange man im Menü ist, bestimmt halt die Menü-Software, was getan wird. Der CPLD schneidet mit und wertet entsprechend aus...

An sich ist die U16-Hard- und Software vergleichbar mit einem BIOS im PC - quasi ein SNES-BIOS.

Ich selbst bin auch stark an einem "U16-Nachbau" interessiert. Eine 1:1 Kopie ist da wohl etwas Überdimensioniert, weil die CPLD-Logik genau auf die Menü-Software passt. Stimmt irgendwo etwas nicht, knallt es. Da kann man gleich was eigenes machen. Allerdings würde ich heute einiges etwas anders machen: SuperCIC und IGR und sd2snes stärker einbinden ;)

Aber vorher muss ich mich doch stärker mit der SNES-Programmierung befassen. snescom ist zwar installiert und läuft, aber so wirklich durchsteigen tue ich dort nicht. Aber nun gut - nach dem Umzug und nachdem dann endlich die RGB-Platine in meinem NES drinnen ist, habe ich mehr Zeit für solche Geschichten (hoffentlich) :)

BTW:
Zur Erkennung der U16-Hardware per ROM: https://github.com/mrehkopf/sd2snes/issues/33 Ich glaube aber, dass d4s n anderen Compiler nutzt als Ikari - den wla-65816, bin mir aber nicht sicher???

Re: borti4938 proudly presents: ein Ultra16 im 1Chip-SNES-Ge

Verfasst: 19. Juni 2014, 10:04
von Redscorpion
7e58eb beq $58fb [7e58fb] A:4900 X:000e Y:0020 S:01f6 D:0000 DB:00 NvMxdizc V: 47 H: 654

Müsste man mal schauen ob man das so hinbekommt, das das Menü im Emu läuft.

D4s nutzt WLA, stimmt! snescom ist ja auch nur eine etwas leichtere Syntax als normaler ASM.

Wenn wirklich die Substanz erlernen willst: http://en.wikibooks.org/wiki/Super_NES_Programming

http://wiki.superfamicom.org/snes/show/HomePage



Gruß

red

Re: borti4938 proudly presents: ein Ultra16 im 1Chip-SNES-Ge

Verfasst: 19. Juni 2014, 10:07
von borti4938
Kannst du nicht im Emulator Register manipulieren?

Re: borti4938 proudly presents: ein Ultra16 im 1Chip-SNES-Ge

Verfasst: 19. Juni 2014, 10:09
von Redscorpion
borti4938 hat geschrieben:Kannst du nicht im Emulator Register manipulieren?
Ja klar. Aber muss erstmal schauen wo ;)

Gruß

red