MSX Village forum

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

Gfx Membre non connecté

Villageois

Rang

Avatar

Inscrit le : 22/02/2021 à 22h22

Messages: 355

Le 12/04/2021 à 12h43

Reprise du message précédent

@aoineko Bonne nouvelle !
heuu c'est quoi un crt0 au fait ? :hum


Il faut cultiver notre jardin.
   
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 12/04/2021 à 12h44
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


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 ;) Edité par igal Le 12/04/2021 à 12h45


Tiens... voila du boudin, voila du boudin, voila du boudin... :siffle
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10329

Le 12/04/2021 à 14h27
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 :)


:noel
Site web    
aoineko Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 02/01/2011 à 21h17

Messages: 2695

Le 12/04/2021 à 14h56
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 :)


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 ^^) et que j'ai juste oublié de la réactiver avant de faire la version.


On est toujours ignorant avant de savoir.
Github    
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10329

Le 12/04/2021 à 15h52
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 ;)


:noel
Site web    
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10329

Le 12/04/2021 à 20h03
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


:noel
Site web    
aoineko Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 02/01/2011 à 21h17

Messages: 2695

Le 12/04/2021 à 21h21
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... :hum
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.
Github    
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10329

Le 13/04/2021 à 10h33
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 ;)


:noel
Site web    
aoineko Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 02/01/2011 à 21h17

Messages: 2695

Le 14/04/2021 à 23h14
Merci Jipe. :top
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.
Github    
aoineko Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 02/01/2011 à 21h17

Messages: 2695

Le 14/04/2021 à 23h30
Gfx :
heuu c'est quoi un crt0 au fait ? :hum


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.
Github    
aoineko Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 02/01/2011 à 21h17

Messages: 2695

Le 24/04/2021 à 19h00
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 ^^)


On est toujours ignorant avant de savoir.
Github    
Gfx Membre non connecté

Villageois

Rang

Avatar

Inscrit le : 22/02/2021 à 22h22

Messages: 355

Le 24/04/2021 à 22h48
Superbe ! :top
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.
   
aoineko Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 02/01/2011 à 21h17

Messages: 2695

Le 24/04/2021 à 23h43
Gfx :
Superbe ! :top

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.
Github    
ericb59 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 17/04/2012 à 10h25

Messages: 5481

Le 25/04/2021 à 10h16
Gfx :

Je code un peu pour m'amuser (Actionscript 3) mais je connais mal le c.


Y a encore des endroits où on peut coder en AS3 ?
Depuis que Flash est mort, le langage est mort avec non ? Edité par ericb59 Le 25/04/2021 à 10h16


banniere-ericb59e
Site web    
Gfx Membre non connecté

Villageois

Rang

Avatar

Inscrit le : 22/02/2021 à 22h22

Messages: 355

Le 25/04/2021 à 13h07
@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


Il faut cultiver notre jardin.
   
Gfx Membre non connecté

Villageois

Rang

Avatar

Inscrit le : 22/02/2021 à 22h22

Messages: 355

Le 25/04/2021 à 13h14
@aoineko merci, je vais sûrement m'y mettre quand ma config sera opérationnelle, je vous ferai signe :)


Il faut cultiver notre jardin.
   
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie