Hallo Besucher, der Thread wurde 18k mal aufgerufen und enthält 83 Antworten

letzter Beitrag von EzellaGarnie am

80 Zeichen Modus für C64 nachrüsten intern?

  • Angenommen man möchte eine C64 dazu bringen 80 Zeichen via Hardware (dedizierter 80 Zeichen Chip) auszugeben.
    Meint ihr sowas ist intern lösbar wie z.B. mit ner Adapterplatine im CPU Sockel? Oder eine Umschaltung VIC/80 Zeichen Chip?
    Wie würde man da vorgehen?

  • Es gibt ein Programm soft80 (oder so ähnlich), dass dann 80 Zeichen mit jeweils 4 Pixel Breite darstellt. Wie gut das dann noch lesbar ist, hängt wohl vom Alter der Augen ab (meine sind eher müde).


    Das Problem mit einem modifizierten VIC Chip (z.B. auf FPGA Basis o.ä.) seh ich halt bei den Badlines, in denen der VIC die Daten für die 40 Zeichen einer Zeile holt. Da dürfte die Zeit einfach nicht reichen, um in einer Rasterzeile 80 Zeichen aus dem Speicher zu holen. Evtl. könnte man das so umgehen, indem man 2 aufeinanderfolgende Rasterzeilen zu Badlines macht, und jeweils 40 Zeichen holt, die der Grafikchip dann halt cachen muss.


    Wobei die 320x200 Pixel für 80 Zeichen wohl einfach zu knapp sind. Man müsste dann wohl einen 640x200 Modus einführen. Dann bekommst im Prinzip halt den VDC aus dem c128.


    Ist jetzt aber mal nur so ins Unreine gedacht.

  • Das weiß ich wohl. Allerdings ist die Bildschirmausgabe absolut übel. Ich hab das Teil bestimmt noch irgendwo in der Sammlung.
    Ich schaue immer neidvoll aud den 128er mit seinem 80 Zeichen Chip. Dumm nur das der nur RGB TTL ausgibt.
    Ich dachte an eine lösung die einen ANSI fähigen Bildschirmmodus hinzufügt.
    So das man den C64 als vernünftiges Retroterminal nutzen kann.
    Ich weiß das es 2 Expansionsportmodule gab, die waren aber umständlich in der Bedienung und hatten einen eigenen Video Out.
    Ich dachte an eine Umschaltung, die entweder den Normalen C64 Modus über VIC beinhaltet sowie eine Umschaltung wobei der
    VIC abgeschaltet wird und der 80 Zeichen Chip, der ebenfalls YC ausgeben solte.
    Man müste für so einen Chip dann das Kernal verändern, aber ich denke das sollte machbar sein.
    Ist die Frage ist 1MHz schnell genug um so einen Chip (wenn es sowas gibt) zu betreiben.
    Ich spinne hier nur ein wenig rum. Aber wäre schon geil wenn ich meine Linux Server mit nem 80 Zeichen fähigen C64 Administrieren könnte :-)

  • Das Problem ist weniger die 1 MHz CPU, sondern halt der 1 MHz Speicher, wo Du die 80 Zeichen plus nochmal 80 Farbinfos auslesen musst.
    So ein 80 Zeichen Modul mit 6845 o.ä. macht schon Sinn. Deshalb hat man das ja für cp/m bevorzugt (ich hatte damals nur 40 Zeichen fürs Turbo Pascal Coden...*seufz* ).

  • Na, dann vielleicht gleich en 8563/8568 in einem Modul nebst Video-RAM, der benötigt nur zwei Register auf I/O1 oder I/O2 und das RAM-Timing-Problem ist auch gelöst.

    "Wenn du überredet, ermahnt, unter Druck gesetzt, belogen, durch Anreize gelockt, gezwungen, gemobbt, bloßgestellt, beschuldigt, bedroht, bestraft und kriminalisiert werden musst. Wenn all dies als notwendig erachtet wird, um deine Zustimmung zu erlangen, dann kannst du absolut sicher sein, dass das, was angepriesen wird, nicht zu deinem Besten ist." - Quelle unbekannt.


    "Steve Jobs hat User hervorgebracht, Jack Tramiel Experten." - Quelle unbekannt.

    "Mein Herr, ich teile Ihre Meinung nicht, aber ich würde mein Leben dafür einsetzen, dass Sie sie äußern dürfen." - Voltaire.

    "Diskutiere nie mit einem Idioten - er zieht dich auf sein Niveau hinunter und schlägt dich dort mit seiner Erfahrung!" - Volksweisheit.


  • Da gibt es irgendwo eine Workbenchdemo.

    Das ist ein gefaketes PC-Bild; an eienm realen Fernseher will man sich das nicht länger als ein paar Minuten antun. Stichwort Lochmaske und Bandbreitenbegrenzung.

    der 80 Zeichen Chip, der ebenfalls YC ausgeben solte.

    YC hat wie FBAS eine zu niedrige Bandbreite, um 80 Zeichen auch nur annäherdn sinnvoll auszugeben. Selbst auf einem echten BAS-Monitor ohne Farbträgerfilter wird das nix, dann hat man Rasterkästchen wenn man auf den VIC umschaltet.

    Na, dann vielleicht gleich en 8563/8568 in einem Modul nebst Video-RAM,

    Das ist heutzutage die einfachste Möglichkeit, eine 80-Zeiochen-Karte zu bauen, noch dazu in Bunt und mit Hires-Grafik. Selbstbau mit 6845 oder anderen Videocontrollern ist natürlich lehrreicher.

  • Das ist heutzutage die einfachste Möglichkeit, eine 80-Zeiochen-Karte zu bauen, noch dazu in Bunt und mit Hires-Grafik. Selbstbau mit 6845 oder anderen Videocontrollern ist natürlich lehrreicher.

    Ich könnte mir sogar vorstellen, dass man das prima auf einen VIC-Adaptersockel draufkriegt (also VDC und RAM), dann bleibt der Modulport frei. Nur der Videoausgang ist ein Problem (wenn man nicht bohren will). Immerhin, das monochrome 80-Zeichen-BAS-Signal könnte man auf den freien Pin des 8-pol-DIN-Steckers geben.

    "Wenn du überredet, ermahnt, unter Druck gesetzt, belogen, durch Anreize gelockt, gezwungen, gemobbt, bloßgestellt, beschuldigt, bedroht, bestraft und kriminalisiert werden musst. Wenn all dies als notwendig erachtet wird, um deine Zustimmung zu erlangen, dann kannst du absolut sicher sein, dass das, was angepriesen wird, nicht zu deinem Besten ist." - Quelle unbekannt.


    "Steve Jobs hat User hervorgebracht, Jack Tramiel Experten." - Quelle unbekannt.

    "Mein Herr, ich teile Ihre Meinung nicht, aber ich würde mein Leben dafür einsetzen, dass Sie sie äußern dürfen." - Voltaire.

    "Diskutiere nie mit einem Idioten - er zieht dich auf sein Niveau hinunter und schlägt dich dort mit seiner Erfahrung!" - Volksweisheit.


  • Das weiß ich wohl. Allerdings ist die Bildschirmausgabe absolut übel. Ich hab das Teil bestimmt noch irgendwo in der Sammlung.
    Ich schaue immer neidvoll aud den 128er mit seinem 80 Zeichen Chip. Dumm nur das der nur RGB TTL ausgibt.
    Ich dachte an eine lösung die einen ANSI fähigen Bildschirmmodus hinzufügt.

    Ich waer bei sowas immer fuer eine "Standard"-HW-Loesung :) bei der bekommst Du einen echten VGA-Ausgang.


  • Prima, ran an die serielle und mit CMD die Ausgabe auf die RS232 umlenken - fertig. Müsste standardmäßig unter BASIC V2 funktionieren.

    "Wenn du überredet, ermahnt, unter Druck gesetzt, belogen, durch Anreize gelockt, gezwungen, gemobbt, bloßgestellt, beschuldigt, bedroht, bestraft und kriminalisiert werden musst. Wenn all dies als notwendig erachtet wird, um deine Zustimmung zu erlangen, dann kannst du absolut sicher sein, dass das, was angepriesen wird, nicht zu deinem Besten ist." - Quelle unbekannt.


    "Steve Jobs hat User hervorgebracht, Jack Tramiel Experten." - Quelle unbekannt.

    "Mein Herr, ich teile Ihre Meinung nicht, aber ich würde mein Leben dafür einsetzen, dass Sie sie äußern dürfen." - Voltaire.

    "Diskutiere nie mit einem Idioten - er zieht dich auf sein Niveau hinunter und schlägt dich dort mit seiner Erfahrung!" - Volksweisheit.


  • Wenn eine schnelle Lösung gefordert ist - bastelt doch erst mal 80-Zeichen-Anwendungen für den 64er-Modus des C128 (VDC müsste da ja erreichbar sein). Kleine Abstraktionsschicht mit rein, damit anderen (zukünftigen und bereits existierenden) Hardwarelösungen auch funktionieren. Muss man nicht warten, bis die Hardware da ist.

  • bastelt doch erst mal 80-Zeichen-Anwendungen für den 64er-Modus des C128 (VDC müsste da ja erreichbar sein).

    Im 64er Magazin wurde mal der C 64-Basiceditor so angepasst. Kann das raussuchen, wenns gewünscht ist.


    Muss man nicht warten, bis die Hardware da ist.


    Jetzt nimm uns doch nicht unsere Ausreden :)

  • die 4 Pixel breiten Zeichen waren die Pest....

    Tatsächlich sind sogar nur 3 Pixel nutzbar, man braucht ja Abstände -- einen guten Font dafür zu bauen ist in der Tat nicht einfach ;)


    Was ich weiter oben gepostet habe hat einen Font, den ich von Hand aus dem Amiga "Topaz" Font konvertiert habe, das finde ich persönlich sogar recht lesbar. Habe noch eine reine Software-Lösung gefunden, bei der das C64 Basic im 80-Spalten Modus läuft -- ziemlich cool und flott, allerdings gefällt mir da keiner der 4 Fonts so richtig. "Richtig gut" geht wohl wirklich nur mit Hardware...


    edit: Weil wohl nicht jeder eine cc65 toolchain installiert hat, hab ich mal einen Build von "80columns" angehängt.

  • Mit einen Propeller von Paralax und einen einfachen VGA Kit sollte ein "zweiter Ausgang" doch zu schaffen sein?
    ;)
    https://learn.parallax.com/tut…-devices/vga-text-display


    Nur so ne dumpfe Idee.

  • Wie würde man da vorgehen?

    Statt interner Erweiterung: Kleine Platine am Expansionsport.
    Damit kann dann einfach VGA (oä) ausgegeben werden.
    Realisieren lässt sich sowas relativ einfach mit FPGAs.
    Auch Interrupts sind damit möglich (z.B. für Rasterzeile/Bildende).


    Ich würde da so vorgehen wie z.B. beim ColecoVision. Bei dem
    hängt am Graphikchip ein eigener Speicher. Allerdings funktioniert
    dann nicht mehr BASIC etc. wie gewohnt.


    Man müste für so einen Chip dann das Kernal verändern, aber ich denke das sollte machbar sein.

    Oder aber man verwendet für 80x25 den Speicher ab Addresse 1024 bis
    3023 und verschiebt den BASIC-Anfang um 1024 Bytes (relativ einfach
    möglich).
    Die 40er Aufllösung wird im KERNAL an mehreren Stellen festgelegt. Wenn
    die Einträge alle auf 80 umgestellt (und die Einträge für die Zeilenanfänge
    entsprechend angepasst) wird und dein neuer Chip auf den Hauptspeicher
    zugreifen kann (per Expansionsport möglich), dann funktioniert dein neuer
    C64 wie gewohnt im BASIC-Modus, nur dass dann 80 Zeichen ausgegeben
    werden. (Habe das schon auf FPGA-Basis gemacht, funktioniert prima.)


    Leider sind 50 Zeilen ohne weiteres nicht möglich. Die 25(?) Zeilenanfänge
    lassen sich leider nicht so ohne weiteres auf 50 Einträge erweitern. Du
    müsstest dir dazu einen Bereich im KERNAL freischaufeln, die Einträge
    ablegen und die Zeiger auf die Einträge ändern (habe ich bis jetzt noch nie
    gemacht, müsste aber ohne Probleme machbar sein).

  • Im 64er Magazin wurde mal der C 64-Basiceditor so angepasst.

    Hier nun das erwähnte Programm.


    Auf dem C 128 die Diskette (vdc-64.d64) einlegen und folgende Befehle eingeben:



    Code
    1. go 64
    2. y
    3. load "vdc-64",8,1
    4. new
    5. sys 49152