sdcc testen... irgendwie ist da der Wurm drin

  • Dat Ding läuft nicht.
    Habe compiliert, umgewandelt mit hex2bin und im CPC-EMU einfach mit Run"test.bin" gestartet, weil ja die Adresse 100 nicht erreichbar ist mit
    Memory.
    Wie kann man die Startadresse höher setzen als 100?
    hmm...nix geht....CPC stürzt ab. :evil:


    What ist dat für ein Mist.
    Wie soll man da klar kommen...hmmm.


    Octoate du bist ja so ein Anhänger von der Sekte "sdcc".
    Wie bekommt diesen Text jetzt zum sehen....? :P .


    Gruss


    Zitat


    On the emulator the file must be loaded from address &100. This can be done using Utopias |LOAD command.


    The execution address is &100. Just type call &100 and the result should be a “C on Amstrad” displayed on the screen. The program will return to the prompt. Examine the program with the |DI (Maxam) command :) ... That’s it...

  • Denk dran, dass die von sdcc erzeugten Dateien keinen AMSDOS-Header haben. Den müsstest du noch manuell davor bauen (Ich glaube, WinAPE kann beim Importieren von Dateien in Disk-Images einen Amsdos-Header generieren) oder wie in deinem Zitat beschrieben, Utopias |load benutzen.


    Wie sieht denn deine crt0.s aus? Irgendwo darin müsstest du sowas hier finden:


    Code
    ;; Reset vector
    	.org 	0x100 ;; Start from address &100
    	jp	init


    Da kannst du die Startadresse einstellen, dann die crt0 neu übersetzten und sdcc mit --no-std-crt0 ./crt0.o aufrufen. Denk dran, dass du auch dein eigenes putchar.o brauchst, damit der sdcc weiß, wie man am CPC Zeichen auf dem Bildschirm ausgibt.


    Ich bin übrigens beim Testen von sdcc grob nach dieser Anleitung vorgegangen:


    <!-- m --><a class="postlink" href="http://www.cpcwiki.eu/index.php/SDCC_and_CPC">http://www.cpcwiki.eu/index.php/SDCC_and_CPC</a><!-- m -->

    Nilquader of SPRING

  • Ich möchte kein Text ausgeben, sondern nur die eine Linie Zeichnen.


    sdcc -mz80 --no-std-crt0 ./crt0.o amsgraph.c
    hex2bin amsgraph.ihx


    Funktioniert nicht.


    Gruss