Comme vue dans la première partie "SDCC débuter" pour compiler c'est de la ligne de commande et il faut bien l'avouer c'est bien chiant de toujours ressaisir les lignes de commande. Pour résoudre cela on peut les mettre dans un fichier .bat ce qui vas déjà nous facilité la vie :
sdcc -mz80 --code-loc 0x1A8 --data-loc 0 --no-std-crt0 crt0_0x170.rel Hello.c hex2bin Hello.ihx CPCDiskXP -File Hello.bin -AddAmsdosHeader 170 -AddToNewDsk Hello.dsk
On sauve tout cela dans un fichier comp.bat par exemple. Son utilisation est simple, mais il n'est pas très pratique quand ont a des erreurs... C'est cool, mais vous allez vite vous apercevoir que c'est quand même pas pratique, il faut changer à chaque fois le nom du fichier Hello quand vous faite un autre code. On va donc améliorer ce fichier .bat, je cous propose celui que je me suis fait, il fait la compil en lui passant le nom du fichier à compiler (par exemple comp.bat Hello) ce qui est plus pratique quand même. De plus j'efface les fichier généré par SDCC, hex2bin et CPCDiskXP, comme cela s'il y a une erreur quelque par le script s'arrête et donnant l'info. Il n'est pas encore complet, il faut de temps à autre le modifier, car comme vous pouvez le voire on ne met pas des .rel autre que crt0_0x170.rel, donc si vous en avez besoin d'autre il faut les mettre à la main avant ! cls @echo offIF "%1"=="" GOTO AIDE if not exist %1.c goto NOC echo --------------------------------------------------------- echo -- Effacement des fichiers del %1.asm del %1.ihx del %1.lk del %1.lst del %1.map del %1.noi del %1.rel del %1.sym del %1.bin del %1.dsk echo --------------------------------------------------------- echo adresse de base : 0x170 echo il faut le crt0_0x170 ! echo --------------------------------------------------------- echo --Compilation de %1.c sdcc -mz80 --code-loc 0x1A8 --data-loc 0 --no-std-crt0 crt0_0x170.rel %1.c rem -mz80 -> Generate code for the Zilog Z80 family of processo. (Processor Selection Options) rem --code-loc 0x6038 -> The start location of the code segment. (Linker Options) rem --data-loc 0 -> The start location of the internal RAM data segment.(Linker Options) rem --no-std-crt0 -> When linking, skip the standard crt0.rel object file.(Z80 Options) rem --opt-code-speed -> The compiler will optimize code generation towards fast code rem --opt-code-size -> The compiler will optimize code generation towards compact code if not exist %1.ihx goto NOIHX echo --------------------------------------------------------- echo --Creation de %1.bin hex2bin %1.ihx
if not exist %1.bin goto NOBIN echo --------------------------------------------------------- echo --Creation de %1.dsk CPCDiskXP -File %1.bin -AddAmsdosHeader 170 -AddToNewDsk %1.dsk goto FIN exit :AIDE echo --------------------------------------------------------- echo Utilisation : comp.bat "non fichier" sans extension ! goto Fin :NOC echo --------------------------------------------------------- echo Le fichier %1.c n'existe pas ! goto Fin :NOIHX echo --------------------------------------------------------- echo Erreur de compilation du C ! goto Fin :NOBIN echo --------------------------------------------------------- echo Erreur de compilation ASM ! goto Fin :OK echo --------------------------------------------------------- echo Compilation de %1.c : OK echo Creation de %1.bin : OK echo Creation de %1.dsk : OK :FIN echo --------------------------------------------------------- echo fin... Voila, avec ce fichier la compilation est un peut plus "simple", il se trouve dans se ZIP. stephbb75 ★ AMSTRAD CPC ★ DOWNLOAD ★ |
|
CPCrulez[Content Management System] v8.7-desktop/c Page créée en 530 millisecondes et consultée 2502 foisL'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko. |
|
|