1

Slt,
voilà j'ai remarqué qu'à partir d'une certaine taille (environ 10 000 octets), des bugs "bizarres" apparaissent dans les programmes Asm. Par exemple, je tape:

ld a,(Valeur)
ld h,0
ld l,a
ROM_CALL(D_HL_DECI) ; affiche la valeur de hl en décimal
call Pause ; attend qu'une touche soit enfoncée
ret


Valeur:
.db 48


La calc me renvoie bien 48, sauf quand je rajoute des trucs qui n'ont rien à voir avec ça à la fin du prog (dans ce cas, elle renvoie 0)...
J'arrête pas d'avoir ce genre de bugs pourris depuis un certain tps mourn

Est-ce que qq'1 à déjà rencontré ce genre de prob? J'ai lu qq part qu'en principe un prog asm ne pouvais pas dépasser une certaine taille, mais je sais plus où...

2

Je dirais même à partir de 8 ko environ... En effet, ce problème est connu. Il paraît que c'est une limitation introduite par TI pour je ne sais quelle raison... L'information précise doit se trouver facilement sur le web anglophone.

3

AArrgh! En effet Je viens de vérifier sur des sites anglophones et tout le monde dit la même chose... Un jeu ne peut pas dépasser 8ko!
Je comprends vraiment pas pk TI a fait cette limitation... APrès tout les jeux asm ça leur fait de la pub, en tout cas c'est ce qui m'a convaincu d'acheter une ti et pas une casio...

4

C'est bizard, j'ai déjà vu des jeux en ASM comme Desolate, qui prennent toute la ram. Il doit y'avoir un moyen de contourner ce problème.

5

En effet, il y a un moyen de contourner les problème, mais je ne le connais pas personnellement.

6

Bon, alors je crois que ce serait temps pour vous d'apprendre l'anglais et d'aller sur les tutoriels anglais, qui expliquent ce problème.

Le programme commence à $9D95. TI a ajouté une protection empêchant le program counter (PC) de dépasser $BFFF, ce qui laisse donc exactement 8811 bytes pour le programme. Le code doit donc être dans cette limite. Le reste (données, cartes, variables,etc) peut être stocké n'importe où dans le RAM ($0000-$FFFF). Il est donc possible de faire un programme de 24000 bytes, à condition que les 15189 derniers bytes soient des données et non du code. Pour qu'un programme puisse avoir plus de 8811 bytes de code, il faut stocker le code comme si c'était des données, puis le copier à des endroits de mémoires vide (AppBackUpScreen, PlotSScreen, SaveSScreen et autres grand emplacements) pour ensuite l'exécuter.

7

Bon, alors je crois que ce serait temps pour vous d'apprendre l'anglais et d'aller sur les tutoriels anglais, qui expliquent ce problème.


On connait l'anglais, et c'est pas parce que tu sait dans quel tuto on parle de ce problème que tu peut dire ça (le problème c'était surtout de savoir où trouver la réponse à ça, pas d'apprendre l'anglais roll).

8

Merci Fallen Ghost! smile

9

Merci Deeph ! wink

10

trifus

11

Pour ta remarque sur l'anglais...


On a beau comprendre les tutoriels, on ne va pas faire des recherches approfondies à chaque question pour faire le travail des autres... wink

12

Ah ok, parce que là je voyais pas vraiment comment j'aurai aider (je démarre en ASM donc bon...).

13

Bah, je veux dire, allez sur TiCalc.org ou n'importe quel autre forum anglais, le premier tutoriel qu'ils vous envoient voir est Learn Assembly in 28 days, de Sean McLaughlin, qui contient cette info à la page du jour #13, au bas de la page. On tient pour compte que les gens lisent les tutoriels au complet. Dommages qu'ils ne soient pas en français, ça aurait été beaucoup plus simple. Mais les traductions laissent parfois sérieusement à désirer...

Mais bref, c'est pas grave, tant que l'on peut obtenir une réponse à nos questions.

14

J'en profite pour dire que je vais m'y remettre, à la traduction de ce tutoriel, d'ailleurs... Dès ce week-end (sortie prévue, disons vers la fin des vacances d'été...)

15

joe14, si tu veux, je peux traduire un ou deux jours (ce serait ça de fait)

16

Cool, pour l'instant j'ai jamais vu de traduction en Français de ce tuto.

17

joe14, si tu veux, je peux traduire un ou deux jours (ce serait ça de fait)


Si tu veux. Mais pas les 1,2 et 3.

18

ok je vais voir ce que je peux faire

19

En fait, je pense que c'est pas la peine de te faire chier avec ça. En effet, il me semble qu'il est plus important pour la communauté TI que les programmeurs actifs ne se détournent pas trop de la programmation... De plus, si tu traduis des leçons, il faudra de toutes façons que je les relise pour qu'elles adoptent le même ton que les miennes, donc, ce ne sera pas un si grand gain de temps. Personnellement, je fais une grosse (et définitive ?) pause dans le développement de programmes TI. Je suis donc dispo pour la traduction (si on met de côtés les milliers d'autres activités que j'ai à faire), d'autant que cela me fer faire de l'anglais, ce qui n'est pas mal...

Donc, je pense qu'il vaut mieux que tu te concentres sur la programmation, c'est contre-productif de réaliser trop de projets à la fois.