DCMOTO - Emulateur universel Thomson 8 bits : Forum - Programmation - Chinese stack
Retour : Accueil » Programmation
Pages : 1 - 2 - 3
Auteur Message
Yoann
Visiteur
Date : 07/10/2004 à 07h26
Dans le cas d'une video, pourquoi pas. Sinon, on peut toujours travailler sur un ecran mais en rendant la fenetre un peu plus petite.

Que je ne dise pas de betise mais on a 64 cycles par lignes + 3000 cycles en bas avant que le spot ne revienne en haut. Si on s'alloue une fenetre des lignes 50 a 150 (une moitie d'ecran), et qu'on commence les effacements + affichage des balls apres la ligne 150, on a pratiquement 10000 cycles pour tracer un ecran sans que ca se voit. Je pense qu'il faudra jouer la dessus pour faire une bonne animation sans clignotement. 10,000 cycles, c'est pas grand chose mais dans ce cas, on peut travailler directement dans la memoire ecran (sans passer par une memoire tampon) pour preparer les ecrans.

Si on peut caser une belle animation dans 10,000 cycles, le resultat peut etre fulgurant (de toute facon, on a pas le choix) puisqu'on animera le tout a la vitesse de la VBL.
en haut - en bas
Daniel
Visiteur
Date : 08/10/2004 à 23h47
Pour revenir à Chinese stack, DCMOTO progresse de jour en jour.

Il passe maintenant, comme TEO, les deux premières démos : Chinese stack et Sinus Crawl. J'avais tout simplement oublié que les deux segments de 8 Ko sont inversés quand une banque RAM recouvre la ROM. C'est corrigé.



Dans Colors of China (la plus difficile pour les émulateurs) l'image s'affiche avec toutes ses couleurs, mais elles se décalent lentement, comme si la synchro VBL ne se faisait pas, un peu comme une télé mal réglée. Peut-être une erreur dans le décompte des cycles. Encore quelques heures de travail et ça devrait être bon, avant le prochain épisode.

A suivre...

Daniel
en haut - en bas
Lilian
Visiteur
Date : 09/10/2004 à 09h19


PS: merci la demo pour le debug.
en haut - en bas
Daniel
Visiteur
Date : 09/10/2004 à 16h30
C'est exactement ce que j'étais en train de me dire Merci à Yoann et Préhisto

Je viens de corriger 3 erreurs dans le calcul du nombre de cycles des instructions, et enfin les couleurs ne défilent plus. L'image est parfaitement stable, par contre les couleurs de lignes sont décalées. La cause est très certainement une mauvaise émulation des bits 5 et 7 du registre E7E7. Impossible de trouver une doc précise sur le chronogramme des signaux INIL et INIT (latché et non latché).



Qui peut m'aider Yoann

Daniel
en haut - en bas
Daniel
Visiteur
Date : 09/10/2004 à 21h25
Encore une conséquence indirecte de la sortie de Chinese stack : grâce aux améliorations apportées, toute la méga-démo HCL passe maintenant sans problème dans DCMOTO, y compris le mode 80 colonnes multicolore. Je ne vous mets pas tous les screenshots, mais je ne résiste pas au plaisir de poster ces deux là



Daniel
en haut - en bas
PrehisTo
Visiteur
Date : 10/10/2004 à 08h29
Citation :
Une chose qui me parait tres realisable tout de meme, c'est les vector balls. Avec un code different, forcement...


Ce serait plus facile d'adapter le sinus scroll : il est déjà en 40 colonnes.
en haut - en bas
PrehisTo
Visiteur
Date : 10/10/2004 à 08h31
Daniel a écrit :
C'est exactement ce que j'étais en train de me dire Merci à Yoann et Préhisto

Je viens de corriger 3 erreurs dans le calcul du nombre de cycles des instructions, et enfin les couleurs ne défilent plus. L'image est parfaitement stable, par contre les couleurs de lignes sont décalées. La cause est très certainement une mauvaise émulation des bits 5 et 7 du registre E7E7. Impossible de trouver une doc précise sur le chronogramme des signaux INIL et INIT (latché et non latché).



Qui peut m'aider Yoann



Difficile. J'ai simplement regardé la routine de la gestion de la palette (entrée en $EC00). La routine profite d'un asynchronisme entre un nombre x de cycles et le temps de commutation du bit 5 de $E7E7 pour se règler selon les X sur le raster, et afficher la couleur hors écran.
Sauf que même cela ne permettait pas de démarrer à l'endroit voulu : il a fallu que je mette au point une routine qui non seulement aille repérer cette conjonction, mais en plus pour un nombre de révolutions précis.
Ca va pas être de la tarte....
en haut - en bas
PrehisTo
Visiteur
Date : 10/10/2004 à 08h35
PrehisTo a écrit :
Citation :Une chose qui me parait tres realisable tout de meme, c'est les vector balls. Avec un code different, forcement...

Ce serait plus facile d'adapter le sinus scroll : il est déjà en 40 colonnes.


