Logicielsmoto.com
http://www.logicielsmoto.com/phpBB/

Outillage pour développement de jeux sur TO8
http://www.logicielsmoto.com/phpBB/viewtopic.php?f=3&t=620
Page 27 sur 40

Auteur:  Yoann Riou [ 19 Mai 2022, 12:23 ]
Sujet du message:  Re: Outillage pour développement de jeux sur TO8

C'est a peine croyable. Sonic est le jeux que je n'aurais jamais choisi pour faire une conversion. Lemmings, c'etait deja assez pour moi :D

Ca dechire grave !

Je remarque ici un GROS block d'avant plant, c'est normal ?

Fichier(s) joint(s):
Screen Shot 2022-05-19 at 4.07.13 PM.png
Screen Shot 2022-05-19 at 4.07.13 PM.png [ 242.53 Kio | Vu 4169 fois ]


J'imagine bien que Sonic ne pourra jamais se trouver la, mais, je me demandais si c'etait normal.

Auteur:  Bentoc [ 21 Mai 2022, 08:18 ]
Sujet du message:  Re: Outillage pour développement de jeux sur TO8

Hello, oui c’est normal il y a un peu de hauteur sous plafond dans la grotte. Ça masque aussi le bouclier quand sonic en a un (enfin il y a un bug dans le jeu original ou la bulle depasse, c’est corrigé dans la version pour mobile)

Auteur:  Bentoc [ 25 Mai 2022, 09:05 ]
Sujet du message:  Re: Outillage pour développement de jeux sur TO8

Petite session de debug "synchronisée" ;-)
A gauche le code megadrive (MAME) ... a droite le code pour TO8

Le code de gestion de collision avec le décors est implémenté (2500 lignes d'asm ...), il faut maintenant le debug !

Fichier(s) joint(s):
debug session.png
debug session.png [ 251.7 Kio | Vu 4131 fois ]


Il va me falloir bcp de patience :oui:

Auteur:  Samuel Devulder [ 25 Mai 2022, 11:31 ]
Sujet du message:  Re: Outillage pour développement de jeux sur TO8

Oh mais tu as une sorte de convertisseur automatique du code 68000 ver le 6809. Les registres du 68000 sont émulé au travers de variables globales. La dessus quand c'est une donnée, le calcul est effectué par le registre D, et si c'est une adresse par le registre X (voire juste une indirection entre $1E7F4 coté 68000 et ligne 169 coté 6809).

Auteur:  Bentoc [ 25 Mai 2022, 12:12 ]
Sujet du message:  Re: Outillage pour développement de jeux sur TO8

Les routines sur cette partie du code utilisent beaucoup de registres, donc j'ai déclaré des variables en direct page pour chacun d'entre eux.
Le code est tellement long que j'ai décidé de conserver au maximum les noms de variables et le noms de registres, sinon ça devenait trop complexe.
Une fois le code fonctionnel on pourra envisager des optims et de la factorisation de code (on retrouve des troncs communs dupliqués parfois 4 fois !)

Code:
; DIRECT PAGE TEMP VARIABLES
; --------------------------
glb_d0   equ   direct_page+128
glb_d0_b equ   direct_page+129
glb_d1   equ   direct_page+130
glb_d1_b equ   direct_page+131
glb_d2   equ   direct_page+132
glb_d2_b equ   direct_page+133
; must be a free byte here for 24bits computation
glb_d3   equ   direct_page+135
glb_d3_b equ   direct_page+136
; must be a free byte here for 24bits computation
glb_d4   equ   direct_page+138
glb_d4_b equ   direct_page+139
glb_d5   equ   direct_page+140
glb_d5_b equ   direct_page+141
glb_d6   equ   direct_page+142
glb_d6_b equ   direct_page+143
glb_a3   equ   direct_page+144
glb_a3_b equ   direct_page+145
glb_a4   equ   direct_page+146
glb_a4_b equ   direct_page+147
glb_page equ   direct_page+148


Pour convertir le code je n'ai pas encore d'outil très évolué (peut être un jour), pour l'instant j'utilise quelques expressions régulières pour faire du rechercher/remplacer, ce qui réduit la quantité de code à écrire.

Auteur:  Samuel Devulder [ 25 Mai 2022, 13:23 ]
Sujet du message:  Re: Outillage pour développement de jeux sur TO8

oui il y a des optims possibles
Code:
move.b (A2,D0.w),d0
andi #$ff,d0
beq ...
lea $42d50.l,A2
move.b (a2,d0.w),(a4)
devient
Code:
ldd glb_d0
ldb d,x
anda #0 --> clra mais en fait il ne sert à rien à cause du abx
std glb_d0
beq ..
ldd glb_d0 --> sert à rien (D déjà chargé), sauf si un saut tombe juste sur cette adresse.
ldx ColCurveMap
abx     \___  c'est déjà optimisé ?
lda ,x  /       Ici j'aurais vu un lda d,x en traduction automatique
sta [glb_a4]

Auteur:  stefff285 [ 25 Mai 2022, 21:50 ]
Sujet du message:  Re: Outillage pour développement de jeux sur TO8

Bonsoir @bentoc et bravo encore pour tout ce que tu fais !
j'ai quelques questions à te poser

1) est ce une démo technique à laquelle tu veux arriver ou alors veux tu nous procurer Sonic pour teo ?
2) est ce que tu utilises seulement un to8d avec 512ko de ram par exemple ou utilises tu des procs supplémentaires ? tes captures video sont tellement incroyables que je ne sais si cela est possible sur teo
2) enfin quelle carte son utilises tu ? que j'essaye ton jeu dès que possible !

