TAP's mit Dev-C++ kompilieren!

Zusatz-Programme für Receiver der 5000er und 6000er Serie.

Hier geht's um alles, was mit den TAP Anwendungen für den PVR5x00/6000 zu tun hat.
Jag
TAP-Guru
TAP-Guru
Beiträge: 212
Registriert: Mo 12. Dez 2005, 00:20

TAP's mit Dev-C++ kompilieren!

#1

Beitrag von Jag » Mi 11. Jan 2006, 00:50

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

Jag
TAP-Guru
TAP-Guru
Beiträge: 212
Registriert: Mo 12. Dez 2005, 00:20

#2

Beitrag von Jag » Mi 11. Jan 2006, 00:51

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

Benutzeravatar
Pippin
Benutzer
Benutzer
Beiträge: 93
Registriert: Di 13. Dez 2005, 09:35
Receivertyp: TF 5000 PVR A
Wohnort: Aachen
Kontaktdaten:

#3

Beitrag von Pippin » Mi 11. Jan 2006, 18:43

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.
Gruß, Pippin

TF 5000 PVR A / 160GB, Alphacrypt, Harmony 885
FastSkip, Quicktimer, Improbox Premium, 3PG, Matrix Saver, Power Restore (+FW), Bookmark, NiceDisplay

Benutzeravatar
Erdnussnase
TAP-Guru
TAP-Guru
Beiträge: 7067
Registriert: Fr 9. Dez 2005, 12:01

#4

Beitrag von Erdnussnase » Do 12. Jan 2006, 09:43

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.
:type: ->.....
Kein Support oder Fragen zur Registrierung per PN !
http://www.iTiNa.de
?Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit,
aber bei dem Universum bin ich mir noch nicht ganz sicher.?
Albert Einstein

Benutzeravatar
ibbi
Moderierter Ignorator Bitteschöööön!
Moderierter Ignorator  <font color=#E9E9E9>Bitteschöööön!</font>
Beiträge: 7110
Registriert: Fr 9. Dez 2005, 12:49
Receivertyp: TF5000PVR • SRP-2401CI+ Eco
Receiverfirmware: Sep 2005 PHTF • Jan 2015

#5

Beitrag von ibbi » Do 12. Jan 2006, 23:08

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?

Jag
TAP-Guru
TAP-Guru
Beiträge: 212
Registriert: Mo 12. Dez 2005, 00:20

#6

Beitrag von Jag » Fr 13. Jan 2006, 02:11

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

Benutzeravatar
Pippin
Benutzer
Benutzer
Beiträge: 93
Registriert: Di 13. Dez 2005, 09:35
Receivertyp: TF 5000 PVR A
Wohnort: Aachen
Kontaktdaten:

#7

Beitrag von Pippin » Fr 13. Jan 2006, 08:00

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.
Gruß, Pippin

TF 5000 PVR A / 160GB, Alphacrypt, Harmony 885
FastSkip, Quicktimer, Improbox Premium, 3PG, Matrix Saver, Power Restore (+FW), Bookmark, NiceDisplay

Benutzeravatar
Gerti
Nicht mehr bei Topfield-Europe
<b>Nicht mehr bei Topfield-Europe</b>
Beiträge: 15740
Registriert: Fr 9. Dez 2005, 00:16
Receivertyp: Vu+ Uno 4k
Wohnort: Hürth
Kontaktdaten:

#8

Beitrag von Gerti » Fr 13. Jan 2006, 09:37

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

Benutzeravatar
ibbi
Moderierter Ignorator Bitteschöööön!
Moderierter Ignorator  <font color=#E9E9E9>Bitteschöööön!</font>
Beiträge: 7110
Registriert: Fr 9. Dez 2005, 12:49
Receivertyp: TF5000PVR • SRP-2401CI+ Eco
Receiverfirmware: Sep 2005 PHTF • Jan 2015

#9

Beitrag von ibbi » Fr 13. Jan 2006, 13:53

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.

Benutzeravatar
ibbi
Moderierter Ignorator Bitteschöööön!
Moderierter Ignorator  <font color=#E9E9E9>Bitteschöööön!</font>
Beiträge: 7110
Registriert: Fr 9. Dez 2005, 12:49
Receivertyp: TF5000PVR • SRP-2401CI+ Eco
Receiverfirmware: Sep 2005 PHTF • Jan 2015

#10

Beitrag von ibbi » Di 31. Jan 2006, 10:15

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:

Benutzeravatar
Erdnussnase
TAP-Guru
TAP-Guru
Beiträge: 7067
Registriert: Fr 9. Dez 2005, 12:01

#11

Beitrag von Erdnussnase » Di 31. Jan 2006, 10:52

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 :
:type: ->.....
Kein Support oder Fragen zur Registrierung per PN !
http://www.iTiNa.de
?Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit,
aber bei dem Universum bin ich mir noch nicht ganz sicher.?
Albert Einstein

ProjektC
Erfahrener Benutzer
Erfahrener Benutzer
Beiträge: 120
Registriert: Mi 4. Jan 2006, 23:55

#12

Beitrag von ProjektC » Di 31. Jan 2006, 12:29

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.

Benutzeravatar
obsolet
Topfmeister
Topfmeister
Beiträge: 554
Registriert: Fr 9. Dez 2005, 02:47
Wohnort: Wien

#13

Beitrag von obsolet » Di 31. Jan 2006, 14:33

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

Antworten

Zurück zu „TF 5x00/6000 PVR TAP“