comment ça marche ?

Des MO et des TO...

Modérateur : Politburo

smague

comment ça marche ?

Message par smague »

j ai pris connaissance du tutorial Vector Balls.
Si j ai bien saisi il n y a pas de calcul de trajectoire mais il s agit en fait d une succession d images dont l integralité est stockée au depart dans la zone memoire reservée à la cartouche.
combien y a t il en tout ,avec les 8 sprites predefinis sur une grille graphique ,d autres elements qui resultent des combinaisons de chacune des positions.
toutes les phases sont elles stockés ou recalculés dans le deroulement du programme
Avatar du membre
pstriolo
Modérateur
Modérateur
Messages : 3511
Enregistré le : 22 mai 2002 07:05
Localisation : Dans ton cul... au fond à gauche

Message par pstriolo »

ah là c'est mieux. En progrès le daniel, en progrès.

Philou
Avatar du membre
Fabrice Montupet
Administrateur
Administrateur
Messages : 11083
Enregistré le : 17 mai 2002 11:39
Localisation : Nevers - France

Message par Fabrice Montupet »

Ah yeah.......Il est sympa ce message sans les petits pics de tout à l'heure :lol:
smague

vous n avez pas eu le temps de le lire ?

Message par smague »

merci de respecter les posts qui demandent des explications de programmation.
ce n est pas parce qu y sont cités des clubs ou d autres forums qu ils faut les suspecter et les effacer.
Avatar du membre
Fabrice Montupet
Administrateur
Administrateur
Messages : 11083
Enregistré le : 17 mai 2002 11:39
Localisation : Nevers - France

Message par Fabrice Montupet »

Apprend déjà à respecter ceux qui gèrent ce forum et ses membres. Ce n'est pas la question qui à été génératrice d'un kill mais le reste. Ne te place pas en donneur de leçon, cela sonne faux.
Yoann

Re: comment ça marche ?

Message par Yoann »

smague a écrit :j ai pris connaissance du tutorial Vector Balls.
Si j ai bien saisi il n y a pas de calcul de trajectoire mais il s agit en fait d une succession d images dont l integralité est stockée au depart dans la zone memoire reservée à la cartouche.
combien y a t il en tout ,avec les 8 sprites predefinis sur une grille graphique ,d autres elements qui resultent des combinaisons de chacune des positions.
toutes les phases sont elles stockés ou recalculés dans le deroulement du programme
La zone cartouche est utilise pour gerer les 2 ecrans a afficher lors de l'animation.

Les offsets des balls sont stockes dans les banques ($A000) ... la demo actuelle occupe deux banques (donc 32 Kilo de donnees). Chaque ball est codee sur 2 octets (3 bits pour son numero, et 13 bits pour son offset). et son places linerairement dans l'ordre dans lequel chacune des balls doit etre affichee. Cet ordre est important pour conserver la 3D (les balls les plus eloignees doivent s'afficher d'abord).

Chaque image contient 40 balls. donc 80 octets par images. Dans 16 ko, on peut stocker environ 204 images. Ceci dit, ce n'est pas des images compressees qui sont placee en memoire, cela va de soit ... ce sont des listes de "coordonnees" pour chacune des petites balls a afficher, pour chacune des images.

Les seuls calculs se resument a extraire des 2 octets l'offset et le numero de ball pour l'afficher. Toute l'animation est deja precalculee. Vue les calculs 3D (rotation sur plusieurs axes en meme temps) et les rangements de tableau pour afficher les balls dans le bon ordre, il aurait ete impossible de faire une animation de cette taille a cette vitesse en temps reel sur un Thomson.

Pour preciser (dont certaines infos sont dans le tutorial)

