J'oubliais: pas de version ti92plus ni v200 pour l'instant, mais il y a peut etre une chance que ca tourne sous titanium.
Pour que tes redirections d'interruptions fonctionnent sur titanium, il faut désactiver la protection de la mémoire basse, je crois qu'il faut faire un bclr.b #2,$600001 (puis un bset après), mais je ne suis pas sûr des valeurs.

« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas
. »
1) 80x50
2) oui, mais ce n'est pas ma priorite pour l'instant.
3) effectivement la resolution est fixe (et mon format de donnee impose qu'elle le soit), mais tu peux modifier les differents parametres de la camera en triturant les constantes de mode7.h. Mais les valeurs sont choisies pour que la portion de map affichee puisse etre vue le + loin possible, et si tu essayes par exemple de remonter la camera, l'affichage bugera a l'horizon puisque le moteur tentera de faire le rendu d'une portion de la map qui n'a meme pas encore ete calculé. Le rendu se fait un peu a la maniere du TileMap engine de Sasume apres tout: Une portion du circuit (un peu plus grande que ce qui devra etre vu a l'ecran pour une frame donnee) est d'abord grossierement précalculée, puis le rendu de cette portion est effectuee jusqu'a ce que la camera aie parourue 32 unites de deplacement, auquel cas on recalcule une nouvelle portion de map. Je pourrais tres bien augmenter la taille de la portion précalculée pour le rendu (pour pouvoir augmenter la visibilité a l'horizon donc), mais je n'ai pas assez de Ram pour le faire.
Ouais moi pour la map en fait je charge tous les tiles que j'ai besoin une seule fois et la carte est en fait un tableau de pointeurs sur les tiles correspondant donc je peut voir toute la carte d'un coup.
Je ne comprend pas pourquoi tu n'as pas assez de ram car moi ce qui prend de la place c'est que je charge les tiles en prenant un char pour un pixel dans un plan (comme ça j'ai pas de masque a faire pour recupere l'information) et donc ca multiplie par huit la taille des tiles, sinon mon moteur seul ne prend pas plus de 15ko (je pense).
Tu ne pourrais pas faire comme ça pour y voir plus loin ?
Pour pouvoir gérer des maps enormes commes les circuits de mario kart sur snes qui font 128x128 tiles, je suis obligé de procéder comme je le fais, en calculant la map par petits morceaux pendant le rendu. Chaque morceau doit pouvoir tenir dans un buffer prévu pour 256 pixels en largeur (ce qui m'économise quelques cyles par pixels dans la fonction mode7_display), donc la visibilité dépend finalement de la hauteur du buffer en nombre de pixels. Elle doit etre multiple de 32, donc 224 est la plus grande valeur possible pour que je puisse allouer le buffer (1 pixel en niveau de gris occupe 1 octet, on doit donc allouer 256x224 = 57344 octets). J'avais pensé a utiliser un hack pour pouvoir allouer + de 64ko, mais pour que la visibilité soit vraiment plus gande, il faudrait en fait beaucoup plus que 224 pixels, et je n'ai au final as assez de ram (j'utilise aussi beaucoup de ram pour decompresser le circuit, et précalculer le nécessaire pour que le rendu soit rapide).
Ok alors , c'est vraiment trop gore de pouvoir augmenter la vision...
Dommage mais ça reste excellent quand même!
Il y a surement une méthode a laquelle je n'ai pas pensé pour cette histoire de visibilité, puisque le mode 7 de Pollux n'a pas ce probleme. Mais je crois que son algo de rendu est sensiblement différent du mien, il faudrait que je regarde ses sources plus en détail.
Dechire le mode 7, tu pense mettre des enemies?
si vous trouvez des bugs dans tetris ou minicave n'hesitez pas a les reporter dans ce topic (ils seront releases en version finale d'ici la fin de la semaine et je n'y toucherai plus apres)
Autre chose, quelqu'un pourrait m'expliquer les warnings du linker que j'obtiens systematiquement a la compilation de mode7, meme avec la derniere version de Tigcc? ("Impossible section arrangement rejeted at recursion depth 2/3/5/6/7/8")
sinon Kevin, les addressages du type x-y(an) avec x et y des labels exportes depuis un autre .o provoquent une "Relocatability error" (ou alors je m'y prend mal).
Pour le warning, je pense que tigcc doit tenter de réarranger les sections pour gagner quelques octets sur les branchements et que dans ton cas ça échoue. En décochant "reorder sections" dans les options du projet ça ne devrait plus le faire si mon hypothèse est la bonne.

Que cache le pays des Dieux ? -
Forum Ghibli -
Forum LittéraireLa fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.
Bon Nerick pour plus que tu soit degouter de la vie, je reply sur ton topic.
Mais alors seulement pour te faire plaisir.
"Je vous emmerde et je rentre à ma maison"
E. Cartman
alk Le 08/10/2004 à 00:56 Alors la nerick tu me decois.
Quand on t'envois un binaire, ce n'est pas pour que tu le desassembles pour ensuite pretendre l'avoir ecrit.
Faire un tuto en sous entendent que les idées viennent de toi, me font pensé que tu ne dois pas en avoir.
Reprendre les algos en remplacant deux add.w dx,dx par un lsl.w #2,dx n'est pas une grande inovation(gain 0), j'avais laissé ca en pensant qu'avec un pipeline ce serais plus rapide.
Mais ta version date, et il est possible d'augmenter la visibilité et la rapidité du moteur.
Ne prends pas le travail des autres, je n'ai pas lu dans ton read me,d'apres le moteur d'alexis benoit ou plagia du moteur d'alexis.
Tu me donnes envie de le finir rapidement, pour te montrer ce que l'on peu réellement faire.
Tu pompes meme tout le format du buffer et des sprites pour lesquels j'avais longtemps travaillé.
Jamais tu ne cites tes sources, trouve toi un proj, ne t'appropries pas le travail des autres.