Logicielsmoto.com

Nous sommes le 28 Mar 2024, 15:32

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 281 messages ]  Aller à la page Précédente  1 ... 14, 15, 16, 17, 18, 19  Suivante
Auteur Message
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 07 Déc 2020, 01:33 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
adnz a écrit:
j'ai essayé sur DCMOTO version 2020.11.18 pour moi :
- emulation manette avec CRTL + fleches et bouton CRTL+ espace => ça fonctionne
Pareil pour moi sous W10, aucun pb avec l'émulation manette. Daniel peut être rassuré je pense. Par contre l'IA est trop bonne, ou les fantômes trop rapides car je perds super rapidement :W . Est-ce qu'il y a une inertie sur PACMAN, ou est-ce moi qui suis trop lent ? :langue:

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 07 Déc 2020, 01:47 
Hors ligne

Inscription: 06 Avr 2010, 01:59
Messages: 478
- Alors pour le moment, le pacman et les fantômes vont tous à la même vitesse.
- je dois experimenter la gestion des vitesses des fantômes en BM16 pas évident déjà, et / ou en ajouter une temporisation d'incrementation tous les X passage de la boucle principale du jeu , pour les ralentir et + + + selon les niveaux... c'est en cours de réflexion ;)

_________________
Image


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 07 Déc 2020, 04:49 
Hors ligne

Inscription: 13 Juin 2005, 21:50
Messages: 290
Localisation: Planete Zorg (31)
En effet, j'avais zappé le CRTL+ESPACE et CRTL+FLÊCHES.

Et je rejoins __sam__, il est vrai que l'on perd très vite. PacMan est assez lent comparé aux fantômes. Mais le preview est vraiment sympathique.

:bien:


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 07 Déc 2020, 06:09 
Hors ligne

Inscription: 13 Juin 2005, 21:50
Messages: 290
Localisation: Planete Zorg (31)
Samuel Devulder a écrit:
jasz a écrit:
Sur la page D1 il y a indiqué BCS Branch C=1 BLO Branch Lower ce qui n'est pas la même chose.
:eek: Mais si c'est la même chose! C'est d'autant plus évident que c'est le même opcode.

Je parlais de la définition très minimaliste. Comment un débutant pourrait interpréter ça? C'est un peu déroutant n'est-ce pas :voyons:

Enfin, peu importe. L'essentiel c'est de comprendre ce qu'on en fait.

Et oui __sam__, tu avais raison INCA ne pouvait pas donner de retenue pour la simple et bonne raison que A=-1. -1+1=0. Bah :oops:


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 07 Déc 2020, 09:12 
Hors ligne
M. DCMOTO

Inscription: 06 Juin 2004, 08:23
Messages: 681
Localisation: Provence (France)
Samuel Devulder a écrit:
Daniel peut être rassuré je pense.

Je n'ai jamais été inquiet sur l'émulation des manettes dans dcmoto ;)

Je conseille de ne pas écrire n'importe quoi dans les forums, aussi bien sur l'émulateur que sur le langage machine 6809. Nous pouvons tous nous tromper, évidemment, mais quand on n'est pas sûr à 100% il vaut mieux consulter la documentation avant d'écrire une bêtise. Quand je lis une énormité ça me fait bondir, mais je n'ose pas réagir pour éviter de froisser les susceptibilités. Merci à Samuel d'avoir rectifié.

Mon ouvrage de référence pour le 6809 a longtemps été le "MC6809-MC6809E Microprocessor Programming Manual", mais j'ai ensuite trouvé mieux : "Motorola 6809 and Hitachi 6309 Programmer's Reference", écrit par Darren Atkinson en 2009 (C'est lui qui a créé le contrôleur de disquette et le lecteur de carte SD pour Alice). http://dcmoto.free.fr/documentation/6x0 ... index.html

Il donne aussi les instructions du 6309. Je trouve la description des instructions plus précise et plus claire pour le programmeur ou pour l'émulation. Le manuel de Motorola est un bon complément pour les points plus techniques sur le fonctionnement du processeur.


Dernière édition par Daniel Coulom le 07 Déc 2020, 09:21, édité 1 fois.

Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 07 Déc 2020, 09:21 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
Citation:
... INCA ne pouvait pas donner de retenue pour la simple et bonne raison que A=-1. -1+1=0. Bah :oops:

:nanana: Je veux pas paraitre insistant, mais c'est pas pour cette raison (car en plus sur un ADDA #1 il y aurait eu la carry). :voyons: En fait INC ne touche jamais la carry sur mc6809 tout simplement. :good:

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 07 Déc 2020, 09:32 
Hors ligne
M. DCMOTO