Mais il faudrait 13 banques de RAM.
en haut - en bas
Daniel
Visiteur
Date : 10/10/2004 à 12h17
Prehisto a écrit :
J'ai simplement regardé la routine de la gestion de la palette

Nous avons eu la même idée

Dans la version précédente de DCMOTO, je trichais (tout comme TEO) pour afficher la bordure de l'écran de réglage de la palette : je détectais l'entrée dans la routine, et je bidouillais dans l'émulateur pour avoir les deux couleurs de bordure.

Dans la version actuelle, j'affiche l'écran ligne par ligne, ce qui permet de tout changer entre deux lignes : la palette, le mode écran, la couleur de bordure, etc.
L'écran de réglage de palette s'affiche bien (sans tricher), la mega-demo HCL aussi, par contre Chinese Stack résiste

Pour finir, je vais peut-être modifier le code d'affichage des images dans Chinese Stack, pour l'adapter aux signaux générés par l'émulateur. Ce sera certainement plus facile que de retrouver les bons signaux

Daniel
en haut - en bas
Daniel
Visiteur
Date : 10/10/2004 à 16h44
Derniers essais : en bricolant les bits 5 et 7 de E7E7 j'ai obtenu une configuration de DCMOTO qui affiche les images de Colors of China :



Cependant, le problème demeure : avec ce bidouillage, la méga-démo HCL se bloque. Et avec le réglage qui va bien pour HCL les couleurs de Colors of China sont décalées. Je continue à chercher, toute piste sur les signaux INIT et INIL sera la bienvenue.

Daniel
en haut - en bas
Fool-DupleX
Visiteur
Date : 11/10/2004 à 09h15
Citation :
Ce serait plus facile d'adapter le sinus scroll : il est déjà en 40 colonnes.

Justement, ca n'est pas drole du tout ...

Fool
en haut - en bas
Yoann
Visiteur
Date : 11/10/2004 à 09h18
A noter (pour "Colors Of China") que la premiere image (Celle du titre avec HK en fond) fonctionne une fois sur 10 avec TEO (puis plantage apres l'affichage du titre de la photo suivante). Donc TEO semble tres proche du fonctionnement. Peut etre qu'Eric pourra t'aider la dessus.
en haut - en bas
Yoann
Visiteur
Date : 03/11/2004 à 08h03
Bonjour a tous,

Dans un soucis de documenter techniquement ou historiquement la demo Chinese Stack de Puls, je suis en train de mettre en ligne, lentement mais surement, des informations sur les differents volets de cette demo.

Sur http://www.pulsdemos.com dans la section de "Chinese Stack", vous trouverez un lien (dans la liste des volets) qui vous conduira a la presentation de Colors Of China, avec un historique de son developpement, une explication des rasters, et des images inedites ayant servies au developpement des differents programmes qui composent ce volet.

Je continuerais sur ma lancee avec une presentation de Vector Balls (qui est finie mais que je dois revoir et corriger) et qui expliquera pas a pas la programmation de ce volet, optimisations a la clef, avec exemples assembleur commentes.

Bonne lecture,

Yoann
en haut - en bas
Yoann
Visiteur
Date : 03/11/2004 à 09h15
Et puisque je viens de le finir, le volet Vector Balls est detaille au maximum, code assembleur commente compris.
en haut - en bas
Lilian
Visiteur
Date : 03/11/2004 à 11h57
P'tain, ca c'est du boulot
en haut - en bas
Yoann
Visiteur
Date : 03/11/2004 à 13h41
Il y a en effet une dizaine d'heure rien que pour rediger le tutorial de Vector Balls qui est en ligne.

J'ai mis a jour a nouveau celui de Colors Of China avec plus d'images inedites et la derniere page consacree a l'avant "Colors Of China"

En esperant que cela vous interressera
en haut - en bas
Xavier (Critor)
Visiteur
Date : 03/11/2004 à 17h57
Courage Daniel!


Tu es proche du but :)

Et on se doute que ça doit faire bouillir tes neurones...
en haut - en bas
Daniel
Visiteur
Date : 04/11/2004 à 12h23
Mon premier objectif était d'utiliser DirectDraw dans DCMOTO (pour les démos HCL, Chinese Stack et Thomtest-Sorcery).
Le deuxième d'utiliser DirectSound : c'est fait depuis ce matin
Maintenant je vais finir l'émulation des épisodes suivants de Chinese Stack...

Daniel
en haut - en bas
Yoann
Visiteur
Date : 05/11/2004 à 07h23
T'aurais pas une petite version alpha de tes developpement ?
en haut - en bas
Daniel
Visiteur
Date : 05/11/2004 à 07h43
Aujourd'hui ce n'est pas encore montrable, mais dès que possible il y aura des pré-versions.
Pour répondre à ta demande, on pourra sélectionner (dans les options) des facteurs de zoom entiers. La fenêtre reste toutefois redimensionnable avec la souris, en particulier pour pouvoir obtenir un rapport largeur/hauteur identique à celui de l'écran Thomson. Les balls des vector balls ne seront plus ovales, et la femme tibétaine retrouvera son fin visage

Daniel
en haut - en bas
Pages : 1 - 2 - 3