Logicielsmoto.com http://www.logicielsmoto.com/phpBB/ |
|
Debut en asm sur TO8 http://www.logicielsmoto.com/phpBB/viewtopic.php?f=3&t=571 |
Page 8 sur 19 |
Auteur: | adnz [ 20 Jan 2020, 05:57 ] |
Sujet du message: | Re: Debut en asm sur TO8 |
bon finalement ça marche, j'ai remplacer mes LDU #player_r_anim par JSR setanimplayerstart maintenant j'arrive à choisir quel anim en fonction de ma valeur player_set_num (0,1,2,3), mis a jour avec le joystick (0,1,2,3) Code: setanimplayerstart * set player what anim LDA player_set_num CMPA #0 BEQ p_set_anim_r CMPA #1 BEQ p_set_anim_l CMPA #2 BEQ p_set_anim_t CMPA #3 BEQ p_set_anim_b p_set_anim_l LDX #player_l_anim STX player_anim LDU player_anim RTS p_set_anim_t LDX #player_t_anim STX player_anim LDU player_anim RTS p_set_anim_b LDX #player_b_anim STX player_anim LDU player_anim RTS p_set_anim_r LDX #player_r_anim STX player_anim LDU player_anim RTS setanimplayerend |
Auteur: | Samuel Devulder [ 20 Jan 2020, 12:42 ] |
Sujet du message: | Re: Debut en asm sur TO8 |
adnz a écrit: à ce que je comprend, SET permet de redefinir quelque chose mais il est perdu dès que y'a un saut. donc SET s'utilise mais dans une succession de ligne de code sans coupure ? Non. SET est une directive d'assemblage qui concerne l'assembleur, pas le processeur. Citation: j'ai l'impression que mon soucis c'est la compréhension de "au cours de l'assemblage". L'assemblage est la phase de compilation, c'est à dire la traduction des instructions machines en code binaire machine. Cette traduction utilise des LABEL qui seront remplacée par leur valeur numérique dans le binaire machine. Le SET est juste une des façon d'assigner une valeur à un LABEL. Ca concerne le processus de traduction du code en binaire, mais dans le binaire il n'y a aucune trace des labels. Juste des codes haxadécimaux. |
Auteur: | adnz [ 20 Jan 2020, 12:56 ] |
Sujet du message: | Re: Debut en asm sur TO8 |
oui en effet, j'ai bien compris ça, ce matin du coup j'ai fais autrement finalement, et ça marche. merci. |
Auteur: | adnz [ 29 Jan 2020, 17:41 ] |
Sujet du message: | Re: Debut en asm sur TO8 |
salut, quant je build avec cela dans mon code : Code: ******************* (main)pac_1_9.ASS ORG $7300 |... MON PROGRAMME ICI.... |... includ PACFCB1.ASS END ******************* (include)PACFCB1.ASS big_pac_1 FCB $ff,$ff,$ff,$ff,$ff,$ff,$f2,$f5 FCB $f6,$f6,$26,$56,$56,$66,$66,$66 etc.. 1 - mon code s'implante donc à partir de $7300 2 - et les includes (les FCB...), s'implantent à la suite ? cad à partir de la fin du programme (après le END)? 3 - donc je dois faire gaffe de pas dépasser $9FFF ? |
Auteur: | adnz [ 30 Jan 2020, 00:39 ] |
Sujet du message: | Re: Debut en asm sur TO8 |
ha bah oui, je le vois dans le fichier codes.lst 7300 --> 9FAC les graphismes que j'ai mis dans les FCB bouffe pratiquement la place ! faut que je trouve un moyen de les stocker autrement ! ou ailleurs ! |
Auteur: | adnz [ 30 Jan 2020, 05:46 ] |
Sujet du message: | Re: Debut en asm sur TO8 |
Y'a un truc à faire de spécifique pour executer un code implanté à partir de $A000 au lieu d'implanter en espace non commutable $7300 ?? j'ai mis ORG $A000 ! et je charge ici : BANK4 : EXEC&HA000 (ça s'execute pas comme quant je l'implante en $7300 !!) EXEC&HA000 : ça change de mode graphique puis ça revient au basic (en restant en mode 160x200 avec les barres ! ) |
Auteur: | Samuel Devulder [ 30 Jan 2020, 08:31 ] |
Sujet du message: | Re: Debut en asm sur TO8 |
Il faut faire le BANK4 avant le LOADM, sinon tu charges dans une banque indéfinie, et execute dans la banque 4 qui contient tout sauf le programme chargé. Tu aura aussi un problème si tu as programmé l'écran pour apparaître en $A000 dans ton exe. |
Auteur: | adnz [ 30 Jan 2020, 13:30 ] |
Sujet du message: | Re: Debut en asm sur TO8 |
oui c'est ce que je fais ! 1 - je rentre dans le basic 512 donc DCMOTO dans le basic ... 2 - dans le debugger de DCMOTO : je load le .BIN a partir de $A000 dans Ram paginée 5 3 - je quit le debug, et dans le basic je fais : BANK4:EXEC &HA000 (oui BANK 4 car y'a un décalage de -1 entre le debugger DCMOTO et le basic, j'ai verifié les valeurs mis en memoire avec des PEEK) Citation: programmé l'écran pour apparaître en $A000 dans ton exe mon swap ecran il est sur $0000-$2000 |
Auteur: | Samuel Devulder [ 30 Jan 2020, 15:26 ] |
Sujet du message: | Re: Debut en asm sur TO8 |
je connais pas trop la manip de DCMOTO, mais est-ce que quand tu charges en $A000 ca charge dans la bank sélectionnée par le basic ou dans une bank à préciser dans l'interface utilisateur? A la limite, ce que tu peux faire en étant sous émulateur c'est mettre un point d’arrêt en $A000 et voirt si tu y retrouves ton programmes, puis l’exécuter pas à pas pour voir ce qui fait que tu revienne rapidement au basic au lieu de rester dans le programme. |
Auteur: | adnz [ 30 Jan 2020, 15:38 ] |
Sujet du message: | Re: Debut en asm sur TO8 |
oui je vois bien que le prog est bien en A000 dans la bonne BANK. ha oui ! ok je vais tester pas à pas pour voir ! |
Auteur: | adnz [ 30 Jan 2020, 17:35 ] |
Sujet du message: | Re: Debut en asm sur TO8 |
ok ! dans mon code un moment,je swap la bank pour aller chercher le sample audio ! (NOBANK c'est BMIN qui est EQU à 3) LDA NOBANK * choix de la bank STA $E7E5 * commute la bank je vois bien dans le debugger que la ram paginée passe à 3 juste à ce moment là! -Donc du coup en faite vu que je reviens pas sur la bank 4 là où j'ai mon programme en memoire, ba ça continu pas ! - Quant j'enlève le son et son swap bank, l'execution à partir de $A000 fonctionne bien, donc c'est bien ça ! merci |
Auteur: | adnz [ 30 Jan 2020, 19:53 ] |
Sujet du message: | Re: Debut en asm sur TO8 |
lol trop c.. j'execute un programme en bank 4 en $a000 puis en plein programme je swap de bank pour essayer d'executer la suite, mais lol, si je swap, mon programme il est plus là donc il faut que mon programme source tourne en ram non commutable obligé. |
Auteur: | Samuel Devulder [ 30 Jan 2020, 22:23 ] |
Sujet du message: | Re: Debut en asm sur TO8 |
Oui, il te faut impérativement mettre les routines qui vont chercher des trucs en banque dans la partie non commutable. Pas forcément tout le moteur du jeu, mais les routines qui sont susceptible d'être appelées alors que la bank est commutée. |
Auteur: | adnz [ 30 Jan 2020, 22:31 ] |
Sujet du message: | Re: Debut en asm sur TO8 |
oui c'est ce que je viens de comprendre |
Auteur: | adnz [ 03 Fév 2020, 18:07 ] |
Sujet du message: | Re: Debut en asm sur TO8 |
Comment on faisait déjà pour mettre la valeur qui est dans l'adresse dans Y je voudrais faire genre si dans Y j'ai $B000: LDA Y j'me melange un peu les pinceaux là merci. |
Page 8 sur 19 | Heures au format UTC + 1 heure |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |