Risoluzione dello schermo nel Mame

Il database che raccoglie tutte le informazioni sui giochi, video, screenshot e tanto altro ancora

Moderatore: Moderatore ADB

Avatar utente
motoschifo

Gold Medal Donatore
Progetto Arcade Database
Progetto Arcade Database
Messaggi: 3271
Iscritto il: 12/07/2013, 20:29
Medaglie: 2
Città: Parma
Località: Parma
Grazie Inviati: 32 volte
Grazie Ricevuti: 31 volte
Contatta:

Risoluzione dello schermo nel Mame

Messaggio da motoschifo »

Dopo aver fatto alcuni controlli, mi è venuto un dubbio che non ricordo di aver chiarito tempo fa quando si parlava di risoluzione.
Ovvero: ci sono giochi, come per es. galaxian, che riportano una risoluzione molto più alta di quella del cabinato. In questo caso 768x224.
Come è possibile?

Questo è l'xml:

Codice: Seleziona tutto

<machine name="galaxian" sourcefile="galaxian.cpp">
  <description>Galaxian (Namco set 1)</description>
  <year>1979</year>
  <manufacturer>Namco</manufacturer>
  <rom name="galmidw.u" size="2048" crc="745e2d61" sha1="e65f74e35b1bfaccd407e168ea55678ae9b68edf" region="maincpu" offset="0"/>
  <rom name="galmidw.v" size="2048" crc="9c999a40" sha1="02fdcd95d8511e64c0d2b007b874112d53e41045" region="maincpu" offset="800"/>
  <rom name="galmidw.w" size="2048" crc="b5894925" sha1="0046b9ed697a34d088de1aead8bd7cbe526a2396" region="maincpu" offset="1000"/>
  <rom name="galmidw.y" size="2048" crc="6b3ca10b" sha1="18d8714e5ef52f63ba8888ecc5a25b17b3bf17d1" region="maincpu" offset="1800"/>
  <rom name="7l" size="2048" crc="1b933207" sha1="8b44b0f74420871454e27894d0f004859f9e59a9" region="maincpu" offset="2000"/>
  <rom name="1h.bin" size="2048" crc="39fb43a4" sha1="4755609bd974976f04855d51e08ec0d62ab4bc07" region="gfx1" offset="0"/>
  <rom name="1k.bin" size="2048" crc="7e3f56a2" sha1="a9795d8b7388f404f3b0e2c6ce15d713a4c5bafa" region="gfx1" offset="800"/>
  <rom name="6l.bpr" size="32" crc="c3ac9467" sha1="f382ad5a34d282056c78a5ec00c30ec43772bae2" region="proms" offset="0"/>
  <device_ref name="z80"/>
  <device_ref name="watchdog"/>
  <device_ref name="gfxdecode"/>
  <device_ref name="palette"/>
  <device_ref name="screen"/>
  <device_ref name="speaker"/>
  <device_ref name="galaxian_sound"/>
  <device_ref name="discrete"/>
  <chip type="cpu" tag="maincpu" name="Zilog Z80" clock="3072000"/>
  <chip type="audio" tag="speaker" name="Speaker"/>
  <chip type="audio" tag="cust" name="Galaxian Custom Sound"/>
  <chip type="audio" tag="discrete" name="Discrete Sound"/>
  <display tag="screen" type="raster" rotate="90" width="768" height="224" refresh="60.606061" pixclock="18432000" htotal="1152" hbend="0" hbstart="768" vtotal="264" vbend="16" vbstart="240"/>
  <sound channels="1"/>
  <input players="2" coins="2">
    <control type="joy" player="1" buttons="1" ways="2"/>
    <control type="joy" player="2" buttons="1" ways="2"/>
  </input>
  <dipswitch name="Cabinet" tag="IN0" mask="32">
    <dipvalue name="Upright" value="0" default="yes"/>
    <dipvalue name="Cocktail" value="32"/>
  </dipswitch>
  <dipswitch name="Service Mode" tag="IN0" mask="64">
    <dipvalue name="Off" value="0" default="yes"/>
    <dipvalue name="On" value="64"/>
  </dipswitch>
  <dipswitch name="Coinage" tag="IN1" mask="192">
    <dipvalue name="2 Coins/1 Credit" value="64"/>
    <dipvalue name="1 Coin/1 Credit" value="0" default="yes"/>
    <dipvalue name="1 Coin/2 Credits" value="128"/>
    <dipvalue name="Free Play" value="192"/>
  </dipswitch>
  <dipswitch name="Bonus Life" tag="IN2" mask="3">
    <dipvalue name="7000" value="0" default="yes"/>
    <dipvalue name="10000" value="1"/>
    <dipvalue name="12000" value="2"/>
    <dipvalue name="20000" value="3"/>
  </dipswitch>
  <dipswitch name="Lives" tag="IN2" mask="4">
    <dipvalue name="2" value="0"/>
    <dipvalue name="3" value="4" default="yes"/>
  </dipswitch>
  <dipswitch name="Unused" tag="IN2" mask="8">
    <dipvalue name="Off" value="0" default="yes"/>
    <dipvalue name="On" value="8"/>
  </dipswitch>
  <port tag=":IN0"/>
  <port tag=":IN1"/>
  <port tag=":IN2"/>
  <driver status="good" emulation="good" savestate="supported"/>
</machine>
mentre prima della versione 0.124 appariva così:

Codice: Seleziona tutto

<game name="galaxian" sourcefile="galaxian.c">
  <description>Galaxian (Namco set 1)</description>
  <year>1979</year>
  <manufacturer>Namco</manufacturer>
  <rom name="galmidw.u" size="2048" crc="745e2d61" sha1="e65f74e35b1bfaccd407e168ea55678ae9b68edf" region="cpu1" offset="0"/>
  <rom name="galmidw.v" size="2048" crc="9c999a40" sha1="02fdcd95d8511e64c0d2b007b874112d53e41045" region="cpu1" offset="800"/>
  <rom name="galmidw.w" size="2048" crc="b5894925" sha1="0046b9ed697a34d088de1aead8bd7cbe526a2396" region="cpu1" offset="1000"/>
  <rom name="galmidw.y" size="2048" crc="6b3ca10b" sha1="18d8714e5ef52f63ba8888ecc5a25b17b3bf17d1" region="cpu1" offset="1800"/>
  <rom name="7l" size="2048" crc="1b933207" sha1="8b44b0f74420871454e27894d0f004859f9e59a9" region="cpu1" offset="2000"/>
  <rom name="1h.bin" size="2048" crc="39fb43a4" sha1="4755609bd974976f04855d51e08ec0d62ab4bc07" region="gfx1" dispose="yes" offset="0"/>
  <rom name="1k.bin" size="2048" crc="7e3f56a2" sha1="a9795d8b7388f404f3b0e2c6ce15d713a4c5bafa" region="gfx1" dispose="yes" offset="800"/>
  <rom name="6l.bpr" size="32" crc="c3ac9467" sha1="f382ad5a34d282056c78a5ec00c30ec43772bae2" region="proms" offset="0"/>
  <chip type="cpu" name="Z80" clock="3072000"/>
  <chip type="audio" name="Samples"/>
  <display type="raster" rotate="90" width="256" height="224" refresh="60.606061" pixclock="6144000" htotal="384" hbend="0" hbstart="256" vtotal="264" vbend="16" vbstart="240"/>
  <sound channels="1"/>
  <input players="2" buttons="1" coins="2">
    <control type="joy2way"/>
  </input>
  <dipswitch name="Cabinet">
    <dipvalue name="Upright" default="yes"/>
    <dipvalue name="Cocktail"/>
  </dipswitch>
  <dipswitch name="Service Mode">
    <dipvalue name="Off" default="yes"/>
    <dipvalue name="On"/>
  </dipswitch>
  <dipswitch name="Coinage">
    <dipvalue name="2 Coins/1 Credit"/>
    <dipvalue name="1 Coin/1 Credit" default="yes"/>
    <dipvalue name="1 Coin/2 Credits"/>
    <dipvalue name="Free Play"/>
  </dipswitch>
  <dipswitch name="Bonus Life">
    <dipvalue name="7000" default="yes"/>
    <dipvalue name="10000"/>
    <dipvalue name="12000"/>
    <dipvalue name="20000"/>
  </dipswitch>
  <dipswitch name="Lives">
    <dipvalue name="2"/>
    <dipvalue name="3" default="yes"/>
  </dipswitch>
  <dipswitch name="Unused">
    <dipvalue name="Off" default="yes"/>
    <dipvalue name="On"/>
  </dipswitch>
  <driver status="good" emulation="good" color="good" sound="good" graphic="good" savestate="supported" palettesize="98"/>
</game>
La parte interessante è questa:

Codice: Seleziona tutto

