80Z Karte rebuild?

Es gibt 180 Antworten in diesem Thema, welches 19.322 mal aufgerufen wurde. Der letzte Beitrag (18. Juli 2023 um 18:52) ist von Natas.

  • Aber um das Einblenden von mindestens 2k RAM wirst du wohl kaum herum kommen. Sonst ist es wieder so langsam wie veim 128er.

    Sehe ich anders, 256 Bytes sollten schon deutlich schneller sein als ein Byte was ich im Autoinkrementmodus durch das Register schieben kann, soweit der VDC überhaupt einen Autoinkrementmodus hat.

  • Eine dritte Alternative wäre ein großes FPGA oder ein schneller µC, die genug interne Ressourcen haben für DP-RAM oder eben emuliertes DP-RAM.

    Dann könnte man den Rest der 80-Zeichen-Karte auch gleich in den FPGA packen...

    10 x=rnd(-1963):fori=1to81:y=rnd(1):next
    20 forj=1to5:printchr$(rnd(1)*16+70);:next
    30 printint(rnd(1)*328)-217

    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.

  • Es gibt den 6845 als Core. Nur zu 🤣

    Es gibt VGA Cores, C64 Cores etc etc. Siehe Mister & Co.

    Von daher: Emulator am vorhandenem PC, spart HW, Kosten und Ressourcen und läuft letztendlich genau aufs Gleiche raus, wie solche Erweiterungsorgien, für die noch kein Stück Software geschrieben ist, nämlich: aus dem High-End-PC wird genauso ein C64 wie ein C64 mit 80Z-Eigenbaukarte oder S-CPU etc etc. immer ein C64 bleibt, weil 99,99% der Software eben nur den C64 darin unterstützen :wink:

  • Aber um das Einblenden von mindestens 2k RAM wirst du wohl kaum herum kommen. Sonst ist es wieder so langsam wie veim 128er.

    Sehe ich anders, 256 Bytes sollten schon deutlich schneller sein als ein Byte was ich im Autoinkrementmodus durch das Register schieben kann, soweit der VDC überhaupt einen Autoinkrementmodus hat.

    Da die REU /IO2 benutzt wäre es möglicherweise doch sinnvoller ein Fenster bei $C000-$CFFF zu nutzen, ich vermute die EX80 nutzt 2K für das ROM und die anderen 2K für das Video RAM?

  • Warum überhaupt banken ? Wenn man einen Controller am Board hat kann man ja über $de00 einfach ASCII Werte hinschreiben und der Controller holt diese ab und schreibt die in seinen eigenen SRAM Videoram den der 6845 danach anzeigen kann. Wie ein Terminal eben ?

    Ausserdem kann man A14,A15 auch am expansion Port ausdekodieren und dann zb. alle shreibzugriffe auf $8000-a000 auf ein SRAM umlenken. Hab ich schon gemacht 1997/98 , man verliert zwar 8KB vom C64 RAM aber hat etwas grössere Fenster. Hatte mir damals eine RAM Disk damit gebaut (für den Print Technik Videodigizer)

  • Warum überhaupt banken ? Wenn man einen Controller am Board hat kann man ja über $de00 einfach ASCII Werte hinschreiben und der Controller holt diese ab und schreibt die in seinen eigenen SRAM Videoram den der 6845 danach anzeigen kann. Wie ein Terminal eben ?

    Das kann ich dir sagen, meine Idee ist es ja keinen 6845 zu nutzen sondern einen VDC und der kann 16K oder sogar 64K RAM verwalten kann.
    Die von dir beschriebene Methode geht auch ganz ohne Controller, da der VDC so arbeitet leider aber extrem langsam.
    Und am C64 nochmal halb so schnell wie im C128.
    Du bringt mich gerade auf eine interessante Idee man könnte auch das C64 RAM gegen ein 64K DPRAM tauschen und so dem VDC Zugriff auf den kompletten C64 Speicher geben, möglicherweise sogar auf das Character ROM.
    Ich habe dazu noch dieses Projekt gefunden:
    Bitte melde dich an, um diesen Link zu sehen. So das man nicht mal einen echten VDC nehmen muss aber kann, wobei dieser VGA-Frequenzen statt CGA-Frequenzen ausgibt.

  • Und am C64 nochmal halb so schnell wie im C128.

    Wieso ist 1 MHz halb so schnell wie 1 MHz? Man muss nicht zwingend im FAST-Modus arbeiten, wenn man auf den VDC schaltet...

    Früher waren 64k unglaublich viel, heute reicht es nicht mal mehr für "Hello, world!".

  • Warum überhaupt banken ? Wenn man einen Controller am Board hat kann man ja über $de00 einfach ASCII Werte hinschreiben und der Controller holt diese ab und schreibt die in seinen eigenen SRAM Videoram den der 6845 danach anzeigen kann. Wie ein Terminal eben ?

    Das kann ich dir sagen, meine Idee ist es ja keinen 6845 zu nutzen sondern einen VDC und der kann 16K oder sogar 64K RAM verwalten kann.
    Die von dir beschriebene Methode geht auch ganz ohne Controller, da der VDC so arbeitet leider aber extrem langsam.
    Und am C64 nochmal halb so schnell wie im C128.
    Du bringt mich gerade auf eine interessante Idee man könnte auch das C64 RAM gegen ein 64K DPRAM tauschen und so dem VDC Zugriff auf den kompletten C64 Speicher geben, möglicherweise sogar auf das Character ROM.

    Ja ich habe per Vice schon ein VDC Hires Viewer letztes Jahr gebaut und mich geärgert wie sau langsam der VDC angebunden ist. Echt Müll was commodore damals gebaut hatte....

    Der Chip hat ja leider alle Register indirekt auf 2 Adressen abgebildet. Wenn du schon Dual Port RAM verlöten willst würde ich das Neben dem VDC einlöten aber du musst dir eine RAS/CAS Dekodierung auf dein paralleles CYxxxx SRAM bauen sonst wird das nix. Damit der VDC auch seine Daten aus dem SRAM bekommt. Dann müsstest du ein 8/16KB Fenster bauen ($8000-$a000) damit du darüber Daten ins SRAM schieben kannst. Was für ein Aufwand. Vorallem das herumlöten im C128 macht keinen Spaß ausser 2 oder 3 Nerds vielleicht ?

  • Du bringt mich gerade auf eine interessante Idee man könnte auch das C64 RAM gegen ein 64K DPRAM tauschen und so dem VDC Zugriff auf den kompletten C64 Speicher geben, möglicherweise sogar auf das Character ROM.

    Davon rede ich doch schon die ganze Zeit :wink: Hab ich auch schon in mehreren anderen Threads hier so beschrieben, realisiert hab ich das allerdings -und auch mit normalem SRAM parallel zum vorhandenen DRAM- nur mal für die Ansteuerung eines LCD-Displays am C64, das auf diese Weise den ganzen Bitmap-Bildschirmspeicher unabhängig vom VIC-II Timing zur Verfügung hat und insofern mittels eines kleinen PIC-Controllers sich intelligent ansteuern liess. Für Spiele untauglich, da die Sprites fehlen, aber ne nette Spielerei, da es ja absolut parallel und unabhängig zum VIC-II läuft, theoretisch sogar andere, z.b. im Aufbau befindliche Bitmaps anzeigen kann...

  • Du bringt mich gerade auf eine interessante Idee man könnte auch das C64 RAM gegen ein 64K DPRAM tauschen und so dem VDC Zugriff auf den kompletten C64 Speicher geben, möglicherweise sogar auf das Character ROM.

    Davon rede ich doch schon die ganze Zeit :wink: Hab ich auch schon in mehreren anderen Threads hier so beschrieben, realisiert hab ich das allerdings -und auch mit normalem SRAM parallel zum vorhandenen DRAM- nur mal für die Ansteuerung eines LCD-Displays am C64, das auf diese Weise den ganzen Bitmap-Bildschirmspeicher unabhängig vom VIC-II Timing zur Verfügung hat und insofern mittels eines kleinen PIC-Controllers sich intelligent ansteuern liess. Für Spiele untauglich, da die Sprites fehlen, aber ne nette Spielerei, da es ja absolut parallel und unabhängig zum VIC-II läuft, theoretisch sogar andere, z.b. im Aufbau befindliche Bitmaps anzeigen kann...

    Ja Sprites wären schon toll. da hat der Pic aber einiges zu tun wenn er die auch noch darüberlegen muss (über den Hires Datenstrom)....

  • Und am C64 nochmal halb so schnell wie im C128.

    Wieso ist 1 MHz halb so schnell wie 1 MHz? Man muss nicht zwingend im FAST-Modus arbeiten, wenn man auf den VDC schaltet...

    Wenn man den 80 Zeichen Modus aktiv hat , ist der C128 meistens im 2MHz Modus, klar weiß ich keine Regel ohne Ausnahme.

  • Warum überhaupt banken ? Wenn man einen Controller am Board hat kann man ja über $de00 einfach ASCII Werte hinschreiben und der Controller holt diese ab und schreibt die in seinen eigenen SRAM Videoram den der 6845 danach anzeigen kann. Wie ein Terminal eben ?

    Das kann ich dir sagen, meine Idee ist es ja keinen 6845 zu nutzen sondern einen VDC und der kann 16K oder sogar 64K RAM verwalten kann.
    Die von dir beschriebene Methode geht auch ganz ohne Controller, da der VDC so arbeitet leider aber extrem langsam.
    Und am C64 nochmal halb so schnell wie im C128.
    Du bringt mich gerade auf eine interessante Idee man könnte auch das C64 RAM gegen ein 64K DPRAM tauschen und so dem VDC Zugriff auf den kompletten C64 Speicher geben, möglicherweise sogar auf das Character ROM.

    Ja ich habe per Vice schon ein VDC Hires Viewer letztes Jahr gebaut und mich geärgert wie sau langsam der VDC angebunden ist. Echt Müll was commodore damals gebaut hatte....

    Der Chip hat ja leider alle Register indirekt auf 2 Adressen abgebildet. Wenn du schon Dual Port RAM verlöten willst würde ich das Neben dem VDC einlöten aber du musst dir eine RAS/CAS Dekodierung auf dein paralleles CYxxxx SRAM bauen sonst wird das nix. Damit der VDC auch seine Daten aus dem SRAM bekommt. Dann müsstest du ein 8/16KB Fenster bauen ($8000-$a000) damit du darüber Daten ins SRAM schieben kannst. Was für ein Aufwand. Vorallem das herumlöten im C128 macht keinen Spaß ausser 2 oder 3 Nerds vielleicht ?

    Deshalb ja die Idee das beide vollen Zugriff auf die vollen 64K haben, das DPRAM ist SRAM es benötigt keinen Refresh, stören dürfte der unnötigen Zugriffe aber nicht.
    Zwei von diesen Adaptern mit einem gemeinsamen DPRAM sollen es tun: Bitte melde dich an, um diesen Link zu sehen., es geht um die Schaltung nicht um die Platine.

  • Habe da kein Schaltbild gefunden, aber normalerweise braucht man 2 8bit Laches (ls374) mit der fallenden flanke von RAS wird das eine gelatcht (A0-a7 -> Low Latch)

    mit CAS das 2. (a0-a7 -> Latch + OE SRAM (wenn lesezugriff) =a8-a15) und wenn /cas auf Hi geht sollte der Prozessor oder VDC das übernehmen.

    Das Problem ist das der VDC aber ASYNCHRON zum Phi 2 Takt ist da er eine eigene Clk (quarz) 16 Mhz glaube ich - hat.

    Das ist übel.

    PLL ? zu aufwendig 4046 ?? Nein danke.

    Da wäre es besser den DOT CLK (8 Mhz) mittels EXOR zu verdoppeln und dies als Zeitbasis für den VDC verwenden. Dann läuft es wenigstens Sychron.

    Dann muss man sich noch eine Logik bauen die 6502 -> 6845 SRAM Interface synchron hält - (Logikanalyzer nötig 24 Leitungen mind.)

    Ein echtes Dualport RAM ist teuer soweit ich mich erinnere und ein riesen aufwand mit 2x 16 Adressleitungen ......

  • Es geht mir hier eher um die theoretische Umsetzbarkeit und ggf. um ein Proof of concept. Ein geeignetes DPRAM ist neu noch zu bekommen der Preis liegt bei ca. 20€ wäre aber in einem Bastler unfreundlichen Finepitch SMD Gehäuse.

    Die derzeitige Idee ist es das ganze dann nicht mehr als Modul zu gestalten sondern irgendwie in den CPU Sockel zu bekommen. Auf der Platine sind dann 6510, VDC, 64K DPRAM und ein CPLD.

    Das C64 RAM müsste ausgelötet werden.

  • Das C64 RAM müsste ausgelötet werden.

    Wo bekommt der VIC-II dann seine Daten her? Oder ist der dann nur noch Takterzeuger?

    Meiner persönlichen Meinung nach müsste eine neue 80Z-Karte exakt so aufgebaut sein wie der 80Z-Teil im C128, aus einem einfachen Grund: Man hat sofort eine breite Hardwarebasis (in Form existierender C128) zur Verfügung. Dann ist die Chance auch irgendwie da, dass Software dafür entwickelt wird. Alles andere ist eine große Hürde, und wenn da CPLD & Co. ins Spiel kommen, sind viele Selberbastler einfach raus.

    Man muss noch nicht mal das PLA ändern, einfach selbst D600/D601 ausdekodieren am Expansionport - wenn einen die paar SIDs, die D600 als Adresse für den 2./3./xx. Soundchip verwenden, nicht stören.

    Ja, das Gehampel über D600/D601 ist schnarchlangsam, aber wenn ich mir Demos oder Anwendungen anschaue, dann ist das trotzdem ganz brauchbar. Und die Hardware wird unschlagbar einfach und passt in ein Standardmodul.

    Die VDC-Lösung hat allerdings zugegebenermaßen den Nachteil, dass 8563/8568 nicht an jeder Hausecke zu bekommen sind. :sad:

    Achtung: Nur meine persönliche Meinung und hier leider leicht OT.

  • Es so aufzubauen wie im C128 ist einfach siehe weiter oben.

    Ich denke schon, das eine Custom PLA notwendig ist, und zwar um die ganzen Spiegelungen los zu werden so das D600 überhaupt benutzt werden kann.

    Oder man muss eine Dual SID Platine mit nur einem SID verbaut haben, bzw. der zweite SID an einer anderen Adresse als D600.

    Diese Betrachtung dient eher dazu wie hätte man es besser machen können.

    Soweit ich mich erinnern kann gibt es erst im Amiga zwei Busse beim C64 hängt doch alles an einem.
    Das DPRAM soll die 64K des C64 ersetzen und gleichzeitig dem VDC über den zweiten Port zur Verfügung stellen.

    Habe ich da etwas übersehen?

  •  

    Es geht mir hier eher um die theoretische Umsetzbarkeit und ggf. um ein Proof of concept. Ein geeignetes DPRAM ist neu noch zu bekommen der Preis liegt bei ca. 20€ wäre aber in einem Bastler unfreundlichen Finepitch SMD Gehäuse.

    Die derzeitige Idee ist es das ganze dann nicht mehr als Modul zu gestalten sondern irgendwie in den CPU Sockel zu bekommen. Auf der Platine sind dann 6510, VDC, 64K DPRAM und ein CPLD.

    Das C64 RAM müsste ausgelötet werden.

    Also du meinst eine Platine die man auf den 6510 aufsteckt und wo dann der 80zeichen PIC Prozessor werkelt und über FBAS CHINCH seine Daten ausgibt ?
    Gibts überhaupt noch CPLDs mit 5V zu kaufen ?

  • Ich denke schon, das eine Custom PLA notwendig ist, und zwar um die ganzen Spiegelungen los zu werden so das D600 überhaupt benutzt werden kann.

    Maximal einen 74138/74139. Man muss das /SID-Signal des bestehenden 139 einfach nochmals weiter ausdekodieren.

    Aber ja, stimmt, Schreibzugriffe auf D60x am Expansionport landen zwangläufig auch im SID, wenn man das nicht macht.

    Da der SID meist gesockelt ist -> Adapterplatine für den SID-Sockel. Habe fertig.

  • Hier gibts einen Schaltplan.

    Bitte melde dich an, um diesen Link zu sehen.

    leider mit unbekannter PLA und unbekanntem Char Rom Inhalt, also wahrscheinlich nutzlos?