Hallo Besucher, der Thread wurde 31k mal aufgerufen und enthält 146 Antworten

letzter Beitrag von ClausS am

Comal 80, Hagensoft EPROM V1.21

  • Für den freien EPROM-Sockel könnte man theoretisch eine kleine Umschaltplatine für mehrere EPROM-Inhalte basteln. So hätte man die Möglichkeit umzuschalten bzw. auszuwählen ... war gerade eine spontane Idee von mir. :idea:

    Besser wäre eine modifizierte COMAL Cartrige mit einem 256kb (E)EPROM, wo bei der Bank-Selection dann hardwaremäßig 1 Bit mehr (4 anstatt 3) zur Verfügung gestellt wird.

    Natürlich müsste man dann auch den Code der Original COMAL 80 Cartrige entsprechend patchen....

    This cartridge can hold an BKB-, 16KB-, or 32KB-EPROM.


    Also 2764, 27128, 27256 ... dachte da jetzt eher an ein 27512.

  • Besser wäre eine modifizierte COMAL Cartrige mit einem 256kb (E)EPROM, wo bei der Bank-Selection dann hardwaremäßig 1 Bit mehr (4 anstatt 3) zur Verfügung gestellt wird.

    haben wir ja, das UC1.

    https://oe7twj.at/index.php?ti…versal_Cartridge#COMAL-80

  • Besser wäre eine modifizierte COMAL Cartrige mit einem 256kb (E)EPROM, wo bei der Bank-Selection dann hardwaremäßig 1 Bit mehr (4 anstatt 3) zur Verfügung gestellt wird.

    haben wir ja, das UC1.

    https://oe7twj.at/index.php?ti…versal_Cartridge#COMAL-80

    Nun, das UC1 unterstützt nur max. ein Eprom von 128 kb.
    Ohne eine Hardware-/Software-Änderung wird das nicht gehen:

    • Hardware: UC1-Adaptersockel für 256 kb Eprom + modifiziertes GAL mit Extra-Bit für die Eprom-Umschaltung [128 kb Low / 128 kb High].
    • Software: COMAL 80 ROM Firmware-Patch für das zusätzliche Bit für die Eprom-Umschaltung [128 kb Low / 128 kb High].
  • Vergleich Pinbelegung Eproms: 128 KB <= vs => 256 kb:



    => Das 256 kb Eprom im UC1 sollte also ohne einen Adaptersockel nutzbar sein, da Pin 30 beim 128 kb Eprom unbenutzt (NC) ist.
    Es muss nur für das zusätzliche Eprom-Steuerbit von einem Extra-Ausgang vom modifizierten GAL eine Verbindung zu Eprom-Pin 30 gemacht werden.

  • Besser wäre eine modifizierte COMAL Cartrige mit einem 256kb (E)EPROM, wo bei der Bank-Selection dann hardwaremäßig 1 Bit mehr (4 anstatt 3) zur Verfügung gestellt wird.

    haben wir ja, das UC1.

    https://oe7twj.at/index.php?ti…versal_Cartridge#COMAL-80

    Nun, das UC1 unterstützt nur max. ein Eprom von 128 kb.
    Ohne eine Hardware-/Software-Änderung wird das nicht gehen:

    • Hardware: UC1-Adaptersockel für 256 kb Eprom + modifiziertes GAL mit Extra-Bit für die Eprom-Umschaltung [128 kb Low / 128 kb High].
    • Software: COMAL 80 ROM Firmware-Patch für das zusätzliche Bit für die Eprom-Umschaltung [128 kb Low / 128 kb High].

    stimmt. hab Blödsinn geredet.


    Natürlich könnte man ein UC1 modifizieren, mit Adapter und so.

    Aber besser wäre gleich ein UC2.


    Da muss man nur den CPLD anpassen.

    Ein zweites Banking register würde reichen.

    Es kann ja von Haus aus mit zweimal 512K umgehen.


    Oder man macht sich einfach mehrere COMAL Module.

    Jedes hat 64K Extra.

    Weil manche Dinge schliessen sich eh aus.

    Die braucht man nie zusammen.

  • Ich habe gerade nochmal die UC1 Anleitung gelesen, um das UC1 für COMAL 80 zu modifizieren:


    Zitat

    COMAL Anpassung beim UC-1 ab Rev. 5d

    Brücke J1 auftrennen (trennt /EXROM vom Register Ausgang 7)

    Brücke J3 verbinden (verbindet /EXROM und /GAME)

    Brücke statt der Diode, wenn man die Reset Logik nicht betückt

    Nach dieser Modifikation ist der Ausgang 7, normal: /EXROM Low/High, frei !
    Wenn man den Ausgang 7 mit dem Pin30 vom 256 kb Eprom verbindet,
    kann man mit dem UC 1 auch ein Eprom mit 256 kb inkl. Softwareumschaltung verwenden...

    => Also, es geht doch ohne großen Aufwand !

  • Nun das geht schon,

    allerdings nur mit einem zusätzlichem COMAL 80 Firmware Patch, so wie ich das bereits schon im Post #123 geschrieben habe.


    D.h. das COMAL 80 Modul muß sozusagen "lernen", dass es anstatt auf 96 kb [6x 16 kb] nun neu auf 256 kb [16x 16 kb] zugreifen kann.


    Ich bin mit sicher, dass das funktionieren kann, da das PAKMA Modul auch schon eine Erweiterung von 96 kb auf 128 kb gemacht hat, was allerdings ohne Änderungen am COMAL 80 - 64 Basismodul ging.


    Wie bereits geschrieben geht die Lösung mit 256 kb nur mit einem extra Firmware-Patch am Basismodul...

  • Das kann aber nur das UC2 "lernen".


    Das UC1 ist simpel gestrickt.

    Das Register ist ein TTL.

    Es kann nur 8 gut gleichzeitig speichern.

    Also alle nur von den selben Trigger.

    Und auch nur von der angeschlossenen Quelle (D0 bis D7).

  • Hallo, offensichtlich hast du nicht richtig gelesen, was ich geschrieben habe.
    Man braucht keine Super-Duper-Cartrige, um das, was ich beschrieben habe,zu realisieren.
    Auf der UC1 erfolgt die Eprom-Umschaltung vom Speicherbereich 128-kb-Low / 128-kb-High über den frei gewordenen Ausgang 7 (ursprünglich /EXROM).

    Auch den Begriff "lernen" habe ich ausführlich beschrieben; Mit "lernen" ist gemeint: dass bei der COMAL 80 Firmware der Code für die Speicherbankumschaltung [alt: 3+1 Bits / neu: 4+1 Bits] gepatcht werden muss. Mann muss dafür keine neue Cartrige kaufen. Die UC1 bietet alles hardwaremäßig, was dafür gebraucht wird.

  • Hollo, hier mal ein kurzes Update von meiner Seite.

    Mir geht es wieder besser, bzw. gut.:)

    Ich hatte wahrscheinlich einen coronalen Infect, (schon wieder??) mit allem was dazugehoert. :X


    Zum COMAL Modul habe ich auch ein Update.;)

    Ich habe in der Zwischenzeit ein paar Befehle integriert, unter anderm auch SMON fuer COMAL, kurz CMON.:thumbsup:


    Bei dem Paket RABBIT komme ich nicht wirklich klar. Als LINK funktioniert es, aber nicht im Modul.

    Ich habe wirklich alle Adressen angepasst, aber es will einfach nicht. Ich habe dafuer den Befehl load'fast von QuickChip mit eingebaut.

    Ist halt wirklich nur ein schnelleres Laden, und keine zusaetzlichen Befehle. Die zusaetzlichen Befehle koennen wir aber auch selber nachprogrammieren.

    Was mir aber bei der Analyse von QuichChip aufgefallen ist, ist dass dort Teile des Programms in den RAM kopiert werden, und dann dort hin gesprungen wird.

    Das koennte auch beim RABBIT-Modul notwendig sein, das muss ich mir irgendwann spaeter noch mal genauer ansehen.


    Desweiteren habe ich das Paket 'KEYBOARD' nachprogrammiert, und mit aufgenommen. (unabhaengig davon, ob die Befehle Sinn machen oder nicht)

    Beim Paket 'SYSTEM2' habe ich angefangen die ersten Befehle zu programmieren.

    Den Befehl 'Hypotenuse' aus dem Math-Paket habe ich in der einfachen Version eingebaut, also keine Hypotenuse ueber Winkel bestimmbar, sondern nur ueber zwei bekannte Seiten.

    Ist auch so in der CT aufgefuehrt.


    Bisher funktioniert alles zufriedenstellend.

    Was noch fehlt, ist das Paket von Diddl , das wuerde ich gerne mit aufnehmen, brauche dazu aber den Source-Code.


    Anbei ein Update meiner Uebersichtsdatei. ^^



    max2022 , bisher gibt es keinerlei Platzprobleme im Modul. Ich schaetze jetzt einfach mal so, dass wir vorerst auch keine bekommen werden.

    Noch passt alles in die ersten 16kb, inclusive der 4kb fuer den CMON.

    Und weitere 16kb sind ja noch verfuegbar.

    Das PAKMA-Modul lasse ich dabei aber aussen vor, denn wer damit was machen moechte sollte meiner Meinung nach ein extra Modul haben.

    Und zudem braucht man ja auch die entsprechende Hardware, ohne die das Modul wohl nutzlos zu sein scheint.


    Dswegen,

    lass uns erst mal die Software zusammentragen, und den verfuegbaren Platz im EPROM fuellen bevor wir uns auf die Hardware stuerzen.

    Ich selber moechte im Moment nicht am COMAL-Hauptprogramm arbeiten, meiner Meinung nach koennte das ein naechster Schritt sein.


    Das soll aber keineswefs bedeuten, das du nicht an einer Hardwareloesung fuer ein groesseres EPROM arbeiten solltest.

    Obwohl, es schein ja schon geklaert zu sein, dass es funktioniert.

    Es sollte auch sicherlich moeglich sein das COMAL-Hauptprogramm dahingehend zu aendern, dass es auch ein zusaetzliches EPROM ansprechen kann.

    Falls du hier auch ein bisschen unterstuetzen koenntest, wuerde ich das von meiner Seite aus sehr begruessen.


    MfG aus dem fernen China

    Claus

  • schön dass es dir wieder gut geht.


    Wie gesagt ich bin im Urlaub. Sourcecode kriegst du sobald ich Zuhause bin.


    Odd und Even ist ja inzwischen auch drin. Hab es nur in der falschen Rubrik gepostet.


    Das Uc1 kann ja in der Grundversion schon 128k. Dh. Doppelt soviel extraspeicher wie normale COMAL Module.

    Ansonsten können wir natürlich die Hardware aufbohren.


    Das UC2 kann ich so gestalten, dass die 512k aufgeteilt werden in 64k plus 7 Mal 64 Erweiterung.


    Das Pakma verwendet ja schon 64 für sich. Auch wenn COMAL nur 96 kennt, intern können wir ja mehr verwenden. Aber wenn wir COMAL patchen können, umso besser!

  • Diddl ,

    geniesse erst mal deinen Urlaub, es laeuft ja nichts weg.

    So wie es aussieht ist das MATH-Paket ja auch relative komplett.

    Es geht also vorran.

    Ich werde mich noch ein bisschen um das SYSTEM2-Paket kuemmern, mal sehen was bei dem FILES-Paket noch geht.

    Dann fehlt noch STRING ein bisschen was.

    nicht mehr lamge, dann haben wir unseren eigenen SUPER-CHIP-II


    LG Claus

  • Anbei ein Update meiner Uebersichtsdatei. ^^



    So, das Packages ist nun gesplittet in MATH und STRINGS.



    Neu hinzu gekommen in STRINGS:

    • SWAP'INTEGER(p1#,p2#)
    • SWAP'REAL(p1,p2)
    • SWAP'STRING(p1$,p2$)
    • FLOAT$(p)
    • LOWERCASE$(p$)
    • UPPERCASE$(p$)
    • VERSION'STRING$()

    Es fehlt nur noch in STRINGS:

    • QUICKSORT(ar$())



    Neu hinzu gekommen in MATH:

    • HYPOTENUSE(p1,p2) -- erledigt von ClausS
    • PRIME(p)

    Es fehlt nur noch in MATH:

    • DISTANCE(x1,y1,x2,y2)
    • LCM(p1,p2)
    • GCD(p1,p2)
    • GCF(p1,p2)


    Weit fehlt es nicht mehr, dann haben wir das ganze SUPER CHIP nach programmiert ... :D





    Das "Quicksort" aus der Comal Demo Diskette, aber mit der neuen SWAP'STRING() Prozedur:



    .

  • Cool, super Leistung von dir.


    Also duerfte es dann so aussehen:

    Wie du schon geschrieben hast, es fehlt nicht mehr viel.


    was noch fehlt ist COLORS, und FILES, und noch ein wenig in SYSTEMS2


    An COLORS probiere ich mich gerade etwas, komme aber irgendwie nicht weiter.

    Bei SYSTEMS2 ist PAUSE, und SCROLLDOWN eventuell noch etwas sinnvoll.

    Im Paket C128 fehlt noch manches, aber das bleibt von meiner Seite aus erst mal liegen.



    Edit: DISTANCE ist verfuegbar;)