<?xml version="1.0" encoding="UTF-8"?>        <rss version="2.0"
             xmlns:atom="http://www.w3.org/2005/Atom"
             xmlns:dc="http://purl.org/dc/elements/1.1/"
             xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
             xmlns:admin="http://webns.net/mvcb/"
             xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
             xmlns:content="http://purl.org/rss/1.0/modules/content/">
        <channel>
            <title>
									glOric v1.2 est disponible - Cross Developpement				            </title>
            <link>https://ceo.oric.org/community/cross-developpement/gloric-v1-2-est-disponible/</link>
            <description></description>
            <language>fr-FR</language>
            <lastBuildDate>Fri, 10 Jul 2026 14:24:21 +0000</lastBuildDate>
            <generator>wpForo</generator>
            <ttl>60</ttl>
							                    <item>
                        <title>RE: glOric v1.2 est disponible</title>
                        <link>https://ceo.oric.org/community/cross-developpement/gloric-v1-2-est-disponible/paged/2/#post-356</link>
                        <pubDate>Tue, 09 Jun 2020 15:59:48 +0000</pubDate>
                        <description><![CDATA[@assinie
 
Bon ben j&#039;ai échoué :-(
J&#039;ai essayé de définir ces constantes das le fichier cfg, dans le makefile (pour l&#039;option -D), et il n&#039;y a que dans le source que ça marche.
Pour ce qu...]]></description>
                        <content:encoded><![CDATA[<p>@assinie</p>
<p> </p>
<p>Bon ben j'ai échoué :-(</p>
<p>J'ai essayé de définir ces constantes das <a href="https://github.com/jbperin/gl65/blob/develop/src/atmos/oric.cfg#L9" target="true">le fichier cfg</a>, dans <a href="https://github.com/jbperin/gl65/blob/develop/makefile#L37" target="true">le makefile</a> (pour l'option -D), et il n'y a que dans <a href="https://github.com/jbperin/gl65/blob/develop/src/gl65_s.s#L7" target="true">le source</a> que ça marche.</p>
<p>Pour ce qui est des options, j'ai essayé tout un tas de combinaisons et d'ordre qui me sont passées par la tête.</p>
<pre>cl65 -t telestrat -c --create-dep obj/telestrat/gl65_s.d -Wa -D SCREEN_WIDTH=40 -Wa -D SCREEN_HEIGHT=26 -o obj/telestrat/gl65_s.o src/gl65_s.s<br />cl65.exe: Don't know what to do with 'SCREEN_WIDTH=40'<br /><br />cl65 -t telestrat -c --create-dep obj/telestrat/gl65_s.d -Wa -D SCREEN_WIDTH=40 -D SCREEN_HEIGHT=26 -o obj/telestrat/gl65_s.o src/gl65_s.s<br />cl65.exe: Don't know what to do with 'SCREEN_WIDTH=40'<br /><br />cl65 -t telestrat -c --create-dep obj/telestrat/gl65_s.d -Wa SCREEN_WIDTH=40 -Wa SCREEN_HEIGHT=26 -o obj/telestrat/gl65_s.o src/gl65_s.s<br />ca65: Don't know what to do with 'SCREEN_HEIGHT=26'<br /><br />cl65 -t telestrat -c --create-dep obj/telestrat/gl65_s.d -Wa SCREEN_WIDTH=40 SCREEN_HEIGHT=26 -o obj/telestrat/gl65_s.o src/gl65_s.s<br />cl65.exe: Don't know what to do with 'SCREEN_HEIGHT=26'</pre>
<p> </p>
<p>De toute manière, l'idée c'était de pouvoir renseigner ces valeurs au moment du link pour pouvoir livrer gl65 sous forme de lib. Mais ça je n'y crois pas. Pour moi ces constantes sont valorisées par le préprocesseur ou l'assembleur. Ce ne sont pas des labels que le linker pourrait valoriser au moment du link.</p>
<p>En tout cas merci pour ton aide .. j'ai appris des choses grâce à toi.</p>
<p>Et merci aussi pour l'astuce qui permet de générer le fichier de symboles pour pouvoir débugguer en symbolique sur Oricutron:</p>
<div style="color: #333333;background-color: #fdf6e3;font-weight: normal;font-size: 14px;line-height: 19px">
<div><span style="color: #333333">sed -re 's/al 00(.{4}) \.(.+)</span><span style="color: #268bd2">$$</span><span style="color: #333333">/\1 \2/' GL.vice | sort &gt; </span><span style="color: #859900">$(</span><span style="color: #268bd2">PATH_TO_ORICUTRON</span><span style="color: #859900">)</span><span style="color: #333333">/symbols</span></div>
</div>
<p>C'est Jede qui m'a filé le tuyaux en me disant bien que cela venait de toi .. alors merci .. c'est cool ;-)</p>]]></content:encoded>
						                            <category domain="https://ceo.oric.org/community/cross-developpement/">Cross Developpement</category>                        <dc:creator>JiBe</dc:creator>
                        <guid isPermaLink="true">https://ceo.oric.org/community/cross-developpement/gloric-v1-2-est-disponible/paged/2/#post-356</guid>
                    </item>
				                    <item>
                        <title>RE: glOric v1.2 est disponible</title>
                        <link>https://ceo.oric.org/community/cross-developpement/gloric-v1-2-est-disponible/paged/2/#post-354</link>
                        <pubDate>Mon, 08 Jun 2020 18:46:00 +0000</pubDate>
                        <description><![CDATA[Pour l&#039;assembleur, il faut faire précéder les options qui lui sont destinées par -Wa
A vérifier, mais il est probable qu&#039;à partir du moment où tu mets -Wa toutes les options qui suivent son...]]></description>
                        <content:encoded><![CDATA[<p>Pour l'assembleur, il faut faire précéder les options qui lui sont destinées par <strong>-Wa</strong></p>
<p>A vérifier, mais il est probable qu'à partir du moment où tu mets <strong>-Wa</strong> toutes les options qui suivent sont destinées à l'assembleur.</p>
<p>Par défaut le <strong>-D</strong> s'appliquer au pré-processeur C qui n'est pas appelé pour un programme en asssembleur.</p>
<p>Tu peux aussi utiliser <strong>-Wl</strong> pour des options detinées au linker et <strong>-Wc</strong> pour le compilateur</p>
<p>Ce qu'il faut vérifier c'est si le <strong>-Wa</strong> doit précéder chaque option pour l'assembleur ou si il reste valable jusqu'au prochain <strong>-Wc</strong> ou <strong>-Wl</strong></p>
<p>Donc dans ton cas, si tu veux définir un symbole à la fois pour le C et l'assembleur, il faut le définir 2 fois.</p>]]></content:encoded>
						                            <category domain="https://ceo.oric.org/community/cross-developpement/">Cross Developpement</category>                        <dc:creator>assinie</dc:creator>
                        <guid isPermaLink="true">https://ceo.oric.org/community/cross-developpement/gloric-v1-2-est-disponible/paged/2/#post-354</guid>
                    </item>
				                    <item>
                        <title>RE: glOric v1.2 est disponible</title>
                        <link>https://ceo.oric.org/community/cross-developpement/gloric-v1-2-est-disponible/#post-353</link>
                        <pubDate>Mon, 08 Jun 2020 18:30:56 +0000</pubDate>
                        <description><![CDATA[J&#039;ai essayé de définir les symbol grâce à un -D et cela fonctionne pour le C. Mais il me met une erreur pour l&#039;assembleur.
 
$ make TARGETS=telestratcl65 -t telestrat -c --create-dep obj/t...]]></description>
                        <content:encoded><![CDATA[<p> </p>
<p>J'ai essayé de définir les symbol grâce à un -D et cela fonctionne pour le C. Mais il me met une erreur pour l'assembleur.</p>
<p> </p>
<pre>$ make TARGETS=telestrat<br />cl65 -t telestrat -c --create-dep obj/telestrat/gl65_c.d -D SCREEN_WIDTH=40 -D SCREEN_HEIGHT=26 -o obj/telestrat/gl65_c.o src/gl65_c.c<br />cl65 -t telestrat -c --create-dep obj/telestrat/main.d -D SCREEN_WIDTH=40 -D SCREEN_HEIGHT=26 -o obj/telestrat/main.o src/main.c<br />src/main.c(271): Warning: Constant is long<br />cl65 -t telestrat -c --create-dep obj/telestrat/gl65_s.d -D SCREEN_WIDTH=40 -D SCREEN_HEIGHT=26 -o obj/telestrat/gl65_s.o src/gl65_s.s<br />src/gl65_s.s(667): Error: Range error<br />make: ***  Erreur 1</pre>
<p>à la ligne 667 du fichier gl65_s.s , j'essaie d'utiliser une des constantes:</p>
<div style="color: #333333;background-color: #fdf6e3;font-weight: normal;font-size: 14px;line-height: 19px">
<div><span style="color: #93a1a1">.proc</span><span style="color: #333333"> _une_fonction</span></div>
<div><span style="color: #859900">    lda</span><span style="color: #333333"> #SCREEN_WIDTH</span></div>
<div><span style="color: #859900">    rts</span></div>
<div><span style="color: #93a1a1">.endproc</span></div>
</div>
<div>Au début du fichier gl65_s.s,  j'ai mis les lignes suivantes</div>
<div> </div>
<div>
<div style="color: #333333;background-color: #fdf6e3;font-weight: normal;font-size: 14px;line-height: 19px">
<div><span style="color: #93a1a1">.import</span><span style="color: #333333"> SCREEN_WIDTH</span></div>
<div><span style="color: #93a1a1">.import</span><span style="color: #333333"> SCREEN_HEIGHT</span></div>
</div>
<div>Car sinon il me disait que le symbol était inconnu.</div>
</div>
<div> </div>
<div>Aurais-tu une idée de ce que j'ai mal fait ?</div>]]></content:encoded>
						                            <category domain="https://ceo.oric.org/community/cross-developpement/">Cross Developpement</category>                        <dc:creator>JiBe</dc:creator>
                        <guid isPermaLink="true">https://ceo.oric.org/community/cross-developpement/gloric-v1-2-est-disponible/#post-353</guid>
                    </item>
				                    <item>
                        <title>RE: glOric v1.2 est disponible</title>
                        <link>https://ceo.oric.org/community/cross-developpement/gloric-v1-2-est-disponible/#post-352</link>
                        <pubDate>Mon, 08 Jun 2020 17:52:15 +0000</pubDate>
                        <description><![CDATA[Posté par: @assinie 
@jibe #iflused c&#039;est pour xa, le but était de pouvoir simuler à l&#039;assemblage l&#039;équivalent de l&#039;utilisation d&#039;un fichier librairie mais au niveau du source du programme....]]></description>
                        <content:encoded><![CDATA[<blockquote data-userid="19" data-postid="351" data-mention="assinie">
<div class="wpforo-post-quote-author"><strong> Posté par: @assinie </strong></div>
<p>@jibe <strong>#iflused</strong> c'est pour xa, le but était de pouvoir simuler à l'assemblage l'équivalent de l'utilisation d'un fichier librairie mais au niveau du source du programme.</p>
<p>Du coup, à quel moment tu fais le choix de la version en C ou de celle en ASM, c'est le makefile ou dans le source du programme de test en incluant un fichier plutôt qu'un autre?</p>
</blockquote>
<p>J'ai un fichier config.h dans lequel je définie, entre autre, les fonctions C ou ASM que je veux utiliser.</p>
<p>C'est <a href="https://github.com/oric-software/glOric/blob/master/src/config.h#L241" target="true">ici</a>.</p>
<p>par exemple si je veux utiliser la version ASM de la fonction zplot. Alors je définie:</p>
<div style="color: #333333;background-color: #fdf6e3;font-weight: normal;font-size: 14px;line-height: 19px">
<div><span style="color: #859900">#undef</span><span style="color: #b58900"> </span><span style="color: #268bd2">USE_C_ZPLOT</span></div>
<div><span style="color: #859900">#define</span><span style="color: #b58900">  </span><span style="color: #268bd2">USE_ASM_ZPLOT</span></div>
</div>
<p>et si je veux utiliser la version C de la fonction zplot. je définie:</p>
<div><span style="color: #859900">#define </span><span style="color: #268bd2">USE_C_ZPLOT</span></div>
<div><span style="color: #859900">#undef</span><span style="color: #b58900">  </span><span style="color: #268bd2">USE_ASM_ZPLOT</span></div>
<div> </div>
<div>Bien sûr j'ai préalablement entouré la définition de la fonction zplot des #ifdef correspondant.</div>
<div> </div>
<div>
<div style="color: #333333;background-color: #fdf6e3;font-weight: normal;font-size: 14px;line-height: 19px">
<div><span style="color: #859900">#ifdef</span><span style="color: #b58900"> </span><span style="color: #268bd2">USE_C_ZPLOT</span></div>
<br />
<div><span style="color: #073642;font-weight: bold">void</span><span style="color: #333333"> </span><span style="color: #268bd2">zplot</span><span style="color: #333333">( ... </span>){</div>
<div>...</div>
<div>
<div style="color: #333333;background-color: #fdf6e3;font-weight: normal;font-size: 14px;line-height: 19px">
<div><span style="color: #333333">}</span></div>
<br />
<div><span style="color: #859900">#endif</span></div>
</div>
</div>
</div>
</div>
<div> </div>
<div>et dans le code assembleur:</div>
<div> </div>
<div>
<div style="color: #333333;background-color: #fdf6e3;font-weight: normal;font-size: 14px;line-height: 19px">
<div><span style="color: #859900">#ifdef</span><span style="color: #333333"> USE_ASM_ZPLOT</span></div>
<br />
<div>
<div style="color: #333333;background-color: #fdf6e3;font-weight: normal;font-size: 14px;line-height: 19px">
<div><span style="color: #333333">_zplot</span><span style="color: #859900">:</span></div>
<div><span style="color: #333333">.(</span></div>
<div>...</div>
<div>
<div style="color: #333333;background-color: #fdf6e3;font-weight: normal;font-size: 14px;line-height: 19px">
<div><span style="color: #333333">.)</span></div>
<div><span style="color: #859900">    rts</span></div>
<div><span style="color: #859900"></span><span style="color: #93a1a1;font-style: italic"><br /></span></div>
<div><span style="color: #859900">#endif</span><span style="color: #333333"> </span><span style="color: #93a1a1;font-style: italic">;; USE_ASM_ZPLOT</span></div>
</div>
</div>
</div>
</div>
</div>
</div>
<div> </div>
<div> </div>]]></content:encoded>
						                            <category domain="https://ceo.oric.org/community/cross-developpement/">Cross Developpement</category>                        <dc:creator>JiBe</dc:creator>
                        <guid isPermaLink="true">https://ceo.oric.org/community/cross-developpement/gloric-v1-2-est-disponible/#post-352</guid>
                    </item>
				                    <item>
                        <title>RE: glOric v1.2 est disponible</title>
                        <link>https://ceo.oric.org/community/cross-developpement/gloric-v1-2-est-disponible/#post-351</link>
                        <pubDate>Mon, 08 Jun 2020 16:02:46 +0000</pubDate>
                        <description><![CDATA[@jibe #iflused c&#039;est pour xa, le but était de pouvoir simuler à l&#039;assemblage l&#039;équivalent de l&#039;utilisation d&#039;un fichier librairie mais au niveau du source du programme.
Du coup, à quel mome...]]></description>
                        <content:encoded><![CDATA[<p>@jibe <strong>#iflused</strong> c'est pour xa, le but était de pouvoir simuler à l'assemblage l'équivalent de l'utilisation d'un fichier librairie mais au niveau du source du programme.</p>
<p>Du coup, à quel moment tu fais le choix de la version en C ou de celle en ASM, c'est le makefile ou dans le source du programme de test en incluant un fichier plutôt qu'un autre?</p>]]></content:encoded>
						                            <category domain="https://ceo.oric.org/community/cross-developpement/">Cross Developpement</category>                        <dc:creator>assinie</dc:creator>
                        <guid isPermaLink="true">https://ceo.oric.org/community/cross-developpement/gloric-v1-2-est-disponible/#post-351</guid>
                    </item>
				                    <item>
                        <title>RE: glOric v1.2 est disponible</title>
                        <link>https://ceo.oric.org/community/cross-developpement/gloric-v1-2-est-disponible/#post-350</link>
                        <pubDate>Mon, 08 Jun 2020 15:05:54 +0000</pubDate>
                        <description><![CDATA[@jibe Je ne sais pas si tu as essayé en jouant sur le link tel que :
asm_maroutine.s (contenant l&#039;assembleur avec un  .proc _maroutine/.endproc)
ex :
.export _maroutine
.proc _maroutine...]]></description>
                        <content:encoded><![CDATA[<p>@jibe Je ne sais pas si tu as essayé en jouant sur le link tel que :</p>
<p>asm_maroutine.s (contenant l'assembleur avec un  .proc _maroutine/.endproc)</p>
<p>ex :</p>
<p>.export _maroutine</p>
<p>.proc _maroutine</p>
<p>; bla</p>
<p>  rts</p>
<p>.endproc</p>
<p> </p>
<p> </p>
<p>et un</p>
<p>maroutine.c (contenant l'équivalent de ta fonction maroutine  mais en C)</p>
<p>Dans ton Makefile, tu vas assembler asm_maroutine.s où tu auras asm_maroutine.o et dans une autre partie tu vas compiler pour avoir un objet maroutine.o</p>
<p>Au link, tu as besoin de spécifier soit asm_maroutine.o soit maroutine.o mais la référence sera la même car dans les 2 fichiers tu auras le label _maroutine exporté.</p>
<p>Cela résoud le pb des fonctions, mais pas des buffers.</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>]]></content:encoded>
						                            <category domain="https://ceo.oric.org/community/cross-developpement/">Cross Developpement</category>                        <dc:creator>jede</dc:creator>
                        <guid isPermaLink="true">https://ceo.oric.org/community/cross-developpement/gloric-v1-2-est-disponible/#post-350</guid>
                    </item>
				                    <item>
                        <title>RE: glOric v1.2 est disponible</title>
                        <link>https://ceo.oric.org/community/cross-developpement/gloric-v1-2-est-disponible/#post-349</link>
                        <pubDate>Mon, 08 Jun 2020 14:54:03 +0000</pubDate>
                        <description><![CDATA[Posté par: @assinie 
@jibe
Est-ce que tes variables comme _zbuffer, _fbuffer, doivent être obligatoirement être déclarées dans glOric ou est-ce qu&#039;elles peuvent être déclarées dans le prog...]]></description>
                        <content:encoded><![CDATA[<blockquote data-userid="19" data-postid="348" data-mention="assinie">
<div class="wpforo-post-quote-author"><strong> Posté par: @assinie </strong></div>
<p>@jibe</p>
<p>Est-ce que tes variables comme _zbuffer, _fbuffer, doivent être obligatoirement être déclarées dans glOric ou est-ce qu'elles peuvent être déclarées dans le programme qui utilise glOric?</p>
<p>Tu peux tout à fait utiliser un -D en ligne de commande pour définir les valeurs de SCREEN_HEIGTH et SCREEN_WIDTH.</p>
<p>Je ne comprends pas ce que tu entends par</p>
<blockquote data-userid="58" data-postid="347" data-mention="jibe">
<div class="wpforo-post-quote-author"><strong> Posté par: @jibe </strong></div>
<p>Je cherche un moyen de pouvoir switcher facilement d'une version à l'autre d'une fonction (du C vers l'ASM ou de l'ASM vers le C) sans avoir à mettre en commentaire / décommenté la version que je n'utilise pas.</p>
</blockquote>
<p>Est-ce que tu as des fonctions qui ont le même nom mais qui sont définies en C et en ASM dans le même fichier?</p>
</blockquote>
<p> </p>
<p>Pas dans le même fichier mais oui j'ai des fonctions qui ont le même nom en C et en ASM .. Par exemple, je vais avoir une version C et une version ASM de la fonction glDrawLines()</p>
<p>Si je veux revoir l'algorithme de glDrawLines pour tester une autre approche, je voudrais pouvoir switcher vers la version C et prototyper l'idée en C .. et une fois que j'ai une version C de l'algo qui me donne satisfaction, je reporte sur la version assembleur et je switch sur la version  assembleur à la compilation.</p>
<p>C'est comme ça que j'ai fait sur OSDK .. et ça m'a vraiment aidé .. du coup je me demandais s'il était possible d'obtenir ce genre de confort dans l'environnement cc65/ca65 ..</p>
<p>Au pire je mettrais en commentaire les fonctions que je ne veux pas utiliser .. mais ton idée de #iflused est très intéressante .. je ne connaissais pas .. ça fonctionne avec cc65/ca65 ou avec cpp/xa65 ? </p>
<p> </p>
<p>Concernant les buffers évoqués zbuffer et fbuffer, ce sont des buffers interne à gOric .. je ne sais pas si ce serait intéressant de reporter sur le programme utilisateur la responsabilité de les définir ..</p>
<p> </p>]]></content:encoded>
						                            <category domain="https://ceo.oric.org/community/cross-developpement/">Cross Developpement</category>                        <dc:creator>JiBe</dc:creator>
                        <guid isPermaLink="true">https://ceo.oric.org/community/cross-developpement/gloric-v1-2-est-disponible/#post-349</guid>
                    </item>
				                    <item>
                        <title>RE: glOric v1.2 est disponible</title>
                        <link>https://ceo.oric.org/community/cross-developpement/gloric-v1-2-est-disponible/#post-348</link>
                        <pubDate>Mon, 08 Jun 2020 13:44:03 +0000</pubDate>
                        <description><![CDATA[@jibe
Est-ce que tes variables comme _zbuffer, _fbuffer, doivent être obligatoirement être déclarées dans glOric ou est-ce qu&#039;elles peuvent être déclarées dans le programme qui utilise glOr...]]></description>
                        <content:encoded><![CDATA[<p>@jibe</p>
<p>Est-ce que tes variables comme _zbuffer, _fbuffer, doivent être obligatoirement être déclarées dans glOric ou est-ce qu'elles peuvent être déclarées dans le programme qui utilise glOric?</p>
<p>Tu peux tout à fait utiliser un -D en ligne de commande pour définir les valeurs de SCREEN_HEIGTH et SCREEN_WIDTH.</p>
<p>Je ne comprends pas ce que tu entends par</p>
<blockquote data-userid="58" data-postid="347" data-mention="jibe">
<div class="wpforo-post-quote-author"><strong> Posté par: @jibe </strong></div>
<p>Je cherche un moyen de pouvoir switcher facilement d'une version à l'autre d'une fonction (du C vers l'ASM ou de l'ASM vers le C) sans avoir à mettre en commentaire / décommenté la version que je n'utilise pas.</p>
</blockquote>
<p>Est-ce que tu as des fonctions qui ont le même nom mais qui sont définies en C et en ASM dans le même fichier?</p>
<p> </p>
<p>L'astuce avec #iflused permet de n'inclure que les fonctions qui sont appelées par le programme.</p>
<p>Par exemple, si dans le programme il y a:</p>
<pre>jsr fonctionxxx<br />jsr fonctionyyy</pre>
<p>et dans glOric:</p>
<pre>#iflused fonctionxxx<br />fonctionxxx:<br />        lda #$10<br />        ...<br />        rts<br />#endif<br /><br />#iflused fonctionyyy<br />fonctionyyy:<br />       lda #$11<br />       ...<br />       rts<br />#endif<br /><br />#iflused fonctionzzz<br />fonctionzzz:<br />       lda #$11<br />       ...<br />       rts<br />#endif</pre>
<p>Lors de l'assemblage, xa ajoutera le code de <strong>fonctionxxx</strong> et <strong>fonctionyyy</strong> mais pas celui de <strong>fonctionzzz</strong></p>
<p> </p>]]></content:encoded>
						                            <category domain="https://ceo.oric.org/community/cross-developpement/">Cross Developpement</category>                        <dc:creator>assinie</dc:creator>
                        <guid isPermaLink="true">https://ceo.oric.org/community/cross-developpement/gloric-v1-2-est-disponible/#post-348</guid>
                    </item>
				                    <item>
                        <title>RE: glOric v1.2 est disponible</title>
                        <link>https://ceo.oric.org/community/cross-developpement/gloric-v1-2-est-disponible/#post-347</link>
                        <pubDate>Mon, 08 Jun 2020 12:23:26 +0000</pubDate>
                        <description><![CDATA[coucou @assinie
Merci pour ta réponse
En regardant la doc de ld65, je constate qu&#039;effectivement il y a une option -D sym=value, --define sym=value
Je ne m&#039;attendais pas à trouver ce genre...]]></description>
                        <content:encoded><![CDATA[<p>coucou @assinie</p>
<p>Merci pour ta réponse</p>
<p>En regardant la doc de ld65, je constate qu'effectivement il y a une option <strong><code>-D sym=value, --define sym=value</code></strong></p>
<p>Je ne m'attendais pas à trouver ce genre d'option au moment du link car cela relève généralement du préprocesseur. Il y a des quelques explications ici:</p>
<p>https://cc65.github.io/doc/ld65.html#SYMBOLS</p>
<p>Sur gl65, j'ai mis un fichier <a href="https://github.com/jbperin/gl65/blob/develop/src/atmos/oric.cfg" target="true">oric.cfg</a> que j'ai récupéré du jeu d'échec qu'a porté ISS.</p>
<p>Et dans le fichier plateforme <a href="https://github.com/jbperin/gl65/blob/develop/src/atmos/platOric.s" target="true">platOric.s</a>, il est fait recours à des constantes définies dans le fichier de config.</p>
<p>Il me semble que c'est justement le principe qu'évoque Jede et je dois reconnaître que je ne connais pas bien ces aspects là .. j'ai repompé ce qu'a filé ISS.</p>
<p>Mais du coup je comprends un peu mieux maintenant comment fonctionne ce passage de paramètre au link.</p>
<p>Mais il reste à savoir s'il est possible d'utiliser ce genre d'astuce pour dimensionner un tableau en mémoire.</p>
<p> </p>
<div style="color: #333333;background-color: #fdf6e3;font-weight: normal;font-size: 14px;line-height: 19px">
<div><span style="color: #333333">_fbuffer</span><span style="color: #859900">:</span></div>
<div><span style="color: #333333">    </span><span style="color: #93a1a1">.res</span><span style="color: #333333">    </span><span style="color: #d33682">1040</span><span style="color: #333333">,</span><span style="color: #d33682">$00</span></div>
<div><span style="color: #333333">_zbuffer</span><span style="color: #859900">:</span></div>
<div><span style="color: #333333">    </span><span style="color: #93a1a1">.res</span><span style="color: #333333">    </span><span style="color: #d33682">1040</span><span style="color: #333333">,</span><span style="color: #d33682">$00</span></div>
</div>
<p>NB: je réalise que j'ai codé en dur la taille comme un gros porc ..</p>
<p>Mais l'idée c'est de remplacer le 1040 par SCREEN_HEIGTH*SCREEN_WIDTH en ayant ces deux valeurs définies soit par un -D au moment du link .. soit par édition du fichier .cfg</p>
<p>Je dois pouvoir faire l'essai moi même, je te tiendrai au courant.</p>
<p>Concernant la solution pour le switch entre les versions C et ASM, je ne suis pas certain de  bien comprendre.</p>
<p>Actuellement, ce que j'ai sur glOric que je compile avec OSDK, c'est que j'ai les deux versions C et ASM dans le code source. Et j'utilise des macro #define pour embarquer ou pas le code de la version C ou ASM.</p>
<p>Je cherche un moyen de pouvoir switcher facilement d'une version à l'autre d'une fonction (du C vers l'ASM ou de l'ASM vers le C) sans avoir à mettre en commentaire / décommenté la version que je n'utilise pas.</p>
<p>C'est pour pouvoir disposer des deux versions dans le code source, sans pour autant qu'il y ait d'erreur disant "symbol redifined"</p>]]></content:encoded>
						                            <category domain="https://ceo.oric.org/community/cross-developpement/">Cross Developpement</category>                        <dc:creator>JiBe</dc:creator>
                        <guid isPermaLink="true">https://ceo.oric.org/community/cross-developpement/gloric-v1-2-est-disponible/#post-347</guid>
                    </item>
				                    <item>
                        <title>RE: glOric v1.2 est disponible</title>
                        <link>https://ceo.oric.org/community/cross-developpement/gloric-v1-2-est-disponible/#post-346</link>
                        <pubDate>Mon, 08 Jun 2020 12:19:44 +0000</pubDate>
                        <description><![CDATA[Autre chose, tu peux simuler en partie une librairie avec xa.
Au lieu de mettre dans le programme principal des instructions:
#define USE_ASM_FUNCTIONxxx
et d&#039;encadrer tes fonctions par:...]]></description>
                        <content:encoded><![CDATA[<p>Autre chose, tu peux simuler en partie une librairie avec xa.</p>
<p>Au lieu de mettre dans le programme principal des instructions:</p>
<pre>#define USE_ASM_FUNCTIONxxx</pre>
<p>et d'encadrer tes fonctions par:</p>
<pre>#ifdef USE_ASM_FUNCTIONxxx<br />...<br />#endif</pre>
<p>il suffit d'encadrer tes fonctions par:</p>
<pre>#iflused functionxxx<br />....<br />#endif</pre>
<p>ensuite tu ajoutes un include des sources glOric.</p>
<p>Au moment de l'assemblage, xa ajoutera automatiquement les fonctions utillisées dans ton programme</p>
<p>C'est ce que j'utilise avec ma librairie pour le ch376: <a href="https://github.com/assinie/oric-ch376/blob/master/asm/lib/CH376.s" target="true">ch376</a></p>
<p>Un exemple d'utilisation: <a href="https://github.com/assinie/oric-ch376/blob/master/asm/cd/CD.a65" target="true">cd</a></p>
<p>L'include de la librairie est à la fin du programme d'exemple.</p>]]></content:encoded>
						                            <category domain="https://ceo.oric.org/community/cross-developpement/">Cross Developpement</category>                        <dc:creator>assinie</dc:creator>
                        <guid isPermaLink="true">https://ceo.oric.org/community/cross-developpement/gloric-v1-2-est-disponible/#post-346</guid>
                    </item>
							        </channel>
        </rss>
		