Logicielsmoto.com

Nous sommes le 04 Avr 2020, 15:57

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 192 messages ]  Aller à la page Précédente  1, 2, 3, 4, 5, 6, 7 ... 13  Suivante
Auteur Message
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 13 Jan 2020, 10:40 
Hors ligne

Inscription: 06 Avr 2010, 01:59
Messages: 211
ok c'est bon

En faite même avec le message le "Binary Not Linear" à la compilation ça marche. (sur DCMOTO)


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

Inscription: 06 Avr 2010, 01:59
Messages: 211
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 !


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 13 Jan 2020, 14:15 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1206
Localisation: Brest
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.

_________________
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é: 13 Jan 2020, 14:19 
Hors ligne

Inscription: 06 Avr 2010, 01:59
Messages: 211
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

Image


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 13 Jan 2020, 14:35 
Hors ligne

Inscription: 06 Avr 2010, 01:59
Messages: 211
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 ! :eek:

chapô moi j'dis. :jap:


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 13 Jan 2020, 15:16 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1206
Localisation: Brest
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!

_________________
Good morning, that's a nice Tnetennba


Dernière édition par Samuel Devulder le 13 Jan 2020, 15:57, édité 1 fois.

Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 13 Jan 2020, 15:31 
Hors ligne

Inscription: 06 Avr 2010, 01:59
Messages: 211
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.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 15 Jan 2020, 04:19 
Hors ligne

Inscription: 06 Avr 2010, 01:59
Messages: 211
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     ?? 


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 15 Jan 2020, 08:39 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1206
Localisation: Brest
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
  NEGB
  SBCA #0
Mais tout ca c'est compliqué. Pourquoi ne fais tu pas simplement "LEAX -40*45,X" ?

_________________
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é: 15 Jan 2020, 13:53 
Hors ligne

Inscription: 06 Avr 2010, 01:59
Messages: 211
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.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 15 Jan 2020, 14:36 
Hors ligne

Inscription: 06 Avr 2010, 01:59
Messages: 211
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


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 15 Jan 2020, 14:41 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1206
Localisation: Brest
Ben tu utilises le code que j'indiquais
Code:
   nega
   negb
   sbca #0
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.
Code:
; supposons que B contienne la hauteur
   LDA  #40
   MUL
   NEGA
   NEGB
   SBCA  #0
   LEAX  D,X
Tu peux aussi utiliser la pile pour faire un SUBD à la valeur de 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.

_________________
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é: 15 Jan 2020, 14:46 
Hors ligne

Inscription: 06 Avr 2010, 01:59
Messages: 211
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


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 15 Jan 2020, 16:00 
Hors ligne

Inscription: 06 Avr 2010, 01:59
Messages: 211
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




Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 15 Jan 2020, 16:12 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1206
Localisation: Brest
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.

_________________
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  [ 192 messages ]  Aller à la page Précédente  1, 2, 3, 4, 5, 6, 7 ... 13  Suivante

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 5 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