Patch MAME : jeux verticaux sur CRT Horizontal

Quel émulateur pour quel jeu, astuces de config...
Nouvelles releases, updates d'émulateurs. Le forum général sur l'émulation.
Répondre
yoyofr
Jeune Pad-awan
Messages : 48
Inscription : 03 janv. 2009, 12:17
Localisation : Essonne (91)
Contact :

Bonjour à tous,

Je suis en train de me faire une mamecab avec un CRT à l'horizontal. je ne souhaite pas le mettre en vertical car je joue aussi bien à des jeux horizontaux que verticaux, cependant, en horizontal, si on veut un rendu joli
(arcadevga et pas de zoom, que du 1:1), on est limité à du 288 en réso vertical.
La plupart des shoot verticaux on une réso de 320 (240x320), on perd
donc 16 lignes en haut et 16 en bas.
souvent on perd le score et les indications de bombes ou de supershots, pas tres cool...

Une idée m'est donc venue, pourquoi ne pas avoir un zoom sur le haut et le bas de l'écran. En gros, on compresserait le haut et le bas sur qqs lignes et on garderait 90% de l'affichage sans zoom, donc en 1:1.

j'ai commencé à me faire un build de mame avec un patch qui compresse les 16 lignes du haut et du bas sur 8 lignes et ca rend pas trop mal, mais je me demandais si qq1 avait connaissance d'une version deja existante ?
UltramanU
Militari
Messages : 8128
Inscription : 08 janv. 2006, 23:24

Bonjour, tu devrais passer par le forum 'bizutage' pour te présenter, merci !

Sinon je suis pas sûr d'avoir exactement compris, mais en gros tu veux dire qu'avec ta config mame+arcadevga, l'image des jeux verticaux affichés en yoko est 'rognée' de quelques lignes en haut et en bas, et que ton patch servirait à afficher une partie de l'image 'normale' + le haut et le bas 'écrasés'.

Désolé mais ça me paraît un brin farfelu, si ton image ne 'rentre' pas assez bien tu n'as qu'à régler la géométrie de ton écran dans le menu service ou avec les potentiomètres prévus à cet effet.

Aucune version de Mame avec une fonction pour applatir les extrémités de l'image 'seulement' n'existe à ma connaissance.

:?: :?: :?:
Anaemic
1 crédit c'est déjà trop
Messages : 2129
Inscription : 14 oct. 2006, 20:22
Localisation : à 5 warp zones de Lille

Ca serait absolument dégueulasse et yoyo a grand interet à partir se planquer avant que les intégristes locaux ne tombent sur le topic.

Sa vie en dépend. Celle de son chien aussi.
Keade says: eh, tu connais Sugarcubes ?on dirait carrément que c'est Björk est leur chanteuse :S Anaemic says: c'est bjork Kaede says: je suis une courgette rusée. d'ailleurs c'est elle Anaemic says: teubé
yoyofr
Jeune Pad-awan
Messages : 48
Inscription : 03 janv. 2009, 12:17
Localisation : Essonne (91)
Contact :

je note qu'il me faut aller faire un tour sur le topic bizutage donc ;)

pour revenir a mon propos, il s'agit d'un problème de base et pas de reglage de l'écran :

1/ la résolution max vertical pour un CRT en 15Khz (et a peu pres 50Hz) est de 288 lignes. C'est une approximation mais ca explique pourquoi on peut difficilement avoir mieux que du 384x288 pour afficher un jeu vertical en gardant son moniteur à l'horizontal et en ne tapant pas dans les modes entrelacés (qui donne une image pas terrible dans ce cas).

2/ si on veut garder une jolie image, il ne faut pas utiliser de stretch, pas de filtrage bilinear et compagnie, juste du 1:1 en terme de pixel.

Conclusion, pour un jeu avec une réso de 240x320, on a donc 32 lignes en trop quand on passe à une réso vertical de 288.

L'idée est alors de ne pas perdre totalement ces 2 lignes mais de les compresser sans compresser linéairement tout l'écran.
en gros ca donne ca (pas evident de faire un schema ...) :

lignes sources / lignes destinations
0 à 23 -----> 0 à 7, ratio de 1:3
24 à 295 -----> 8 à 271, ratio de 1:1
296 à 319 -----> 272 à 287, ratio de 1:3


