Logicielsmoto.com

Nous sommes le 28 Mar 2024, 19:05

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 11 messages ] 
Auteur Message
MessagePosté: 07 Jan 2020, 03:06 
Hors ligne

Inscription: 06 Avr 2010, 01:59
Messages: 478
Bonjour,
Je n'arrive pas à faire un BEQ avec un RTS !

Code:
LDA   $e7cc
cmpa  #247
BEQ   joy_right


ça fait un syntax error in 10 et ça reviens au basic !

_________________
Image


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 07 Jan 2020, 04:29 
Hors ligne

Inscription: 06 Avr 2010, 01:59
Messages: 478
bon finalement j'ai fais des BRA au label suivant , que j'ai rajouté pour continuer le programme !

_________________
Image


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 07 Jan 2020, 17:54 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
"BEQ avec un RTS".. oula.. je ne comprends pas ce que tu veux dire. Peux tu être plus explicite?

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 07 Jan 2020, 22:08 
Hors ligne

Inscription: 06 Avr 2010, 01:59
Messages: 478
non mais je voulais faire un compa puis si a = 247 alors aller à une "sub routine puis revenir" ! mais pas réussi, alors j'ai fais comme ça.

j'optimiserais après.

dans mainloop j'ai :

puis je stock la position de mon sprite comme ça pour le récupérer quant j'en ai besoin..

sprx EQU $7000 * position sprite x
spry EQU $7001 * position sprite y

Code:
mainloop

        * affiche sprite etc....

        *TEST_JOYSTICK_1
jr      LDA   $e7cc
        cmpa  #247
        BEQ   joy_right
jl      LDA   $e7cc
        cmpa  #251
        BEQ   joy_left
jt      LDA   $e7cc
        cmpa  #254
        BEQ   joy_top
jb      LDA   $e7cc
        cmpa  #253
        LBEQ   joy_bottom

tc
....suite

BRA   mainloop



puis plus loin

Code:
joy_right
            LDB     sprx
            ADDB    #2
            STB     sprx
            LDY   #pac_r_1
            LBRA     jl                    *en gros ici re retourne à la suite de mon programme mainloop
joy_left
            LDB     sprx
            SUBB    #2
            STB     sprx
            LDY   #pac_l_1
            LBRA     jt                   *en gros ici re retourne à la suite de mon programme mainloop
joy_top
            LDB     spry
            SUBB    #4
            STB     spry
            LDY   #pac_r_1
            LBRA     jb                  *en gros ici re retourne à la suite de mon programme mainloop
joy_bottom
            LDB     spry
            ADDB    #4
            STB     spry
            LDY   #pac_r_1
            LBRA     tc                  *en gros ici re retourne à la suite de mon programme mainloop

_________________
Image


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 08 Jan 2020, 08:10 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
Ah ok. Heu je vois que tu lis le port du PIA directement. Il y a plus simple pour lire le joystick: utiliser la routine moniteur. Le manuel technique du TO8/TO9/TO9+ donne toutes les infos dans sa 2e partie sur l'usage du moniteur. Bon par contre la qualité de la numérisation n'est pas terrible, mais c'est pratique de l'avoir sous la main.

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 08 Jan 2020, 13:49 
Hors ligne

Inscription: 06 Avr 2010, 01:59
Messages: 478
ah! je pensais que les routines du moniteur étaient plus lent que d'écrire nous même !

_________________
Image


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 08 Jan 2020, 14:24 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
Bah plus lent, mais quelque part moins casse pied quand il y a des variations entre le machines. J'ai appris ca à mes dépends quand je codais sur TO9 sur lequel je récupérais le code clavier rapidement en basic par un simple peek() et que ca ne marchait pas une fois passé au TO8. Alors bon étant donné la fréquence d'appel à GETC (pour le lire le clavier) ou l'équivalent pour le joystick, c'est pas très grave de perdre quelque cycles là si cela fait gagner sur le long terme quand on change de machine.

D'une façon générale il ne faut pas nécessairement s’imposer des contraintes par rapport à la vitesse tout de suite. Il vaut mieux coder un truc simple qui marche, et ensuite le complexifier pour l'optimiser. Comme ca on a toujours une base de référence qui marchotte à peu près. C'est mieux que de vouloir coder dès le départ un truc super complexe, optimisé de partout mais difficile à débugger et qu'on finira par ne pas terminer car devenu trop compliqué à maintenir ou avec trop d'astuces qui font que quand on touche à un bout, ca casse à l'autre etc.

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 08 Jan 2020, 14:56 
Hors ligne

Inscription: 06 Avr 2010, 01:59
Messages: 478
yep, c'est vrai ta raison.

(de plus c'est vrai que je commence l'assembleur avec le bitmap16 déjà, c'est chaud ;)
mais c'est un rêve d'ado ! de programmer sur ma première machine (TO9).
j'en ai essayé à l'époque de refaire, rtype, robocop, rick dangerous ... en basic, j'ai récupéré tous mes programmes de l'époque disk -> sap) :bien:

bon, je vais modifier ça.

_________________
Image


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 08 Jan 2020, 19:53 
Hors ligne

Inscription: 06 Avr 2010, 01:59
Messages: 478
heuu j'oublie un truc là, JOYS retourne la valeur dans B normalement non ? ça marche pas !

si droite (Est) ça doit me retourner $03 dans B normalement (voir doc tech TO sur JOYS)


Code:
JOYS      EQU   $E827

...

        JSR   JOYS
        cmpb  #$03
        LBEQ   joy_right

...


_________________
Image


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 08 Jan 2020, 20:17 
Hors ligne

Inscription: 06 Avr 2010, 01:59
Messages: 478
bon ok j'ai rajouter CLRA avant le JSR JOYS, ça marche maintenant !

_________________
Image


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 08 Jan 2020, 20:36 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
Voilà: j'allais te dire que la doc demande aussi de mettre dans A le numéro de joystick (0 ou 1) qu'on veut lire :)

En plus cette routine est cool car tu as le fait de savoir si le bouton action est appuyé ou pas dans la même opération.

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 11 messages ] 

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 29 invités


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages
Vous ne pouvez pas joindre des fichiers

Rechercher:
Aller à:  
Développé par phpBB® Forum Software © phpBB Group
Traduction par phpBB-fr.com