Page 6 sur 6

Re: mode 4 couleurs to8

Publié : 05 août 2018 12:34
par __sam__
Tester la fin de vbl est possible sur thomson, mais après il ne faut pas utiliser les interruptions car la gestion par la rom prends enormément de temps avant d'accéder à la partie utilisateur. La doc sur les interruptions se trouve dans "'le manuel technique des to8/to9/to9+" qui est l'ouvrage de référence quand tu cherches à attaquer le HW en asm.

Donc ce ce qui est fait dans toutes les démos avec raster est du bon vieux comptage de cycles:

Code : Tout sélectionner

	Attente début écran, 
loop:
	changement couleur palette
	attente 64 cycles cpu (une ligne raster) et on est à la ligne suivante
goto loop
http://www.pouet.net/prod.php?which=11728
http://www.pouet.net/prod.php?which=62899
Image

Attention aussi à un truc: sur thomson les instructions ne se font pas en un cycle mais au minimum 2 si elles sont 8bits et n'accèdent pas à la mémoire (nop, lda #immediat, nega, comb, adda #immediat), 3 quands c'est 16 bits sans acces mémoire (ldx #val, addd #immediat) et 4 mini si la mémoire est lue ou(exclusif) écrite en 8 bits (6 si on lit et écrit 8 bits dans la même instruction: neg memoire, com memoire, lsr memoire, clr memoire[*]). La dessus il faut ajouter le décodage des modes addresse complexe du 6809. A ce compte là on ne fait pas grand chose dans les 64 cycles (64µs) d'une ligne raster.

_____
[*] oui le clr est lent (6 cycles) car il fait une un cycle de lecture inutile dans son micro-code. Le fait que le CLR ne soit pas traité comme une instruction d'écriture simple pouvant aller plus rapidement est un "bug" motorola qui traine depuis le 6800 je crois et qui a perduré jusqu'au 68000 dans lequel lui aussi le "clr <memoire>" est une instruction super lente car il fait un accès lecture à la mémoire au lieu d'un simple accès en écriture. Ce bug ne sera corrigé qu'à l'apparition du 68020. Sur thomson-6809 ou sur atari/amiga-68000 pour mettre 0 dans la mémoire on passe par une operation "store" depuis un registre contenant zero qui est bien plus rapide que l'opération "clr" de base.

Re: mode 4 couleurs to8

Publié : 05 août 2018 17:22
par jasz
__sam__ a écrit : 05 août 2018 12:34 [*]
En effet __sam__ on utilse un moveq plus rapide que le clr.l x ou le move.l #0,x

Re: mode 4 couleurs to8

Publié : 05 août 2018 21:38
par BDCIron
Super, merci de vos réponses.
Du coup vais regarder la doc prochainement.

On a une liste des instructions du 6809 avec le nombre de cycles qu'elles prennent ?

Re: mode 4 couleurs to8

Publié : 05 août 2018 21:50
par __sam__
Oui la doc motorola est très bien faite. J'en parle >>ici<<. Dispo en live >><<. Les modes d’adressage sont en bas de cette page.

Re: mode 4 couleurs to8

Publié : 05 août 2018 22:37
par BDCIron
Bon bein super j'ai tout :)

Merci encore :)