Autor Thema: EmuTOS selbst compilieren  (Gelesen 140933 mal)

0 Mitglieder und 4 Gäste betrachten dieses Thema.

Offline czietz

  • Benutzer
  • Beiträge: 3.683
EmuTOS selbst compilieren
« am: Mo 01.10.2018, 21:48:04 »
@czietz, @Thorsten Otto ... habe mir mal das EmuTOS Makefile angesehen. Kann man in der 192kB Version nicht die console EmuCON weglassen und dafür IDE Support?

Klar kannst Du das, indem Du EmuTOS selbst compilierst. Siehe unten. In der "offiziellen" 192k-Version ist die EmuCON imho viel mehr wert als IDE-Unterstützung. Es gibt keinen Atari-Rechner, der 192k-ROMs verwendet (also ST) und von Haus aus IDE kann. EmuCON ist für alle ST-Nutzer sinnvoll, IDE im ST nur für die Minderheit, die sowas nachgerüstet hat, aber keinen TOS-2.06-Support (also für 256k ROMs) nachgerüstet hat.

Und vielleicht noch FAT16 PC support?

Hm? Der ist doch drin, selbst in der 192k-Version. Was meinst Du genau?

Offline Lukas Frank

  • Benutzer
  • Beiträge: 13.423
  • fancy Atari Musik anDA Dance "Agare Hinu Harukana"
Re: EmuTOS selbst compilieren
« Antwort #1 am: Mo 01.10.2018, 21:51:03 »
Meine Anforderung an EmuTOS ist ja ein Sonderfall.

Ich verstehe das Makefile nicht wirklich.

Ich installiere mir mal den GCC auf dem Atari TT unter MiNT und frage dann nochmal was ich wie im Makefile ändern muss.

Offline czietz

  • Benutzer
  • Beiträge: 3.683
Re: EmuTOS selbst compilieren
« Antwort #2 am: Mo 01.10.2018, 21:52:14 »
EmuTOS selbst compilieren, eine extrem knappe Anleitung:

- Crosscompiler (gcc) von Vincent installieren: http://vincent.riviere.free.fr/soft/m68k-atari-mint/. (Ich rate davon ab, es mit gcc direkt auf dem Atari zu probieren; Crosscompiler für Windows, Linux, MacOSX verwenden.)
- EmuTOS-Sourcen herunterladen. Wer sich kein git antun möchte, Github hat auch eine Download-Möglichkeit als ZIP: https://github.com/emutos/emutos ("Clone or download").
- Nach Herzenslust include/config.h anpassen -- optional(!), um gegenüber dem offiziellen Release Funktionen zu entfernen oder hinzuzufügen.
- "make 192" auf der Kommandozeile eingeben und ein 192k ROM bekommen. Oder "make 256", oder "make 512" oder "make prg", ...

Offline Lukas Frank

  • Benutzer
  • Beiträge: 13.423
  • fancy Atari Musik anDA Dance "Agare Hinu Harukana"
Re: EmuTOS selbst compilieren
« Antwort #3 am: Mo 01.10.2018, 21:56:43 »
Crosscompiler (gcc) von Vincent installieren: http://vincent.riviere.free.fr/soft/m68k-atari-mint/. (Ich rate davon ab, es mit gcc direkt auf dem Atari zu probieren; Crosscompiler für Windows, Linux, MacOSX verwenden.)

Xcode kann ich nicht unter macOS. Ist mir alles viel zu kompliziert. Ich versuche es mal mit GCC auf dem Atari oder gar nicht.

Offline czietz

  • Benutzer
  • Beiträge: 3.683
Re: EmuTOS selbst compilieren
« Antwort #4 am: Mo 01.10.2018, 22:01:22 »
Hä? Du musst mit MacOSX doch kein XCode verwenden, bloß um Vincents Compiler zu installieren! Auf dem TT wirst Du viel, viel, viel mehr Probleme haben, gcc zum Laufen zu bekommen als unter MacOSX.

Offline mfro

  • Benutzer
  • Beiträge: 1.640
Re: EmuTOS selbst compilieren
« Antwort #5 am: Mo 01.10.2018, 22:04:18 »
Crosscompiler (gcc) von Vincent installieren: http://vincent.riviere.free.fr/soft/m68k-atari-mint/. (Ich rate davon ab, es mit gcc direkt auf dem Atari zu probieren; Crosscompiler für Windows, Linux, MacOSX verwenden.)

Xcode kann ich nicht unter macOS. Ist mir alles viel zu kompliziert. Ich versuche es mal mit GCC auf dem Atari oder gar nicht.

Das kannst Du dir sparen, das klappt nicht.

Einen Mac OS X m68k-atari-mint-gcc Crosscompiler (nicht ganz aktuell, aber sollte für EmuTOS funktionieren) findest Du hier: https://donzé.ch/atari/articles/cross-compiler/
And remember: Beethoven wrote his first symphony in C

Offline gh-baden

  • Benutzer
  • Beiträge: 2.052
Re: EmuTOS selbst compilieren
« Antwort #6 am: Mo 01.10.2018, 22:10:43 »
(76 Bytes fehlen für DE-EmuTOS 192KB mit IDE)

Das ist ja so wenig, was da fehlt, kann man da nicht ein paar Strings in Fehlermeldungen abkürzen und dann paßt’s?
Wider dem Signaturspam!

Offline Chocco

  • Benutzer
  • Beiträge: 228
  • May the force be with you
Re: EmuTOS selbst compilieren
« Antwort #7 am: Mo 01.10.2018, 22:58:52 »
(76 Bytes fehlen für DE-EmuTOS 192KB mit IDE)

Das ist ja so wenig, was da fehlt, kann man da nicht ein paar Strings in Fehlermeldungen abkürzen und dann paßt’s?

Könnte man den 192KB Build nicht als ZIP im ROM ablegen, was vermutlich 50% Platz sparen täte. Beim booten würde man das ROM zunächst ins RAM expandieren. Selbst wenn der UnZipper 20k unkomprimiert im ROM benötigt, hätte man dann immer noch zusätzliche150K (76K compressed) für Erweiterungen des ursprünglichen TOS. Einziger Nachteil wäre eine längere Boot-Zeit und vermindertes RAM zur Laufzeit.

Vermutlich bin ich nicht der Erste, der diese Idee hat?  :D – Sorry, war 20 Jahre abwesend in der Szene.
Atari TT030 mit CrazyDots
Milan 060 (ATI Rage Pro)
Apple MBP

Offline gh-baden

  • Benutzer
  • Beiträge: 2.052
Re: EmuTOS selbst compilieren
« Antwort #8 am: Mo 01.10.2018, 23:03:49 »
(76 Bytes fehlen für DE-EmuTOS 192KB mit IDE)

Das ist ja so wenig, was da fehlt, kann man da nicht ein paar Strings in Fehlermeldungen abkürzen und dann paßt’s?

Könnte man den 192KB Build nicht als ZIP im ROM ablegen, was vermutlich 50% Platz sparen täte. Beim booten würde man das ROM zunächst ins RAM expandieren. Selbst wenn der UnZipper 20k unkomprimiert im ROM benötigt, hätte man dann immer noch zusätzliche150K (76K compressed) für Erweiterungen des ursprünglichen TOS. Einziger Nachteil wäre eine längere Boot-Zeit und vermindertes RAM zur Laufzeit.

Klar, kann man machen – aber wozu dann noch das ROM, letztlich … da würde ein kleiner Bootloader dann reichen, der den Rest von Platte bootet. Braucht genauso viel RAM wie die obige Methode, ist aber flexibler. Der Spaß am ROM in alten Kisten ist ja, dass sie eben 200-300 KB RAM sparen. In einer 2-4 MB Konfiguration nicht unerheblich.

Wider dem Signaturspam!

Offline Thorsten Otto

  • Benutzer
  • Beiträge: 1.315
Re: EmuTOS selbst compilieren
« Antwort #9 am: Di 02.10.2018, 00:29:21 »
[Einen Mac OS X m68k-atari-mint-gcc Crosscompiler (nicht ganz aktuell, aber sollte für EmuTOS funktionieren) findest Du hier: https://donzé.ch/atari/articles/cross-compiler/


Und einen aktuellen hier. Dort sind sowohl ein aktueller (8.2) als auch 4.6.4 (die Version die wohl z.Z. normalerweise benutzt wird). 8.2 ist auch als komplett-Paket vorhanden (binutils, gcc und libraries), für 4.6.4 musste du die einzelnen Archive installieren (für EmuTOS sollte aber mintlib reichen). Bei meinen letzten tests hat 8.2 etwas kleinere binaries erzeugt als 4.6.4, müsste reichen um IDE einkompilieren zu können.

Xcode brauchst du dafür nicht (für EmuTOS sowieso sinnlos weil gar keine Projekt-Dateien dafür vorhanden sind).

EmuCON ist in den 192k-Versionen sowieso nicht drin, das musst du also nicht rauskonfigurieren.

Am einfachsten in deinem Fall ist: lege eine Datei localconf.h im Hauptverzeichnis an. Dort kannst du alle Einstellungen reinschreiben, die du gegenüber den Voreinstellungen überschreiben willst. In dem deinem Fall wäre das:

#define CONF_WITH_IDE 1

Wenn du noch mehr änderen willst, hilft wohl nur ein Blick in include/config.h. Es sind allerdings 'ne menge Einstellungen, die alle hier zu erläutern dürfte ein bisschen weit führen. In der Regel sollte aber ein Kommentar dabei stehen. Wichtig zu wissen ist nur, daß es einen Satz von "Grundeinstellungen" für jede Haupt-Version (192, 256k, etc) gibt.

Dann einfach im Hauptverzeichnis
$ make clean
$ make 192 COUNTRY=de

eingeben.

Wie gesagt, mit gcc 4.6.4 reicht es für die deutsche Version ganz knapp nicht. US sollte aber gehen wenn du damit leben kannst. Oder du hast Glück mit der neuen Compiler-Version. Übersetzen lässt es sich jedenfalls (464 Bytes frei, gerade ausprobiert), allerdings hat noch kaum jemand das Resultat auch getestet obs funktioniert.

Edit: deutsche und us-Version angehängt. Da es keine "offizielle" Version ist, keine Garantie ;) und auch nicht unbedingt zur Weitergabe empfohlen.

Edit: Anhang wieder gelöscht, da offensichtlich fehlerhaft. Siehe https://forum.atari-home.de/index.php/topic,14728.msg233193.html#msg233193
« Letzte Änderung: Sa 20.10.2018, 13:20:10 von Thorsten Otto »

Offline Thorsten Otto

  • Benutzer
  • Beiträge: 1.315
Re: EmuTOS selbst compilieren
« Antwort #10 am: Di 02.10.2018, 00:36:57 »
Das ist ja so wenig, was da fehlt, kann man da nicht ein paar Strings in Fehlermeldungen abkürzen und dann paßt’s?

Könnte man theoretisch. Das Problem ist nur daß man dann absolut keinen Freiraum mehr für Fixes hat. Das letzte mal als ich eine Version mit IDE hier bereit gestellt habe, waren noch ca. 20 Bytes anschliessend frei. Ausserdem würde das nicht für alle Sprachen funktionieren, in der griechischen Version sind 2 Tastaturtabellen enthalten, die braucht also etwas mehr Platz.

Ganz abgesehen davon ist 192k mit IDE eine Konfiguration die es so eigentlich nicht gibt, und nur von einigen Freaks benutzt werden könnte ;)

Offline mfro

  • Benutzer
  • Beiträge: 1.640
Re: EmuTOS selbst compilieren
« Antwort #11 am: Di 02.10.2018, 07:33:23 »
... Xcode brauchst du dafür nicht (für EmuTOS sowieso sinnlos weil gar keine Projekt-Dateien dafür vorhanden sind)...

Xcode braucht man nicht, aber es muss installiert sein (und die Lizenz-Einverständniserklärung beantwortet sein), damit man make und Konsorten benutzen kann.
Die Einverständniserklärung kommt beim ersten make-Aufruf.
And remember: Beethoven wrote his first symphony in C

Offline czietz

  • Benutzer
  • Beiträge: 3.683
Re: EmuTOS selbst compilieren
« Antwort #12 am: Di 02.10.2018, 08:27:54 »
Xcode braucht man nicht, aber es muss installiert sein (und die Lizenz-Einverständniserklärung beantwortet sein), damit man make und Konsorten benutzen kann.
Die Einverständniserklärung kommt beim ersten make-Aufruf.

Oh, wow, Apple überrascht doch immer wieder -- negativ. Welchen Lizenzbedingungen unterliegt nach Apples Meinung denn die Nutzung von GNU(!) oder BSD make?

(Man stelle sich die Reaktion der Leute vor, würde Microsoft so etwas versuchen: "Sie müssen erst Visual Studio installieren und dessen Lizenzbedigungen abnicken, bevor wir die Nutzung von Open-Source-Tools freischalten." Aber bei Apple ist das Vorgehen akzeptiert?)

Offline mfro

  • Benutzer
  • Beiträge: 1.640
Re: EmuTOS selbst compilieren
« Antwort #13 am: Di 02.10.2018, 08:41:57 »
Xcode braucht man nicht, aber es muss installiert sein (und die Lizenz-Einverständniserklärung beantwortet sein), damit man make und Konsorten benutzen kann.
Die Einverständniserklärung kommt beim ersten make-Aufruf.

Oh, wow, Apple überrascht doch immer wieder -- negativ. Welchen Lizenzbedingungen unterliegt nach Apples Meinung denn die Nutzung von GNU(!) oder BSD make?

(Man stelle sich die Reaktion der Leute vor, würde Microsoft so etwas versuchen: "Sie müssen erst Visual Studio installieren und dessen Lizenzbedigungen abnicken, bevor wir die Nutzung von Open-Source-Tools freischalten." Aber bei Apple ist das Vorgehen akzeptiert?)

Was man dort bestätigt, ist nicht die make - sondern die MacOS SDK-Lizenz. Dummerweise starten die Cmdline-Tools (git, make, etc, ...) aber erst, sobald die akzeptiert ist.

Ob so ein "Bundling" rechtens ist oder nicht, darüber gibt es ausführliche Diskussionen in einschlägigen Foren. Ich gehe davon aus, es ist. Apple beschäftigt so viele gut bezahlte Anwälte, daß die garantiert eine fein zieselierte, wohldurchdachte Antwort darauf parat haben, warum das genauso sein muss.

Für mich jedenfalls ein Grund (mehr), mir keinen weiteren angebissenen Apfel zuzulegen.

« Letzte Änderung: Di 02.10.2018, 08:47:00 von mfro »
And remember: Beethoven wrote his first symphony in C

Offline Lukas Frank

  • Benutzer
  • Beiträge: 13.423
  • fancy Atari Musik anDA Dance "Agare Hinu Harukana"
Re: EmuTOS selbst compilieren
« Antwort #14 am: Di 02.10.2018, 10:00:13 »
Ich vermute der Cross-Compiler läuft nicht unter macOS Mojave 10.14. Ich will da nichts kaputt machen.

Ich hatte mir damals einen Atari gekauft und später Apple Computer weil man da als reiner Anwender mit ein paar Maus klicks immer aus kommt.

Offline Lukas Frank

  • Benutzer
  • Beiträge: 13.423
  • fancy Atari Musik anDA Dance "Agare Hinu Harukana"
Re: EmuTOS selbst compilieren
« Antwort #15 am: Di 02.10.2018, 10:33:32 »
Doch mal Installiert und läuft nicht ...

make[1]: m68k-atari-mint-gcc: No such file or directory
make[1]: *** [obj/startup.o] Error 1
make: *** [192] Error 2
Franks-MacMini:emutos-master frank$

->   https://donzé.ch/atari/articles/cross-compiler/

... habe die neuste 2014 Version genommen und laut Beschreibung installiert.

Offline Thorsten Otto

  • Benutzer
  • Beiträge: 1.315
Re: EmuTOS selbst compilieren
« Antwort #16 am: Di 02.10.2018, 10:43:28 »
Xcode braucht man nicht, aber es muss installiert sein (und die Lizenz-Einverständniserklärung beantwortet sein), damit man make und Konsorten benutzen kann.

Habs noch nicht ausprobiert, aber man könnte vermutlich auch macports oder Homebrew nehmen, wenn man Xcode partout nicht installieren will.

Zitat von: Lukas Frank
Ich vermute der Cross-Compiler läuft nicht unter macOS Mojave 10.14. Ich will da nichts kaputt machen.

Also kaputt machen kannst du da eigentlch nix, ist ja kein kernel-modul oder sowas ;) Und installiert  sich auch unter /opt/cross-mint, überschreibt also garantiert keine anderen Dateien. Ich seh auch keinen Grund warum der nicht auf Mojave laufen sollte, ist eine reine 64bit Version.

Zitat von: Lukas Frank
make[1]: m68k-atari-mint-gcc: No such file or directory

Wie gesagt, der installiert sich unter /opt/cross-mint. Du musst also /opt/cross-mint/bin auf dem Pfad haben

Zitat
habe die neuste 2014 Version genommen
... und wie gesagt, es gibt auch deutlich neuere Versionen ;) Auch schon mal die fertig übersetzten EmuTOS Versionen ausprobiert, die ich oben angehängt habe?

Offline tuxie

  • Benutzer
  • Beiträge: 6.834
  • Falcon! Milan! Schuetzt die Raubvoegel!
Re: EmuTOS selbst compilieren
« Antwort #17 am: Di 02.10.2018, 10:45:48 »
Du musst den Pfad zum GCC erst noch exportieren.... dann geht das kompilieren auch, steht aber glaube in der Anleitung mit drin.
Tschau Ingo

Offline Lukas Frank

  • Benutzer
  • Beiträge: 13.423
  • fancy Atari Musik anDA Dance "Agare Hinu Harukana"
Re: EmuTOS selbst compilieren
« Antwort #18 am: Di 02.10.2018, 10:50:07 »
Alles richtig unter /opt installiert/kopiert.

-------
After installation, you should create/modify your bash profile by enhancing ~/.profile with the following lines:

# m68k-atari-mint cross compiler
export PATH=$PATH:/opt/cross-mint/bin
export MANPATH=$MANPATH:/opt/cross-mint/share/man
This allows you to use the cross-compiler using m68k-atari-mint-gcc (or any other tool of it) and query its man pages.
-------
Die beiden export Befehle ausgeführt.

Offline Lukas Frank

  • Benutzer
  • Beiträge: 13.423
  • fancy Atari Musik anDA Dance "Agare Hinu Harukana"
Re: EmuTOS selbst compilieren
« Antwort #19 am: Di 02.10.2018, 10:58:06 »
Habe mal neu gebootet ...

-------
Franks-MacMini:emutos-master frank$ make 192 COUNTRY=de
/bin/sh: m68k-atari-mint-gcc: command not found
/Applications/Xcode.app/Contents/Developer/usr/bin/make DEF='-DTARGET_192' OPTFLAGS=-Os WITH_CLI=0 UNIQUE=de ROM_192=etos192de.img etos192de.img
/bin/sh: m68k-atari-mint-gcc: command not found
m68k-atari-mint-gcc -m68000 -mshort -Os -fomit-frame-pointer -fno-common -Wall -Wundef -Wmissing-prototypes -Wstrict-prototypes -Iinclude -DWITH_AES=1 -DWITH_CLI=0 -DTARGET_192 -c bios/startup.S -o obj/startup.o
make[1]: m68k-atari-mint-gcc: No such file or directory
make[1]: *** [obj/startup.o] Error 1
make: *** [192] Error 2