on peut aussi imaginer adapter la zone compressée :
- que le bas, pour eviter l'effet d'optique sur le haut de l'écran (eviter un effet de perspective type axelay pour ceux qui connaissent),
- taille adaptable
- la partie compressée avec une compression au choix linéaire, sinusoidale, ...
- une partie réellement clippée si pas nécesssaire, par exemple au lieu de faire rentrer 320 dans 288, on vire 4 lignes en haut et en bas et on n'a plus qu'a faire rentrer 312 lignes dans 288...
Anaemic
1 crédit c'est déjà trop
Messages : 2129
Inscription : 14 oct. 2006, 20:22
Localisation : à 5 warp zones de Lille

En clair, tu nous code un simulateur de crt en train de crever.
Intéressant. Tu comptes implémenter le violet fluo qui fluctue aussi?

Sincèrement, tourne l'écran. Tu t'épargneras beaucoup d'emmerdes qui donneront envie de vomir à toutes les personnes qui ont déjà vu une borne tourner, et en plus ça sera plus joli.
Keade says: eh, tu connais Sugarcubes ?on dirait carrément que c'est Björk est leur chanteuse :S Anaemic says: c'est bjork Kaede says: je suis une courgette rusée. d'ailleurs c'est elle Anaemic says: teubé
yoyofr
Jeune Pad-awan
Messages : 48
Inscription : 03 janv. 2009, 12:17
Localisation : Essonne (91)
Contact :

ce n'est pas toujours evident de tourner l'écran, en tout cas pour moi c'est plus facile de coder un patch dans mame, c'est mon côté faineant ;)
Anaemic
1 crédit c'est déjà trop
Messages : 2129
Inscription : 14 oct. 2006, 20:22
Localisation : à 5 warp zones de Lille

Ta Mamecab c'est une vraie borne, un truc custom avec un crt de borne ou un custom crt de pc?

Non parce que si c'est un vrai borne, t'en trouve une euro avec un bon système de rota, même l'egret2 est pourrie sur ce point par rapport à certaines euro.
Et une télé ou un crt de pc, c'est pas la mort à tourner. Je le fais alors que ça pèse facile un tiers de mon poids.
Keade says: eh, tu connais Sugarcubes ?on dirait carrément que c'est Björk est leur chanteuse :S Anaemic says: c'est bjork Kaede says: je suis une courgette rusée. d'ailleurs c'est elle Anaemic says: teubé
UltramanU
Militari
Messages : 8128
Inscription : 08 janv. 2006, 23:24

Je pense à l'Enhanced 3D Projection Blitter de Final Burn Alpha.
On peut régler la déformation (effet 'cushion') et l'inclinaison 'vers le fond' de l'image.
Il y a peut-être un bout de code dans ce machin qui pourrait t'être utile qui sait ? ^^

http://www.youtube.com/watch?v=1sy916nPDp8
yoyofr
Jeune Pad-awan
Messages : 48
Inscription : 03 janv. 2009, 12:17
Localisation : Essonne (91)
Contact :

@Anaemic, ma "mamecab" c'est pour l'instant un banc TV ikea (type bonde si tu connais) avec un support bricoler dessus pour avoir la télé inclinée.
J'ai rajouté le panel arcade sur un petit support devant.
ca fait en gros comme une borne japonaise une fois assis devant, sauf
qu'il manque tout l'habillage!
sous google sketchup =>
Image

sinon pour mon histoire de deformation d'image un exemple vite fait
ou le haut et le bas sont compressés :
Image
UltramanU
Militari
Messages : 8128
Inscription : 08 janv. 2006, 23:24

Ça fait bizarre quand même ! :eek:

Je suis un peu perplexe et me demande s'il n'y a pas une solution plus simple... mais je ne m'y connais pas assez.
Certains membres du forum sont bien calés dans le domaine, comme Shinnen, wait and see...
Anaemic
1 crédit c'est déjà trop
Messages : 2129
Inscription : 14 oct. 2006, 20:22
Localisation : à 5 warp zones de Lille

Une soluce plus simple? Au lieu de faire une découpe en rectangle, en en fait une en carré avec un beau cache qu'il tourne en même temps que l'écran.
Keade says: eh, tu connais Sugarcubes ?on dirait carrément que c'est Björk est leur chanteuse :S Anaemic says: c'est bjork Kaede says: je suis une courgette rusée. d'ailleurs c'est elle Anaemic says: teubé
yoyofr
Jeune Pad-awan
Messages : 48
Inscription : 03 janv. 2009, 12:17
Localisation : Essonne (91)
Contact :

tourner l'écran n'est vraiment pas ce que je cherche.
1/ la TV est un sony trinitron de 72cm qui fait bien 50Kg, soit plus des 2/3 de mon poids... sans parler du support "fait maison" qui n'est pas vraiment prévu pour acceuillir la télé en mode tate.
2/ je switch tres souvent d'un jeu horizontal à un jeu vertical (mamecab powa) => exemple, un chtite partie de donpachi puis un metal slug.
quand les potes viennent, c'est bien pratique de pouvoir zapper vite de jeu.
3/ le rendu en 384x288 est vraiment tres bon, il ne manque que de pouvoir visualiser un minimum, donc pas forcement en super qualité, le score et les indications spécifiques au jeu (supercharge, bombes, ...).

pour sur, avoir 2 "bornes" (si on peut appeler ca ainsi :charme: ) ca serait mieux, mais c'est pas tres WAF...
Kimuji
Radiant Silverpost
Messages : 1268
Inscription : 12 mai 2005, 22:44
Localisation : Aix en provence

Ultramanu a écrit :Je pense à l'Enhanced 3D Projection Blitter de Final Burn Alpha.
On peut régler la déformation (effet 'cushion') et l'inclinaison 'vers le fond' de l'image.
Il y a peut-être un bout de code dans ce machin qui pourrait t'être utile qui sait ? ^^

http://www.youtube.com/watch?v=1sy916nPDp8
Tant qu'on est dans FBA et les tailles tronquées, pourquoi dans FBA quand on active les scanlines on se retrouve avec des bandes noires en haut et en bas quand on joue en plein écran? Pour avoir le plein ecran je suis obligé de virer les scanlines.
Image
Image
Shinnen
Radiant Silverpost
Messages : 1151
Inscription : 05 mars 2004, 14:58
Localisation : Marseille
Contact :