Inscription: 06 Juin 2004, 08:23
Messages: 681
Localisation: Provence (France)
Pour enfoncer le clou, voici la documentation de l'instruction INC :

Darren Atkinson a écrit:
C The Carry flag is not affected by these instructions.
It is important to note that the INC instructions do not affect the Carry flag.
This means that it is not always possible to optimize code by simply replacing
an ADDr #1 instruction with a corresponding INCr.
When used to increment an unsigned value, only the BEQ and BNE branches
will consistently behave as expected.


Fichier(s) joint(s):
inc.png
inc.png [ 135.3 Kio | Vu 9933 fois ]


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 07 Déc 2020, 10:10 
Hors ligne

Inscription: 13 Juin 2005, 21:50
Messages: 290
Localisation: Planete Zorg (31)
Daniel Coulom a écrit:
Je conseille de ne pas écrire n'importe quoi dans les forums.

Je pensais que INC était seulement un ADD plus rapide (comme ADDQ sur 680xx) et qu'il pouvait comme son homologue, affecter le Carry. C'est une incorrection de ma part...

Sam a très bien compris là ou je voulais en venir avec mon exemple, même si je n'ai pas utilisé la bonne instruction pour l'illustrer. C'est l"essentiel! C'est avec des erreurs de ce genre que l'on apprend... ;)


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 12 Déc 2020, 13:58 
Hors ligne

Inscription: 21 Fév 2020, 11:38
Messages: 366
Super, je vois sur la vidéo que le jeu avance bien, mais le déplacement des fantomes et pacman semblent saccadés, tu les fait déplacer de combien de pxl ? 4 ? 8 ?

Mon algo en bm16 fait déplacer les sprites de 2 pxl en horizontal ('et ça donne un truc assez fluide). Avec le BM16, c'est sans doute le mieux qu'on puisse faire (sinon utiliser les routines de traçage "plot" mais ça divise par 2 la vitesse de traitement à minima)

D'ici la fin de l'année je mettrai en ligne mon nouveau site web sur l'ensemble des jeux vidéos sur les machines des années 80-90 (que j'ai séparé en 53 standards, que ça soit consoles ou micro ordinateurs). Il y a la liste de tous les jeux (plus de 450) que j'ai repris intégralement de DC Moto avec l'ajout de quelques rares titres manquant.

Je dois aussi terminé mon application javascirpt de créations de sprites (affichage de codes en différents moyens) et univers pour jeux vidéo (fonctionne pour le mode bm16 des thomson pour le moment).

Je n'ai toujours pas avancé sur Bubble Bobble (je dois terminer la partie "création de mondes" de mon application JavaScript pour les différents tableaux de Bubble). Mais j'ai tout en tête grâce à Samuel qui est vraiment d'une aide précieuse (et tu devrais penser à faire des pauses de temps en temps!! Crois moi!). La démo de Sam sur la musique de Bubble Bobble m'a fait voir une autre perspective encourageante!! C'est exactement ce dont il me manquait.

La vidéo que j'ai mise sure les 100 meilleurs jeux Thomson commence à avoir pas mal de vue et le créateur de "Lorann" et "Kung Fu" m'a contacté et laissé un message sympa en me racontant comment ça se passait à l'époque (et ça ne m'étonne pas!). Il ne veut plus entendre parler d'assembleur et préfère des langages évolués. Il a été surpris d'entendre qu'il y avait encore des dév sur Thomson, qu'il y a un Unix (OS2). Mais il ne jure que dans des langages évolués (dont le C).

J'espère que cette vidéo donnera l'envie à d'autres de développer sous Thomson, mais tant qu'il n'y aura pas un site web complet sur les algo de l'assembleur, sur les spécificité complètes et fiable des systèmes Thomson "communes" et "différentes"... Ca pourrait être un site web potentiel.

