Logicielsmoto.com

Nous sommes le 29 Mar 2024, 00:20

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 165 messages ]  Aller à la page Précédente  1, 2, 3, 4, 5 ... 11  Suivante
Auteur Message
 Sujet du message:
MessagePosté: 27 Juil 2010, 11:12 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
PulkoMandy a écrit:
Mh, je viens d'arriver ici un peu par hasard...

Salut!

Citation:
Une méthode similaire a été utilisée dans la démo "Climax" sur Amstrad CPC, puis perfectionnée par la suite pour faire desimages qui clignotent moins. On en trouve une par exemple dans l'introduction du jeu Orion Prime sur CPC.

Héhé, ca me fait penser à un mode 125couls que j'ai trouvé pour TO8. On peut faire pas mal de truc avec le flipping hardware de l'écran du TO8. Préhisto avait aussi joué avec le flipping pour faire du 80cols avec couleurs.
ImageImage
ImageImage
ImageImage

Citation:
De plus, la série TO dispose d'un timer programmable pouvant générer des interruptions. Il doit être possible d'utiliser ce dernier pour contrôler la musique (sous interruptions donc), pendant que le reste de la démo s'exécute tranquillement, non ?

J'ai essayé de jouer avec le timer du TO9 pour produire du son (voir le fil de discussion autour de DCMOTO où j'y ai placé une D7 de test ici). Le problème est qu'il faut mettre à jour le CNA pour chaque échantillon. Le mieux que j'arrive à atteindre c'est 4Khz, et ca ralenti quand même pas mal la machine. C'est sur que s'il fallait mettre à jour les params des oscilateurs d'une puce type AY environ 100fois par sec ca serait bcp plus simple (une interruption timer à 100 ou 200hz ca passe inaperçu face à du 4khz).

Du coup pour avoir du son HiFi sur thomson il vaut mieux laisser de coté le timer et inliner l'envoi d'échantillons dans le code ASM. Avec cela il a été possible de jouer du son à 44Khz (cf demos SpaceProject de puls), mais c'est sacrément dur de trouver des cycles de libres pour faire des effets corrects. Prehisto ou Yoann pourait sans doute nous en dire un peu plus.

Pauvre 6809e qui doit tout faire! Que je regrette l'absence de chip audio même bas de gamme pouvant envoyer des trucs au haut-parleur. Mais j'ai pas dit mon dernier mot. Car je reste persuadé qu'on peut utiliser ce timer pour faire du PWM car sa sortie TC0 est relié à la pinoche d'écriture sur K7. Donc si on relie cette pinoche en sortie avec la pinoche en entrée audio de la K7 (avec un trombone), on entendrait l'oscillo chanter ou siffler plus exactement. Oscillo dont on pourrait modifier facilement et à moindre cout CPU la freq quelques 100fois/sec.. mais le hic c'est qu'il manque un 2eme timer pour ce 100fois/sec et que donc il faudrait mettre le code de programmation de freq du timer en plein milieu de l'effet. Bon tout ceci n'est encore que pure spéculation, il faudra vérifier en pratique si cette idée tient la route. Mais je suis sur qu'il y a un truc à faire avec le timer pour du son peu couteux.

Citation:
Pour les images de Samuel, je te conseille de jeter un oeuil aux démos "Climax" et "Climax G" sur Amstrad.

J'y vais de ce pas. Comme j'ai pas bcp d'idée perso, je repique souvent l'idée de ce qui a été fait ailleurs (cf l'effet wormhole de SpaceProject qui m'a été largement inspiré après avoir vu backtro de CPC, grand jaloux que je suis), mais chut il ne faut pas le répéter :)

sam.


Dernière édition par Samuel Devulder le 12 Déc 2022, 12:50, édité 4 fois.

Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 28 Juil 2010, 05:24 
Hors ligne

Inscription: 06 Juin 2004, 08:23
Messages: 492
La discussion sur les interruptions sur Thomson a ete divise sur un autre topic de cette section ("Interruptions sur Thomson"), que vous pouvez continuer a partir de la.

http://www.logicielsmoto.com/phpBB/viewtopic.php?t=384


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 28 Juil 2010, 05:31 
Hors ligne

Inscription: 06 Juin 2004, 08:23
Messages: 492
Samuel Devulder a écrit:
(cf demos SpaceProject de puls), mais c'est sacrément dur de trouver des cycles de libres pour faire des effets corrects. Prehisto ou Yoann pourait sans doute nous en dire un peu plus.


Oui, on en a bave (surtout Prehisto) a trouver le bon timing pour changer 2 couleurs. A chaque fois, on avait des traces vertes dans les marges.

Je voulais aussi faire un mode entrelace (comme le tient) en jouant sur 2 technologie :

* Changement de 2 couleurs par lignes (comme dans space project)
* Intervertir 2 ecrans (ca prend que quelques cycles) et en ayant une deuxieme palette pour cette deuxieme image.

