für ein Retro Projekt suche ich einen C Compiler für den 8085 als
Crosscompiler unter Win. Ich habe schon etwas mit dem Small C Compiler
gespielt, das funktioniert auch grundsätzlich. Der Syntax ist aber schon
sehr gewöhnungsbedürftig.
Getestet habe ich https://github.com/ncb85/SmallC-85/tree/master/smallC
hier ein Beispiel;
1
foo(value)unsignedintvalue;
2
{
3
returnvalue>>8;
4
}
sieht seltsam aus....
SDCC wäre vermutlich eine Möglichkeit, da könnte man ein zusätzliches
Target einbauen und vom Z80 ableiten. Da scheitere ich aber momentan
schon am Build unter Windows.
kennt jemand noch andere Comiler?
google hat noch diesen komerziellen Compiler ausgespuckt:
https://softools.com/scz180.htm
Da regiert aber keiner auf mails.
Moin, -
gucke mal:
https://www.bdsoft.com/resources/bdsc.html
Aber sicherlich 16Bit-Software.
Gruesse
Th.
P.S.: Es ist CP/M -Software. Thema verfehlt.... 40 Jahre zu spaet.
Thomas Z. schrieb:> kennt jemand noch andere Com(p)iler?
Mir fallen spontan Dave Dunfield (Dunfield Systems) und Walter Banks
(Raisonance) ein, die damals C-Compiler verkauften. Ob 8080/8085 dabei
waren, kann ich nicht sagen, sollte aber herauszukriegen sein.
Gruß Klaus (der soundsovielte)
Thomas Z. schrieb:> SDCC wäre vermutlich eine Möglichkeit, da könnte man ein zusätzliches> Target einbauen und vom Z80 ableiten.
Sollte der eines der Indexregister als Frame Pointer verwenden, wird das
Arbeit.
Moin, -
8080/8085 C-Compiler waren auch rar: Zum einen wurde die Entwicklung in
Assembler gemacht, zum anderen kam dann die Z80 auf den Markt. Die war
einfach besser. Und das C (K&R) war auch nicht so toll (so vor 40
Jahren).
Vielleicht koenntest Du ueber CP/M (z.B.
https://www.autometer.de/unix4fun/z80pack/) Dir einen 8085-C-Compiler
suchen. Irgdendwie in Hex-Format und dann irgend wie weiter. Ist aber
mehr von hinten ins Knie ins Auge...
Gruesse
Th.
Gleich der erste Eintrag bei Google nach "dave dunfield C-Compiler"
bringt
https://dunfield.themindfactory.com/dds/lang.htm
und darin:
"Possibly the best known of my tools, Micro-C is a complete compiler and
development package for the C programming language. Marketed mainly as a
cross development tool, versions of the compiler have been ported to:
68HC08, 6809, 68HC11, 68HC12, 68HC16, 8051/52, 8080/85/Z80, 8086, 8096
and AVR processor families."
Gruß Klaus (der soundsovielte)
(prx) A. K. schrieb:> Thomas Z. schrieb:>> SDCC wäre vermutlich eine Möglichkeit, da könnte man ein zusätzliches>> Target einbauen und vom Z80 ableiten.>> Sollte der eines der Indexregister als Frame Pointer verwenden, wird das> Arbeit.
Wie gesagt SDCC ist nur eine Theorie. Ich scheitere da schon an der
Build Umgebung. Was natürlich auch an der mangelnden und veralteten Doku
liegt. Zusätzlich befürchte ich dass mein Knowhow nicht ausreicht um in
annehmbarer Zeit ein Ergebnis zu bekommen.
Max M. schrieb:> Preisliste und Seite von 2004.> Das ist eine Netzleiche.
Das denke ich auch.
Die Demo IDE hab ich malruntergeladen. Schon die Installation ein ein
Krampf. Die Demolizenz funktioniert nur wenn nicht unter Programme
installiert wird.
Bis jetzt hab ich es noch nicht geschafft eine simple main() korrekt zu
übersetzen. Die Fehlermeldungen deuten auf eine kaputte Lizenz hin.
Bei Walter Banks hat mich meine Erinnererung getrogen, sein Label war
"Byte Craft" und nicht Raisonance. Er ist 2019 gestorben, die Webseite
bytecraft.com ist zu kaufen. Da gibts wohl nichts mehr.
Gruß Klaus (der soundsovielte)
Klaus S. schrieb:> Bei Walter Banks hat mich meine Erinnererung getrogen, sein Label war> "Byte Craft" und nicht Raisonance. Er ist 2019 gestorben, die Webseite> bytecraft.com ist zu kaufen. Da gibts wohl nichts mehr.
Dave Dunfield hatte 2019 einen schweren Unfall
https://dunfield.themindfactory.com/2019.htm
Der macht wohl auch nicht mehr viel.
(prx) A. K. schrieb:> Thomas Z. schrieb:>> SDCC wäre vermutlich eine Möglichkeit, da könnte man ein zusätzliches>> Target einbauen und vom Z80 ableiten.>> Sollte der eines der Indexregister als Frame Pointer verwenden, wird das> Arbeit.
Macht er zwar, aber es gibt --fomit-frame-pointer, und auch das
sm83-Backend (sm83 hat weder iy noch iy), so dass SDCC durchaus Code
generieren kann, der kein Indesregister als Framepointer verwendet.
Google bringt die erstaunlichsten Ergebnisse, hier z.B. Suche nach
"CP/M-80 C-Compiler":
https://kevinboone.me/cpm-c.html
erwähnt, daß der Aztec C-Compiler frei aus dem Museum erhältlich ist.
Der erzeugt 8080-Code, eventuelle 8085-Besonderheiten müßte man per
Assembler einbauen. CPM-80-Emulatoren gab es früher für PC zuhauf, da
sollte ebenfalls noch was zu finden sein.
Mein ISIS-II Emulator für PLM85 und PLM51 ist in gelegentlicher Aktion
und läuft auch noch unter Win10.
Gruß Klaus (der soundsovielte)
Es gab noch BDS-C, der war, gemessen an seinen Fußfesseln
garnicht so schlecht.
Von Turbo-Pascal gab es wohl eine 8080-Version. Ja, ist kein C.
IIRC war das deutlich besser als der Pascal-Compiler zum HP1600/
64000 Entwicklungssystem, der war einfach unbrauchbar.
Pascal-MT+ hatten wir auch, das hat nativ nach Z80 / 8080??? übersetzt.
Andrew Tanenbaum von der Frije Uni Amsterdam hatte eine Z80-Version
für seine EM (Experimental Machine, eine Stackmaschine) und auch
den passenden C-Compiler dazu, und auch einen minimalen Kernel
"Amoeba". Man weiß ja, dass er sich wegen des Kernel-Designs heftig
mit Linus Thorwalds gezofft hat. Davon waren die Quellen verfügbar,
der Z80 hat sich ganz wacker geschlagen, auch gegen die 16-Bitter.
Die Z80-Maschine könnte man wohl umschreiben.
Ob das Spass macht oder sinnvoll ist, das ist eine andere Frage.
Gruß, Gerhard
Thomas Z. schrieb:> für ein Retro Projekt suche ich einen C Compiler für den 8085 als> Crosscompiler unter Win.
Ich habe noch einen MI-C Crosscompiler für den Z80 unter DOS (läuft mit
DosBox). Soll angeblich auch 8080 können, ich sehe aber nicht wie man
dem Compiler erklärt welchen Code er erzeugen soll. Scheint keinen
Schalter zu geben.
Mein Verdacht ist daß es verschiedene Programme waren. (Der Comliler
heist ccz.exe) Vieleicht kann sich noch jemand erinnern?
Uwe
Uwe B. schrieb:> Mein Verdacht ist daß es verschiedene Programme waren. (Der Comliler> heist ccz.exe) Vieleicht kann sich noch jemand erinnern?
Habe es in der Doku gefunden. Ist so, der 8080-Compiler heißt cc.exe.
Leider habe ich den nicht, sorry.
Uwe
Altteilesammler schrieb:> Achja, für PL/M51 muss man nun wirklich nicht ISIS2 bemühen.> Das braucht nur der PL/M80.
Und wo bekomme ich PL/M-51 sonst noch?
Gruß Klaus (der soundsovielte)
Roland F. schrieb:> Nö, gar nicht, das ist "Ur"-K&R-C.
naja ich bin zwar alt aber so alt dann doch nicht. Diesen Syntax hab ich
bisher noch nicht gesehen. Aztec C sagt mir noch was vom C64 bzw Apple2.
Das ist sicher einen Blick wert.
Es sind doch erstaunlich viele Ansätze zusammengekommen. Mir war schon
klar dass in der CPM Welt noch ein paar Dinge gibt.
Vielen Dank an alle Hinweisgeber.
Thomas Z. schrieb:> Diesen Syntax hab ich bisher noch nicht gesehen.
Wenn man Compiler für eine uralte Plattform sucht, besteht natürlich das
Risiko, dass man uralte Compiler für uralte Standards findet. ;-)
Vielleicht hat man mit Pascal mehr Glück?
(https://www.tramm.li/i8080/Intel%208080-8085%20Assembly%20Language%20Programming%201977%20Intel.pdf)
http://www.khk.net/s85/german.htmlhttps://de.wikipedia.org/wiki/Intel_HEXThomas Z. schrieb:> Der macht wohl auch nicht mehr viel.
Zumindest hatte er den Unfall + Hergang schon mal recht gut beschrieben.
Leider sind die Plastizitätszeiten, welche auch große Motivation mit
sich bringen, nur sehr kurz - oder aufgrund der Sachlage nicht nutzbar.
Selbsthilfegruppen sind ganz gut, wirken aber alleingelassen, es fehlt
an Motivation, und passenden Vorbildern. Die Vorbilder (Musik, Tanzen,
Turnen usw.) funktionieren recht gut. Aber da kommen die Betroffenen
nicht von alleine drauf :( praktisch eine Selbshilfegruppe, die sich
selbst am eigenen Schopf aus dem Schlammassel herausziehen muss.
So kann man dankbar sein, wenn entsprechend hoch engagierte Reha-Teams
(wie z.B. in der Magdeburg-Reha) unterwegs sind. Aber die sind nicht
selbstverständlich.
Auch die Abholung bei Unfall muss sehr schnell erfolgen, und da habe ich
auch schon ziemliche (unpassende) Trödelworkflows gesehen.
Roland F. schrieb:>> foo (value) unsigned int value;>> {>> return value >> 8;>> }>> sieht seltsam aus....>> Nö, gar nicht, das ist "Ur"-K&R-C.
Nach meiner Erinnerung wurde das klammernlose "return mit Rückgabewert"
erst mit ANSI-C eingeführt. Bei K&R-C mußte m.E.n. die Klammer nach
return immer benutzt werden, wenn man etwas zurückgeben wollte.
Weiß es jemand "ganz" genau? Mein K&R-C-Buch hat den Verleihvorgang
nicht überlebt. In den Beispieltexten für K&R-C, die ich im Internet
gefunden habe, ist die Klammer auch immer vorhanden.
Gruß Klaus (der soundsovielte)
P.S. Entschuldigt bitte die Besserwisserei, aber mikrocontroller.net
zählt für mich zu den "besseren" Quellen und deshalb sollte Falsches
nicht unkorrigiert stehen bleiben.
Jürgen Fiebig schrieb:> K&R (Deutsch 1983):> return(Ausdruck mit Resultat Wert)
K&R 1983 deutsch, Seite 27, Fußnote 4:
Die Klammern sind nicht syntaktisch notwendig. A.d.Ü.
Thomas Z. schrieb:> Wie gesagt SDCC ist nur eine Theorie. Ich scheitere da schon an der> Build Umgebung.
Komisch. Ich hab den SDCC seit einiger Zeit für STM8 am Start.
Installation & Betrieb absolut problemlos.
Und "Build Umgebung"? --> make.
Aber vermutlich könnte man sich auch sbt hinbasteln ;)
/regards
Altteilesammler schrieb:> Achja, für PL/M51 muss man nun wirklich nicht ISIS2 bemühen.
Boah, das gab jetzt ein heftiges Flashback an ein 8085-Unipraktikum in
den frühen 90ern mit den Dingern. Schon da war das für uns
prähistorisch. Zwei 8"-Floppy-Laufwerke die sich bei so gut wie jeder
Aktion die Köpfe totgeklickt haben...
Luther B. schrieb:> Für SDCC gibt es ein experimentelles Backend für 8080:>> https://hackaday.io/project/166827-targeting-sdcc-to-the-8080
ja das kenne ich. Das Gitrepro sagt aber ausdrücklich, dass das Ding
nicht läuft. Es gab auch keinerlei Fortschritte mehr in den letzten
Jahren. Trotzdem schaue ich mir das genauer an.