HITECH-C

  • Mit welchen Aufruf-Parametern für den Hi-Tech-C Compiler hast Du Deine Beispiele übersetzt ? Bei mir werden die Binaries ca. 14k groß. Das sieht mir danach aus, als wenn ein haufen ungenutztes Zeug mit dazu gelinkt wird, Im Handbuch konnte ich nichts finden, was das abstellen würde. Meine HTC-Version stammt von Github => agn453

  • Ich rate mal: Wenn man ein C Programm völlig normal erstellt, d.h. mit einer Standard main Funktion, dann muss so einiges dazu gelinkt werden, damit Kommandozeilenargumente korrekt an das Programm übergeben werden. Das beinhaltet oft auch die stdio Bibliothek, dynamische Speicherverwaltung, atexit() Handler etc. Beim Amiga OS hat das beim Hello-World gerne mal 8 KByte Unterschied gemacht (gegenüber einem minimalen C Programm, welches seinen eigenen Startup-Code mitgebracht hat).


    Möglicherweise ist der neue HI-TECH C Compiler viel Standard-konformer als der alte aus den 80ern.

  • Danke für die Erklärungen. Ich habe da noch eine andere Sache, die nicht so funktioniert wie erwartet. Mit dem Parameter -I<file> sollen auftretende Fehlermeldungen in eine Datei umleitbar sein. Das ist ganz praktisch, würde es denn auch so funktionieren. In meinem Fall wird die Datei angelegt, sie ist aber trotz auftretende Fehlermeldungen stets 0kB lang (?). Als behelf lasse ich alle Ausgaben auf der TTY-Schnittstelle parallel ausgeben und zeichne das was da kommt mit dem Terminalprogramm auf dem Laptop auf. So hat man's auch, aber es wird dafür leider ein 2ter Rechner benötigt. Irgendwie suboptimal. Womöglich ebenfalls eine Eigenart des neuen HTC oder denke ich nur nicht genug um die Ecke (Stichwort PIPEMGR.COM) ?

  • Hmmm ... habe mir das mal angesehen, da geht es eigentlich eher um das Ausnutzen der zusätzlichen 64KB des RC2014, der ja 128KB insgesamt bietet.

    Zitat: "It uses the upper 64 KB RAM to store data (instead of using malloc)."

    Wenn man größere Quelldateien (mit Z80 als Zielcode) kompilieren will, kann man auch den Hitech Cross Compiler für Z80 nutzen.

    "The biggest communication problem is we do not listen to understand. We listen to reply." - Stephen Covey


    Webseite und Blog ist immer noch - seit fast 20 Jahren - online.

  • Wo gibt es den Hitech Cross Compiler unter CP/M?

    Möchtest Du den Hitech Compiler unter CP/M, oder möchtest Du ihn als Cross Compiler (also unter z.B. MS-DOS CP/M Software entwickeln)?


    • Die letzte Version, die unter CP/M lief, war meines Wissens die 3.09. Die liegt öffentlich verfügbar auf GitHub.
    • Eine etwas aktueller Cross-Compiler-Version für MS-DOS (4.11 von 1989) ist ebenfalls öffentlich verfügbar.
    • Die so weit ich weiß letzte Version, die den Z80 als Cross-Compiler-Target unterstützte, war die 7.80 von 2001, die auch noch (als Konsolenanwendung) unter Windows XP lief. Sie ist nicht öffentlich verfügbar, aber mit etwas Google-Fu ;) leicht in den zwielichtigen Ecken des Internets zu finden.
  • Er meinte den Cross Compiler, da ich den ja als mögliche Lösung für größere Quelldateien erwähnt hatte.

    Den gibt's auch auf github unter https://github.com/agn453/HI-TECH-Z80-C-Cross-Compiler ...

    Der Cross Compiler hat übrigens - im Vergleich zu früheren Hitech Compiler-Versionen die folgenden Bug Fixes:


    "The biggest communication problem is we do not listen to understand. We listen to reply." - Stephen Covey


    Webseite und Blog ist immer noch - seit fast 20 Jahren - online.

  • Hi MJGraf


    Zitat "Möchtest Du den Hitech Compiler unter CP/M, oder möchtest Du ihn als Cross Compiler (also unter z.B. MS-DOS CP/M Software entwickeln)?"

    Das habe ich mir fast gedacht. Der Cross Compiler funktioniert nur unter WIN etc. Ach ist doch klar. :S


    Die Entwicklung mit dem C309-8 oder 16 geht in Richtung I2C und Umfeld.

    Hierzu habe ich schon etwas geschrieben.


    Ich arbeite für kleine C Anwendung lieber mit dem Aztec 1.06D.

    Meine Entwicklungen in C auf CP/M ist nur ein kleiner Umfang.


    Danke für deine Info.


    Hallo Peter, wer ist er? :weinen:


    Gruß

    retro

    :)

  • Der Cross Compiler funktioniert nur unter MS-DOS, eine Windows-Version habe ich bisher nicht finden können.

    Meinst Du den heulenden Smiley :weinen:? Das sollte nur reflektieren, dass es leider nicht allzu viel Auswahl für Cross Compiler, die CP/M Z80 Code erzeugen, existiert. Mir fällt da sonst nur noch der SDCC ( https://sdcc.sourceforge.net/ ) ein.

    "The biggest communication problem is we do not listen to understand. We listen to reply." - Stephen Covey


    Webseite und Blog ist immer noch - seit fast 20 Jahren - online.

  • SO sieht übrigens die (DOS) IDE des Hi-Tech C Professional Development System V7.50 aus, die sich hinter der Self-Extracting Archivdatei ZDEMO.EXE verbirgt:

    "The biggest communication problem is we do not listen to understand. We listen to reply." - Stephen Covey


    Webseite und Blog ist immer noch - seit fast 20 Jahren - online.

  • Der Cross Compiler funktioniert nur unter MS-DOS, eine Windows-Version habe ich bisher nicht finden können.

    Meinst Du den heulenden Smiley :weinen:? Das sollte nur reflektieren, dass es leider nicht allzu viel Auswahl für Cross Compiler, die CP/M Z80 Code erzeugen, existiert. Mir fällt da sonst nur noch der SDCC ( https://sdcc.sourceforge.net/ ) ein.

    Kommt drauf an, was Du mit "Windows-Version" meinst. Versionen mit grafischer Oberfläche kamen meines Wissens nach erst, nachdem Hi-Tech den Z80 als Target entfernt hatte. Die von mir angesprochene Version 7.8 sollte aber unter 32-Bit-Windows bis mindestens XP, evtl, auch 7, in der Kommandozeile laufen; auf jeden Fall einer Version, die man noch relativ bequem virtualisieren kann. Wenn Du nach ' Hi-Tech C "7.80" ' (einschließlich der inneren Anführungszeichen) googelst, könntest Du fündig werden.

  • Das habe ich mir fast gedacht. Der Cross Compiler funktioniert nur unter WIN etc. Ach ist doch klar. :S

    Das ist halt das Wesen eines Cross-Compilers: Er läuft unter einer Umgebung und erzeugt Code für eine andere, kreuzt (crosses) also die Grenze zwischen den Umgebungen.

    (Übrigens läuft der 4.11 eben nicht unter Windows ‒ zumindest keinem der letzen 20+ Jahre), weil er eine 16-bit-DOS-Anwendung ist.)

    Die Entwicklung mit dem C309-8 oder 16 geht in Richtung I2C und Umfeld

    Ich verstehe nicht ganz, was das eine mit dem anderen zu tun hat. I2C Code für AVR oder ARM schreibe ich ja auch auf dem PC und übersetze ihn dort mit einem Cross-Compiler.

  • Weil es eigentlich ein DOS Cross Compiler ist, und kein Windows Cross Compiler, und weil es auch keine 32-Bit Konsolenanwendung ist, sondern eben nur ein 16Bit DOS Programm. Da Du ja das nochmal klarstellst, sollten ja alle Mißverständnisse beseitigt sein.

    "The biggest communication problem is we do not listen to understand. We listen to reply." - Stephen Covey


    Webseite und Blog ist immer noch - seit fast 20 Jahren - online.

  • Hallo Freunde,


    habe ich es falsch verstanden oder was ist gemeint.


    Warum sollten DOS Programme nicht unter WIN 3.11 oder XP laufen. >:(


    Eigentlich kann ich mich erinnern, das meine Fakturierung mit BTRIEVE unter DOS und unter WIN3.11 lief.

    Das Programm funktioniert noch unter WiN 10 im DOS Fenster; oder?

    Ich sende gerne eine Demo!


    Ich habe einige Jahre noch Entwicklungen unter DOS und Windows programmiert.


    Die grafische Oberfläche - das ist ein andere Frage.


    Zurück zu Hi-Tech C. Das ist doch das Thema. 8-)


    retro


    :)