VC20 Final Expansion :: CPLD Logic Diskussion

  • VC20 Final Expansion :: CPLD Logic Diskussion

    Aufgrund meiner praktischen Erfahrung in der Programmierung der FE3.1 erwäge ich Änderungen in der CPLD Logik. Quasi eine hardware kompatible FE3.2 Version.


    Da aber schon FE3.1 Versionen im Umlauf sind und da es auch im VICE bereits implementiert ist, möchte ich das mal öffentlich dikutieren. Ich glaube, wenn man die Änderungen nicht jetzt macht, sollte man sie nie mehr machen.

    Änderungsvorschläge:
    • Im ROM Modus liegt der Block 0 (3K RAM Bereich) brach.

      Früher habe ich den ROM Modus eigentlich nur als "Kickstart" der Firmware gesehen. Aber es hat auch seine Vorteile den Code direkt aus dem ROM heraus auszuführen.

      Der 3K Bereich ist im ROM Modus zur Zeit ausgeblendet. Allerdings wäre es ein "Bruch" in der Konzeption, es wäre kein ROM Modus mehr sondern ein Mix Modus. Zum Anderen, - es bietet (nur??) Vorteile wenn man ihn nutzen könnte ...

      Und natürlich kann man ihn immer noch ausblenden mit Register 1 Bit 0 ...


    • Im Super RAM Modus liegt der Block 0 (3K RAM Bereich) immer in der Bank 0.

      Denkbar wäre den Adressbereich Bank mäßig anzupassen oder im Bank 0 Adressbereich zu verschieben.


    • Neue, zusätzliche Modi

      Denkbar wären Mixmodi wo RAM und ROM gleichzeitig vorkommen. Zb. im $A bereich ROM und sonst überall RAM oder eine andere Mixform.

      Jetzt liegt unter dem ROM ja immer RAM, wenn man schreibend zugreift geht das ins RAM. Denkbar wäre lesen aus RAM und schreiben (flashen) ins ROM.


    • Spezialsachen

      Schön wäre auch, wenn man NMI und RESET tracen könnte und automatisch in ROM wechseln. Leider unterstützt das die bestehende Hardware nicht. Man kann das aber gut emulieren indem man die Teile ins RAM kopiert.
    Letztlich ist alles nur Illusion
    Es gibt hier nichts von Bedeutung

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von Diddl ()

  • Genau aus den Gründen, die Du auch nanntest, bin ich immer vorsichtig mit Erweiterungen.

    Wenn jemand die neuen Features der 3.2 benutzt und sich blind darauf verlässt, dass diese auch da sind, wird es mit der 3.1 nicht mehr laufen. Wer also nicht die Möglichkeit hat, z.B. den CPLD umzuprogrammieren oder die Schaltung zu ändern (falls kein CPLD :) , kann dann die Software nicht nutzen. Oder aber Entwickler benutzen lieber den kleinsten vorhandenen Featureset, wodurch die Erweiterungen nicht genutzt würden.

    Ich kenne mich mit dem FE nicht gut genug aus, um das einschätzen zu können. Nur meine Meinung zum Thema Erweiterungen allgemein.
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Bau Dir ein eigenes Modul! EasyFlash
  • skoe schrieb:

    Oder aber Entwickler benutzen lieber den kleinsten vorhandenen Featureset, wodurch die Erweiterungen nicht genutzt würden.


    Genau deshalb: Jetzt oder nie.


    Im Moment ist eine überschaubare Anzahl an FE3.1 draußen.


    Ganz davon abgesehen glaub ich nicht, dass irgendwer irgendwas dafür entwickelt. Sogar für die MMCR wird sogut wie nix entwickelt. Aber ich habe mich da schonmal geirrt, indem ich glaubte das FE will sowieso keiner.
    Letztlich ist alles nur Illusion
    Es gibt hier nichts von Bedeutung
  • JMP$FCE2 schrieb:

    Da sollten aber die Betatester in jedem Fall dann einen aktuellen CPLD bekommen.

    Dass Betatester nicht schlechter dastehen sollen als andere ist selbstverständlich Ehrensache und gelebte Praxis - Peter und Jogi haben gerade Post von mir bekommen mit dem "final CPLD design".
    Wenn es jetzt doch nicht so "final" ist, wie wir das dachten, ist das angesichts der sehr überschaubaren Zahl an FE3 in freier Wildbahn kein Problem. Jetzt oder nie.
    Ich hoffe, wir bekommen die Gehäuse-Sache noch auf die Kette - und wenn das auch fertig ist, ist damit das FE3 für mich fertig, will heissen, dann kann's richtig losgehen.

    Zur praktischen Umsetzung muss ich mal gucken, wie ich das bewerkstelligen kann, da alle mir derzeit vorliegenden CPLDs im "3.1 final" programmiert sind - da ich die nicht löschen kann, kann ich also nicht mal eben "3.2" ausliefern, sondern muss erst leere bekommen (sind ja welche unterwegs) bzw. welche gelöscht bekommen.

    Diddl, was hast Du den mit diesen neuen Features vor? Welche Verbesserung bringt das?
  • Denkbar wären Mixmodi wo RAM und ROM gleichzeitig vorkommen.

    es gab da doch so eine basic erweiterung als modul, das wäre bestimmt nicht falsch wenn die gehen würde...plus ram vollausbau
  • RE: VC20 Final Expansion :: CPLD Logic Diskussion

    Diddl schrieb:

    Da aber schon FE3.1 Versionen im Umlauf sind und da es auch im VICE bereits implementiert ist, möchte ich das mal öffentlich dikutieren. Ich glaube, wenn man die Änderungen nicht jetzt macht, sollte man sie nie mehr machen.

    I can update VICE, no problem.

    Diddl schrieb:

    Früher habe ich den ROM Modus eigentlich nur als "Kickstart" der Firmware gesehen. Aber es hat auch seine Vorteile den Code direkt aus dem ROM heraus auszuführen.

    Yes. For example when implementing a debug monitor.
  • for(;;) schrieb:

    Diddl, was hast Du den mit diesen neuen Features vor? Welche Verbesserung bringt das?

    Für den Benutzer bringt es nicht viel, beim Programmieren hat man es leichter (sollte überhaupt je einer was darauf programmieren). Auch die Firmware wird etwas einfacher.

    Für den Benutzer bringt es nur was, wenn man "spezielle" Software dafür programmiert, zb. einen Maschinensprache Monitor der den ganzen RAM sieht.


    sauhund schrieb:

    es gab da doch so eine basic erweiterung als modul, das wäre bestimmt nicht falsch wenn die gehen würde...plus ram vollausbau

    Es gibt die Programmers Aid und die Supergrafik Erweiterung soviel ich weiss. Die funktionieren jetzt bereits tadellos. Es wird das ROM durch schreibgeschütztem RAM emuliert.


    tlr schrieb:

    I can update VICE, no problem.

    Nice to hear


    tlr schrieb:

    Yes. For example when implementing a debug monitor.

    YES!!



    -----

    Ok, da die beiden Leute die damit Arbeit haben nicht dagegen sind, werde ich mir was überlegen.

    Ok, cause both people who has work with this has no problem with this change, I will thinking about.
    Letztlich ist alles nur Illusion
    Es gibt hier nichts von Bedeutung
  • Gut! Du machst JETZT das Update. Und damit ist auch für dich
    EINSENDESCHLUSS für weitere Updates.

    Ansonsten wäre ich dafür, auch wenn es fies klingt Du die
    Kosten trägst die ein späteres erneutes CPLD Update an die Betatester zu finanzieren.

    Bitte bedenke das so gut wie keiner der Betatester die Möglichkeit hat den CPLD
    neu zu beschreiben, geschweige davon einen vorhandenen zu löschen.
  • JMP$FCE2 schrieb:

    Bitte bedenke das so gut wie keiner der Betatester die Möglichkeit hat den CPLD
    neu zu beschreiben, geschweige davon einen vorhandenen zu löschen.


    Das mit dem Schreiben könnte man leicht lösen mit 5 Drähte vom Userport zum FE3.


    Bedenke, es handelt sich um Verbesserungen (Optimierungen) die abgesehen von Transportkosten nichts kosten. Und die Transportkosten sind jetzt geringer als später.


    Wir könnten auch später die Verbesserung FE3.2 bringen und jeder Kunde muss sich selbst die Postgebühr für ein Update leisten. Es handelt sich NICHT um ein Bugfix sondern neue Features. Nur würde es die ohnehin kleine FE3 Gemeinde spalten in zwei Hardwarestände.

    ----

    Wir können auch darauf verzichten, die Firmware und alles andere funktioniert auch mit der FE3.1 tadellos. Für mich würde es weniger Arbeit bedeuten und für for(;;) auch ... ??

    for(;;) muss auch nicht die CPLD neu verteilen, zumindest nicht sofort. Es ist reine Freundlichkeit dass er das kostenlos tun will. Wenn du ein Gerät kaufst musst du auch damit rechnen dass der Hersteller Verbesserungen am Design macht, ohne dass du Anspruch auf update hast.

    ----

    Nochmals zur Klärung:

    + Ich werde ein FE3.2 machen dass bestimmte Verbesserungen bringt die möglicherweise niemand braucht **1

    + ich bin froh dass die Änderungen auch im VICE einziehen werden

    + Ich mach das notfalls auch für mich alleine

    + Niemand muss das einspielen

    + for(;;) muss das auch nicht ausrollen

    + Die Firmware funktioniert auch weiterhin auf der FE3.1

    + Es kann auch eine FE3.3 geben, wenn es Sinn macht. Denn Sinn erkenne ich leider auch erst an der praktischen Nutzung ...



    **1)

    Möglicherweise bringt jemand Software für die FE3.2 raus, die auf der FE3.1 nicht laufen, möglicherweise auch nicht ...
    Letztlich ist alles nur Illusion
    Es gibt hier nichts von Bedeutung
  • JMP$FCE2 schrieb:

    Löschen auch? Dann wäre das Updaten ja kein Problem mehr.
    Ein Userportstecker, eine PLCC Fassung und etwas Draht sollte kein Problem darstellen.


    Nö löschen geht leider nur mit teuren Programmern, deshalb hab ich mir einen Galep zugelegt. Ich habe lange nach dem KnowHow gesucht, wie man die Dinger löscht. Aber dieses Geheimnis wahren die leider sehr gut.
    Letztlich ist alles nur Illusion
    Es gibt hier nichts von Bedeutung
  • Hi, vorab sollte ich sagen das ich in diese FE zeuch nicht drin bin, auch kein VC20 habe und so...

    aber trotzdem mal 'ne "dumme" frage:
    warum habt ihr das nicht so gemacht, das man fuer jeden der 5 bereiche (4*8k + 1*3k) einstellen kann, ob man nix, ram oder rom haben moechte, und bei ram/rom die bank (64 baenke je 8k) auswaehlen kann? (im falle des 3k blocks werden 5k der 8k im block halt nicht genutzt)
  • alx schrieb:

    warum habt ihr das nicht so gemacht, das man fuer jeden der 5 bereiche (4*8k + 1*3k) einstellen kann, ob man nix, ram oder rom haben moechte, und bei ram/rom die bank (64 baenke je 8k) auswaehlen kann? (im falle des 3k blocks werden 5k der 8k im block halt nicht genutzt)

    Der verwendete CPLD hat nur 64 Makrozellen und ist dafür günstig. So eine Lösung würde mehr Software register erfordern.

    Es ist auch gar nicht notwendig. Ziel war, jede bekannte Software zu emulieren. Das geht bereits jetzt schon perfekt.


    Aber ein neuer Modus, wo man für jeden Block auswählen kann ob RAM, ROM oder gar nichts da ist, den wird es geben in der FE3.2.
    Letztlich ist alles nur Illusion
    Es gibt hier nichts von Bedeutung