Lors du development de space project, j'avais repris les routines de Chinese Stack et j'etais arrive a un resultat pas trop mal (que j'avais appele HAM en reference au mode Amiga) avec le meme Bruce Lee de Chinese Stack.

Puis, nous sommes arrive a change 2 couleurs par lignes sans bavure verte, donc on a laisse tombe le mode "HAM".

Ceci dit, si j'avais le temps, je voudrait bien combiner les 2 (changement de 2 couleurs) pluis 2 images ... et de creer un convertisseur qui creerait le bon compromis (entre creer de nouvelle teintes en faisant la moyenne des 2 images) ainsi que des changements judicieux de 2 couleurs par lignes pour les 2 images. Bref, un casse tete dont je n'ai absolument pas le temps de me plonger dans l'ordre actuelle des choses (au regard de ma vie professionnelle deja trop remplie)


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 29 Juil 2010, 00:01 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
Samuel Devulder a écrit:
Citation:
Pour les images de Samuel, je te conseille de jeter un oeuil aux démos "Climax" et "Climax G" sur Amstrad.

J'y vais de ce pas.

Ca y est. J'ai trouvé ceci: http://sylvestre.cpcscene.com/articles/articles_makingof1.html C'est très intéressant. Hélas je n'ai pas de quoi mater le résultat. Dommage qu'il n'y ait pas de capture video placée sur Youtube ou autre.. En tout cas les images extraites sont jolies. J'en ai reconnues certaines que j'avais vu sur amiga.

D'ailleurs l'époque j'étais jaloux et j'avais voulu faire pareil sur mon TO9 (D7 à voir dans DCMOTO en mode TO9. Touche 'D' pour booter. C'est hébergé sur cjoint, donc le lien ne dure pas longtemps. Si quelqu'un connait un truc d'hébergement plus permanent, je suis preneur).
Image
Image
(Il y en a bcp d'autres sur la D7)

J'en avais même profité pour émuler un amiga sur TO9 (DCMOTO et autoboot pareil, et plantage pareil qu'un vrai amiga de temps en temps.. C'est dire la fidélité de l'émulation :lol:)
Image

Et dire que plus tard je collaborais aux premières versions de UAE.. Il n'y a pas de hasard ;)

sam.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 29 Juil 2010, 01:16 
Hors ligne

Inscription: 27 Juil 2010, 14:46
Messages: 38
La Flashouille c'est sympatoche mais... Ça flashouille...

La technique a été améliorer depuis, les images fullscreen en flashouille d'Orion Prime sont par exemple bien meilleur. (Une d'intro, 3 de fin différente)

Ou encore l'Orc en cheat part sur la compilation de l'Amstrad Expo 2005. 320x200 en 64 couleurs parmis une palette de 27 ! Enfaite 2 images supposé en mode 0 (160x200 16 couleurs) et en mode 1 (320x200 4 couleurs), ce qui ouvre une palette de couleur assez importante tout en ayant une bonne précision d'image. Le résultat est vraiment bon.

Image

La technique utilisé pour réalisé les images est jalousement gardé secrète par Sylvestre, mais d'autre personne essais des trucs.

L'utilisation de palette plus importe comme les 4096 des Amstrad plus ou des Thomson «NG» permettrait en théorie de faire encore mieux, avec notamment une réduction de l'effet de clignotement en utilisant des encres plus proches les unes des autres, en pratique l'énorme palette diminue l'efficacité du choix et les résultats sont loin d'être à la hauteur... Mais y a moyen de faire quelque chose.

Note que ça ne peux pas marcher sur TO9 puisqu'une seul page écran utilisable.[/img]


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 29 Juil 2010, 07:49 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
J'aime bien l'orc. Il rend pas mal en mode 40cols pour TO9 (palette modifié):
Image
(quelques bavures quand même. Il faudrait retravailler à la main).

Étonnamment en mode TO770 ou MO5 (palette standard fixe): il est pas mal non plus:
Image
C'est sans astuces hard, donc il reste tout le CPU qu'on veut pour faire du son. Par ailleurs l'orc me plait aussi à cause de son homonymie avec l'ORiC :lol:


Dernière édition par Samuel Devulder le 12 Déc 2022, 12:56, édité 1 fois.

Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 29 Juil 2010, 08:31 
Hors ligne

Inscription: 27 Avr 2006, 09:04
Messages: 101
Sur To9, en full screen, peut-être pas mais en réduisant l'image et en bouffant des cycles, c'est possible :)


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 29 Juil 2010, 08:40 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
Tomix3 a écrit:
Sur To9, en full screen, peut-être pas mais en réduisant l'image et en bouffant des cycles, c'est possible :)