Déjà pour la partie "sprite bm16" et "score bm16" le seul mode qui n'existent pas dans le basic 512... on va dire qu'un grand pas a été fait. La partie scrolling est aussi intéressante à envisager (j'y réfléchis beaucop ces dernier temps et vu ce que j'auteur de WEP Zezito a pu faire sur TO8, ça laisse envisager des possibilités intéressantes. Couplé à la méthode de Sam pour jouer des musiques de fond...


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 12 Déc 2020, 17:26 
Hors ligne

Inscription: 06 Avr 2010, 01:59
Messages: 478
Les déplacements se fond 4px en X et 5px en Y,
sinon ma routine est capable de déplacer 2 en X et 1 en Y mais,
dans ma construction de départ fallait bien que je commence à synchroniser l'affichage bm16 ramA/B, tableau 2D du niveau et position coordonnées x,y vers ramA/B écran ( merci sam ;) ) en px, et gestion des sprites animés etc...
Donc mon tableau fait 29x20, pour faire rentrer un graphisme d'un labyrinthe assez grand mais sans avoir des petits sprites !
ps si je double mon tableau 2D, ba du coup je pourrais faire des déplacements tous les 2 px...

Quant tu commence et que ta tous ces trucs à faire renter, ba c'est chaud ! :D

Mon but premier est déjà de faire un programme full assembleur jusqu'au bout, en posant toutes les problématiques que je peux rencontrer, code, graphisme et son...
Et évidement qu'il y aura une phase de refactor pour gagner des cycles pour être plus fluide dans les déplacements...

voilà en gros. Même si je voulais vraiment finir en 2020 pour être au plus proche des 40 ans de pacman, mais boulot+pacman+tout seul = HS

Evidement je serai loiiiinnnnng de ce résultat si ce forum ne m'avait pas aider à apprendre plus rapidement l'assembleur et les subtilités hardware du TO ... :good:

à suivre ...

_________________
Image


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 12 Déc 2020, 22:30 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
@adnz tu peux parfaitement faire des déplacements en demi-cases. Mettons que tu ais M*N cases, tes sprites auront eux des coordonnées 0<=x<2N et 0<=y<2M. Au moment où tu dois tester la case sous le (x,y) du sprite, il te faut regarder la coordonnée en int(x/2),int(y/2). L'opération de division par 2 est très rapide en assembleur avec l'instruction LSR (et ROR si on doit travailler sur plus de 1 octet).

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 21 Déc 2020, 17:24 
Hors ligne

Inscription: 21 Fév 2020, 11:38
Messages: 366
Samuel Devulder a écrit:
@adnz tu peux parfaitement faire des déplacements en demi-cases. Mettons que tu ais M*N cases, tes sprites auront eux des coordonnées 0<=x<2N et 0<=y<2M. Au moment où tu dois tester la case sous le (x,y) du sprite, il te faut regarder la coordonnée en int(x/2),int(y/2). L'opération de division par 2 est très rapide en assembleur avec l'instruction LSR (et ROR si on doit travailler sur plus de 1 octet).


Oui!!

De mon côté, j'ai 2 systèmes de coordonnées, un avec les pixel (par 2 en H et par 1 en V) avec comparaison éventuel d'une coordonnée avec le modulo 8 (c'est à dire comparaison des bits 0 à 2 avec la valeur 0). Après chaque méthode est valable.

J'en profite pour dire que j'ai trouvé une source (dans mon manuel assembleur "50 programmes assembleur TO7-70", mais aussi une méthode plus rapide!!) pour faire des division d'entier (16b/8b) qui tourne sur 8 cycle d'horloge max et n'utilise que très peu d'octet par opération! J'en ai déduis le même pour la multiplication (8 cycle aussi si les nombres sont sur 8 buits, 16 si sur 16b) mais cet algorithme prend bien plus de cycle d'horloge (puisqu'il y a au moins 8 cycle) que l'instruction mul qui n'en prend que 11 en tout!! C'est un gros plus des processeurs 6809 comparé au Z80 et autre 6509.

Quand je pense à ce que l'Hitashi 6309 a dans le ventre (instruction de multiplication 16 bits et division 16 bits et 2 fois plus de régisytres dans l'ALU), et que s'il avait été au coeur des Thomson, on aurait eu une machine au moins équivalente aux Amiga et autres Atari ST, mais à 4 MHz.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 21 Déc 2020, 19:13 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
Oui un Hitachi dans les machine de seconde génération et on aurait assurément fait des trucs aussi bien voir mieux que sur CPC (à part coté son où il nous manque cette chip indépendante.) Après le ST et l'amiga ont aussi plus de Mhz et de résolution graphique. Mais face aux 8bits, ca aurait donné des trucs sympa.

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 30 Déc 2020, 03:43 
Hors ligne

Inscription: 06 Avr 2010, 01:59
Messages: 478
salut,

j'aurais besoin de faire int(valeur) valeur absolue sur une soustraction.
j'aimerais virer le signe si <0

c'est bon comme ça ?
Code:
    LDA #1           ; A = 1
    SUBA #5          ; A = -4
    BGT continu    ; si positif donc ok on continu
        NEGA          ; sinon rendre A positif 
continu
   
     * donc ici A = 4 ?




merci.

_________________
Image


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 30 Déc 2020, 08:36 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
Oui, mais avec BPL ca marcherait aussi puisque tu veux faire le neg si le flag N=1.

_________________
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  [ 281 messages ]  Aller à la page Précédente  1 ... 14, 15, 16, 17, 18, 19  Suivante

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 25 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 à:  
cron
Développé par phpBB® Forum Software © phpBB Group
Traduction par phpBB-fr.com