From 7823b3f056c9bf7ab2783adcead69ac664f450d9 Mon Sep 17 00:00:00 2001 From: n-a-c-h <> Date: Mon, 4 Apr 2005 01:24:32 +0000 Subject: [PATCH] Added parameter to close ZSNES when movie is closed. --- zsnes/src/cpu/execute.asm | 7 +++++++ zsnes/src/zloader.c | 10 ++++++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/zsnes/src/cpu/execute.asm b/zsnes/src/cpu/execute.asm index 58a48e01..99d5d1a1 100644 --- a/zsnes/src/cpu/execute.asm +++ b/zsnes/src/cpu/execute.asm @@ -1286,6 +1286,7 @@ NEWSYM nmistatus, dd 0 ; 0 = none, 1 = waiting for nmi location, ; 2 = found, disable at next line NEWSYM joycontren, dd 0 ; joystick read control check NEWSYM NextLineCache, db 0 +NEWSYM ZMVZClose, db 0 SECTION .text @@ -2740,6 +2741,12 @@ NEWSYM cpuover pushad call ProcessMovies popad + cmp byte[MovieProcessing],0 + jne .notmoviedone + cmp byte[ZMVZClose],1 + jne .notmoviedone + jmp OSExit +.notmoviedone cmp byte[MovieExitLoop],1 jne .noprocmovie mov byte[MovieProcessing],0 diff --git a/zsnes/src/zloader.c b/zsnes/src/zloader.c index 17f2b349..93eef655 100644 --- a/zsnes/src/zloader.c +++ b/zsnes/src/zloader.c @@ -52,7 +52,7 @@ extern unsigned char Palette0, pl1contrl, pl2contrl, MMXSupport, Force8b, ForceP antienab, cvidmode, debugdisble, debugger, enterpress, vsyncon, DisplayS, fname, SnowOn, Triplebufen, SPC700sh, OffBy1Line, DSPDisable, frameskip, gammalevel, guioff, romtype, per2exec, scanlines, soundon, spcon, - showallext, autoloadstate, smallscreenon, autoloadmovie; + showallext, autoloadstate, smallscreenon, autoloadmovie, ZMVZClose; void ConvertJoyMap1(), ConvertJoyMap2(), zstart(), makeextension(); @@ -95,6 +95,7 @@ static void display_help() #endif puts(" -l Force LoROM"); puts(" -m Disable GUI (Must specify ROM filename)"); + puts(" -mc Exit ZSNES when closing a movie"); puts(" -n # Enable scanlines (when available)"); puts(" Where # is: 1 = full, 2 = 25%, 3 = 50%"); puts(" -om Enable MMX support (when available)"); @@ -478,6 +479,11 @@ static void handle_params(int argc, char *argv[]) } #endif + else if (tolower(argv[i][1]) == 'm' && argv[i][2] == 'c') //Autoload save state + { + ZMVZClose = 1; + } + else if (tolower(argv[i][1]) == 'o' && tolower(argv[i][2]) == 'm') //Enable MMX support { MMXSupport = 1; @@ -522,7 +528,7 @@ static void handle_params(int argc, char *argv[]) exit(1); } } - + else { display_help();