Je pense pas que ca tienne la VBL 320x200 effectivement. Il faudrait combien de temps sur TO9 pour recopier 16Ko de ram avec les PSHS qui vont bien à ton avis (j'ai la flemme de calculer)? Quelle serait la taille de la surface à utiliser si on veut une recopie en moins de 20ms? 320x100?

sam.


Dernière édition par Samuel Devulder le 29 Juil 2010, 11:26, édité 1 fois.

Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 29 Juil 2010, 08:55 
Hors ligne

Inscription: 27 Avr 2006, 09:04
Messages: 101
@sam
Je sais pas mais là, y a quand même 2 plans à blitter.
Mais j'imagine que l'image 1/4 passerait.
Après, faut faire des tests pour calculer le bon compromis.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 29 Juil 2010, 10:26 
Hors ligne

Inscription: 06 Juin 2004, 08:23
Messages: 464
10*n/8+2n cycles = us, n = nb d'octets (je neglige le flip de page forme/couleur) si on utilise D,X,Y,DP,CC, c'est juste ?

Fool


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 29 Juil 2010, 10:46 
Hors ligne

Inscription: 27 Juil 2010, 14:46
Messages: 38
Pour l'image faut partir de celle d'origine si vous voulez faire quelque chose... C'est tout bêtement l'orc de la boîte de Warcraft III, ou encore du splash screen du démarrage du jeu.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 29 Juil 2010, 10:57 
Hors ligne

Inscription: 27 Avr 2006, 09:04
Messages: 101
On peut utiliser D,X,Y,U (ou S) et DP (CC, c'est un extra si tu coupes les interruptions de chaque chip).
On va dire 14 cycles pour le PSH et 14 cycles pour le PUL. Tout ça pour blitter 9 octets d'un plan. Soit 28*2=56 cycles pour 2 plans.

En théorie, une image 216x100: 16800 cycles (3x56x100). A cela, il faut rajouter un peu de cycles pour gérer les adresses U ou S + divers. Bref, en 1 VBL, c'est jouable.

Si on ajoute le registre CC en prenant les précautions qui vont bien (j'ai déjà fait ça sans soucis), on peut pousser la bête encore plus loin.

Evidemment, sur To8, To9+, voire Mo6, c'est tellement plus simple.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 29 Juil 2010, 11:22 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
Fool-DupleX a écrit:
10*n/8+2n cycles = us, n = nb d'octets (je neglige le flip de page forme/couleur) si on utilise D,X,Y,DP,CC, c'est juste ?

Fool

CC ? C'est risqué! Pour le nettoyage de l'écran dans le rotozoom, j'ai bloqué les interrupt et utilisé D,X,Y,S. Typiquement un code de recopie sera construit comme suit:
Code:
    ldu  #source-8  ; 3
    pulu D,X,Y,S    ; 5+8=13
    ldu  #dest          ; 3
    pshu D,X,Y,S    ; 13
ca 32 cycles pour 8 octets, donc 160 cycles pour une ligne forme. On ajoute la dessus un
Code:
    inc <$C3        ; 6 DP contient #$E7
pour basculer forme/fond. Ca fait donc 332 cycles pour une ligne forme/fond (je pense que le décalage d'affichage forme/fond ne sera pas visible en travaillant au niveau ligne). Une VBL à 50Hz fait 20000 cycles, donc 60 lignes seulement. Argh! :mad:

Au plus rapide la recopie full-screen sur TO9 tourne à 15fps. C'est limite pour la persistance rétinienne. Il vaut mieux travailler sur 1/4 d'écran effectivement.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 29 Juil 2010, 11:39 
Hors ligne

Inscription: 27 Juil 2010, 14:46
Messages: 38
Tient, c'est amusant, on a pas la même définition de VBL d'une machine à l'autre :)
La définition original de VBL c'est le Blanking Vertical, c'est le temps prévu pour le passage du canon à électron du bas au haut de l'écran en vidéo. Ça fait environ 16 lignes en vidéo standard.
Sur les autres machines par extension c'est toute la zone vertical non affiché (border + vbl proprement dit). Pour parle d'un affichage complet on parle généralement de frame.

Et donc une frame complète fait 312 lignes * 64 µs, 19968 µs. On est pas en 625 lignes 50Hz entrelacé, on est en 312 lignes 50Hz progressif, y manque une demi lignes par frame (ce qui fait 50.0801Hz, négligeable mais àa fait qu'on a 32 cycles de moins par frame)

Sinon si tu fait fond PUIS forme, tu gagne quelque cycle quand même. 320 cycles par lignes + 16 cycles par frame au lieu de 332 cycle par lignes


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 29 Juil 2010, 11:46 
Hors ligne

Inscription: 27 Avr 2006, 09:04
Messages: 101
@sam
Exact, j'ai zappé le fait qu'il faut jouer avec U et S pour gérer la source/destination, ou faire comme toi, ce qui revient à utiliser d'autres instructions à chaque blit. Donc, c'est plus chaud.

Moi je ferai un flip fond/form toutes les 8 lignes et j'utiliserai U et S pour la source et la destination.
Tu organises ta source pour la dépiler linéairement sans avoir à réinitialiser ton registre U (si tu l'utilises pour la source) et tu gères ta destination comme il se doit.

Je tenterai bien le registre CC en désactivant les interruptions du Timer, du clavier, du crayon optique, etc. Ce qui ferait 8 octets blittés d'un coup.
Et bien sûr, implémenter un code déroulé sans boucle.

Une image de 192x100, c'est possible.


Haut
 Profil  
Répondre en citant le message  
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 165 messages ]  Aller à la page Précédente  1, 2, 3, 4, 5 ... 11  Suivante

Heures au format UTC + 1 heure


Qui est en ligne

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