Benvenuto Ospite,
per utilizzare il Forum ed avere accesso a tutte le sezioni e poter aprire un tuo Topic, rispondere nelle varie discussioni, mandare o ricevere Messaggi Privati devi seguire pochi passaggi:


Leggi il nostro Regolamento -> PREMI QUI <-
Segui il link su come Iscriversi -> PREMI QUI <-


Ricordati di aggiornare l'Avatar usando una immagine che ti distingua nel Forum

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: 3333
Iscritto il: 12/07/2013, 20:29
Medaglie: 2
Città: Parma
Località: Parma
Grazie Inviati: 35 volte
Grazie Ricevuti: 41 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 Helper Donatore
Moderatore
Moderatore
Messaggi: 12507
Iscritto il: 14/01/2007, 23:35
Medaglie: 4
Grazie Inviati: 207 volte
Grazie Ricevuti: 325 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: 3333
Iscritto il: 12/07/2013, 20:29
Medaglie: 2
Città: Parma
Località: Parma
Grazie Inviati: 35 volte
Grazie Ricevuti: 41 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: 3301
Iscritto il: 23/07/2005, 19:24
Medaglie: 1
Città: Rimini
Grazie Inviati: 33 volte
Grazie Ricevuti: 145 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: 3333
Iscritto il: 12/07/2013, 20:29
Medaglie: 2
Città: Parma
Località: Parma
Grazie Inviati: 35 volte
Grazie Ricevuti: 41 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”