mode 4 couleurs to8

C'est le lieu des discussions diverses et variées, mais toujours en rapport avec le thème général du forum et dans l'esprit de celui-ci. Contient des rubriques électroniques.

Modérateurs : Papy.G, fneck, Carl

__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: mode 4 couleurs to8

Message 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.
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
jasz
Messages : 1313
Inscription : 05 oct. 2016 20:05
Localisation : Quelque part dans le 31

Re: mode 4 couleurs to8

Message 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
BDCIron
Messages : 91
Inscription : 24 juil. 2018 23:39
Localisation : Calvados, région de Villers Bocage

Re: mode 4 couleurs to8

Message 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 ?
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: mode 4 couleurs to8

Message 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.
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
BDCIron
Messages : 91
Inscription : 24 juil. 2018 23:39
Localisation : Calvados, région de Villers Bocage

Re: mode 4 couleurs to8

Message par BDCIron »

Bon bein super j'ai tout :)

Merci encore :)
Répondre