Beiträge von rracer

    Ich habe mal einen seriellen HEX-Loader für den Profi-5E gebaut und in das Monitor-ROM eingebettet. Da war noch genug ungenutzter Platz. Die neue Funktion liegt auf F-E. Zusätzlich liegt auf F-0 noch die Adresse 0x2000, das ist zum Testen im zweiten EPROM Sockel ganz nützlich (ich hatte dort zum Testen ein memSIM2 stecken).


    Für die Übertragung werden die Systemfunktionen genutzt, d.h. die Geschwindigkeit der seriellen Schnittstelle läßt sich wie dokumentiert über die Micro-Schalter einstellen. Der HEX-Loader prüft die Checksummen, also wenn Bits verloren gehen, gibt es einen Fehler. Der Loader arbeitet im System-Kontext mit dem System-Stack und schreibt die Daten direkt an die Zieladresse, d.h. außer dem System RAM ab 0x8700 kann man den kompletten Speicher schreiben.


    Gestartet wird mit F-E. Im Display steht zunächst "_ LAdE _". Während der Übertragung gibt es eine kleine Lade-Animation. Nach erfolgreicher Übertragung steht anschließend "EndE" im Display, ansonsten "FEHLEr". Die Adresse der ersten Daten-Zeile wird nach 0x87e0/0x87e1 kopiert, sodass das hochgeladene Programm direkt nach der Übertragung mit G oder E gestartet werden kann, ohne die Startadresse eingeben zu müssen.


    Viel Spaß damit ;)

    Ralf

    Das ROM Profi5E.BIN von felge1966 ist vermutlich das Test-ROM, was im Buch Mikrocomputer-Fachpraxis beschrieben wird. Ich habe mal ein Script geschrieben, was die 7-Segment-Strings aus dem ROM extrahiert. Damit findet man so Strings wie "super", "leider", "bravo", "höher", "tiefer", "pech". Die sind in den anderen ROMs nicht enthalten. Die Belegung der Systemfunktionen ist auch unterschiedlich. Insbesondere sind F-E und F-F belegt, die im Monitor-ROM nicht genutzt werden. Das deutet auf die Programme hin, die im Buch Mikrocomputer-Fachpraxis in Abschnitt D.3 und D.4 beschrieben sind.


    Damit haben wir hier zwei verschiedene ROMs:

    • ROM mit MD5 = f4a222c1abbaed9282bc5e6d7d84e031: Test-ROM aus Microcomputer-Fachpraxis
    • ROM mit MD5 = 9e23797de6b6fb5ca48352c99b4c6f11: Monitor-ROM für die Profi-5E Bedienungsanleitung

    Wenn jemand noch ein anderes findet, schaue ich mir das gerne noch an. Vermutlich wird es ja noch ein ROM geben, was für die Entwicklungsumgebung genutzt wurde.

    Zum Thema Programme vom PC auf den Profi-5E hochladen: Ich habe mir das Monitor-ROM vom Profi-5E mit Ghidra mal etwas genauer angeschaut. Es gibt dort die Systemfunktion F-8, um Texte vom seriellen Port zu lesen und in den Speicher zu schreiben. Wenn man auf 0x03 (CTRL-C), 0x08 (Backspace), und 0x0d (CR) in seinem Programm verzichtet, dann kann man damit grundsätzlich auch Programme hochladen.


    Bei der Analyse der Funktions-Pointer für die Systemfunktionen fiel auf, dass für F-D eine Funktion hinterlegt ist. Diese Funktion ist in der Bedienungsanleitung nicht dokumentiert. Die F-D-Funktion liest wie F-8 auch Daten vom seriellen Port (oder vom Parallel-Port bei DIP-6 ON). Allerdings ohne irgendwelche Sonderzeichen zu interpretieren. Das eignet sich ganz gut, um Programme zu übertragen. Am Ende der Übertragung muss man allerdings mit "I" abbrechen, weil es keine Abbruchbedingung gibt, außer 0x8700 wird erreicht. Und selbst bei 0x8700 wartet die CPU mit HALT auf einen Interrupt, wenn ich das richtig interpretiere.


    Am besten funktioniert die Übertragung bei 300 Bit/s. Bei höheren Geschwindigkeiten werden manchmal einzelne Bits verschluckt. Beim seriellen Port ist zu beachten, dass man Pin 5 irgendwie auf logisch 1 bekommen muss. Meine Kaskade von 25-pin/9-pin/Null-Modem/USB-Seriell-Adaptern macht das wohl zufällig richtig. Ansonsten kann man auch DIP-5 OFF schalten, was dann allerdings den Seiteneffekt hat, dass "I" keinen Warmstart mehr macht.


    Damit kann man also ganz gut auf einem PC mit einem 8085-Assembler (z.B. a85) arbeiten und das Binary dann auf den Profi-5E übertragen. Das ist nicht so schön wie mit Intel-HEX, aber deutlich bequemer als Programme auf der kleinen Tastatur einzugeben.


    Die Monitor-ROMs von mikemcbike und Jan1980 sind identisch zu meinem (R2.0/T). Das ROM von felge1966 ist deutlich unterschiedlich, da schaue ich mal genauer rein.


    Grüße,

    Ralf