MFA-Microcomputer ... bitte um Assembler-Nachhilfe

  • Hallo miteinander,
    ich beschäftige mich mit meinem neuen MFA-Computer ... Ausstattung ist 32K RAM / 32K ROM mit MAT32K. Das Ding macht echt Laune! Leider habe ich bislang zum MAT32K keine Dokumentation.


    Im MAT85-Assembler kann ich Programme eingeben und ablaufen lassen, er fragt mich, wo diese stehen sollen, und übersetzt direkt bei der Eingabe.


    Nun habe ich entdeckt, dass der Editor im MAT32K-Teil eine Assemblierungsfunktion beinhaltet - und schon geht es los:


    Ist es überhaupt richtig, dass man den Editor mit einem Sprung zur Speicheradresse 0x6800H aufrufen muss, oder gibt es da einen "kanonischen" Weg?
    Der Editor legt einen Textpuffer an, ich mache das z.B. ab 0x8000H und ich kann den Assembler-Quelltext eingeben und mit Ctrl-A übersetzen lassen.
    Ab 0x8000H steht aber dann weiterhin der Quelltext im Speicher ... wohin schreibt der Assembler den 8085-Code?


    Auch das Abspeichern auf Diskette hat noch seine Tücken:
    Aus dem Editor heraus kann man in das Mini-DOS verzweigen, das ab 0x4200H im ROM liegt und den Textpuffer abspeichern.
    Obwohl ich diesen Puffer ja ab 0x8000 definiert hatte, speichert das DOS anscheinend erst ab 0x8002 ab ... und wenn ich den gespeicherten Text/Quellcode nach dem Neueinschalten aufrufe, ist natürlich der Datenmüll nicht initialisierter SRAMs auf den ersten drei Adressen zu finden. Gibt es da eine bessere Methode?


    Herzlichen Dank
    Robert


    NCR DMV/Olivetti M20/ITT 3030/DEC Rainbow 100/Siemens PC-D/OlyPeople/MFA 8085/TA Alphatronic

  • Quote


    Ist es überhaupt richtig, dass man den Editor mit einem Sprung zur Speicheradresse 0x6800H aufrufen muss, oder gibt es da einen "kanonischen" Weg?


    Eigentlich sollte das mit A gehen, evtl auch erst in der KMD+ (nichts eingeben, nur Enter Drücken).


    Was die Diskettten angeht, kann ich mal am WE schauen - oder du schaust dir die Disketten selbst an (Speicherformat ist wie bei einer 5,25" DD Diskette - habe ich bisher nur mit Teledisk auslesen können).
    Das Dateisystem arbeitet wie folgt:
    -4kb Blöcke
    -Im ersten Block ist die Fat, wenn du so willst, das sind afair 32byte Pro Block bestehend aus:
    --Dateiname
    --Startadresse (für das laden in den Ram, bei dir also 8000h)
    --Länge
    --Gelöschtmarker (da weiß ich grad nicht mehr wie der ausschaut)


    Wenn eine Datei >4kb ist, wirst du mehrere Blockeinträge mit gleichem Dateinamen finden - bei dem letzten Block ist dann wahrscheinlich der Eintrag für die Länge anders

  • "A" im KMD-Modus ruft den Assembler auf, im KMD+-Modus ist es nicht belegt und führt genauso wie ein Enter zu einem Fehlerpiepser.
    Mit G(O) 6800 aus dem KMD-Modus komme ich in den Editor.


    Anadisk aus der gleichen Schmiede wie Teledisk konnte das Diskettenformat gut analysieren.


    Mir ging es hier vor allem um den Umgang mit den Befehlen/Hilfsprogrammen aus der MAT32K-Erweiterung, also den Editor und das Mini-DOS.


    Danke und Gruß, Robert


    NCR DMV/Olivetti M20/ITT 3030/DEC Rainbow 100/Siemens PC-D/OlyPeople/MFA 8085/TA Alphatronic

  • Manchmal ist man schon wie vernagelt ... zumindest mit einem Teil meiner Fragen bin ich weiter:


    MAT32K erweitert anscheinend den Befehlssatz des KMD-Prompts, die Erweiterungen werden aber nicht in der Auflistung der Befehle in der Hilfe ("H") angezeigt.


    "E" ruft den Editor auf, "F" das MiniDOS, man braucht die Programme also nicht mit "G" (Go) anspringen. Und dann klappt es auch mit dem Abspeichern und wieder Einlesen von Programmen, die über den MAT85-Assembler eingetippt wurden.


    Ich bin allerdings noch nicht drauf gekommen, wohin Programme abgelegt werden, die aus dem Editor heraus assembliert werden.


    Mein Drucker verweigert auch noch die Kommunikation ... sachdienliche Hinweise werden gerne entgegengenommen :D


    Robert


    NCR DMV/Olivetti M20/ITT 3030/DEC Rainbow 100/Siemens PC-D/OlyPeople/MFA 8085/TA Alphatronic