La Place des Développeurs Projet Carwar
aoineko
Membre non connecté
Conseiller Municipal
Reprise du message précédent
Y a donc aucune interruption lié au temps autre que le VBLANK ? Je dois confondre avec les premiers PC alors.On est toujours ignorant avant de savoir.
aoineko :
Y a donc aucune interruption lié au temps autre que le VBLANK ? Je dois confondre avec les premiers PC alors.
Non, il n'y a pas d'interruptions paramétrables ...
Mais le code que j'ai posté fait le job et on ne peut pas dire qu'il soit compliqué !
MSX1: Daewoo DPC-200 / Yamaha CX5M
MSX2: Sony HB-F9P
MSXVR
Vidéo: V9990 (GFX-9)
Audio: MSX-Music (FM-PAC) / MSX-Audio (Audiowave) / OPL4 (Monster Sound FM Blaster) / OPNB (Neotron)
aoineko
Membre non connecté
Conseiller Municipal
Metalion :
Mais le code que j'ai posté fait le job et on ne peut pas dire qu'il soit compliqué !
Ok, j'essayerai avec le VBLANK. Ceci dit, si le jeu rame pas, je pourrais même incrémenter mon compteur dans ma boucle principale.
EDIT : Tiens, au fait, comment gérer proprement les 50/60Hz ? Tous les MSX étaient capable de faire les 2 ? Je sais comment lire la fréquence, mais je me demande si on peut la forcer ? Edité par aoineko Le 29/03/2011 à 15h05
On est toujours ignorant avant de savoir.
aoineko
Membre non connecté
Conseiller Municipal
Oui, mais est-ce supporté par tous les MSX ? Que se passe t'il si on passe à 60 Hz un MSX français connecté à un moniteur PAL ?
On est toujours ignorant avant de savoir.
igal
Membre non connecté
Conseiller Municipal
Salut Aoineko.
Le mode 60 Hz est effectivement supporté par tous les MSX. Seuls les très très anciens téléviseurs ne supporterons pas ce taux de rafraîchissement.
L’intérêt du mode 60Hz tient en deux choses à ma connaissance!
La première est un gain de 20% théoriques du CPU et tout ce qui se trouve dans le MSX.
La seconde est aussi très intéressante puisqu'en 60Hz, l'image se dilate verticalement (de 20% je crois) sur les afficheurs à tube cathodique. Le rendu est plus agréable à regarder.
Par contre, en fonction de la technique de programmation, un plus grand nombre de Cycles peut être pénalisant. Stapha en parlait sur un de ses posts concernant le Sujet Moteur de Jeu en Basic.
Le mode 60 Hz est effectivement supporté par tous les MSX. Seuls les très très anciens téléviseurs ne supporterons pas ce taux de rafraîchissement.
L’intérêt du mode 60Hz tient en deux choses à ma connaissance!
La première est un gain de 20% théoriques du CPU et tout ce qui se trouve dans le MSX.
La seconde est aussi très intéressante puisqu'en 60Hz, l'image se dilate verticalement (de 20% je crois) sur les afficheurs à tube cathodique. Le rendu est plus agréable à regarder.
Par contre, en fonction de la technique de programmation, un plus grand nombre de Cycles peut être pénalisant. Stapha en parlait sur un de ses posts concernant le Sujet Moteur de Jeu en Basic.
Bien vu Jipé,
igal,
Il n'y a pas de gain de 20% théoriques du CPU mais du nombre d'images par seconde.
Quand le CPU est interrompu 60 fois par seconde au lieu de 50, il y a moins de temps pour faire autre chose donc ça peut être pénalisant en effet. Les TV japonaise ou US ne supportent le 50 hz ou alors c'est rare.
igal,
Il n'y a pas de gain de 20% théoriques du CPU mais du nombre d'images par seconde.
Quand le CPU est interrompu 60 fois par seconde au lieu de 50, il y a moins de temps pour faire autre chose donc ça peut être pénalisant en effet. Les TV japonaise ou US ne supportent le 50 hz ou alors c'est rare.
igal
Membre non connecté
Conseiller Municipal
Salut.
@ Jipe: Je pensai vraiment que les Roms Salamander, Parodius etc...étaient en 60 Hz !
@ GDX: Pourtant, les musiques sont plus rapides en 60 Hz! L'action VIDEO aussi à l'air plus rapide. Un exemple flagrant avec un jeu comme Space Manbow dans un stage (5 peut être) ou des lasers coupent l'écran verticalement, l'animation des Boss de fin de stage etc...L'action est beaucoup plus rapide qu'en 50Hz!
Donc effectivement, il s'adresse 20% plus souvent au VDP, PSG etc, mais il le fait 20% plus vite! Le tout est de savoir si c'est rentable ou pas! (En toute modestie, j'y connais rien donc.. )
@ Jipe: Je pensai vraiment que les Roms Salamander, Parodius etc...étaient en 60 Hz !
@ GDX: Pourtant, les musiques sont plus rapides en 60 Hz! L'action VIDEO aussi à l'air plus rapide. Un exemple flagrant avec un jeu comme Space Manbow dans un stage (5 peut être) ou des lasers coupent l'écran verticalement, l'animation des Boss de fin de stage etc...L'action est beaucoup plus rapide qu'en 50Hz!
Donc effectivement, il s'adresse 20% plus souvent au VDP, PSG etc, mais il le fait 20% plus vite! Le tout est de savoir si c'est rentable ou pas! (En toute modestie, j'y connais rien donc.. )
les jeux japonais sont prévus pour tourner en 60Hz et donc ça rame sur des machines européenes et la fluidité en prend un sacré coup
en fait la musique n'est pas plus rapide en 60Hz qui est la fréquence d'origine du jeu mais elle est plus lente en 50Hz
la fréquence n'est pas définie dans la cartouche mais bien par le type de MSX utilisé
dans certains jeux le passage en 60hz est forcé par soft ex: Arséne Lupin donc certaines TV ne supportent pas ce mode
la fréquence du CPU et du VDP reste identiques quelque soit le mode c'est juste au niveau rafraichissement écran et interruptions que cela ce joue
PAL SECAM 50 Hz = 50 fois par seconde
NTSC 60 Hz = 60 fois par seconde
en fait la musique n'est pas plus rapide en 60Hz qui est la fréquence d'origine du jeu mais elle est plus lente en 50Hz
la fréquence n'est pas définie dans la cartouche mais bien par le type de MSX utilisé
dans certains jeux le passage en 60hz est forcé par soft ex: Arséne Lupin donc certaines TV ne supportent pas ce mode
la fréquence du CPU et du VDP reste identiques quelque soit le mode c'est juste au niveau rafraichissement écran et interruptions que cela ce joue
PAL SECAM 50 Hz = 50 fois par seconde
NTSC 60 Hz = 60 fois par seconde
igal :
@ GDX: Pourtant, les musiques sont plus rapides en 60 Hz! L'action VIDEO aussi à l'air plus rapide. Un exemple flagrant avec un jeu comme Space Manbow dans un stage (5 peut être) ou des lasers coupent l'écran verticalement, l'animation des Boss de fin de stage etc...L'action est beaucoup plus rapide qu'en 50Hz!
@ GDX: Pourtant, les musiques sont plus rapides en 60 Hz! L'action VIDEO aussi à l'air plus rapide. Un exemple flagrant avec un jeu comme Space Manbow dans un stage (5 peut être) ou des lasers coupent l'écran verticalement, l'animation des Boss de fin de stage etc...L'action est beaucoup plus rapide qu'en 50Hz!
Les musiques et l'affichage des jeux sont cadencés par cette interruption VBLANK. Comme le dit Metalion, il n'y a pas le choix sur MSX. Donc si les routines qui envoient les donnés musicales et graphiques sont appelé 60 fois par seconde au lieu de 50, ça ira plus vite parce qu'elles enverront les données plus souvent.
Le BASIC aussi est cadencé par cette VBLANK puisque l'interpréteur passe à la ligne suivante lors d'une interruption.
aoineko :
On peux considérer que tous les fans de MSX sont équipé actuellement d'écran compatible 50 et 60 Hz ?
Oui si ils ont un émulateur. Edité par GDX Le 30/03/2011 à 16h09
aoineko
Membre non connecté
Conseiller Municipal
GDX :
Oui si ils ont un émulateur.
Les écrans pas trop vieux sont censé faire les 2 il me semble. En gros, la question est de savoir si pour mon jeu je peux forcer le passage au 60Hz en soft sans que ça pose de problème aux possesseurs de MSX européens ?
On est toujours ignorant avant de savoir.
tous ceux équipés d'un écran Philips ou Sony n'auront pas de problémes
tous ceux qui ont un MSX japonais sont déja équipés d'un écran qui va bien ( sauf les collectionneurs )
pour les TV écran plat récentes je ne sais pas
testez vos écrans :
1) allumer le MSX sans cartouche ni disquette et allumer la TV ( n'oubliez pas de brancher bien sur )
2) taper VDP(10)=0 suivi de return
3) si l'image défile pas d'affolement a avoir un simple reset remet tout dans l'ordre
4) faites votre compte rendu dans ce post
tous ceux qui ont un MSX japonais sont déja équipés d'un écran qui va bien ( sauf les collectionneurs )
pour les TV écran plat récentes je ne sais pas
testez vos écrans :
1) allumer le MSX sans cartouche ni disquette et allumer la TV ( n'oubliez pas de brancher bien sur )
2) taper VDP(10)=0 suivi de return
3) si l'image défile pas d'affolement a avoir un simple reset remet tout dans l'ordre
4) faites votre compte rendu dans ce post
Je ne vois pas l'intérêt de passer le jeu en 60Hz
Personnellement, étant un utilisateur MSX européen, je développe en 50Hz ...
Le 60Hz, c'est pour les ordinateurs et les jeux japonais ... Mais bon, là c'est le côté nostalgique qui parle
Attention aux observations faites sur les jeux Konami, elles ne sont pas valables pour tirer les conclusions que tu indiques. En effet, pour une raison que l'on ignore, tous les jeux Konami ont leurs routines principales et secondaires cadencées par les interruptions. Leur boucle principale est une boucle infinie du genre :
Ce qui a comme conséquence que tout, absolument tout, est cadencé par les interruptions à la fréquence donnée par le VDP. Et donc, la vidéo, la gestion des ennemis, la musique, etc ... est plus rapide.
Dans le cas de ton jeu, si tu passes à 60Hz, tu ne verras une différence que dans les tâches qui sont gérées par la routine de gestion des interruptions : compteur, musique ...
Mais l'argument principal (surtout dans le cas de ton jeu) contre le passage à 60Hz, c'est que le nombre d'octets transférables par les commandes du VDP sans que cela se voie à l'écran est plus faible à 60Hz qu'à 50Hz. En effet, si tes commandes de transferts d'octets par le VDP dépassent le temps d'une frame, on verra à l'écran la "mise à jour" de tes sprites softwares.
PS : Je ne suis pas sur que le fait de basculer le VDP à 60Hz fait également basculer le mode de codification de l'image (NTSC ou PAL) qui est autrement plus complexe que la simple fréquence. Autrement dit, je me demande si sur les MSX européens, on ne fait en fait que basculer entre du PAL 50Hz et du PAL 60Hz ...
Personnellement, étant un utilisateur MSX européen, je développe en 50Hz ...
Le 60Hz, c'est pour les ordinateurs et les jeux japonais ... Mais bon, là c'est le côté nostalgique qui parle
Attention aux observations faites sur les jeux Konami, elles ne sont pas valables pour tirer les conclusions que tu indiques. En effet, pour une raison que l'on ignore, tous les jeux Konami ont leurs routines principales et secondaires cadencées par les interruptions. Leur boucle principale est une boucle infinie du genre :
Code :
Main: jp Main
Ce qui a comme conséquence que tout, absolument tout, est cadencé par les interruptions à la fréquence donnée par le VDP. Et donc, la vidéo, la gestion des ennemis, la musique, etc ... est plus rapide.
Dans le cas de ton jeu, si tu passes à 60Hz, tu ne verras une différence que dans les tâches qui sont gérées par la routine de gestion des interruptions : compteur, musique ...
Mais l'argument principal (surtout dans le cas de ton jeu) contre le passage à 60Hz, c'est que le nombre d'octets transférables par les commandes du VDP sans que cela se voie à l'écran est plus faible à 60Hz qu'à 50Hz. En effet, si tes commandes de transferts d'octets par le VDP dépassent le temps d'une frame, on verra à l'écran la "mise à jour" de tes sprites softwares.
PS : Je ne suis pas sur que le fait de basculer le VDP à 60Hz fait également basculer le mode de codification de l'image (NTSC ou PAL) qui est autrement plus complexe que la simple fréquence. Autrement dit, je me demande si sur les MSX européens, on ne fait en fait que basculer entre du PAL 50Hz et du PAL 60Hz ...
MSX1: Daewoo DPC-200 / Yamaha CX5M
MSX2: Sony HB-F9P
MSXVR
Vidéo: V9990 (GFX-9)
Audio: MSX-Music (FM-PAC) / MSX-Audio (Audiowave) / OPL4 (Monster Sound FM Blaster) / OPNB (Neotron)
aoineko
Membre non connecté
Conseiller Municipal
Le but est de faire un jeu qui soit utilisable par le plus grand nombre de fans de MSX dans le monde.
Je sais bien qu'en passant à 60Hz la frame dure moins longtemps et que cela réduit donc les perfs/frame pour le CPU et le GPU. Mais si c'est la meilleure solution pour qu'un maximum de personnes puissent profiter du jeu, je trouverai une solution.
En fait, ce qui n'est pas clair, c'est les relations entre la fréquence d'affichage native du MSX, la fréquence modifié en soft et la fréquence du moniteur.
Je sais bien qu'en passant à 60Hz la frame dure moins longtemps et que cela réduit donc les perfs/frame pour le CPU et le GPU. Mais si c'est la meilleure solution pour qu'un maximum de personnes puissent profiter du jeu, je trouverai une solution.
En fait, ce qui n'est pas clair, c'est les relations entre la fréquence d'affichage native du MSX, la fréquence modifié en soft et la fréquence du moniteur.
On est toujours ignorant avant de savoir.
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie