La Place des Développeurs Final Smash Cette fois c'est le bon !?

JIPEMSX :
... et au début j'ai été surpris par le manque de musique puis j'ai compris qu'il fallait l'activer dans les options
je pense que c'était mieux de l'avoir dès le début et de choisir sans si besoin
je pense que c'était mieux de l'avoir dès le début et de choisir sans si besoin
Modestement, cela me semble aussi plus naturel que la musique soit active par défaut, tout en laissant la possibilité au joueur de désactiver si il le souhaite


JIPEMSX :
j'ai essayé la derniére version avec mon Turbo-R et un slot expander Gouda V5.0 dans les slots 1 et 2
le jeu fonctionne bien dans tous les slots étendus
le jeu fonctionne bien dans tous les slots étendus

Tu pourrais me confirmer que c'était pas le cas avec la version précédente stp ?
Et pour la musique, c'est juste que je la désactive par défaut quand je fais mes tests (à force c'est prenant

On est toujours ignorant avant de savoir.
voici le test pour la version fs0211.rom dans un slot expander
dans les sous-slots 1.0 et 2.0 ça fonctionne
dans les autres sous-slots 1.1 1.2 1.3 2.1 2.2 2.3 on a le droit a un magnifique écran bleu ( genre bug windows
)
et le MSX est bien planté car même la touche pause du Turbo-R est inactive
par contre au premier lancement la balle est descendue seule sur le coté droit de l'écran avec un scrolling vers le bas
ce bug ne s'est pas reproduit après le lancement du jeu et même après plusieurs resets
avec la nouvelle version fs0212.rom j'ai eu une fois la balle figée au bas de l'écran a droite
je pense a un bug avec la ram ou la vram qui contient des mauvaises données je laisse le MSX se reposer pour vider les mémoires et je reteste
dans les sous-slots 1.0 et 2.0 ça fonctionne
dans les autres sous-slots 1.1 1.2 1.3 2.1 2.2 2.3 on a le droit a un magnifique écran bleu ( genre bug windows

et le MSX est bien planté car même la touche pause du Turbo-R est inactive
par contre au premier lancement la balle est descendue seule sur le coté droit de l'écran avec un scrolling vers le bas
ce bug ne s'est pas reproduit après le lancement du jeu et même après plusieurs resets
avec la nouvelle version fs0212.rom j'ai eu une fois la balle figée au bas de l'écran a droite
je pense a un bug avec la ram ou la vram qui contient des mauvaises données je laisse le MSX se reposer pour vider les mémoires et je reteste

ce lien peut être intéressant si le propriétaire accepte de tester ton jeu avec ce fameux VDP YM2220
on peut voir sur le lien que les couleurs de ce VDP ne font du tout MSX1
https://www.msx.org/forum/msx-talk/trading-and-collecting/wts-yamaha-sx-100-msx1-with-ym2220-vdp-and-rgb-out
on peut voir sur le lien que les couleurs de ce VDP ne font du tout MSX1

https://www.msx.org/forum/msx-talk/trading-and-collecting/wts-yamaha-sx-100-msx1-with-ym2220-vdp-and-rgb-out

Donc ça confirme que mes modifications permettent bien de lancer le jeu dans un slot étendu.
Du coup, c'est encore plus étrange que ça ne fonctionne pas dans une MFR SCC+ SD...
Je ne connais pas du tout le process de boot d'un MSX avec une MFR SCC+ SD flashé avec une ROM.
Une idée de ce qui pourrait expliquer la différence ?
Du coup, c'est encore plus étrange que ça ne fonctionne pas dans une MFR SCC+ SD...

Je ne connais pas du tout le process de boot d'un MSX avec une MFR SCC+ SD flashé avec une ROM.
Une idée de ce qui pourrait expliquer la différence ?
On est toujours ignorant avant de savoir.
en cherchant des infos je suis tombé la-dessus : https://retrocomputing-blog.blogspot.com/2020/05/cartouche-megaflashrom-scc-sd-512ko.html
il y a pas mal d'infos sur la MFR et c'est en français
ici il y a tout ce qu'il faut pour l'émuler dans openMSX :
https://www.msx.org/wiki/Emulating_MegaFlashROM_SCC%2B_SD_with_openMSX
n'ayant pas cette cartouche je vais tenter l'émulation
il y a pas mal d'infos sur la MFR et c'est en français
ici il y a tout ce qu'il faut pour l'émuler dans openMSX :
https://www.msx.org/wiki/Emulating_MegaFlashROM_SCC%2B_SD_with_openMSX
n'ayant pas cette cartouche je vais tenter l'émulation


Merci Jipe. 
L'article est très intéressant et explique bien l'utilisation de la MFR SCC+ SD.
Par contre, il ne renseigne pas sur sa place dans le processus de boot du système.
Ce que j'aimerai comprendre ce sont les étapes par lesquelles passe le code de boot système avant d'arriver au header de ma ROM quand elle est dans la MFR.
Dans le cas d'une cartouche standard, je sais que le code de boot cherche l'entête ("AB") dans toutes les pages (ou juste les pages 1 et 2 ?) de tous les sous-slots de tous les slots et que s'il trouve, il jump vers l'adresse indiqué dans l'entête. A ce moment, le slot (et sous-slot) de la cartouche sont présélectionnés. C'est là que mon programme commence et je pense que je gère maintenant correctement la configuration de toutes les pages de ma ROM (pages 0 à 3) dans le bon slot et sous-slot.
Dans le cas de la MFR il doit y avoir quelque chose de différent qui fait que ça ne marche pas, mais je ne sais pas quoi...

L'article est très intéressant et explique bien l'utilisation de la MFR SCC+ SD.
Par contre, il ne renseigne pas sur sa place dans le processus de boot du système.
Ce que j'aimerai comprendre ce sont les étapes par lesquelles passe le code de boot système avant d'arriver au header de ma ROM quand elle est dans la MFR.
Dans le cas d'une cartouche standard, je sais que le code de boot cherche l'entête ("AB") dans toutes les pages (ou juste les pages 1 et 2 ?) de tous les sous-slots de tous les slots et que s'il trouve, il jump vers l'adresse indiqué dans l'entête. A ce moment, le slot (et sous-slot) de la cartouche sont présélectionnés. C'est là que mon programme commence et je pense que je gère maintenant correctement la configuration de toutes les pages de ma ROM (pages 0 à 3) dans le bon slot et sous-slot.
Dans le cas de la MFR il doit y avoir quelque chose de différent qui fait que ça ne marche pas, mais je ne sais pas quoi...
On est toujours ignorant avant de savoir.

Gfx :
heuu c'est quoi un crt0 au fait ? 

C'est le code assembleur qui va initialiser le contexte et lancer le début d'un programme C.
J'sais pas si tu connais un peu le C, mais le programme commence toujours par une fonction main() .
A minima avec SDCC, il faut que le crt0 d'une ROM :
- ajoute les data pour former l'entête de la ROM (16 premiers octets du binaire)
- initialise les variables globales du C (des variables en mémoire mais avec du contenu d'initialisation en ROM)
- appel la fonction main()
On a tendance à mettre dans le crt0 toute l'initialisation du système qui est indépendante de notre programme :
- la sélection des pages (modifier la vue du Z80 sur les adresses 0000h~FFFFh)
- l'initialisation de la pile d'appel
- l'initialisation de l'adresse de la RAM libre (heap)
- ...
Du coup, par exemple, j'ai un crt0 pour chaque type de média que je vise : disque DOS ou BASIC, ROM de 16/32/48K, etc.
Voici quelques exemples : https://github.com/aoineko-fr/CMSX/tree/master/cmsx/src/crt0
On est toujours ignorant avant de savoir.

J'ai été très pris par mon "vrai" travail (mon nouveau projet à enfin commencé) mais je trouve du temps pour continuer Final Smash.
J'ai fait de grosses modifications invisibles pour préparer l'avenir : j'ai viré le double buffer sur les patterns de sprite qui ne servaient à rien vu que ça ne permettait pas d'amoindrir l'effet de scintillement.
Du coup, j'ai maintenant la totalité de la table de pattern disponible (je n'utilisais que 128 entrée) et j'ai pu stocker de façon statique quasiment tous les sprites d'un match (ce qui limite les besoins les accès à la VRAM).
Seul les sprites de joueur sont chargés à la volée mais il me reste suffisamment de place pour garder en cache l'avant dernière frame (et donc accélérer encore les chargements si besoin).
J'ai aussi ajouté l'écran de victoire quand on gagner un match !

(c'est une version spéciale ou le matche se joue en 1 point pour tester plus vite
)
J'ai fait de grosses modifications invisibles pour préparer l'avenir : j'ai viré le double buffer sur les patterns de sprite qui ne servaient à rien vu que ça ne permettait pas d'amoindrir l'effet de scintillement.
Du coup, j'ai maintenant la totalité de la table de pattern disponible (je n'utilisais que 128 entrée) et j'ai pu stocker de façon statique quasiment tous les sprites d'un match (ce qui limite les besoins les accès à la VRAM).
Seul les sprites de joueur sont chargés à la volée mais il me reste suffisamment de place pour garder en cache l'avant dernière frame (et donc accélérer encore les chargements si besoin).
J'ai aussi ajouté l'écran de victoire quand on gagner un match !

(c'est une version spéciale ou le matche se joue en 1 point pour tester plus vite

On est toujours ignorant avant de savoir.
Superbe ! 
Tu as changé quelque chose à la balle, elle paraît plus réaliste ?
Je code un peu pour m'amuser (Actionscript 3) mais je connais mal le c.
J'ai écris quelques programme pour Arduino, je crois que la syntaxe est proche...
Merci pour ton explication sur le crt0. Edité par Gfx Le 24/04/2021 à 22h53

Tu as changé quelque chose à la balle, elle paraît plus réaliste ?
Je code un peu pour m'amuser (Actionscript 3) mais je connais mal le c.
J'ai écris quelques programme pour Arduino, je crois que la syntaxe est proche...
Merci pour ton explication sur le crt0. Edité par Gfx Le 24/04/2021 à 22h53
Il faut cultiver notre jardin.

Gfx :
Superbe ! 

Merci à l'artiste

Gfx :
Tu as changé quelque chose à la balle, elle paraît plus réaliste ?
J'ai changé l'ombrage sur la balle et l'ombre portée.
Gfx :
Je code un peu pour m'amuser (Actionscript 3) mais je connais mal le c.
Si tu as besoin d'un coup de main, hésite pas à demander.
C'est pas très compliqué une fois que tu connais la base.
On est toujours ignorant avant de savoir.

@ericb59 Non pas du tout, tu as encore une grosse communauté qui code en AS3 avec le AIR SDK de Harman (anciennement Adobe)
C'est une super techno gratuite pour de petits projets et qui permet de compiler ton code AS3 pour différentes plateformes (Android, iOS, Mac & PC) dommage que tout le monde soit passé au javascript qui est une vraie m...
Avec un copain on a réalisé un jeu avec cette techno en utilisant Starling ça permet de faire des jeux 2D en utilisant l'accélération 3D du téléphone ou de la tablette. Edité par Gfx Le 25/04/2021 à 13h08
C'est une super techno gratuite pour de petits projets et qui permet de compiler ton code AS3 pour différentes plateformes (Android, iOS, Mac & PC) dommage que tout le monde soit passé au javascript qui est une vraie m...
Avec un copain on a réalisé un jeu avec cette techno en utilisant Starling ça permet de faire des jeux 2D en utilisant l'accélération 3D du téléphone ou de la tablette. Edité par Gfx Le 25/04/2021 à 13h08
Il faut cultiver notre jardin.
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie