Seite 1 von 1

TAP's mit Dev-C++ kompilieren!

Verfasst: Mi 11. Jan 2006, 00:50
von Jag
Hallo,

ich habe mich jetzt ein wenig mit Dev-C++ beschäftig und habe nun endlich herausgefunden,
wie man damit auch sehr komfortabel TAP's kompilieren kann! :D :

(Info für alle die Dev-C++ noch nicht kennen:
Dev-C++ ist eine C/C++ Entwicklungsumgebung, die unter der GNU GENERAL PUBLIC LICENSE veröffentlicht wird)

Download:
http://bloodshed.net/dev/devcpp.html
Dev-C++ 5.0 beta 9.2 (4.9.9.2) (9.0 MB)


Hier eine Anleitung was man genau einstellen muss:

1.) Cygwin und die Topfield TAP API müssen bereits fertig installiert sein

2.) Dev-C++ (4.9.9.2) muss installiert sein

3.) Zu jedem TAP muss eine funktionsfähige bzw. passende Build.bat vorhanden sein!
Wichtig: Die Batch-Datei muss "Build.bat" heißen, ansonsten funktioniert's nicht, wie hier beschrieben!

(Achtung: die Batch-Dateien dürfen kein "PAUSE" enthalten!)

4.) In das Verzeichnis C:\WORK\tap\ erstellt ihr eine Build.bat (dient als dummy file) mit folgenden Inhalt:

Code: Alles auswählen

@ECHO.
@ECHO : =========== ERROR!!! Dummy Batch File started ===========
@ECHO : ================ "Build.bat" is missing! ================
@ECHO.
Die Datei könnt ihr auch >>hier<< downloaden!

5.) Dev-C++ starten und folgende Einstellungen vornehmen:

Als erstes erstellt ihr in Dev-C++ eine neues Compiler Profil z.B. mit der Bezeichnung "Compile TAP's"!
(mit dem Standard-Profil können dann weiterhin Windows-Programme erstellt werden)

DevC++ Menü "Werkzeuge" >> "Compiler Optionen" >> "Compiler" >> "+"



Dann zum Abschnitt "Verzeichnisse" wechseln:
"Programmdateien" >> unten rechts das Verzeichnis-Icon auswählen
>> "c:\WORK\tap" auswählen >> "Hinzufügen" drücken
(das Original-Verzeichnis hier nicht löschen)



Alle Einträge aus den Abschnitten "Bibliotheken", "C-Includes" und "C++-Includes" löschen!

Oben zu dem Abschnitt "Programme" wechseln:
>> in der Zeile "gcc: " die Verzeichnisauswahl öffnen und hier
die Build.bat im Verzeichnis "C:\WORK\tap\" auswählen und bestätigen!



Der Trick besteht nun darin, dass trotz der Auswahl der "C:\WORK\tap\Build.bat"
jeweils immer die Build.bat ausgeführt wird, die im gleichen Verzeichnis liegt
wie die gerade geöffnete "tap.C"-Datei!
Wenn bei einen TAP die "Build.bat" fehlen sollte, wird durch die Dummy-"Build.bat"
eine Fehlermeldung erzeugt!

Anschließend am besten noch den Shortcut für das Kompilieren auf F9 ändern,
Dev-C++ Menü:
"Werkzeuge" >> "Konfigurierbare Shortcuts" >> "Ausführen:Kompilieren" auswählen
>> dann Esccape >> F9

("Ansicht:Freies Reportfenster" habe ich auch auf F2 geändert)



Der wesentliche Vorteil dieser Lösung gegenüber einen normalen Texteditor besteht nun darin,
dass Dev-C++ die Fehlerausgaben von GCC direkt auswerten kann, ein Doppelklick auf
die Fehlermeldung und der Editor springt an die entsprechende Stelle im Quellcode :D :



Über das "Kompiler Log"-Fenster können jederzeit die Compiler-Meldungen,
die normalerweise im Batch-Fenster anzeigt werden, eingesehen werden:



Natürlich lässt sich im Editor auch die Darstellung des Quellcode anpassen,
wie z.B. Zeilennummerierung, Rand, Schriftgröße, Schriftfarbe usw.:
Menü: "Werkzeuge" >> "Editor Optionen" >> ...

Wenn ihr alles richtig eingestellt habt, braucht ihr nur noch eure TAP-Source
bearbeiten und F9 zum Kompilieren drücken!


Viel Spaß damit
Jag

Verfasst: Mi 11. Jan 2006, 00:51
von Jag
Zusätzliche Informationen
(nur zur info und nur wem's interessiert, der Vollständigkeit wegen)

Dev-C++ kann den GCC Compiler natürlich auch ohne die Build.bat für TAP-Quellcode aufrufen,
allerdings wird dann kein TAP sondern nur eine "falsche" EXE-Datei erzeugt!

Aus der erzeugten exe-Datei kann dann wiederum mit den fehlenden zwei Kommando-Zeilen
aus der Build.bat ein fertiges TAP erstellt werden!
(Zum erstellen eines TAP's macht das natürlich keinen Sinn, da könnte man auch gleich die
Batch-Datei nutzen, aber zum prüfen des Quellcodes auf Syntaxfehler reicht es!)

Die nötigen Einstellungen:
DevC++ Menü "Werkzeuge" >> "Compiler Optionen" >> "Compiler" >> "+"
neues Compiler Profil: z.B. "TAP check & compile code only"

Folgende Befehle zum Compiler-Aufruf hinzufügen:
-O2 -c -mtap -mlong-calls -msoft-float



Abschnitt "Verzeichnisse":

"Programmdateien":
C:\cygwin\usr\local\bin

"Bibliotheken": alle Löschen

"C-Includes":
C:\WORK\TAP
C:\cygwin\usr\include
C:\cygwin\usr\local\include

"C++Includes": alle Löschen

Abschnitt "Programme":
Zeile "gcc: " -> "C:\cygwin\usr\local\bin" -> "mips-gcc.exe" auswählen

Die so erzeugte exe kann anschließend mit einer geänderten Build.bat zu einen "echten" TAP vervollständig werden.
Beispiel vom Clock.tap:

Code: Alles auswählen

mips-ld -o clock.elf -T ..\TAP.ld clock.exe -l tap -l c -Map clock.map
mips-objcopy -O binary clock.elf clock.tap
(selbst wenn die clock.o und die clock.exe nicht identisch sind, die daraus erzeugten TAP's sind es!)


Jag

Verfasst: Mi 11. Jan 2006, 18:43
von Pippin
Tach,

und wenn wir schon einmal dabei sind, wer ein wenig auf dem PC probieren möchte, ohne jedesmal den Topf bemühen zu müssen, der sollte mal auf dieser Seite vorbeischauen. Da hat sich jemand wirklich Mühe gegeben. :respekt:

Dort gibt es eine Topf Emulation für den PC, im Beta Stadium zwar, aber um das OSD schöner zu machen reicht es allemal. Es sind Beispielprojekte für Visual Studio 2005 und auch Dev - C++ dabei.

Habe ich eben gefunden und auch schon erfolgreich in Betrieb genommen.

Das wollte ich euch nicht vorenthalten. Viel Spaß damit.

Verfasst: Do 12. Jan 2006, 09:43
von Erdnussnase
Pippin hat geschrieben:und wenn wir schon einmal dabei sind, wer ein wenig auf dem PC probieren möchte, ohne jedesmal den Topf bemühen zu müssen, der sollte mal auf dieser Seite vorbeischauen. Da hat sich jemand wirklich Mühe gegeben. :respekt:
Danke für den Hinweis.
Ich entwickele mein Tap schon immer unter dem PC und habe die meisten Funktionen des Topfes schon simuliert. Das was mir bisher noch fehlte, war eine vernünftige Grafikausgabe. Dafür hat die Zeit nie gereicht. Die habe ich nun hoffentlich gefunden.

Verfasst: Do 12. Jan 2006, 23:08
von ibbi
Pippin hat geschrieben:und wenn wir schon einmal dabei sind, wer ein wenig auf dem PC probieren möchte, ohne jedesmal den Topf bemühen zu müssen, der sollte mal auf dieser Seite vorbeischauen. Da hat sich jemand wirklich Mühe gegeben. :respekt:

Dort gibt es eine Topf Emulation für den PC, im Beta Stadium zwar, aber um das OSD schöner zu machen reicht es allemal. Habe ich eben gefunden und auch schon erfolgreich in Betrieb genommen.
Laufen die kompilierten Programme bei Dir? Ich kann das main.c aus SDK\Examples\Dev-C++ Sample Project zwar kompilieren, aber bekomme beim Aufruf nur den Windows-Fehler "Programm wird wegen einer ungültigen Anweisung beendet". Ob es an meinem Windows 98 SE liegt?

Verfasst: Fr 13. Jan 2006, 02:11
von Jag
Hallo,
Pippin hat geschrieben:auf dieser Seite ...
Dort gibt es eine Topf Emulation für den PC, im Beta Stadium zwar, aber um das OSD schöner zu machen reicht es allemal. Es sind Beispielprojekte für Visual Studio 2005 und auch Dev - C++ dabei.
Klasse :)
ich habe gerade mit dem Emulator Jag's EPG auf dem PC laufen lassen, gibt zwar einige Darstellungsfehler aber läuft an sich schon ganz gut!
(hab's unter Dev-C++ laufen lassen und auch gleich alle Beispiele im "Examples" Ordner durchprobiert, nur die Transparenz sollte man besser gleich auf 0 stellen: TAP_Osd_SetTransparency(rgn, 0); )

Was mir aufgefallen ist, dass scheinbar alle TAP's die Hintergrundbilder benutzen extrem langsam laufen!
ibbi hat geschrieben:Laufen die kompilierten Programme bei Dir? Ich kann das main.c aus SDK\Examples\Dev-C++ Sample Project zwar kompilieren, aber bekomme beim Aufruf nur den Windows-Fehler "Programm wird wegen einer ungültigen Anweisung beendet". Ob es an meinem Windows 98 SE liegt?
Unter Windows 98 scheinen die Programme nicht zu funktionieren!


Gruß
Jag

Verfasst: Fr 13. Jan 2006, 08:00
von Pippin
ibbi hat geschrieben:Laufen die kompilierten Programme bei Dir? Ich kann das main.c aus SDK\Examples\Dev-C++ Sample Project zwar kompilieren, aber bekomme beim Aufruf nur den Windows-Fehler "Programm wird wegen einer ungültigen Anweisung beendet". Ob es an meinem Windows 98 SE liegt?
Hallo ibbi,

die fertigen exe Dateien laufen bei mir, und das Beispielprojekt für Dev-C++ bekomme ich ohne Probleme übersetzt und ans laufen.

Ich habe die komplette Dev-C++ Umgebung incl. gcc installiert. Ach ja, Windows XP Home SP2.

Ob es am Windows 98Se liegt, kann ich aber leider nicht sagen.

Verfasst: Fr 13. Jan 2006, 09:37
von Gerti
Hi!

Weiss jemand, ob und wie man in dem Dev-C++ das Syntax-Highlighting anpassen kann?
Ich hatte mir für UE32 die TAP-Syntax mit eingabut und das fehlt mir hier irgendwie...

Gruß,
Gerti

Verfasst: Fr 13. Jan 2006, 13:53
von ibbi
Jag hat geschrieben:Unter Windows 98 scheinen die Programme nicht zu funktionieren!
:cry: :cry: :cry:

Habe mal den Entwickler angemailt, vielleicht kann der helfen. Ich kann mir nicht vorstellen, wieso das bisschen Grafik auf 98 SE nicht laufen soll.

Verfasst: Di 31. Jan 2006, 10:15
von ibbi
Jag hat geschrieben:Unter Windows 98 scheinen die Programme nicht zu funktionieren!
Kaum macht man es richtig, schon geht's. :D :

Das TAP SDK läuft auch unter Windows 98 SE! :hello:

Verfasst: Di 31. Jan 2006, 10:52
von Erdnussnase
ibbi hat geschrieben:Kaum macht man es richtig, schon geht's. :D :

Das TAP SDK läuft auch unter Windows 98 SE! :hello:
War das nicht das schlechteste Betriebsystem das MS jemals gemacht hat :D :

Verfasst: Di 31. Jan 2006, 12:29
von ProjektC
Windows 98 SE war eins der besseren.
Das was du meinst ist Windows ME, dafür hätte man MS die Lizenz entziehen können.

Verfasst: Di 31. Jan 2006, 14:33
von obsolet
ProjektC hat geschrieben:Windows 98 SE war eins der besseren.
Das was du meinst ist Windows ME, dafür hätte man MS die Lizenz entziehen können.
Wobei das Ur 98er auch ein heißer Kandat war- Marke selbstzerstörend :motz: :D