* On va travailler sur 2 ecrans - donc on va afficher l'un quand on travail sur un autre, et on commutera a la fin de l'ecriture
* On efface l'ancienne trajectoire (on efface 40 balls)
* On affiche la nouvelle (on affiche 40 balls)
* On rajoute l'effet de reflet (copie de zone memoire en ce servant de la pile pour accelerer le tout)
* On attend la VBL
* On commute les 2 ecrans entre eux (ceux stocke dans l'espace cartouche)
* On incremente 2 compteurs (qui sont en quelque sorte le numero d'image) : un pour les trajectoires a afficher, un pour les trajectoires a effacer. On change de banque si necessaire et on calcule l'offset en memoire (> $A000) pour chacun des 2 compteurs. Remise a zero de l'un ou l'autre si necessaire.
* On recommence.

Donc le gros du travail a ete d'optimiser a mort le programme d'affichage pour afficher les balls le plus vite possible. L'autre gros du travail a ete de faire une application pour calculer ces fichiers d'offset a partir d'objects et d'equations 3D.

La demo occupe en tout et pour tou 36 Kilo en memoire environ (programme et donnees compris)
Modifié en dernier par Yoann le 04 nov. 2004 01:36, modifié 2 fois.
Yoann

Message par Yoann »

Fabrice Montupet a écrit :Ah yeah.......Il est sympa ce message sans les petits pics de tout à l'heure :lol:
De quoi s'agissait-il ? (en MP si vous voulez)
Avatar du membre
pstriolo
Modérateur
Modérateur
Messages : 3511
Enregistré le : 22 mai 2002 07:05
Localisation : Dans ton cul... au fond à gauche

Message par pstriolo »

Laisse tomber.

Tu te ferais du mal pour rien.

Philou
Yoann

Message par Yoann »

pstriolo a écrit :Laisse tomber.

Tu te ferais du mal pour rien.

Philou
J'ai toute la panoplie cuir&clous de chez S&M Inc. ... alors ...

:lol:
Avatar du membre
Fabrice Montupet
Administrateur
Administrateur
Messages : 11083
Enregistré le : 17 mai 2002 11:39
Localisation : Nevers - France

Message par Fabrice Montupet »

:lol:
Oui, oublions!
smague

re-comment ça marche

Message par smague »

pour repondre à une de vos questions :
Dans le tutorial vous publiez un schema expliquant le principe du mode bitmap4 avec RAMA et RAMB
en donnant comme source de l'information le site defusr.free.fr
je disais simplement qu'un tel schéma avait deja ete donné au thomsonistes dans un de mes articles co-signé par Thomtest (gael pegliasco) dans le journal du club C.....(à completer par vous même :evil: )
Pour revenir à la démo
Ceci dit, ce n'est pas des images compressées qui sont placee en memoire, cela va de
soit ... ce sont des listes de "coordonnees" pour chacune des petites balls a afficher,
Dans votre demo il y a le mot 'vector'' comme vectoriel
Or d après ce que vous expliquez il n y a presqu' aucun calcul ni algos donc cela veut dire que c est un affichage bitmap :?:
L'autre gros du travail a ete de faire une application pour calculer ces fichiers d'offset
a partir d'objects et d'equations 3D
ce qui serai interessant à expliquer dans l animation c est comment vous avez obtenu vos listes de coordonnées pour la place de chacune des balles pour des mouvements harmonieux.
Car sur Thomson je ne connais qu Anima 3D qui créé ce modèle d'objet animés.Studio le fait aussi mais en 2 D
SCRC
ANDB #$80
STB $E7DD
COM SCRC0+1
SCRC0
LDB #$00
ANDB #$02
ORB #$60
STB $E7E6
CLR $E7CF
RTS
où avez 'péché' cette routine ? pourriez vous l expliciter un peu plus ?
Yoann

Re: re-comment ça marche

Message par Yoann »

smague a écrit :pour repondre à une de vos questions :
Dans le tutorial vous publiez un schema expliquant le principe du mode bitmap4 avec RAMA et RAMB
en donnant comme source de l'information le site defusr.free.fr
je disais simplement qu'un tel schéma avait deja ete donné au thomsonistes dans un de mes articles co-signé par Thomtest (gael pegliasco) dans le journal du club C.....(à completer par vous même :evil: )
Je publie un schema que j'ai dessine moi meme. La reference faite a prehisto concerne l'encadre en blanc ... les schemas comme celui que j'ai dessine sont classiques de chez classiques pour expliquer les plans ...
Dans votre demo il y a le mot 'vector'' comme vectoriel
Or d après ce que vous expliquez il n y a presqu' aucun calcul ni algos donc cela veut dire que c est un affichage bitmap :?:
Oui, c'est vector, car des objets s'affichent en 3D a l'ecran. D'ailleur, y'a des produits vectoriels derriere pour PRE-calcule (je met "PRE" en majuscule parce que vous semblez ne pas l'assimiler)
ce qui serai interessant à expliquer dans l animation c est comment vous avez obtenu vos listes de coordonnées pour la place de chacune des balles pour des mouvements harmonieux.
Oui, je pourrais en effet expliquer le programme qui calcul les equations 3d et qui genere au final les fichiers binaires ... mais il y a deja 20 pages pour expliquer quelques routines assembleurs, ca risque d'en prendre tout autant pour expliquer les equations 3D ;)
Car sur Thomson je ne connais qu Anima 3D qui créé ce modèle d'objet animés.Studio le fait aussi mais en 2 D
Pour info, les fichiers binaires sont calcules sur PC ... pourquoi sur PC ? tout simplement parce que ca calcul une animation complete en quelques secondes. Si le meme programme avait etait fait sur Thomson, cela aurait pris de bonnes disaines de minutes ... pour rien en plus (a part une perte de temps).

SCRC
ANDB #$80
STB $E7DD
COM SCRC0+1
SCRC0
LDB #$00
ANDB #$02
ORB #$60
STB $E7E6
CLR $E7CF
RTS
où avez 'péché' cette routine ? pourriez vous l expliciter un peu plus ?
'péché' ? Je vous trouve bien pejoratif, voir un brin insultant ... :roll: ... encore quelque chose de ce ton et je ne repondrais plus a vos questions ...

C'est une routine qui s'auto modifie. Cela evite d'avoir une variable dedie a cet effet et d'avoir des chargements et des dechargement dans les registres. Cette routine commute les 2 ecrans en zone cartouche.

Le COM va complementer la valeur qui se trouve en SCRC0+1 ... Quand on regarde de plus pret, SCRC0+1 defini la valeur du LDB (mise a #00 a l'init du programme).

Au premier passage, notre LDB #00 va se retrouve change en LDB #$FF
Au deuxieme passage, notre LDB #$FF va se retrouve change en LDB #$00
et ainsi de suite ...

On applique un ANDB de 2 (on ne garde que le bit 1) et on a une valeur qui varie ... soit 0, soit 2 ...

Puis un ORB par dessus tout, et notre valeur finale est soit $60, soit $62 ... soit les valeurs a deposer $E7E6 pour commuter les banques de l'espace cartouche.
Modifié en dernier par Yoann le 05 nov. 2004 00:38, modifié 1 fois.
Yoann

Re: re-comment ça marche

Message par Yoann »

smague a écrit : Dans votre demo il y a le mot 'vector'' comme vectoriel
Or d après ce que vous expliquez il n y a presqu' aucun calcul ni algos donc cela veut dire que c est un affichage bitmap :?:

ce qui serai interessant à expliquer dans l animation c est comment vous avez obtenu vos listes de coordonnées pour la place de chacune des balles pour des mouvements harmonieux.
Car sur Thomson je ne connais qu Anima 3D qui créé ce modèle d'objet animés.Studio le fait aussi mais en 2 D
Au fait, vous avez du loupe cette section :
Les objets composés par les balls sont affichés en trois dimensions de facon à garantir une flexibilité totale dans leur animation. Cependant, les équations 3D sont gourmandes en calculs et donc en temps machine. Il a donc été décidé que ces animations seront précalculées et sauvées sous forme d'un ou de plusieurs fichiers binaires que le programme d'affichage utilisera. La partie principale de ce programme sera donc l'affichage des séquences d'animation purement et simplement.
Et pour finir, je sais tres bien ou vous voulez en venir ...

"Quoi ! les offsets ont ete calcule sur PC ? ... ce n'est donc pas une demo thomson comme nos grand-mere savaient les faire"

P'tet, mais grand mere n'a pas taper du 15 images par secondes pour une animation 3D precalculee ...

Y'a meme des jeux sur PC dont les sprites 3D etaient calcules sur Silicon Graphics ! Quel afront ! :D
Yoann

Message par Yoann »

Il manque au passage une ligne (je modifierais le site plus tard)

Code : Tout sélectionner

SCRC
          LDB SCRC0+1
          ANDB #$80
          STB $E7DD
...
...
Modifié en dernier par Yoann le 04 nov. 2004 14:55, modifié 1 fois.
Avatar du membre
jvernet
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 7958
Enregistré le : 24 mai 2002 09:57
Localisation : France 69
Contact :

Message par jvernet »

Au passage, je n'ai toujours pas réussi à transferer la demo sur une disquette lisible par mon TO8 :(.

et les emulos Thomson sur Mac sont totalement incapables de ne serait ce que d'afficher la page d'accueil de la demo :(...

Jerome
"l'ordinateur et l'homme sont les deux opposés les plus intégraux qui existent. L'homme est lent, peu rigoureux et très intuitif. L'ordinateur est super rapide, très rigoureux et complètement con."
Répondre

Retourner vers « Thomson »