Les applis d'aujourd'hui

Tout sur le micro français le plus ambitieux mais si malchanceux

Modérateur : Politburo

Répondre
jester
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 263
Inscription : 29 déc. 2008 18:30

Les applis d'aujourd'hui

Message par jester » 08 févr. 2009 17:55

Petit sursaut de vie pour l'EXL100 avec l'arrivée de l'émulateur.
Je place ici aussi (en plus du forum dédié à l'émulation) mes 2 premières démos minables en assembleur:

Scrolling vertical méthode 1: on fait tout en RAM, et on recopie en VRAM le résultat
Scrolling vertical méthode 2: on a juste l'image en RAM et on fait le minimum avant de recopier en VRAM

J'attends les productions des autres avec impatience... et les retours des testeurs sur vrai matos.
J'aimerais bien pouvoir voir ce que ça donne en vrai, mais il faut au moins un Exel complet avec exelmax+exelmémoire (et attendre les outils de Daniel pour exporter en wav). Et vous avez récupéré toutes les machines sur le marché... salopards :wink:
Dernière édition par jester le 08 févr. 2009 18:19, édité 2 fois.

Avatar de l’utilisateur
jvernet
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 7769
Inscription : 24 mai 2002 09:57
Localisation : France 69
Contact :

Message par jvernet » 08 févr. 2009 18:09

Bravo !

Je vais regarder ça.
"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."

Avatar de l’utilisateur
jvernet
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 7769
Inscription : 24 mai 2002 09:57
Localisation : France 69
Contact :

Message par jvernet » 08 févr. 2009 18:24

Euh... Tu fais comment pour lancer le truc ?

J'ai tenté d'aller dans le CROS et de taper SCR, ça fait rien...
"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."

jester
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 263
Inscription : 29 déc. 2008 18:30

Message par jester » 08 févr. 2009 18:58

jvernet a écrit :Euh... Tu fais comment pour lancer le truc ?

J'ai tenté d'aller dans le CROS et de taper SCR, ça fait rien...
Dans l'émulateur:
Tu charges le fichier cram comme une exelmémoire.
Tu fait en sorte d'avoir la cartouche exelmax (pour avoir l'adresse écran BAPPA à >0DOO dans la VRAM... à vérifier avec l'outil de mise au point).
Ensuite tu vas sous le CROS à partir d'exelmax et tu tapes SCR.
Ensuite pour changer de direction, on utilise les touches HAUT/BAS, pour terminer on utilise la touche ECHAP de l'EXEL (pas l'ECHAP du PC).

Attention de ne pas avoir l'exeldisc sinon il y aura des Pbs de pagination avec l'exelmémoire.

Et voila...

Sinon je cherche le moyen de parcourir le plus vite possible une zone mémoire pour en lire contenu (avec LDA). J'utilise une adresse dans un couple de registre, et j'ajoute 1 à l'adresse (ADD + ADC sur les registres) => c'est assez lent. Il existe DECD qui permet de décrementer sur 16bits, mais pas de ADDD.
On se rent bien compte de la différence avec le premier programme (ça descend plus vite que ça monte).
Il y a surement aussi moyen d'écrire un code plus propre et intelligent dans le code 2 (partie TOVDP qui recopie la RAM en VRAM en commençant toujours par la ligne correspondant au haut de l'écran).

Avatar de l’utilisateur
Fabrice Montupet
Administrateur
Administrateur
Messages : 10834
Inscription : 17 mai 2002 11:39
Localisation : Nevers - France

Message par Fabrice Montupet » 08 févr. 2009 22:01

Merci ! :D Je regarde ta démo dès demain matin, j'aurai ainsi plus de temps pour la regarder et l'étudier :)

jester
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 263
Inscription : 29 déc. 2008 18:30

Message par jester » 09 févr. 2009 01:53

J'ai testé une version en double buffering pour éviter les artefacts (2 buffers en VRAM que je swap)... mais c'est encore moins bon !
Il faut pourvoir swapper au VBL, et il n'est pas accessible pour le moment.
Et je ne suis même pas sur que la lenteur du changement de BAPA pour le VDP puisse se faire avant qu'il ne commence à retracer.

Je n'ai pas essayé de bosser directement en VRAM, car lire+ecrire+changement des pointeurs R/W en VRAM ne peut être que beaucoup plus lent !

Pas terrible... ce TMS3556 + communication avec le TMS7020 => la machine avait aucune chance, même contre un TO7 ! Ou alors j'ai merdé dans le code !

jester
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 263
Inscription : 29 déc. 2008 18:30

Message par jester » 16 mars 2009 11:04

Une petite news ici pour montrer l'évolution de mes bidouilles sur Exel.
Vous trouverez une disquette avec différentes démos de scrolling ICI. (attention certaines ne marchent pas où sont en chantier)

La démo intéressante est SCR10 : scrolling multidirectionnel en mode graphique. C'est lent à mourir mais c'est du 320x240x8bits.
Toutes les routines sont très optimisées sauf le scroll vers la droite qui est à réécrire.
Pour exécuter SCR10: il suffit de taper SCR10 sur le prompt de l'EXLDOS.

Je suis plus que curieux de savoir ce que ça donne sur un VRAI EXL par rapport à l'émulateur.

