Hello, Guest the thread was called2.8k times and contains 53 replays

last post from adamt at the

Programmable GMOD2 cartridge

  • Es passt zwar nicht 100% in den GMOD Thread ...

    ... aber hier sind wahrscheinlich die Leute die mir das erklären können.




    ======


    Frage 1:


    Die meisten C64 Cartridges die Banking haben, also ein Register mit D-FF realisieren, die machen eine Verknüpfung von IO1 (oder IO2) mit PHI2.

    Warum?


    In der PHI1 Phase greift sowieso niemand schreibend auf IO1 oder IO2 zu ...


    ======


    Frage 2
    :


    Ich möchte ein C64 Register realisieren mit einem GAL 16v8.


    Im Registered Mode muss CLK auf Pin 1 liegen.

    Leider geht da keine kombinatorische Logik als Clock, oder sehe ich das falsch?


    Also muss ich erst wieder ein 7400 nehmen um IO1, R/W und PHI2 zu verknüpfen?

    Oder geht das auch im GAL (registered und Kombinatorisch)?


    Wenn es im GAL geht, muss ich dann das Ergebnis wirklich von einem Pin zum Pin1 (Clk) führen?

    Oder geht das auch über interne Rückführung?


    Wenn ja, wie sag ich das dem WinCUPL?

  • Nun, so wie der Gmod2 einen Schreibvorgang ins RAM nicht nur mit R/W timen kann, kann man auch einen Schreibvorgang in ein Bankschalterregister nicht mit R/W timen. PHI2 bestimmt wann der Bus stabil ist und deine Register muss also mit einer Kombination aus IO1/2, R/W und PHI2 getaktet werden. Während PHI1 kann IO1/2 nicht aktiviert werden, die PLA-Gleichungen lassen dies nicht zu.

    Das seht du richtig, enige lösung ist ein der Ausgänge mit Pin 1 zu verbinden. Dies ist eine nicht besonders hilfreicheFunktion einer GAL, da es eher selten vorkommt, dass man einen komplizierteren Ausdruck für CLK verwenden möchte.

    Wenn es im GAL geht, muss ich dann das Ergebnis wirklich von einem Pin zum Pin1 (Clk) führen?

    Oder geht das auch über interne Rückführung?

    Leider, iInterne Rückführung ist nicht möglich für CLK.

  • Die Frage ist, ob man dann nicht gleich einen ATF1504 nimmt.


    Kosten drei Euro ... ist verkraftbar.

    Und man spart sich die LS273 Latch gänzlich.

    Weil der hat genug Pins und genug Flip-Flops.



    Ich hab das Teil damals beim Fe3 für den VC-20 verwendet und gute Erfahrungen damit.


    Allerdings hab ich keinen PC mehr mit parallel Port.

    Da müsste ich mir für das JTAG was basteln ...

  • Der erste Schritt ist naturlich der ATF1502.


    Abgesehen davon denke ich, dass Register eigentlich etwas sind, wofür eine 74x273 perfekt geeignet ist. Man kann sie in einen GAL oder CPLD einbauen, aber dann nutzt man die Logik, die dieser Chip bietet (große AND/OR-Arrays), schlecht aus. Bei einem GAL16v8/20v8 sind sogar alle Makrozellen dann sofort verwendet, so dass kein Platz für zusätzliche Logik mehr vorhanden ist.


    Ich denke, es macht mehr Sinn, einfach eine 74x273 (oder 373, 573) für das Register selbst zu verwenden und die Steuersignale mit einem GAL zu erzeugen. Du kannst mit einem GAL wesentlich komplexere Logik ausführen als mit einem oder eben zwei einzelnen 74xx und damit eine wesentlich komplexere Ansteuerung der Chips realisieren. Ein ATF150x mag nicht viel kosten, aber ein 74x273 kostet überhaupt nichts.

  • Übrigens, ich möchte auch sehen, ob es möglich ist, eine 74x646 zu verwenden. Bei einer 74x273 ist das Register immer write-only was zwar praktikabel, aber nicht elegant ist. Mit einem 74x646 sollte es möglich sein, ein Register zu bauen, das auch gelesen werden kann.

    Ah, ein richtiger IO Baustein.

    Reichelt hat den als HCT, werde ich mir mal mit bestellen.



    Das geht übrigens prinzipiell mit dem 16v8 auch, die Ausgänge sind Tristate und über OE steuerbar.

    Das wäre ein Register, das man lesen und schreiben kann.

    Nur halt blöd, dass man mit den IO nichts machen kann, außer wenn die CPU gerade liest ... :D

  • Ich mache Fortschritte bei diesem Projekt!


    Die zweite Version der Platine ist eingetroffen und wurde genehmigt. Es ist jetzt kompatibel mit Gehäusen von The Future Was 8 Bit (links), von C128Egretz (mitte) und von Individual Computers (rechts):


    Programmierung ist jetzt von jedem Commodore 64 aus möglich. Ich habe einen Ein/Aus-Schalter hinzugefügt, der sehr praktisch ist, wenn man Programmierer ist oder die Cartridge neu programmieren wollen.


    Und wenn wir schon dabei sind, warum machen wir nicht auch eine Version für den Commodore 128 (native)? Nur für Programmierer, weil es natürlich noch keine Software dafür gibt, aber vielleicht inspiriert es ja jemanden.



    Und warum sollte man sich die Mühe machen, die Programmierung vom C64 aus zu ermöglichen, wenn es keine Software zum flashen der Cartridge gibt? Nun, auch dafür werde ich etwas tun, ein Flash-Tool ist in Entwicklung:


  • Sidekick64 can emulate gmod2:

    https://github.com/frntc/Sidekick64

    Hello all.


    I an enjoying the all in one solution of the Sidekick64. In answer to the original post I am having problems with the Sidekick64 gmod2 support. Sam's Journey works fine but other gmod2 files fail to load (MW Ultra/PlanetX2.1).

    I designed my own GMod2 cartridge. In addition, I only tested with Sam's Journey, but technically the cartridge apparently works 100%, including load / save.

    Great work here. As above might be worth a wider check on other gmod2 files. Probably not an issue as this is hardware. But currently have no idea if the problem I am having is just with me, Sidekick64 or a general issue with gmod2?

  • This may be more appropriate to the Sidekick64 thread but in answer to my previous post in this thread.

    ...I am having problems with the Sidekick64 gmod2 support. Sam's Journey works fine but other gmod2 files fail to load (MW Ultra/PlanetX2.1).

    I can now confirm I have resolved the problems with the MWUltra and PlanetX2.1 crt files and both now work with Sidekick64.

    The supplied crt files appear to contain both the flash and eeprom files combined. I understand that this may be for Ultimate64 support. I note that Protovision supply a conversion tool that combines both flash and eprom files into the crt file. By using cartconv with just the flash.bin all now works fine on Sidekick64.


    This said I am still very interested in the standalone gmod2 cartridge option as being developed by dmantione here.:thumbsup: