Posts by Diddl

    ich bezweifle, dass ein RP2040 in der Lage ist einen 6502 incl. RAM, ROM,USB,serial... in höherer Geschwindigkeit zu emulieren.
    Damit haben andere Controller mit mehr Leistung schon Probleme.


    Er emuliert ja gar nicht??

    Da steckt ein echter 65C02 mit drauf.


    Was der emuliert ist IO (Keyboard, Laufwerk, Videocontroller), RAM und ROM


    Und es funktioniert ja bereits wie man in diversen Videos sieht.

    Ein sehr interessantes Projekt ist der NEO 6502.



    In dem Dokument APPLENEXT R3 steht die Hardware Spec. und die ist sehr an den Apple IIe angelehnt.

    • das ganze Ding ist kaum größer als eine Bankkarte
    • es ist ein echter 65C02 mit 16 MHz drauf und es hat den ganzen 5V Bus heraus geführt
    • es hat Text und Grafik über HDMI
    • normales Keyboard über USB
    • es hat das leistungsstarke BBC BASIC
    • die ganze Hard- und Software ist Open Source


    Ich finde diese Lösung sehr gelungen!


    Neo6502 - Open Source Hardware Board
    Neo6502 the modern Open Source Hardware and Software retro computer with W65C02 processor and RP2040
    www.olimex.com


    Es ist uns (ClausS vom F64 und mir) gelungen, eigene COMAL Packages zu entwickeln.

    Vielen Dank an "ClausS", ohne seine unermüdliche analytische Arbeit wäre das nicht möglich gewesen.



    Anbei ein COMAL Programm mit unserem Package "TOOL".


    Es implementiert neue Befehle:

    • HEX$(v#)
    • HEX2$(v)
    • BIN$(v#)
    • BIN2$(v)
    • HIB#(v)
    • HIBI#(v#)
    • LOB#(v)
    • LOBI#(v#)
    • STRING$(char$, count#)
    • HELLO()

    Es werden noch einige weitere Befehle und Funktionen dazu kommen mit der Zeit ...


      



    .

    Der Sprachumfang von COMAL-80 kann ganz einfach erweitert werden, indem man Funktionen (FUNC) und/oder Prozeduren (PROC) schreibt.


    Man kann das ganze aber auch in Assembler machen und zu einem Paket (PACKAGE) schnüren.

    So ein PACKAGE kann man dynamisch nachladen mit dem Befehl LINK.

    Im COMAL Programm kann man mit USE dann Teile des PACKAGE aktivieren.

    Für das COMAL Programm sind es ganz normale Befehle (PROC und FUNC), aber es steckt Maschinencode des Package dahinter.


    Das coole ist nun, wenn man ein Package aktiv hat, dann wird es mit dem SAVE Befehle automatisch zusammen mit dem, COMAL Programm gespeichert.

    Wenn man das COMAL Programm lädt mit LOAD werden automatisch alle Packages mit geladen.

    Die Handhabung ist so easy, die haben sich wirklich was dabei gedacht.


    Ich frag mich allerdings was passiert, wenn man ein C64 Package in einem CBM 8096 lädt ...


    Man kann mehrere dieser Packages zu einem Modul zusammenfassen und in das EPROM (freier Sockel U3) der COMAL Cartridge schreiben.

    Dann muss es niemals geladen werden und steht quasi automatisch zur Verfügung.

    Allerdings läuft ein COMAL Programm das die ROM Packages verwendet auch nur auf einem Computer, der dieses Extra ROM installiert hat.



    Es gab eine Reihe von ROM Packages, die man damals käuflich erwerben konnte.

    Wir haben drei dieser Pakete gefunden, analysiert und in Betrieb genommen:

    • Hagensoft v1.05
    • Hagensoft v1.21
    • Quickchip


    Natürlich gab es noch dutzende weitere Packages.

    Das wahrscheinlich beste und umfangreichste Package war das sogenannte "SUPER CHIP" Package-


    Leider ist es verschollen, es ist bislang nicht gelungen eine Kopie des EPROM zu bekommen.


    Der Anbieter des COMAL Superchip war:

    "COMAL Users Group" USA Ltd

    6041 Monona Drive, Room 111

    Madison, WI 53716


    Wenn jemand in seinem COMAL Modul ein verdächtiges drittes EPROM finden ... - bitte danke.


    Es wäre fantastisch wenn das Super Chip Dingens doch noch irgendwo auftauchen würde!

    Ich möchte eine kleine PCB (single Layer) auf der Arbeit erstellen.

    Es ist auch 4 lagig kein Problem mit SPRINT.


    Man muss sich halt bewusst sein, es ist mehr ein Zeichenprogramm als ein vollwertiger Autorouter.

    Man hat keinen Zusammenhang mit einem Schaltbild.

    Autoroute ist auch mehr rudimentär, ich zeichne eigentlich alles per Hand.



    Man kann eine Testversion runter laden und mal damit spielen.


    Wenn du Hilfe brauchst zum SPRINT, jederzeit gerne.



    So etwas zum Beispiel habe ich mit SPRINT gemacht:


    Ich kann dir SPRINT Layout empfehlen:

    Sprint Layout 6.0
    Sprint-Layout ist zu einem festen Begriff in der Branche geworden, wenn es darum geht Platinenlayouts schnell und unkompliziert zu entwerfen. Viele tausend…
    www.electronic-software-shop.com


    Simpel, einfach, gut ...


    Auch jetzt, wo ich schon zig Platinen designed habe, liebe ich dieses Programm!.

    Es ist aus Deutschland und es ist sehr preisgünstig.

    Der Support ist klasse, aber es gibt eh kaum Bugs.



    Mir persönlich ist KiCad zu umständlich.

    Das mag gut sein, wenn man jeden Tag damit schafft.

    Aber ich arbeite einmal im Monat an irgendwas, da muss es einfach und simpel sein.


    Es gibt Gerber Dateien aus, die bisher immer tadellos verstanden wurden von PCBWAY und JLCPCB

    Ich habe so einen COMAL-80 Nachbau bekommen, der einfach nicht funktionieren wollte:

    GitHub - acarmony1/comal80: COMAL 80 for C64
    COMAL 80 for C64. Contribute to acarmony1/comal80 development by creating an account on GitHub.
    github.com



    Natürlich habe ich erst mal den Inhalt der beiden EPROMs kontrolliert.

    EPROM ausgelesen, file compare, - tadellos, beide.


    Die TTL Dinger auf dem Modul sind gesockelt.

    Daher konnte ich sie problemlos testen,

    Fehlerfrei.


    Hab alle Leiterbahnen durchgemessen.

    Auf Kurzschlüsse geschaut.

    Spannungsversorgung der ICs.

    Alles einwandfrei.


    Immer wieder probiert.

    Immer blauer Schirm ohne Text.


    Hab dann die Signale /EXROM und /GAME unterbrochen.

    Dann fährt der C64 hoch mit dem Standard Willkommensschirm.

    Hab dann mit POKE auf das Register geschrieben und mit dem Multimeter die Signale getestet ...

    ... alles tadellos, auch die OE Select Signale bis zum EPROM Sockel.


    Ehrlich gesagt war ich vollkommen ratlos warum das Ding nicht läuft.




    Heute hatte ich einen Anfall von Intuition.

    Ich wollte andere EPROMs probieren.

    Leider besitze ich keine 27256 EPROM.

    Aber mir fiel ein, dass da auch die W27C512 funktionieren, wenn man die oberen 32K beschreibt.

    Nun, - was soll ich sagen, es läuft!


    Ehrlich gesagt verstehe ich nicht warum es läuft.

    Die 27256 scheinen in Ordnung zu sein und enthalten exakt denselben Inhalt.


    Das COMAL-80 Modul scheint etwas pingelig zu sein was die EPROM anbelangt.

    Comal-80 ist wirklich faszinierend.

    Mich wundert es, dass sich das nicht durchgesetzt hat.


    Je mehr ich da rein stöbere, desto cooler finde ich die Sprache. :)




    Man kann den Sprachumfang von Comal-80 relativ simpel erweitern (PACKAGES).

    Das ist sogar wirklich toll dokumentiert im Handbuch.


    Diese PACKAGES kann man ins RAM laden von $8000 bis $BFFF (16K).

    Da kann man sie ganz einfach einbinden und wieder deaktivieren.

    Wenn ein Package eingebunden ist und in einem Programm verwendet wird, dann speichert SAVE die benutzten Teile automatisch mit dem Programm!


    Diese PACKAGES kann man auch permanent ins ROM der Cartridge einbauen.

    Dazu sind bis zu 64K frei verfügbar in dem Modul.

    Für mehr als 64K müsste man wahrscheinlich das COMAL patchen.

    Damals hat sich wohl niemand vorstellen können, dass jemand mehr als 128K in einem Modul haben würde ... :D



    Es gab damals um 49 DM ein PACKAGE namens SUPERCHIP.

    Man findet im Internet Leute die das damals hatten und verwendet haben.

    Leider ist es aber verschollen, niemand hat mehr eine Kopie des SUPERCHIP.

    Sehr schade!


    Könnt ihr bitte mal eure COMAL Module öffnen und gucken, ob da ein drittes EPROM drin ist?

    Alte Erinnerungen kommen gerade hoch ...


    Config.sys

    Autoexec.bat

    Dieser DOS Driver verträgt sich mit dem nicht.

    Manche Speicher Manager vertragen sich nicht.

    Man muss sich überlegen, welche Hardware welche IO Adresse und welchen Interrupt haben soll.

    Manche Karten brauchen Interrupt exklusiv, manche sharen das.


    Boah ...

    Sorry, dass ich diesen alten Zombie wieder zum Leben erwecke.

    Aber es passt gerade so gut hier rein.


    Neulich fragt mich ein Forums Mitglied wegen COMAL-80 auf einem UC Modul.

    Das hat mein Interesse geweckt und ich hab mich daher mal damit beschäftigt ...


    Die Schematic des Comal Modul ist sehr simpel.

    Beim UC-2 Modul geht das einfach durch eine geänderte Logik des CPLD, läuft.



    Beim UC-1 ist es nicht ganz so einfach, da der GAL die Signale EXROM und GAME nicht direkt kontrolliert.

    Aber auch beim UC-1 Modul geht es mit einer kleinen Änderung an der Hardware:

    • eine Brücke einlöten beim Modul ganz oben (/EXROM und /GAME verbinden)
    • Pin 19 am 74LS273 heraus biegen (oder abschneiden)


    Es funktionieren alle Comal-80 Images die ich so gefunden habe.

    Das SRAM ist unnötig für COMAL-80 und kann einfach weg gelassen werden.



    Mal davon abgesehen ... COMAL ist richtig geil!!

    Es ist einfach das bessere BASIC.


    Zum COMAL-80 gibt es eine Diskette mit Beispiel Programme, unbedingt anschauen!


     

    Gegeben sind zwei ähnlich ausgerüstete Systeme:

    • 2 MB RAM
    • 64K ROM
    • Massenspeicher
    • Bildschirm Tastatur
    • Terminals


    Nur die CPU unterscheidet sich:

    • W65C816 mit 10 MHz
    • 6809 (6309) mit MMU 6829 (oder ähnliches) mit 3MHz


    Wenn man OS9 berücksichtigt, dann fällt die Entscheidung natürlich leicht.


    ==


    Wenn man es nur aus der Sicht eine Entwickler sieht, dann wird es schwieriger.


    Die 65816 kann native auf 16MB zugreifen.

    Hat also Vorteile bei allem, was aus einem 64K Korsett raus will oder muss.


    Die 6809/6309 ist aber viel eleganter was den Befehlssatz und die Adressierungsarten angeht.

    Auch von der externen Beschaltung (DMA etc.) hat die Motorola CPU Vorteile.

    Durch die MMU kann sie auch auf 16MB zugreifen.

    Allerdings nicht so direkt und nicht so elegant wie die 65816.

    Andererseits bietet die MMU auch Speicherschutz (getrennte Adressräume), Taskschutz, priviligierten Code ...




    Mein persönliches Fazit:


    Die W65C816 hat klare Überlegenheit bei single Task Anwendung (Homecomputer, Prozesssteuerung etc.)


    Die 6809+MMU Lösung spielt ihre Stärken aus bei Multitasking und Multiuser Betrieb.




    Wie seht ihr das so?

    Es gibt spezielle Dragon-Joysticks mit dem entsprechenden Stecker. Man kann sich aber auch mit wenig Aufwand eine kleine Adapterschaltung auf 9-Pin-Joysticks basteln.

    Nun ja, aber es braucht einen analogen Joystick.

    Der digitale ist für viele Games ungeeignet.


    Man kann alte PC Joysticks adaptieren.


    Oder einen Adapter für USB machen, dann funktionieren die analogen Sticks der modernen Gamepads tadellos.

    AnalogJOY –

    Inzwischen ist viel Zeit vergangen ...


    Nun habe ich mir ein weiteres W65C816 Board angelacht.

    Das Board von Wichit Sirichote, das wie alle seine Boards in KIM-1 Manier aufgebaut ist.



    Es ist mein sechstes Board aus dieser Serie, die sehen gut aus im Glaskasten.

    Mir persönlich macht diese KIM-1 artige Version viel mehr Spaß als die Version von WDC.

    Irgendwie ist es heimelig, diese alten 7 Segment anzeigen und die HEX Tastatur.


    Letztlich arbeitet man ja doch nur mit dem Terminal Programm am PC.

    Aber es hat schon seinen Reiz auch mal ein kleines Sample in HEX einzutippen und zu testen ...



      


    Mikroprozessor Boards/65816 –

    65C816 Microprocessor Kit 2023

    Mein neues 65816 Mikrocomputer Board unterstützt nur 96K RAM (von 128K) und 16K ROM (von 32K).

    Eine kleine Verbesserung an der GAL Logik, und schon hat man Zugriff auf den gesamten Speicher (128K RAM, 32K EPROM).



    Muss nur noch den Text der Einschaltmeldung anpassen. :)



    Hmm, vielen Dank- dann bin ich da wohl raus, anscheinend kann man dieses Zoomfloppy nirgends kaufen grad? Und selbst hab ich keines.

    Jim Brain verkauft es.



    Man kann es aber auch selbst basteln.

    Es genügt ein Board mit einem Atmel 32U4 oder ein 32U2 oder zum Beispiel ein Arduino Nano mit einem USB Controller.



    In der Bucht gibt es einen Italiener, der verkauft die Arduino Nano Zoomfloppy Lösung.


    Ich such mal den Link.