0.196: <display type="raster" rotate="90" width="768" height="224" refresh="60.606061" pixclock="18432000" htotal="1152" hbend="0" hbstart="768" vtotal="264" vbend="16" vbstart="240"/>
0.123: <display type="raster" rotate="90" width="256" height="224" refresh="60.606061" pixclock="6144000"  htotal="384"  hbend="0" hbstart="256" vtotal="264" vbend="16" vbstart="240"/>
Come posso ottenere la risoluzione corretta, o meglio cosa rappresentano questi valori?
Dai nomi pensavo a questa corrispondenza:
- htotal, vtotal: totale px in larghezza e altezza
- hbstart, hbend: coordinate iniziali e finali del bordo orizzontale
- vbstart, vbend: coordinate iniziali e finali del bordo verticale

Se è così, l'attributo width non esprime la larghezza schermo e andrebbe in qualche modo ricalcolata con nuove regole, oppure aggiungere un attributo "display width" e rinominare questo in "full view/artwork width" o qualcosa del genere.

Qualche idea?
Per esempio 1152-768 fa proprio 384... ma non torna in altri casi... <-think->

Prima di andare a controllare il sorgente volevo sapere se altri si sono posti il problema o se hanno già trovato la soluzione.
Motoschifo
CAB ›MameOriz ›MameVert ›PCB ›NeoGeo ›TopDrive ›Tekken3 Wishlist ›PacMan ›Arkanoid
Flipper ›HighSpeed Wishlist ›MedievalMadness ›MonsterBash ›HighSpeed2 WebArcadeDatabase
Avatar utente
Tox Nox Fox

BanHammer Silver Medal Donatore
Moderatore
Moderatore
Messaggi: 11713
Iscritto il: 14/01/2007, 23:35
Medaglie: 3
Grazie Inviati: 159 volte
Grazie Ricevuti: 271 volte

Re: Risoluzione dello schermo nel Mame

Messaggio da Tox Nox Fox »

Hai capito qualcosa poi ?
WP.ARCADEITALIA.NET
La Guida al MameCab
Avatar utente
motoschifo

Gold Medal Donatore
Progetto Arcade Database
Progetto Arcade Database
Messaggi: 3271
Iscritto il: 12/07/2013, 20:29
Medaglie: 2
Città: Parma
Località: Parma
Grazie Inviati: 32 volte
Grazie Ricevuti: 31 volte
Contatta:

Re: Risoluzione dello schermo nel Mame

Messaggio da motoschifo »

No non ci ho più pensato, ho lanciato la richiesta sul forum proprio perchè non avevo tempo di approfondire 8-)

Mi pare strano che dalla versione 0.124 la risoluzione sia triplicata per quel gioco e non ci sia stato una spiegazione precisa del perchè.
Magari mi spulcio anche i changelog e i sorgenti, probabilmente hanno inserito commenti lì dentro.
Motoschifo
CAB ›MameOriz ›MameVert ›PCB ›NeoGeo ›TopDrive ›Tekken3 Wishlist ›PacMan ›Arkanoid
Flipper ›HighSpeed Wishlist ›MedievalMadness ›MonsterBash ›HighSpeed2 WebArcadeDatabase
Avatar utente
DigDug

Donatore
Moderatore
Moderatore
Messaggi: 2357
Iscritto il: 23/07/2005, 19:24
Medaglie: 1
Città: Rimini
Grazie Inviati: 10 volte
Grazie Ricevuti: 97 volte

Re: Risoluzione dello schermo nel Mame

Messaggio da DigDug »

un altro che ricordo avere incongruenze di risoluzione è popeye...
Avatar utente
motoschifo

Gold Medal Donatore
Progetto Arcade Database
Progetto Arcade Database
Messaggi: 3271
Iscritto il: 12/07/2013, 20:29
Medaglie: 2
Città: Parma
Località: Parma
Grazie Inviati: 32 volte
Grazie Ricevuti: 31 volte
Contatta:

Re: Risoluzione dello schermo nel Mame

Messaggio da motoschifo »

Se si trova la regola, o anche solo una lista con i valori corretti dei giochi che si conoscono, posso mettere in piedi qualcosa per tenere traccia della giusta risoluzione.
Per adesso non ho trovato ancora nulla di valido da applicare.
Motoschifo
CAB ›MameOriz ›MameVert ›PCB ›NeoGeo ›TopDrive ›Tekken3 Wishlist ›PacMan ›Arkanoid
Flipper ›HighSpeed Wishlist ›MedievalMadness ›MonsterBash ›HighSpeed2 WebArcadeDatabase
Rispondi

Torna a “Progetto Arcade Data Base”