Micro Emacs kompilieren

    • Offizieller Beitrag

    Kennt sich hier jemand mit sowas aus, ob das komplett ist und wie ich das zusammensetze, kompiliere und linke?


    Ich hab schon Projekte gehabt, in denen ich die Sourcen selber zusammen gebaut habe, auch schon mit dem Z80.
    Einen C-Compiler hast du, dann brauchst du eine Doku dafür.
    Heutzutage geht sowas i.a. mit dem GNU Compiler, bei dem die Compiler-Optionen bekannt sind. Deshalb brauchst du die Doku deines Compilers.
    Den Rest sollten wir hin kriegen.

  • Ich hab' da eben mal reingeguckt - da sind ja schon einige SUBMIT-Batches mit dabei

    • C.SUB scheint ein kompletter Compilerbatch zu sein, der von einem programm.C (C-Quellcode) zu programm.O (Objectcode) führt. Das musst Du je 1x fuer alle Dateien ausfuehren, die mit .C Enden.
    • ASM.SUB macht das Gleiche fuer programm.S Dateien (Assembler-Sourcen). Das musst Du 1x fuer alle Dateien, die mit .S enden ausführen (Ist glaube ist eh nur eines: BIOS.S)
    • ARCHIV.SUB erstellt aus den Objektdateien offenbar eine Library (ME.LIB). Wenn alle .O Dateien mit den ersten beiden Schritten erstellt wurden, einmal diesen Batch ausfuehren.
    • MERLINK.SUB erstellt dann ein relocatable (verschiebbares) Binary (ME.REL) und/oder MELINK.SUB erstellt ein "normales" 68000er Binary (ME.68K)

    Dafuer solltest Du folgende Programme parat (im Zugriff) haben:

    • submit - gehoert zu CP/M und dient dazu Batchdateien auszufuehren
    • cp68, c068, c168 - gehören zum Compiler (die drei C-Compiler Stages)
    • as68 - gehört zur Compiler-Suite (Assembler)
    • ar68 - gehört zur Compiler-Suite (Archiver bzw. Library Manager)
    • lo86 - gehört zur Compiler-Suite (Loader)

    Damit wuerde ich es erstmal probieren. Wenn Du einen anderen C-Compiler hast, dessen Optionen und Kommandos anders lauten, wird es frisseliger :)
    -- Klaus

    [ ... to boldly code where no byte has gone before ... ]

  • Hallo ngc224,
    ich verwende auch den CP/M-68K Emulator mit dem enthaltenen wunderbaren microEMACS.
    Leider möchte ich den für den mc-68000-Computer unter CP/M-68K verwenden.

    Er lässt sich starten, aber leider passen die ESC-Sequenzen nicht :(


    Wie kann ich den neu compilieren, bzw. wo bekomme ich die Sourcen dafür her ?
    Und wie müsste ich ihn compilieren ?


    Nachtrag:
    Sind das ganz vorne im Thread die Sourcen für den EMACS im CP/M-68k Emulator CP/M-68K Simulator ?
    Wenn Ja, wie und mit welchen Tools wäre der zu compilieren ?
    Bzw. wo sind die ESC Sequenzen zu finden ?


    mfG. Klaus Loy

  • Hallo Klaus,


    me68k.zip enthält den Source Code für den me Text Editor.

    me68k-log.txt (#5) zeigt, wie man den me im cp/m-68k Emulator übersetzt und link.


    >>Sind das ganz vorne im Thread die Sourcen für den EMACS im CP/M-68k Emulator CP/M-68K Simulator ?


    Nein. me.68k ist etwas kleiner als der uemacs.68k, funktioniert aber genauso gut.

    me.68k funktioniert bei mir sowohl im cp/m-68k emulator, als auch auf meinen CP/M-68k Rechnern

    über eine serielle Schnittstelle (Linux kermit).


    >>Bzw. wo sind die ESC Sequenzen zu finden ?

    Da müßte ich erst mal den source code anschauen.

    evtl. müßte nur die Datei vt52.txt angepaßt werden.


    Was für eine Emulation benötigt der mc68000 Computer ?

    evtl. kann man den mc68000 Computer auf vt52/vt100 umstellen ?


    MfG

  • Auf user-13 der CP/M-68K Emulator disk (diskc.cpm.fs) ist der ME source code ebenfalls zu finden.


    Code
    13C>dir
    C: EMACS    68K : ANSI     C   : BASIC    C   : BIOS     H   : BIOS     S   
    C: BUFFER   C   : DISPLAY  C   : ED       H   : FILE     C   : FILEIO   C   
    C: LINE     C   : MAIN     C   : ME       TXT : PORTAB   H   : RANDOM   C   
    C: REGION   C   : SEARCH   C   : SPAWN    C   : STDIO    H   : TCAP     C   
    C: TERMIO   C   : VT52     C   : WINDOW   C   : WORD     C   : EMACS    REL 
    C: NOTES    TXT 
    13C
  • @ngc224, Danke.
    Den Source hab ich gefunden.
    Übersetzen im Emulator wird nicht leicht, aber das kann ich schaffen.
    Die entscheidenden ESC-Sequenzen hab ich auch gefunden.
    Die liegen im Main.C

    Ich hab sogar schon versucht das Binary ME.68K zu patchen.
    Zumindest die GotoXY Esc-Sequenz.
    Aber das passt so noch nicht.

    Jetzt muss ich ertmal testen wie der mc-68000-computer auf die Esc Sequenzen reagiert.
    Eigentlich sind es ja nur drei Stück:


    Code
    moveansi(row, col) /* Move the cursor, origin 0. */
    eeolansi()         /* Erase to end of line. */
    eeopansi()         /* Erase to end of page. */
    beepansi()         /* Beep. */

    mfg. Klaus Loy

  • Und auf user-14 ist der uemacs source code zu finden.


    Code
    14C>dir
    C: DISPLAY  C   : BIOS     O   : SPAWN    C   : ANSI     C   : BASIC    C   
    C: BIND     C   : EBIND    H   : EDEF     H   : EFUNC    H   : EPATH    H   
    C: ESTRUCT  H   : BUFFER   C   : UEMACS   68K : FILE     C   : FILEIO   C   
    C: HP150    C   : LINE     C   : LOCK     C   : MAIN     C   : RANDOM   C   
    C: REGION   C   : SEARCH   C   : BIOS     S   : TCAP     C   : TERMIO   C   
    C: NOTES    TXT : VT52     C   : WORD     C   : WINDOW   C   : UEMACS   REL 
    C: BIOS     H   : EMACS    KEY : EMACS    HLP 
    14C>

    habe ich aber noch nicht versucht zu übersetzen.

  • Im angehängten diskc.cpm.fs befinden sich zusätzlich alle Dateien aus MICRO EMACS for CP/M-68K in user 12:

    ... ME.68K wurde durch folgende Befehle erstellt (jeweils mit ENTER abgeschlossen) :