Posts by Diddl

    Ich finde den Thread super! :)


    Hat mich motiviert das SPRINT LAYOUT anzuschaffen und mich mal selbst an einer kleinen C64 Cartridge zu probieren.


    Sollte ich das schaffen, werde ich hier berichten und das .lay6 File posten.




    Ein erster Anfang ist getan:


    D.h. auch Eproms, die kleiner 64k sind (27c256,...)? (Ob das sinnvoll ist, sei mal dahingestellt. ;-) )

    Naja, soweit es Pin Kompatibel ist, ja.

    Mit Adaptersockel müsste alles funktionieren. :)


    Hmm, Du meinst das "Nordic Replay"?

    Ich hatte aber Nordic Power geschrieben & gemeint ... ;-)

    Ja genau, das meinte ich.


    Laut Wiki arbeitet das Nordic Replay optional mit einem ROM Image vom Nordic Power:

    http://wiki.icomp.de/wiki/Nordic_Replay

    D.h. die Bestückung ist wahlweise möglich? (Z.B. auch nur ein Stück W27C512, falls keine weiteren gerade greifbar sind?) Das programmieren wird nur mit Eprommer möglich sein?

    Naja ich habe nur 3 Pins für das Banking, deshalb maximal 128KB EPROM.

    Aber ich plane auch eine größere Variante mit ATF1504.

    Da gehen dann bis zu einem 1MB RAM und ROM, wie beim FE3.


    Ja nur Eprommer.

    Hat eh fast jeder zuhause.

    Und flashen am PC ist angenehmer als am C64.



    D.h. z.B. das *.bin vom LW laden, in's RAM kopieren und von dort ausführen?

    Ja BIN oder vielleicht sogar CRT.




    Wie erfolgt die Auswahl? Mit einer Oberfläche, ähnlich dem EF?

    Um das EPROM Image zu machen gibt es ein PC Tool.


    Für den RAM Loader werde ich ein C64 Programm schreiben, das man optional auch in den EPROM schreiben kann.



    Wird diese Software "On Board" dabei sein?

    Ja.

    Man kann sie laden oder auch ins Eprom schreiben.



    Wäre damit eine Replik der "Nordic Power" möglich?

    Die Replik des Nordic Power gibt es bereits.

    Von iComp, hab ich da, genial das Modul.


    Nee die UC1 wird kein Freezer, es ist ein reines RAM/ROM Board.


    Nachteilig ist leider, das wohl die EEproms & GAL nicht mehr gefertigt werden.

    - es funktionieren auch normale EPROM

    - die W27C512 sind sehr verbreitet, viele haben die zuhause rum liegen

    - die Winbond Dinger sind immer noch zahlreich erhältlich, spottbillig zu haben

    - die GAL werden noch produziert und gibt es bei Reichelt und um sehr kleines Geld beim Ali

    Jetzt habe ich genug Cartridges zusammen gelötet, jetzt möchte ich meine eigene Cartridge machen:




    C64 UC1 (Universal Cartridge 1)




    C64 Universal Cartridge 1:


    Ein bisschen wie die UniProm64, aber mit RAM und ROM und Config Register:

    • C64 Cartridge
    • 128 KB EEPROM (W27C010 oder W27C512)
    • 32 KB RAM
    • 8 Bit Latch (74LS273)
    • ein GAL 16v8


    Die Hardware ist einfach (nur DIL) und günstig.

    Der GAL kann leicht programmiert werden, zb. mit einem TL866 Programmiergerät.




    Man kann damit:

    • 16 x 8KB Cartrige
    • 8 x 16KB Cartrige
    • 8 x Ultimax Cartrige
    • mehrere Programme in Summe 128KB
    • auch in beliebiger Kombination: 8KB, 16KB, Ultimax und Programme
    • beliebige 8K, 16K oder Ultimax von einem Laufwerk laden und als ROM ausführen




    Es soll flexibel sein und per Software konfigurierbar:

    • Register an der Adresse $DE00
    • /EXROM schaltbar
    • /GAME schaltbar
    • RAM oder ROM eingeblendet
    • RAM Schreibschutz (optional)
    • RAM oder ROM auch auf IO1 und IO2 eingeblendet
    • IO Register abschaltbar


    Register:

    • bit 0 --- A14
    • bit 1 --- A15
    • bit 2 --- A16
    • bit 3 --- IO Register disable (1 invisible)
    • bit 4 --- SRAM write enable (1 enabled)
    • bit 5 --- SRAM select (1-RAM, 0-ROM)
    • bit 6 --- schaltet GAME (1 Cart disabled)
    • bit 7 --- schaltet EXROM (1 cart disabled)



       


    .

    Also nur mal ins Blaue hinein gesprochen, bei einem richtigen Rechner mit Betriebssystem und allem Pipapo koennte ich mir vorstellen dass USB-maessig weitaus mehr passiert als auf dem ARM-Chip des MiSTer/SiDi-Systems, wo der ARM sich ja ausschliesslich um Kommunikation mit USB-Geraeten und Simulation von Massenspeicher kuemmern muss. Da wird ja kein komplettes Linux drauf laufen oder sowas. Von daher waere es durchaus denkbar, dass die USB-Latenz dort nochmal geringer ist (aber das ist jetzt wie gesagt nur 'ne Vermutung).

    Das sehe ich auch so.


    Die Latenz des USB liegt im mS Bereich.

    Alles andere, ARM, Software, etc liegt im µS Bereich.


    Gesehen zu den USB Latenzen ist alles andere Pipifax.

    Und ich glaube, die DB9 Pins hängen direkt am FPGA und es gibt weniger Latzenz als mit USB über den ARM, oder?

    Naja, es gibt Menschen die sagen sie "spüren" die Latenz eines USB Eingabegerät ...


    Die normalen USB Geräte haben 10ms und die guten Gamer Pads kommen mit einer ms durch.


    Man hat Tests gemacht.

    Niemals konnte man nachweisen dass ein Spieler mit 10ms Latenz schlechtere Ergebnisse hat wie ohne Latenz.


    Eigentlich kann man froh sein, wenn das Game selbst alle 10ms die Eingabegeräte pollt ...

    Ü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 dachte, der Dateitransfähr ginge nur über das serielle Kabel zur 1571 / 1581...

    Ja genau, der eigentliche Transfer zur Floppy geht dann nur über das serielle Kabel.



    Es ist so, der Burstmode hat einen zusätzlichen Draht im IEC Kabel, <SRQ>.

    Nur ist der im C64 nicht verdrahtet.

    Man braucht eine Verbindung vom CIA des C64 zum IEC Stecker im C64.


    Und ggf. noch Schutzhardware ...

    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 ...

    Burstmode für meinen C64, das würde mir schon gefallen. :)



    Allerdings erinnere ich mich vage, dass die zwei Drähte nicht wirklich genügen.

    Es funktioniert mit einem Laufwerk.

    Aber die CIA sind schutzlos am Kabel.

    Und mehrere Laufwerke oder längere Kabel sind problematisch.

    Klingt in der Tat sehr interessant.


    In dem zweiten File steht was, dass der Fast Serial Mode für 1571 und 1581 aktiviert wird ...



    So, nun kann man spekulieren:

    • ohne Hardware Mod kann der C64 kein fast serial machen --- wie geht der Mod?
    • möglicherweise ist der Kernal aber auch für den C64 Modus im C128?

    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?