Dans tous les cas bravo, c'est une preuve de code superbe et moi qui ne code pas j'en ai bouche bée !

très bonne continuation à toi et merci encore pour ce que tu fais.

Auteur:  Bentoc [ 25 Mai 2022, 22:44 ]
Sujet du message:  Re: Outillage pour développement de jeux sur TO8

Salut,

Le projet est avant tout de produire un moteur de jeu open source pour TO8.
l'équipe wide-dot (composée de fxrobin et adnz et moi même) travaille sur le sujet.

Concernant Sonic je ne pensait pas réussir a faire le scroll jusqu'à il y a quelques semaines.
Du coup comme ça rend bien, je poursuit avec la gestion de collision.
Tout ce qui est ajouté à la démo est intégré et donc utile au moteur de jeu.
A court terme je vise de pouvoir faire déplacer Sonic dans un niveau, on verra ensuite.

Pour le moment les vidéos postées tournent sur un TO8 standard + extension mémoire 256Ko + cartes son.

Lorsque j'aurai besoin de plus de place pour les graphismes, je vais basculer sur l'utilisation de la mégarom T.2.
Dans ce cas l'extension mémoire ne sera plus nécessaire.
On aura donc certainement deux versions (une disquette, une autre megarom).

Pour les cartes son c'est ici :
http://forum.system-cfg.com/viewtopic.p ... 3&start=45
https://github.com/dinoflorenzi/THOMSON-MO-TO-SOUNDCARD

Il y a deux cartes : une avec le SN76489 (square wave + noise) et l'autre avec le YM2413 (FM synth), le driver de notre moteur de jeu est capable de gérer les deux en //
Pour le moment personne ne les fabrique, il faut les monter soi-même.
Idéalement il faudrait faire une version sur une seule carte ... ce serait moins cher, plus pratique et plus esthétique.
Quand la démo Sonic 2 sera plus aboutie il sera temps de s'y coller !

Dès que la gestion de collision fonctionne je posterai une première démo jouable pour que vous puissiez essayer chez vous.
a+ et merci pour ton intérêt au projet.

