Forum: PC-Programmierung Compiler portieren


von Marius S. (lupin) Benutzerseite


Lesenswert?

Ich wünsche mir schon seit langen einen C Compiler für meinen Pokemon 
Mini (http://pokeme.shizzle.it/)... Bisher hat sich aber noch niemand 
gefunden, der mir mal eben einen Compiler portiert :)

Also will ich da selber mal ran. Hat schonmal jemand Erfahrungen in den 
Bereich gesammelt? Ich glaube ich kann alles an Tipps gebrauchen.

Als mögliche Kandidaten denke ich kommen vor allem SDCC und LCC in 
betracht. Oder kennt jemand noch einen anderen geeigneten Compiler? 
Möglichst einfach zu portieren soll er sein.

Habe mir jetzt SDCC mal genauer angeschaut, weil der soll ja relativ (!) 
einfach zu portieren sein. Außerdem kompiliert er mit VC6 schön nativ 
unter Windows. Den Assembler habe ich schon zum Teil portiert, das ist 
aber auch relativ einfach.

Im grunde muss man ja nur das Backend portieren welches iCode in 
Assembler Befehle wandelt. Allerdings sind die bereits vorhandenen 
Backends nicht gerade einfach zu durchblicken...

Ich habe auch so gut wie keine Dokumentation/Beschreibung zum Portieren 
des SDCC gefunden.

Vielleicht ist das ganze auch aussichtslos und ich sollte lieber einen 
einfachen Basic compiler schreiben? :-/

von (prx) A. K. (prx)


Lesenswert?

Marius S. schrieb:

> Als mögliche Kandidaten denke ich kommen vor allem SDCC und LCC in
> betracht. Oder kennt jemand noch einen anderen geeigneten Compiler?
> Möglichst einfach zu portieren soll er sein.

Der Portable C Compiler ist, wie der Name schon suggeriert, recht 
portabel. Jedenfalls wenn der Zielprozessor registerorientiert arbeitet.
Siehe http://pcc.ludd.ltu.se.

Für eine Akku-Architektur, wie der Pokemon Mini zu enthalten scheint, 
müsste der Codegenerator jedoch ziemlich umgebaut werden. Da könnte SDCC 
geeigneter sein.

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

Habe mir den Pokemon kurz angesehen. Das sieht nach modifizierten Z80 
aus wie im Gameboy. Und da gibts nix fertiges?

von Reinhard Kern (Gast)


Lesenswert?

Abdul K. schrieb:
> Habe mir den Pokemon kurz angesehen. Das sieht nach modifizierten Z80
> aus wie im Gameboy. Und da gibts nix fertiges?

Hallo,

die Schreibweise ist ähnlich Z80, das wars aber dann auch. Der 
CPU-Aufbau ist ganz anders, die Befehlscodierung auch.

Gruss Reinhard

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

Achso. Habe kurz nach einer OpCode-Tabelle geschaut, aber keine 
gefunden. Sonst hätte ich das sofort verifizieren können.

Bezieht sich deine Aussage nun auf Gameboy und/oder Pokemon bzw. ist die 
CPU bei beiden gleich?

von Marius S. (lupin) Benutzerseite


Lesenswert?

Die CPU ist einiges komplexer als ein z80 würde ich sagen (viel mehr 
Befehle).

Eine ziemlich umfangreiche Doku gibt es in unseren Wiki:
http://wiki.sublab.net/index.php/Pokemon_Mini

Was fertiges gibt es leider nicht.

pcc habe ich mir angeschaut, kann aber nicht wirklich beurteilen ob der 
geeignet ist.

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

Danke! Sieht sehr nach Z80 aus. Wer den programmiert hat, wird sich 
sofort wohl fühlen.
Andererseits sind die Erweiterungen meiner Meinung nach chaotisch 'nach 
Bedarf' dazudesignt.

Und die Hardware drumherum gibt auch nicht viel her. Da ist ein GBA oder 
DS viel interessanter.

von Marius S. (lupin) Benutzerseite


Lesenswert?

Hab einen interessanten Compiler gefunden:
http://sun.hasenbraten.de/vbcc/

Die Dokumentation schaut umfangreich aus, es gibt vom gleichen Autor 
auch linker und assembler, das Backend ist dokumentiert und es gibt ein 
Beispiel-Backend auf welches man aufbauen kann.

Ich denke damit werde ich es versuchen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.