29 ottobre 2020

Vmmaker aggiungere modeline da linea di comando

 è possibile aggiungere risoluzioni direttamente dalla commandline inclusa in vmmaker, il tutto rende le operazioni più rapide.

Ecco un esempio di come fare (cito direttamente Calamity per praticità):

If you're using VMMaker beta 9, there are commands now to make this easy. Make sure the correct output is selected in the settings tab. Then, in VMMakers command line, type:

>>modelist import

This will load the modelines from the driver. Make sure the correct mode list has been loaded, by typing.

>> modelist list

Now you can add a new mode to the RAM list, by typing, e.g.:

>> mode add 320x240@60.000000

Now, list all modes again to make sure the mode is added to the RAM list:

>> modelist list

Finally, if you're happy with the resulting mode list, install it to the driver:

>> modelist install

 

Notice you can't add single modes through the "install" method, you always add a whole modelist, wiping the previous installed one. So if you miss the "import" step at the beginning, you'll be deleting all modes and installing just the new one you created. So be careful with this.


Anyway, you can also "import" and "export" from file. This means you can backup (you should) your tweaked modelines. It's a plain text file, so you can also insert new modelines in there and load the file back to RAM by the "import" method.

ricordo anche che è possibile avere un elenco dei comandi implementati digitando help, di seguito una lista riferita a VMMaker beta 9

 >>help               

display <action> <param>

init     <device key>  : initializes display device.

restart  <device name> : restarts PCI display device, forcing driver to reinitialize.


modelist <action> <params>

build                : build RAM mode list calculating modelines from user files.

reset                : reset RAM mode list to start from scratch.

install              : install RAM mode list to the video driver.

uninstall            : uninstall mode list from the video driver.

import               : import mode list from video driver and load it to RAM.

import   <file_name> : import mode list from file_name and load it to RAM.

export   <file_name> : export RAM mode list to file_name

list                 : list all modes in mode list.

enum                 : list all modes in mode list with indexes.


mode    <action> <params...>

calc     <width_height_refresh> : calculate a modeline.

add      <width_height_refresh> : calculate and add a modeline to the mode list.

add      <modeline>             : add the specified modeline to the mode list.

del      <index>                : delete a modeline at index from the mode list.


edid    <action> <param>

create   <file_name> : creates an EDID block and saves it to <file_name>.

start    <output>    : starts EDID emulation on <output>.

stop     <output>    : stops EDID emulation on <output>.

read     <output>    : reads emulated EDID from <output>.

15 ottobre 2020

Attractmode configurazione

Come configurare attractmode

Abbiamo principalmente 2 file da configurare, quello globale attract.cfg situato nella directory insieme all'eseguibile del frontend e quello relativo agli emulatori, in questo caso mame.cfg che troviamo nella sottocartella emulators.

In questo esempio vedremo come configurare oltre al frontend anche il mame.

La forza di questo software sta nall'utilizzo di filtri e regole, il che consente di utilizzare un romset puro avendo però la possibilità di poter visualizzare solo i titoli che noi sceglieremo, con l'aiuto di un file aggiuntivo, il catver.ini scaricabile dal sito che lo ospita da anni progetto-snaps

Al primo avvio del frontend ci verrà chiesto di configurare almeno un emulatore, scegliamo mame e verrà creata una prima impostazione di default.

Da ora in poi lavoreremo sui file di configurazione, ometterò volontariamente la GUI in quanto non la trovo un'opzione rapida ed efficace come l'editor di testo.

Iniziamo dal file mame.cfg il suo contenuto standard è questo

# Generated by Attract-Mode v2.6.0

#

executable   mame

args         [name]

rompath      $HOME/mame/roms/

romext       .zip;.7z

system       Arcade

info_source  listxml

artwork      marquee   $HOME/mame/marquee

artwork      snap    $HOME/mame/video;$HOME/mame/snap


ed andrà completato con alcuni percorsi:

# Generated by Attract-Mode v2.6.0

#

executable   c:\mame\mame.exe (inseriremo quindi il percorso dell'eseguibile mame, compresa l'estensione)

args         [name] (questo non lo tocchiamo, è quello che il frontend metterà dopo l'eseguibile mame per avviare il gioco)

workdir        c:\mame (possiamo lasciare questo campo vuoto o inserire la directory nella quale si trova l'eseguibile dell'emulatore)

rompath      $HOME/mame/roms/ (quì dobbiamo indicare il percorso della cartella contenente le roms)

romext       .zip;.7z (lasciamolo così, indica quali estensioni considerare per la creazione della lista roms)

system       Arcade (indica il sistema per lo scraping delle snap etc. per mame va bene così)

info_source  listxml (indica da cosa reperire le informazioni, il file xml di mame che verrà creato dal frontend stesso)

import_extras        c:\mame\catver.ini (una linea aggiunta ex novo nella quale dobbiamo indicare il percorso di catver.ini per utilizzare le categorie nei filtri)

artwork      marquee   $HOME/mame/marquee (la cartella dove sono i marquee)

artwork      snap    $HOME/mame/video;$HOME/mame/snap (la cartella dove sono snap e video)

artwork      flyers   (possiamo aggiungere a mano altre cartelle per i flyer ad esempio o qualunque altro file utile per il tema che vorremo utilizzare, quindi sempre il percorso alla directory)

Dopo aver completato questa configurazione, apriamo il frontend, andiamo nelle impostazioni dell'emulatore e scegliamo di generare la romlist, verranno lette tutte le roms contenite nella cartella indicata e categorizzate in base al file catver.ini che gli abbiamo fatto caricare, se vogliamo possiamo anche fare lo scraping delle immagini, ci vorrà un pochetto.

La parte relativa all'emulatore è configurata, ora passiamo al pezzo forte, configuriamo il frontend con le liste ed i filtri.

Lavoreremo nel file attract.cfg, in particolare nella prima parte relativa al display del mame (il display non è nient'altro che il menu dell'emulatore mame creato prima)

la parte iniziale si presenta così:

# Generated by Attract-Mode v2.6.0

#

display arcade

layout               Attrac-Man

romlist              arcade

in_cycle             yes

in_menu              yes

filter               All

filter               Favourites

rule                 Favourite equals 1


sound

.

.

.

ed è proprio quì che andremo ad aggiungere un po' di roba

Si lavorerà per logica, quindi basta capire il meccanismo che tutto risulterà semplicissimo.

Avendo caricato e creato la lista con il catver.ini abbiamo raggruppato per categoria tutte le roms, in più grazie all'xml del mame abbiamo moltissimi parametri con i  quali poter creare filtri sempre per raggruppare le roms.

aggiungiamo la voce global filter ed applichiamo delle regole base, avremo quanto segue

# Generated by Attract-Mode v2.6.1

#

display mame

layout               Attrac-Man

romlist              mame

in_cycle             yes

in_menu              yes

global_filter        

rule                 FileIsAvailable equals 1 (vedremo il titolo del gioco solo se la rom è nella cartella, se il file è disponibile quindi)

rule                 CloneOf not_equals .* (i file visualizzati non devono essere contrassegnati come cloni)

rule                 Status equals good|imperfect (vedremo solo i file con statu del driver good o imperfect, che saranno quindi giocabili)

rule                 Status not_equals preliminary (escludiamo tutte le roms il cui driver è in stato preliminare, che quindi potrebbe non funzionare)

rule                 DisplayType equals raster (visualizziamo solo le roms con questo tipo di display)

filter               All

filter               Favourites

.

.

.

.

il global filter viene eseguito per primo al caricamento del display (la lista insomma), in questo caso abbiamo appilcato le regole che vedete e gli abbiamo dato già una bella scremata.

Possiamo aggiungere un sacco di "regole" per affinare la nostra ricerca e decidere se includerle in una lista per poi accedere dal tasto filtri (che dovremo configurare) o se creare altri display che chiameremo ad esempio Platform orizzontali, nei quali faremo mostrare solo le roms orizzontali con una regola sotto il global filter 

rule                 Rotation equals 0|180

ed una sotto un altro filtro che chiameremo "Platform" ad esempio

filter               Platform

rule                 Category contains Platform


possiamo anche raggruppare per Manufacturer ad esempio, scrivendo

filter               "SNK Collection"

rule                 Manufacturer contains SNK


o ancora crearci una collection degli Street Figlter ordinati per anno

filter               "Street Fighter Collection"

sort_by              Year

rule                 Title contains Street Fighter

il sort by come vedrete indica come ordinare i titoli trovati.


Aggiungo una configurazione tipo per un cab verticale, con categorie in inglese (catver.ini in inglese appunto)

global_filter       

exception            Name equals batsugunsp|cyvernj|driftout|ddpdojblk|dkongjrj|dogosokb|downtownj|ghoxj|gwarb|ikarijpb|omegafs

rule                 Rotation equals 90|270

rule                 DisplayType equals raster

rule                 DisplayCount equals 1

rule                 Control contains joystick|dial

rule                 Control not_contains gambling|positional

rule                 Category not_contains Mature|Casino|MultiGame|Redemption

rule                 Status not_equals preliminary

rule                 Title not_contains bootleg|internal build|\(prototype|prototype\)|China|Raiden II New

rule                 Manufacturer not_contains bootleg|Promat

rule                 CloneOf not_contains .

rule                 AltRomname not_equals decocass|cedmag

rule                 Year not_contains ?

rule                 Name not_equals batsugun|cyvern|ddp3|ddpdojt|dkongjr|ghox|ikari|gwar|mjleague|metlhawk|alleymas|omegaf

filter               "All Games"

filter               "Most Played"

sort_by              PlayedTime

reverse_order        true

list_limit           25

filter               "Breakout Games"

rule                 Category contains Breakout

filter               "Driving Games"

rule                 Category equals Driving.+

filter               "Fighting Games"

rule                 Category equals Fight.+

filter               "Maze Games"

rule                 Category equals Maze.+

filter               "Platform Games"

rule                 Category equals Platform.+

filter               "Puzzle Games"

rule                 Category equals Puzzle.+

filter               "Shooting Games"

rule                 Category equals Shooter.+

filter               "Sports Games"

rule                 Category equals Sport.+

filter               "© Alpha Denshi"

rule                 Manufacturer equals (Alpha.Densh.*)|(.*/.Alpha.Densh.*)

filter               "© Bally/Midway"

rule                 Manufacturer equals (Ball.*)|(Midwa.*)|(.*/.Ball.*)|(.*/.Midwa.*)

filter               "© Capcom"

rule                 Manufacturer equals (Capco.*)|(.*/.Capco.*)

filter               "© Cave"

rule                 Manufacturer equals (Cav.*)|(.*/.Cav.*)

filter               "© Data East"

rule                 Manufacturer equals (Data.Eas.*)|(.*/.Data.Eas.*)

filter               "© Irem"

rule                 Manufacturer equals (Ire.*)|(.*/.Ire.*)

filter               "© Jaleco"

rule                 Manufacturer equals (Jalec.*)|(.*/.Jalec.*)

filter               "© Kaneko"

rule                 Manufacturer equals (Kanek.*)|(.*/.Kanek.*)

filter               "© Konami"

rule                 Manufacturer equals (Konam.*)|(.*/.Konam.*)

filter               "© Namco"

rule                 Manufacturer equals (Namc.*)|(.*/.Namc.*)

filter               "© Nintendo"

rule                 Manufacturer equals (Nintend.*)|(.*/.Nintend.*)

filter               "© Psikyo"

rule                 Manufacturer equals (Psiky.*)|(.*/.Psiky.*)

filter               "© Raizing / Eighting"

rule                 Manufacturer equals (Raizin.*)|(Eightin.*)|(.*/.Raizin.*)|(.*/.Eightin.*)

filter               "© Seibu Kaihatsu"

rule                 Manufacturer equals (Seibu.Kaihats.*)|(.*/.Seibu.Kaihats.*)

filter               "© Sega"

rule                 Manufacturer equals (Seg.*)|(.*/.Seg.*)

filter               "© SNK"

rule                 Manufacturer equals (SN.*)|(.*/.SN.*)

filter               "© Taito"

rule                 Manufacturer equals (Tait.*)|(.*/.Tait.*)

filter               "© Technos"

rule                 Manufacturer equals (Techno.*)|(.*/.Techno.*)

filter               "© Tecmo"

rule                 Manufacturer equals (Tecm.*)|(.*/.Tecm.*)

filter               "© Toaplan"

rule                 Manufacturer equals (Toapla.*)|(.*/.Toapla.*)

filter               "© Universal"

rule                 Manufacturer equals (Universa.*)|(.*/.Universa.*)

filter               "© Video System Co."

rule                 Manufacturer equals (Visc.*)|(Video.System.Co.*)|(.*/.Visc.*)|(.*/.Video.System.C.*)

filter               "© Zaccaria"

rule                 Manufacturer equals (Zaccari.*)|(.*/.Zaccari.*)

filter               "Released 1970 - 1979"

rule                 Year equals 197.

filter               "Released 1980"

rule                 Year equals 1980

filter               "Released 1981"

rule                 Year equals 1981

filter               "Released 1982"

rule                 Year equals 1982

filter               "Released 1983"

rule                 Year equals 1983

filter               "Released 1984 - 1985"

rule                 Year equals 1984|1985

filter               "Released 1986 - 1987"

rule                 Year equals 1986|1987

filter               "Released 1988 - 1989"

rule                 Year equals 1988|1989

filter               "Released 1990 - 1994"

rule                 Year equals 1990|1991|1992|1993|1994

filter               "Released 1995 - 1999"

rule                 Year equals 1995|1996|1997|1998|1999

filter               "Released 2000 - 2020"

rule                 Year equals 20..

Le possibilità sono veramente tante, non resta che provare.


Buona configurazione.

05 ottobre 2020

mame 0.225

Mame64 + groovy 017s + nonag + d3d9ex - windows

Mame64 + groovy 017s + nonag - linux

HBMame64 + groovy 017s + nonag - linux

HBMame64 + groovy 017s + nonag + d3d9ex - windows

To download all the versions compiled by me you can directly access my drive from here and select the corresponding folder or go to the sixthfloor BBS

Attention windows users, i always recommend to download the standard version of mame and replace only the groovy executable after unzipping all the files, and after creating the mame.ini, so you will not have any errors due to old versions of the configuration file.