La démo encore plus intéressante est SCR12 (scrolling optimisée dans toutes les directions en 320x170 - 8 couleurs

jester
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 263
Inscription : 29 déc. 2008 18:30

Message par jester » 01 avr. 2009 10:20

J'ai bien progressé sur un autre projet (le scrolling est pas facile sur EXL): programmer un ancien classique du jeu video... un vrai challenge !
Avec les différents outils à disposition (ImageMagick, gestion de disquette par Daniel) j'ai pu faire un proto (surtout de l'animation).
Le candidat choisi fut... Space Harrier... car impossible :lol:

Voici un petit screenshot de l'avancement:
Image

Pas encore de décors mobiles (pas d'arbre, de cailloux, etc.), ni d'animation du sol. Un seul méchant: le dragon vert. Le personnage principal est Ok (sauf le tir trop lent). Et il y a encore pas mal de plantage... et des soucis graphiques.
Vous aurez une disquette avec une version un peu plus "présentable" la semaine prochaine (j'y travaille ce weekend normalement).

ça m'a fait chaud au coeur de voir le héros courir en bas de l'écran... sur un EXL100 (enfin l'émulateur). J'espère entendre sous peu "Get ready" (mais retravailler les sons c'est plus long qu'adapter des rip d'images).
Dernière édition par jester le 01 avr. 2009 22:50, édité 1 fois.

Avatar de l’utilisateur
yvesffr
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 2066
Inscription : 03 juin 2002 22:07
Localisation : 77
Contact :

Message par yvesffr » 01 avr. 2009 10:25

wow, bravo !
"Je vous aime" (© Pocket 1969)
"et moi je suis la vierge marie" (© Stamba 2009)
"Resistance is futile (if < 1 Ohm)"
"Un velux est un linux portugais"
"j'en vois encore un bout, yves" (© 2010 SbM)
"In minitel we trust" - Silicium

Avatar de l’utilisateur
Fabrice Montupet
Administrateur
Administrateur
Messages : 10834
Inscription : 17 mai 2002 11:39
Localisation : Nevers - France

Message par Fabrice Montupet » 01 avr. 2009 11:36

J'ai vraiment hâte de voir l'avancée de ce projet! et encore bravo pour le travail de demo que tu accomplies! :D

Avatar de l’utilisateur
Ythunder
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4162
Inscription : 09 août 2008 17:46
Localisation : 03

Message par Ythunder » 01 avr. 2009 11:59

Et bein dis donc, c'est un sacré challenge ton truc ! En tt cas, bonne continuation
Je suis CHARLIE
Tell me boy, do you have a room, in your heart, for the Computer boom...

Avatar de l’utilisateur
jvernet
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 7769
Inscription : 24 mai 2002 09:57
Localisation : France 69
Contact :

Message par jvernet » 02 avr. 2009 10:47

Tiens, c'est curieux, la copie d'écran a changé.

:lol: :lol:
"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."

Avatar de l’utilisateur
Fabrice Montupet
Administrateur
Administrateur
Messages : 10834
Inscription : 17 mai 2002 11:39
Localisation : Nevers - France

Message par Fabrice Montupet » 02 avr. 2009 11:40

:lol: :lol:
J'ai eu un doute compte tenu de la date du post mais cela faisait toujours rêver d'un nouveau jeu pour Exelvision :')
'Space Harrier', je n'y ai jamais joué car ce n'est pas mon style de jeu. Quitte à faire un jeu qui exploite le scrolling et qui soit graphiquement sympathique sur Exelvision, je verrais bien un jeu du genre 'Prince Of Persia' :)

Avatar de l’utilisateur
jvernet
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 7769
Inscription : 24 mai 2002 09:57
Localisation : France 69
Contact :

Message par jvernet » 02 avr. 2009 11:56

Fabrice Montupet a écrit ::lol: :lol:
..., je verrais bien un jeu du genre 'Prince Of Persia' :)
Déja, un simple Lode Runner, ça serait bien. Compte tenu des capacités et de la complexité du VDP, je doute qu'il soit possible d'animer plus que des blocs de 8x8 ;)
"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."

jester
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 263
Inscription : 29 déc. 2008 18:30

Message par jester » 02 avr. 2009 12:35

jvernet a écrit :
Fabrice Montupet a écrit ::lol: :lol:
..., je verrais bien un jeu du genre 'Prince Of Persia' :)
Déja, un simple Lode Runner, ça serait bien. Compte tenu des capacités et de la complexité du VDP, je doute qu'il soit possible d'animer plus que des blocs de 8x8 ;)
C'est pas l'animation le problème... c'est juste qu'il faut tout aligner sur des blocs de 8 en largeur (déplacement compris... impossible de faire des déplacements au pixel près)... et aussi en hauteur (pour des raisons de redraw du fond de manière optimale... il faut quadriller le fond et ne redessiner le minimum en évitant de modifier les pointeurs du VDP).

Pour cela il faut pas dépasser un mode mixte avec 320x170 en mode graphique, et dans cette zone se restreindre à moins de 200 en largeur. Sinon c'est un LoadRunner avec 2 sprites de 16x16 !!! Un amstrad faisait bien du 160x200 en mode très coloré... ce n'est pas étonnant de se limiter à du 160x160 sur un EXL (nettement plus primitif). Simplement on peut pas zoomer, donc ce sera pas gros au centre de l'écran.

Interdiction de redessiner plusieurs fois la même zone du fond avec un EXL... faut optimiser les recouvrements (et aussi le traitement de ses recouvrements). Il faut gérer les sprites comme les caractères redéfinissables (en 40x25)... mais avec le mode FULL COLOR et la transparence en plus !!! ça serait déjà beau

Répondre

Revenir vers « Exelvision »