la prima era una funzione presente anche nel vecchio AdvanceMAME. in pratica accelera al massimo l'emulazione per un certo numero di frame iniziali (non ricordo se disabilita anche il sonoro e oscura lo schermo), in modo che appena si sceglie il gioco vengano saltate tutte le sequenze di inizializzazione (a volte molto lunghe), come quelle di Mortal Kombat, dei Taito F2, dei CPS3, ecc...
questa patch è in versione rudimentale (salta 999 frame di animazione), ma AdvanceMAME e un altro progetto nato successivamente avevano fatto le cose più di fino. in pratica la patch leggeva un file di testo dove associato al nome della rom c'erano il numero di frame da "saltare"
la seconda patch disabilità i controlli del MAME per verificare se le rom caricate sono corrette (in pratica i controlli sul CRC32), in questo modo si risparmia tempo per una funzione inutile in un MAMEcab (si presume che prima di mettere le rom nel MAME cab uno le controlli con ClrMAME Pro)
sarebbe molto bello implementare queste patch (magari in GroovyMAME, la migliore versione per un cab) e migliorare la prima calcolando i frame da skippare in ogni gioco
skipStartUpFrames
Codice: Seleziona tutto
--- old/emu/video.c 2013-01-11 07:32:48.000000000 -0800
+++ src/emu/video.c 2013-07-28 22:58:13.000000000 -0700
@@ -224,6 +224,20 @@
// only render sound and video if we're in the running phase
int phase = machine().phase();
bool skipped_it = m_skipping_this_frame;
+ static int Frames=0;
+ int skip_startup_frames = 999;
+ if (skip_startup_frames)
+ {
+ Frames++;
+ if (skip_startup_frames)
+ {
+ if (Frames<=skip_startup_frames)
+ skipped_it = true;
+
+ if (Frames>skip_startup_frames+2)
+ skip_startup_frames=0;
+ }
+ }
if (phase == MACHINE_PHASE_RUNNING && (!machine().paused() || machine().options().update_in_pause()))
{
bool anything_changed = finish_screen_updates();
Codice: Seleziona tutto
--- old/emu/mame.c 2013-07-28 21:23:24.000000000 -0700
+++ src/emu/mame.c 2013-01-11 07:32:48.000000000 -0800
@@ -171,8 +171,8 @@
// otherwise, perform validity checks before anything else
if (system != NULL)
{
- validity_checker valid(options);
- valid.check_shared_source(*system);
+// validity_checker valid(options);
+// valid.check_shared_source(*system);
}
// create the machine configuration