Logicielsmoto.com http://www.logicielsmoto.com/phpBB/ |
|
Debut en asm sur TO8 http://www.logicielsmoto.com/phpBB/viewtopic.php?f=3&t=571 |
Page 4 sur 19 |
Auteur: | adnz [ 13 Jan 2020, 10:40 ] |
Sujet du message: | Re: Debut en asm sur TO8 |
ok c'est bon En faite même avec le message le "Binary Not Linear" à la compilation ça marche. (sur DCMOTO) |
Auteur: | adnz [ 13 Jan 2020, 12:27 ] |
Sujet du message: | Re: Debut en asm sur TO8 |
J'ai capté vers quel endroit ça plante sur un vrai TO8, car le programme se lance, execute le début des lignes puis plante . Execution sur le vrai TO8 : 0 -ORG $8000 1 - une definition de toutes les palettes à un bleu. (ça je le vois car l'écran est bien le bleu que j'ai mis) 2 - JOYS EQU $E827 3 - ECRAN SET $0000 4 - Passage en mode 160x200x16c (#$7B -> $E7DC) jusque là ça marche car quant le bug apparait, je vois des pixels jaunes du bug en mode 160x200 !!!! jusque là sûr ça marche je crois. puis après j'ai : 5 - Initialisation de la routine de commutation de page video (j'ai vu qu'on faisait comme cela !) Code: LDB $6081 ORB #$10 STB $6081 STB $E7E7 CLR $616D 6 - init de la couleur de bordure (#$00 -> $E7DD) 7 - Definition de la palette de bonnes couleurs etc... donc ça dois planter vers 5 - 6 - 7 ! je vais faire plusieurs .bin en rajoutant chaque bloc de code pour voir ! |
Auteur: | Samuel Devulder [ 13 Jan 2020, 14:15 ] |
Sujet du message: | Re: Debut en asm sur TO8 |
Un conseil: comme tu ne rends pas la main au basic, au tout début de ton programme, fais un "LDS #$8000", histoire d'être sur que la pile ne vient pas écraser ton programme. |
Auteur: | adnz [ 13 Jan 2020, 14:19 ] |
Sujet du message: | Re: Debut en asm sur TO8 |
YES HA HA !! vrai TO8 Bon en faite j'ai viré la partie routine de commutation de page video ! je pensais que c'été obligatoire puis je fais même pas de CLEAR ! direct loadm"pro.bin":exec&h8000 |
Auteur: | adnz [ 13 Jan 2020, 14:35 ] |
Sujet du message: | Re: Debut en asm sur TO8 |
Pour dire c'était des fous furieux avant ma parole, pour faire les jeux et les démos ! pas de kit de développement, juste avec la cartouche d'assembleur et aller hop ! chapô moi j'dis. |
Auteur: | Samuel Devulder [ 13 Jan 2020, 15:16 ] |
Sujet du message: | Re: Debut en asm sur TO8 |
Pourquoi avant? On est toujours fous furieux de faire des trucs neufs sur ces machins complètements désuets que sont les Thomsons. Bravo en tout cas pour le fonctionnement sur la vraie machine! |
Auteur: | adnz [ 13 Jan 2020, 15:31 ] |
Sujet du message: | Re: Debut en asm sur TO8 |
merci, non mais moi dans mon style je suis déjà un furieux, mais si "vous" étiez pas là, j'aurais mis perpètre pour faire ça tout seul PS : En tous les cas, si y'a des choses qui bouge coté Thomson, j'offre mon savoir faire (graphisme 2d/3d ou music) pour y participer sans problème ! j'aimerais bien côtoyer des personnes qui ont le même kiff. merci à tous... et je continu, aller hop à la suite. |
Auteur: | adnz [ 15 Jan 2020, 04:19 ] |
Sujet du message: | Re: Debut en asm sur TO8 |
j'ai besoin de faire varier le premier argument de LEAX LEAX (-40*45),X je fais comme ça pour que D soit une valeur negative ? Code: PSHS A,B,CC
LDA #40 LDB #45 MUL PULS A,B,CC LEAX D,X- ; ici c'est pareil que LEAX (-40*45),X ?? |
Auteur: | Samuel Devulder [ 15 Jan 2020, 08:39 ] |
Sujet du message: | Re: Debut en asm sur TO8 |
Oulà non pas du tout. Déjà le PULS juste avant le LEAX restore D, ce qui veut dire que le calcul entre le PSHS et PULS est perdu dans la nature. Ensuite le mode d'adressage "D,X-" n'existe pas. Si tu veux une sorte de NEGD (D=-D), il faut faire: Code: NEGA Mais tout ca c'est compliqué. Pourquoi ne fais tu pas simplement "LEAX -40*45,X" ?
NEGB SBCA #0 |
Auteur: | adnz [ 15 Jan 2020, 13:53 ] |
Sujet du message: | Re: Debut en asm sur TO8 |
LEAX -40*45,X car dans la partie remonte_decale je voulais faire varier le -40*45, le 45 est la hauteur du sprite et en fonction du sprite bah, il varie sinon je dois faire autant de routine que de different hauteur de sprite. |
Auteur: | adnz [ 15 Jan 2020, 14:36 ] |
Sujet du message: | Re: Debut en asm sur TO8 |
ou alors, je fais une MACRO de répétition, genre répète n fois LEAX 1,X comme ça je fais répéter le nombre de fois que je veux |
Auteur: | Samuel Devulder [ 15 Jan 2020, 14:41 ] |
Sujet du message: | Re: Debut en asm sur TO8 |
Ben tu utilises le code que j'indiquais Code: nega qui te permet de calculer "negD" (D=-D) juste avant le LEAX. Bref tu fait ton mul normalement, puis calcul D=(-D), puis LEAX D,X.negb sbca #0 Code: ; supposons que B contienne la hauteur Tu peux aussi utiliser la pile pour faire un SUBD à la valeur de X:LDA #40 MUL NEGA NEGB SBCA #0 LEAX D,X Code: ; supposons que B contienne la hauteur LDA #40 MUL STD ,--S TFR X,D SUBD ,S++ TFR D,X Après, comme tes sprites ont une hauteur propre spécifique à chacun, tu peux aussi stocker à coté des images pour chaque sprite, le décalage en mémoire vidéo associé sous forme d'une constante propre à chaque sprite. Ensuite ben quand tu dois remonter pour ce sprite, tu récupères cette constante, l'ajoute dans X, et bim! tu as remonté de la bonne quantité sans aucun calcul complexe. |
Auteur: | adnz [ 15 Jan 2020, 14:46 ] |
Sujet du message: | Re: Debut en asm sur TO8 |
ok je vois, je peux utiliser D au lieu de A ou B ? car A et B sont déja utilisé dans la routine, c'est pour ça que j'ai essayé d'utiliser PSHS A,B et PULS A,B pour récupérer mon A et B pour que la routine continu mais l'idée de mettre la valeur dans les datas du sprite me semble plus rapide pour l'execution. ok je vais étudier ça. meci |
Auteur: | adnz [ 15 Jan 2020, 16:00 ] |
Sujet du message: | Re: Debut en asm sur TO8 |
bon finalement j'ai fais comme ça : Code: LDA #45 * hauteur sprite
STA sprite_height * stock hauteur sprite ... PSHS A,B LDA #40 LDB sprite_height MUL NEGA NEGB SBCA #0 LEAX D,X PULS A,B |
Auteur: | Samuel Devulder [ 15 Jan 2020, 16:12 ] |
Sujet du message: | Re: Debut en asm sur TO8 |
adnz a écrit: je peux utiliser D au lieu de A ou B ? Heuu non. D n'est pas un registre indépendant, c'est la réunion des deux registres 8 bits A et B pour en faire un registre 16bits. |
Page 4 sur 19 | Heures au format UTC + 1 heure |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |