25Fermer27
ContraLe 14/06/2011 à 22:52
A deeph :
Donc tu vas être limité à ~8ko si mes souvenirs sont bon... Donc si jamais tu veux aller au delà je te conseil Ion, qui permettra d'avoir la compatibilité 83/83+.


Je n'utilise pas de shell et et mon code est squishé (2 fois plus long et 2 fois plus gros). Je pense utiliser Ion mais une fois le jeu fini seulement.
Ensuite si j'ai bien compris tu ne te sert de la matrice que pour l'algo de détection de victoire ? Si c'est le cas c'est assez dommage puisque l'utiliser pour tout (l'affichage notamment) ça optimiserait pas mal...


J'utilise la matrice pour tester si une case est prise et pour l'algo de fin. Je ne vois pas ce que cela pourrait optimiser si je l'utilisais pour l'affichage car je mets à jours qu'une case à la fois et je n'ai pas besoin de mémoire pour cela.

Je suis quasi persuadé qu'une enorme partie de mes push pop sont inutiles puisque je fais bien attention à ne pas utiliser des registres dont le contenu est incertain mais pour l'instant je préfère ne pas prendre de risque et tout sauver quitte à enlever ça progressivement.
Dans ce le jeu, il n'y a pas de problème de vitesse, c'est bien assez rapide et le restera quoi que je fasse. Le probleme c'est eventuellement la place (donc utiliser Ion pour avoir un code 2 fois plus petit) et optimiser donc le code mais pour gagner de la place.

A chickendude : Je ne connaissais pas dec (hl) merci ça va simplifier pas mal de trucs.

J'ai remarqué que :
ld ix, tube_test
and (ix)

ne se comporte pas comme :
and (tube_test)

Savez vous pourquoi ?

Pourquoi utilises-tu des variables 16-bit ? Je crois qu'il serait plus efficace (et plus facile) d'utiliser des variables 8-bit.


Bah generalement je n'utilise pas de variables 16bits si ce n'est pas utile, quelles sont celles dont tu parles?
ld (hl),$C9 ;je crois que C9 = ret. Quand on arrive ici, nous mettons $C9 (le valeur hex de "ret") au octet préalable.


Je confirme C9 = ret
Merci pour tous ces conseils smile

Je connais les registres cachés tongue pourrais tu cependant me donner un exemple d'utilisation.
Je dois faire 2 exx un avant pour echanger et un après pour remettre en place il me semble.

Merci beaucoup pour tout, je continue à travailler un peu sur ce projet, je pense qu'il sera releasé dans quelques semaines maxi (enfin j'espère).

Chickendude : je veux bien ta version modifiée, j'ai pas trop le temps ce soir on en reparle dans quelques jours si possible.