yoyofr a écrit : Une idée m'est donc venue, pourquoi ne pas avoir un zoom sur le haut et le bas de l'écran. En gros, on compresserait le haut et le bas sur qqs lignes et on garderait 90% de l'affichage sans zoom, donc en 1:1.
Et au lieu de ça, pourquoi ne pas simplement décaler les parties "tronquées" (de 16 lignes) dans la partie visible (les 288 lignes).
Dès que le vaisseau passe devant (surtout sur la portion du bas de l'écran), tu donne un coup de transparence
(comme dans Border Down sur DC, les indications disparaissent quand le vaisseau se situe dessus).

" Compresser " des portions d'image de si faible résolution, c'est pas une bonne idée de mon avis.


tourner l'écran n'est vraiment pas ce que je cherche.
1/ la TV est un sony trinitron de 72cm qui fait bien 50Kg, soit plus des 2/3 de mon poids... sans parler du support "fait maison" qui n'est pas vraiment prévu pour acceuillir la télé en mode tate.
2/ je switch tres souvent d'un jeu horizontal à un jeu vertical (mamecab powa) => exemple, un chtite partie de donpachi puis un metal slug.
quand les potes viennent, c'est bien pratique de pouvoir zapper vite de jeu.


(...)

pour sur, avoir 2 "bornes" (si on peut appeler ca ainsi Charme ) ca serait mieux, mais c'est pas tres WAF...
Un Trinitron de 50 kg, ça fait 90 % de mon poids, ça m'empêche pas de le soulever ni de le mettre en tate .

Râh avec l'invasion des écrans plats légers et peu encombrants, contrairement aux vieux CRT pourris, les gens ont pris de la guimauve dans les bras , s'pas possible.

Pour ton set-up, tu devrais prendre autre chose qu'un Trinitron plat (les plus lourds).
Prend un Trinitron courbe (cylindrique) de 60 cm pour les jeux horizontaux, et à côté tu cale un petit Trinitron (courbe aussi) de 50 cm en tate . T'as la place pour ça sur ton petit meuble.
Tu fais juste un rail pour décaler le contrôle panel d'un écran à l'autre (et un swicth pour basculer l'affichage, et le tour est joué ! :)



Sinon, au sujet du filtre " 3D projection" , je trouve ça toujours aussi désolant de mettre tant d'efforts de codage pour réaliser des trucs pas convenable, qui empêcheront un rendu correct.

Quand on sait qu'une bonne restitution de scanlines lo-rez se fait en 1200 lignes (pour être vraiment nickel, même si en 720 lignes ça passe aussi), il faudrait des moniteurs de vraiment haute résolution pour permettre à la fois ce rendu plus la "projection 3D" .

A l'heure actuelle, je préfère un bon rendu de scanline (même si ça veut dire image plate et bien rectangulaire) à un effet de " perspective " plus pseudo "bombage" de l'image.


Mais RIEN ne vaut un bon tube courbe , 15 khz, RGB, chassis analogique pure.
On a jamais fait mieux (et on ne fera jamais mieux :P )
Shinnen
Radiant Silverpost
Messages : 1151
Inscription : 05 mars 2004, 14:58
Localisation : Marseille
Contact :

Kimuji a écrit :Tant qu'on est dans FBA et les tailles tronquées, pourquoi dans FBA quand on active les scanlines on se retrouve avec des bandes noires en haut et en bas quand on joue en plein écran? Pour avoir le plein ecran je suis obligé de virer les scanlines.

Parce que scanlines ça veut dire résolution doublée (ou tripplée, quadruplée), ratio entier .
Si ton écran fait pas pile poil la résolution doublée, ce qui à de très forte chances d'arriver, ça veut dire bordure noir.
Et c'est ça qu'il faut pour respecter un calage de scanline correct, il faut absolument ménager la résolution verticale.


Quand tu désactives les scanlines, tu as juste un stretch de l'image (+ bilinéaire bien gras, le plus commun).
Ca peut donc se diffuser sur l'ensemble de la résolution de l'écran (avec les irrégularités "gommées" par le floutage).
Kimuji
Radiant Silverpost
Messages : 1268
Inscription : 12 mai 2005, 22:44
Localisation : Aix en provence

Ca veut dire que mame n'a pas un calage correct des scanlines? Je peux les activer en plein écran sans que l'image soit bloquée dans une certaine résolution.
Image
Image
Shinnen
Radiant Silverpost
Messages : 1151
Inscription : 05 mars 2004, 14:58
Localisation : Marseille
Contact :

Sinon, j'y pense, un truc un peu improbable, mais bon , juste pour le fun:

envoyer un signal de synchro non standard.

En effet, à 15 khz, chaque ligne scannée , indépendamment du nombre de points qui la compose ( de 200 à 768), dure exactement 64 micro secondes.
Là dedans, 54 micro secondes servent réellement à l'affichage (le reste, c'est synchro et color burst pour les signaux composite).

Le truc, ce serait d'afficher les 240 pixels du jeu proche du départ de chaque ligne (bordure gauche faible), et d'interrompre le scan de chaque ligne avant les 64 micro secondes ...

Ainsi, avec une durée de scan plus courte, on pourrait théoriquement afficher plus de lignes (320 dans le cas recherché), et rester dans la bande passante.

Reste à voir comment se comporte l'électronique, et les éventuels problèmes de stabilité d'affichage.


Ca paraît farfelu, mais faut pas oublier qu'en entrelacé, le signal qui commande le basculement des trames, c'est une demi scanline, soit 32 micro secondes au lieu de 64.
Ca donne une moitié de ligne qui part du milieu de l'image de la première trame (la toute première ligne), trame qui se terminera par la moitié de la dernière ligne (à partir du bord gauche).
En analogique, on diffuse pas des images parfaitement régulières et entières (ce qui pose problème pour la conversion numérique, où les moitiés de lignes n'existent pas).

Le truc, c'est que seules les valeurs de scanlines 64 et 32 micro secondes sont gérées nativement, en standard. Faire une scanline de par exemple 40 ou 50 micro secondes, ça risque de coincer . Ca dépend de la souplesse de conception...


Bon, au pire, faut passer directos sur un CRT en 24 khz , qui peut afficher sans broncher 384 lignes ^^' ...


[EDIT]

J'viens de penser à aut' chose:

faire afficher au CRT que des lignes de 32 micro-secondes (comme une sorte de bug du mode entrelacé) qui comprennent les 240 points de l'image tate, le tout sur 320 lignes , avec un méga shifting de la mort (décalage à droite) pour centrer l'image (modif élecrtonique, là par contre).
Dernière modification par Shinnen le 31 juil. 2009, 12:38, modifié 2 fois.
Shinnen
Radiant Silverpost
Messages : 1151
Inscription : 05 mars 2004, 14:58
Localisation : Marseille
Contact :

Kimuji a écrit :Ca veut dire que mame n'a pas un calage correct des scanlines? Je peux les activer en plein écran sans que l'image soit bloquée dans une certaine résolution.

OUI, EXACTEMENT


Pour en savoir plus, regarde un autre topic, qui a fait couler pas mal d'encre et de sang ^^' .

viewtopic.php?t=9049
UltramanU
Militari
Messages : 8128
Inscription : 08 janv. 2006, 23:24

Je me permet de préciser (*correction: radoter) que jusqu'à la version 0.106 l'émulation des scanlines est convenable, elles sont à leur place (c'est déjà ça) peu importe la résolution du jeu.

En mode DirectDraw les lignes sont appliquées par le video renderer de mame puis le tout est étiré sur tout l'écran. Ça vaut ce que ça vaut, c'est barbare, ça respecte pas le ratio, mais c'est déjà 100x mieux que les effets pourris en .PNG qu'on retrouve dans tous les Mame depuis la v0.107.

La seule exception depuis est Mame Plus XT (0.130 et plus) qui propose des effets portés d'autres émulateurs, dont 'Scanlines TV', qui place effectivement les lignes à la bonne place, mais c'est moins bien foutu que dans les vieux Mame pré-0.107.

Bref, en attendant mieux:
pour jouer sur PC avec moniteur haute résolution; il faut Mame Plus 0.99 ou WolfMame 0.99 (au delà de ces versions il y a un peu plus d'input lag).
C'est de loin les builds les plus équilibrés et performants: la 'bonne' émulation de scanlines en DDraw ou D3D, beaucoup plus légers, certains builds optimisés pour les processeurs, etc...
Seul pb c'est qu'il faut le vieux romset de l'époque (les roms avec des noms en majuscule style: NOMDUJEU.ZIP) et qu'il manque une poignée de titres comme kof 2003, Samsho 5, Metal Slug 5, etc... m'enfin c'est pas les meilleurs alors...

(FBA je m'en sers jamais, trop d'input lag et le machin 3D projection est rigolo mais si laid... a la rigueur comme alternative à Mame je préfère Raine: moins de jeux, chiant à configurer, une émulation des scanlines assez brutale mais plus propre que dans Mame 0.106 et moins d'input lag que dans la plupart des émulateurs).

EDIT: désolé pour le squatage de ton topic yoyo. ^^
Je retourne sur le topic linké par Shinnen.
kakusai
Radiant Silverpost
Messages : 1062
Inscription : 31 août 2009, 12:25
Localisation : Astoria, OR

bonjour,

j utilise mameui32 125.8, des jeux comme dodonpachi ou autres caves sur mon ecran 17 pouce le jeux s affiche au milieu de l'ecran laissant de grande bande noire sur les coté (je pense que cela est du à la resolution du jeux 320*240), alors dans display je uncheck enforce aspect ratio et la je suis en plein ecran cela denature t il le jeux? est ce la solution? ou pas du tout?

merci
"Less is more"
Avatar de l’utilisateur
Shû Shirakawa
King Fossile
Messages : 10269
Inscription : 29 avr. 2007, 12:28
Localisation : La Gias

Sur un jeu comme DoDonpachi, les bandes noires que tu vois sur les côtés sont normales, car à l'origine le jeu tourne en tate (signifiant "vertical" en japonais) autrement dit sur un écran qu'on aurait couché/tourné pour mettre les côtés les plus longs debout.
Donc soit tu trouves dans les options comment afficher du tate (pour avoir du "plein écran") et tu tournes ton moniteur, soit tu restes avec ces bandes noires qui aident à respecter le format original. Etirer en largeur le dénaturerait complètement.
Jeux du moment : God of War: Ragnarök - Valhalla (PS4) / Super Robot Taisen Alpha Gaiden (PS3) / Ys III: Wanderers from Ys (PS2)
kakusai
Radiant Silverpost
Messages : 1062
Inscription : 31 août 2009, 12:25
Localisation : Astoria, OR

merci bien! je pensais bien que cela dénaturait le jeu
"Less is more"
Avatar de l’utilisateur
sisi
Empereur Bydo
Messages : 3019
Inscription : 26 juin 2003, 19:10
Localisation : 78

ça le dénature un peu quand même puisque c'est un jeu fait pour le TATE: scanlines devraient verticales et pas de grosses bordures noires de part et d'autre...
Comme l'a dit Shinnen, faut faire un peu d'efforts, les gars, une TV, ça se tourne, même si on est pas gros!
Shmupland, shmupland über alles!
Répondre