Auteur:  Bentoc [ 25 Mai 2022, 22:48 ]
Sujet du message:  Re: Outillage pour développement de jeux sur TO8

Samuel Devulder a écrit:
oui il y a des optims possibles
Code:
move.b (A2,D0.w),d0
andi #$ff,d0
beq ...
lea $42d50.l,A2
move.b (a2,d0.w),(a4)
devient
Code:
ldd glb_d0
ldb d,x
anda #0 --> clra mais en fait il ne sert à rien à cause du abx
std glb_d0
beq ..
ldd glb_d0 --> sert à rien (D déjà chargé), sauf si un saut tombe juste sur cette adresse.
ldx ColCurveMap
abx     \___  c'est déjà optimisé ?
lda ,x  /       Ici j'aurais vu un lda d,x en traduction automatique
sta [glb_a4]


Merci Sam,

Je termine d'abord mon debug et planche sur ces optim juste après.
L'idée de bosser sur un convertisseur me plait bien, ça permettrait de convertir le code (souvent simple) de l'IA des ennemis.
J'ajouterai certainement un fil dédié à la conversion 68000 => 6809

Auteur:  Yoann Riou [ 27 Mai 2022, 17:39 ]
Sujet du message:  Re: Outillage pour développement de jeux sur TO8

Comment fonctionnent ces cartes son ? Je ne vois pas de prise audio (pour les connecter a des speakers par exemple) ni de buzzer ? D'ou sort le son ?

Auteur:  Bentoc [ 27 Mai 2022, 20:52 ]
Sujet du message:  Re: Outillage pour développement de jeux sur TO8

Le son produit par les chip est injecté sur le connecteur 3B du port d'extension, le son sort donc par la prise péritel au même titre que le dac interne du TO8.

Auteur:  Yoann Riou [ 29 Mai 2022, 16:07 ]
Sujet du message:  Re: Outillage pour développement de jeux sur TO8

Bentoc a écrit:
Le son produit par les chip est injecté sur le connecteur 3B du port d'extension, le son sort donc par la prise péritel au même titre que le dac interne du TO8.


C'est cool ca. Merci pour l'explication ! Je me demande si l'interieur du boitier a assez de place pour mettre cette carte son en interne :D

Auteur:  Bentoc [ 29 Mai 2022, 17:09 ]
Sujet du message:  Re: Outillage pour développement de jeux sur TO8

Je pense qu'il y a la place, mais moi je suis plutôt partisan de l'utilisation du port d'extension : c'est fait pour ça ;-)

Il y a d'autres chip son intéressants, en particulier qui utilisent un DAC externe.
L'intérêt est de pouvoir orienter le signal des différentes voies du synthé FM vers la sortie gauche ou droite du DAC pour créer de super effets (chorus, ...)
Avec ce système + une prise jack sur la carte on aurait un super son stéréo. bon du coup ça ne passerait plus par la péritel.
On pourrait aussi y mixer le son du dac interne.
Mais tout ça demande du taf ...

Auteur:  Samuel Devulder [ 29 Mai 2022, 17:35 ]
Sujet du message:  Re: Outillage pour développement de jeux sur TO8

Moi j'aime bien l'esprit d'envoyer le son sur la péritel, tout comme l'extension musique(?) et jeux.

Ca me semble assez compatible avec ce que les ingénieurs Thomson avaient préparés comme signaux sur le bus d'extension et c'est compatible sur toute la gamme il me semble.

A l'époque une telle extension intégrée dans la musique et jeux (avec ici, une vraie notion de musique), aurait cassé la barraque des autres ordis.

Mais on ne refait pas l'histoire...

Auteur:  Yoann Riou [ 30 Mai 2022, 06:40 ]
Sujet du message:  Re: Outillage pour développement de jeux sur TO8

Bah oui :oops: Je n'avais pas pensé a l'extension musique et jeux qui fonctionnait de cette facon ...

Page 27 sur 40 Heures au format UTC + 1 heure
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/