diff --git a/docs/changes.txt b/docs/changes.txt index 3810e2b7..d42e680a 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -1,3 +1,59 @@ +Snes9x 1.53 + +- Rebuilt IRQ handling. (zones) +- Improved overall timings, now Snes9x can handle events in + a opcode a little. (zones) +- Improved screen interlace and sprite interlace supports. (OV2, zones) +- Fixed Hi-Res pixel plotter. (BearOso, zones, OV2) +- Fixed C4 for Mega Man X2's "weapon get" screen. (Jonas Quinn) +- Fixed Super Buster Bros. graphics after reset. (Jonas Quinn) +- Improved SA-1 support. (zones) +- Added SA-1 CC2 support. (Jonas Quinn, byuu) +- Fixed SA-1 NMI override mode. (zones) +- Fixed Dual Orb 2 sound glitch. (byuu) +- New APU timing hack, fixes various games that exhibit + problems with Blargg's SNES_SPC library. (OV2) +- Fixed movie snapshot unfreeze inconsistency. (gocha) +- Faster config file saving. (OV2) +- Fixed BlockInvalidVRAMAccess config file option. + (windows port, unix port and gtk legacy config) (Jonas Quinn) +- Remove POSIX dup and access calls, and rename qword to + fix compilation with Cell SDK. (BearOso) +- Fixed PS3 version save state crash by using heap + allocation for soundsnapshot. (danieldematteis) +- Fixed crash relating to double-closed descriptor. (BearOso) +- Removed CPUShutdown speedhack, DisableHDMA and + DisableIRQ options. (zones) +- Removed remaining outdated asm code. (zones) +- JMA 64 bit support. (kode54, Nach, friedrich.goepel) +- GTK+, Win32, Mac: Added optional Hi-Res blending. (BearOso, OV2, zones) +- GTK+, Win32: Support for bSNES-style XML shaders. (BearOso, OV2) +- Win32: Full unicode support. (OV2) +- Win32: Restored OpenGL mode. (OV2) +- Win32: x64 version. (OV2) +- Win32: HLSL shader support. (mudlord) +- Win32: Win7 jumplist synchronizes with recent roms list. (OV2) +- Win32: Updated menu structure. (OV2) +- Win32: Drag&Drop support for ROMs. (gocha, OV2) +- Win32: Reworked movie-recording with size selection. (gocha, OV2) +- Win32: Restored SPC save option. (OV2) +- Win32: Fixed vsync in DirectDraw. (OV2) +- Win32: Improved window position saving. (OV2) +- Win32: Restored compile with DEBUGGER. (gocha) +- Win32: Fixed various edge-case errors and/or possible + leaks. (Brian Friesen) +- Win32: Config file option to always center image. (OV2) +- Win32: Fixed "Turbo Down mode" hotkey assignment. (gocha) +- Win32: Added and fixed Autofire for D-pad. (gocha) +- Win32: Fixed aggressive soundsync wait. (OV2) +- Win32: Added window size presets. (OV2) +- Mac : Added pause and frame advance functions. (zones) +- Mac : Now you can choose any folder for saving files. (zones) +- Mac : Updated Music Box (mostly internally). (zones) +- Mac : Fixed gliches in open/save dialogs on 10.6. (zones) +- Mac : Fixed display configuration in windowed mode. (zones) +- Unix : Fixed segfault and hang-up with -DNOSOUND. (zones) + Snes9x 1.52 - IMPORTANT NOTICE: The structure of savestates (also known as snapshots / freeze files) is incompatible with older diff --git a/macosx/English.lproj/Snes9x Help/Snes9x Help.helpindex b/macosx/English.lproj/Snes9x Help/Snes9x Help.helpindex index 181ce7a4..e6d6e1d0 100644 Binary files a/macosx/English.lproj/Snes9x Help/Snes9x Help.helpindex and b/macosx/English.lproj/Snes9x Help/Snes9x Help.helpindex differ diff --git a/macosx/English.lproj/Snes9x Help/pgs/02.html b/macosx/English.lproj/Snes9x Help/pgs/02.html old mode 100644 new mode 100755 index c66d0731..24cbcc6c --- a/macosx/English.lproj/Snes9x Help/pgs/02.html +++ b/macosx/English.lproj/Snes9x Help/pgs/02.html @@ -20,7 +20,7 @@ Choose 'Open ROM Image...' in 'File' menu, select the game and start it. You can also drag and drop the ROM image onto the Snes9x icon. You may open a ROM image by double clicking on its icon in the Finder as well.

- SNES ROM images come in lots of different formats. Snes9x supports zipped ROMs as long as there is only 1 per zip file. Also Snes9x can open gzip/jma compressed file. + SNES ROM images come in lots of different formats. Snes9x supports zipped ROMs as long as there is only 1 per zip file. Also Snes9x can open gzip and jma compressed files.

Game Color System

diff --git a/macosx/English.lproj/Snes9x Help/pgs/03.html b/macosx/English.lproj/Snes9x Help/pgs/03.html old mode 100644 new mode 100755 index 519ad0b0..ed476e06 --- a/macosx/English.lproj/Snes9x Help/pgs/03.html +++ b/macosx/English.lproj/Snes9x Help/pgs/03.html @@ -21,7 +21,7 @@

Software

- You will need access to SNES ROM images in .smc, .sfc, .fig, etc., format otherwise you will have nothing to run! Some home-brewed ROM images can be downloaded from http://www.zophar.com/.
+ You will need access to SNES ROM images otherwise you will have nothing to run! Some home-brewed ROM images can be downloaded from http://www.zophar.com/.
Please note, it is illegal in most countries to have commercial ROM images without also owning the actual SNES ROM cartridges, and even then you may be liable under various EULAs.

diff --git a/macosx/English.lproj/Snes9x Help/pgs/04.html b/macosx/English.lproj/Snes9x Help/pgs/04.html old mode 100644 new mode 100755 index 31f05bfe..55056a6f --- a/macosx/English.lproj/Snes9x Help/pgs/04.html +++ b/macosx/English.lproj/Snes9x Help/pgs/04.html @@ -186,6 +186,14 @@ W decreases emulated frame time - speeding up the game. + + O + just pauses and resumes - doesn't exit from the emulation loop. + + + P + advances a frame when paused. + diff --git a/macosx/English.lproj/Snes9x Help/pgs/06.html b/macosx/English.lproj/Snes9x Help/pgs/06.html old mode 100644 new mode 100755 index 861e423c..fc2e9c52 --- a/macosx/English.lproj/Snes9x Help/pgs/06.html +++ b/macosx/English.lproj/Snes9x Help/pgs/06.html @@ -17,7 +17,7 @@

Using the SRAM File

- It's easy enough, just save the game as you do with the real SNES. Snes9x outputs the contents of the emulated SRAM into a file (.srm) when you load a new game or quit Snes9x. This file is automatically loaded the next time you play the game. + It's easy enough, just save the game as you do with the real SNES. Snes9x outputs the contents of the emulated SRAM into a file (.srm) when you load a new game, pause the emulation loop or quit Snes9x. This file is automatically loaded the next time you play the game.

To avoid losing your progress if Snes9x or your system crashes before the .srm file is saved, Snes9x provides auto-saving .srm option - the .srm file is always updated when the SRAM contents are modified. See into 'File' tab in 'Preferences' dialog to turn on this option. You can also update .srm file manually by choosing 'Save SRAM File Now' in 'Option' menu. diff --git a/macosx/English.lproj/Snes9x Help/pgs/08.html b/macosx/English.lproj/Snes9x Help/pgs/08.html old mode 100644 new mode 100755 index fd0f2d4b..b9d43a95 --- a/macosx/English.lproj/Snes9x Help/pgs/08.html +++ b/macosx/English.lproj/Snes9x Help/pgs/08.html @@ -29,7 +29,8 @@

QuickTime Movie Export

- Note that during the QuickTime recording there is no sound, but the exported QuickTime movie has sound. Choose 'Export to QuickTime Movie...' in 'Option' menu and choose the location where the QuickTime movie file will be saved. Press 'Compression...' button and set the compression settings by the general QuickTime dialog. 'Double Size' check box makes the movie size from 256x224/239 to 512x448/478. 'Overscan' check box is for games that use 239 or 478 lines. 'Frame Skip' menu decides frame rate of the movie, for example when the value is 1, NTSC games which have 60 fps are exported as 30 fps movie.
+ Note that during the QuickTime recording there is no sound, but the exported QuickTime movie has sound.
+ Choose 'Export to QuickTime Movie...' in 'Option' menu and choose the location where the QuickTime movie file will be saved. Press 'Compression...' button and set the compression settings by the general QuickTime dialog. 'Double Size' check box makes the movie size from 256x224/239 to 512x448/478. 'Overscan' check box is for games that use 239 or 478 lines. 'Frame Skip' menu decides frame rate of the movie, for example when the value is 1, NTSC games which have 60 fps are exported as 30 fps movie.
To make a QuickTime movie from .smv, choose 'Play Movie...' in 'Option' menu and turn on 'Export to QuickTime movie at a Time' check box.

diff --git a/macosx/English.lproj/Snes9x Help/pgs/09.html b/macosx/English.lproj/Snes9x Help/pgs/09.html old mode 100644 new mode 100755 index 3e07abca..04c2e2ef --- a/macosx/English.lproj/Snes9x Help/pgs/09.html +++ b/macosx/English.lproj/Snes9x Help/pgs/09.html @@ -32,7 +32,7 @@ Server - Open the ROM image. Pause the game. + Open the ROM image. Pause the game and exit from the emulation loop. Server @@ -84,7 +84,7 @@ Server - Netplay stops when server pauses the game. + Netplay stops when server pauses the game and exits from the emulation loop. Server diff --git a/macosx/English.lproj/Snes9x Help/pgs/10.html b/macosx/English.lproj/Snes9x Help/pgs/10.html old mode 100644 new mode 100755 index 3b1b8303..124a2390 --- a/macosx/English.lproj/Snes9x Help/pgs/10.html +++ b/macosx/English.lproj/Snes9x Help/pgs/10.html @@ -22,7 +22,9 @@

ROM Folder
the files will all be in the same folder as the ROM image being used.
Application Support Folder (default)
-
the subdirectories will be created in /Users/yourname/Library/Application Support/Snes9x and searched.
+
the subdirectories will be created and searched in /Users/yourname/Library/Application Support/Snes9x.
+
Other...
+
the subdirectories will be created and searched in any folder you choose.

Which Display is Used in Full Screen Mode

diff --git a/macosx/English.lproj/Snes9x Help/pgs/13.html b/macosx/English.lproj/Snes9x Help/pgs/13.html old mode 100644 new mode 100755 index b3c98b31..ff136aff --- a/macosx/English.lproj/Snes9x Help/pgs/13.html +++ b/macosx/English.lproj/Snes9x Help/pgs/13.html @@ -19,7 +19,7 @@

  • Sound DSP, with eight 16-bit, stereo channels, compressed samples, hardware envelope processing, echo, pitch modulation and digital FIR sound filter.
  • SRAM, a battery-backed RAM.
  • All background modes, 0 to 7.
  • -
  • All screen resolutions, 256x224, 256x239, 512x224, 512x239, 512x448 and 512x478.
  • +
  • All screen resolutions including interlace mode.
  • Pseudo hi-res mode.
  • 8x8, 16x8 and 16x16 tile sizes, flipped in either direction.
  • 32x32, 32x64, 64x32 and 64x64 screen tile sizes.
  • diff --git a/macosx/English.lproj/Snes9x Help/pgs/15.html b/macosx/English.lproj/Snes9x Help/pgs/15.html old mode 100644 new mode 100755 index e8b5e491..5eb0de91 --- a/macosx/English.lproj/Snes9x Help/pgs/15.html +++ b/macosx/English.lproj/Snes9x Help/pgs/15.html @@ -60,7 +60,7 @@

    Edited for Mac port by: zones (kasumitokoduck@yahoo.com)
    - Updated most recently by: 2009/12/20 zones + Updated most recently by: 2011/3/31 zones

    <Prev  Top  Next> diff --git a/macosx/English.lproj/Snes9x.nib/classes.nib b/macosx/English.lproj/Snes9x.nib/classes.nib deleted file mode 100644 index c4b887e7..00000000 --- a/macosx/English.lproj/Snes9x.nib/classes.nib +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IBVersion - 1 - - diff --git a/macosx/English.lproj/Snes9x.nib/info.nib b/macosx/English.lproj/Snes9x.nib/info.nib deleted file mode 100644 index 0e0eb7bd..00000000 --- a/macosx/English.lproj/Snes9x.nib/info.nib +++ /dev/null @@ -1,18 +0,0 @@ - - - - - IBFramework Version - 823 - IBLastKnownRelativeProjectPath - ../snes9x.xcodeproj - IBOldestOS - 6 - IBOpenObjects - - IBSystem Version - 10J567 - targetFramework - IBCarbonFramework - - diff --git a/macosx/English.lproj/Snes9x.nib/objects.xib b/macosx/English.lproj/Snes9x.nib/objects.xib deleted file mode 100644 index d4e9880e..00000000 --- a/macosx/English.lproj/Snes9x.nib/objects.xib +++ /dev/null @@ -1,7694 +0,0 @@ - - - - - - - osx_ - 806 - Saves the sizes and positions of the game window and dialogs so they come back to the same place. - Save Window Size and Position - 326 20 221 18 - 62 347 80 568 - - - PRES - 1 - Preset #n - 130 456 95 13 - 456 130 469 225 - - - AEtx - 1 - TRUE - TRUE - 110 74 90 13 - 74 110 87 200 - - - Star - 2 - 0 - 822 - 4 - 33024 - 159 74 28 28 - 122 200 150 228 - - - #3 - TRUE - CPr3 - - - TRUE - TRUE - - - 1 - Cheat Value : - -1 - 16 74 83 13 - 74 16 87 99 - - - 8__R - 8__R - 0 - 1409 - 4 - TRUE - 32768 - 176 26 28 28 - 324 518 352 546 - - - RChk - 1 - 0 - 809 - 4 - 33024 - 180 30 28 28 - 78 221 106 249 - - - SHTa - 1 - SHTa - 1 - Add - 237 130 70 20 - 130 237 150 307 - - - 7__R - 7__R - 0 - 1309 - 4 - TRUE - 32768 - 176 26 28 28 - 324 196 352 224 - - - Slot A - 20 22 42 16 - 22 20 38 62 - - - 1 - Size (header) : - -1 - 20 167 128 13 - 167 20 180 148 - - - = - TRUE - - - 8Sel - 8Sel - 0 - 1411 - 4 - TRUE - 32768 - 119 70 28 28 - 368 461 396 489 - - - Slid - 1 - TRUE - 16 - 10 - 1 - 16 - 16 28 215 26 - 392 57 418 272 - - - barc - 3 - barc - 0 - 4 - 256 - 192 6 12 12 - 214 213 226 225 - - - 2__A - 2__A - 0 - 819 - 4 - TRUE - 32768 - 262 70 28 28 - 76 604 104 632 - - - 4 - TRUE - - - Justifier - TRUE - EIp7 - - - PANE - 1000 - 2 - - - RCTL - 108 - 1 - Players to Record : - 8 7 21 110 - - - RCTL - 109 - 1 - Comment : - 33 7 46 67 - - - RCTL - 107 - 1 - TRUE - TRUE - 33 77 46 422 - - - RCTL - 101 - 1 - 1 - 7 114 23 140 - - - RCTL - 102 - 1 - 2 - 7 152 23 178 - - - RCTL - 103 - 1 - 3 - 7 190 23 216 - - - RCTL - 104 - 1 - 4 - 7 228 23 254 - - - RCTL - 105 - 1 - 5 - 7 266 23 292 - - - RCTL - 106 - 1 - Reset - 7 358 23 406 - - - 0 0 57 433 - - - CCTL - 102 - 1 - - Popup: - - - Auto Detect - TRUE - - - TRUE - TRUE - - - Force not Interleaved - TRUE - - - Force Mode 1 - TRUE - - - Force Mode 2 - TRUE - - - Force GD24 - TRUE - - - - 6 315 23 425 - - - Up - 2 - 0 - 812 - 4 - 33024 - 46 44 28 28 - 92 87 120 115 - - - Cheat - - Cheat - 132 - - - Apply Cheats - TRUE - Hapl - - - TRUE - TRUE - - - Cheat Entry... - TRUE - Hent - - - Cheat Finder... - TRUE - Hfnd - - - - - - 0 0 257 216 - - - BMrk - All frames are drawn without adjusting times. Make sure 'Synchronize' in 'Sound' tab in 'Preferences' dialog is turned off. - Benchmark Test - 18 20 133 18 - 20 18 38 151 - - - NoTR - GL_TEXTURE_2D is used even if GL_TEXTURE_RECTANGLE_EXT is available. - Don't Use Rectangle Texture - 34 104 203 18 - 104 34 122 237 - - - AGPT - Sets GL_TEXTURE_PRIORITY to 0.0. - AGP Texturing - 34 148 203 18 - 148 34 166 237 - - - Storage Hint : - 36 178 90 16 - 178 36 194 126 - - - CSAp - Sets GL_STORAGE_SHARED_APPLE to 1. - Client Stroage - 34 126 203 18 - 126 34 144 237 - - - Hint - Sets GL_TEXTURE_STORAGE_HINT_APPLE. - 2 - - Popup: - - - Private - TRUE - - - Cached - TRUE - - - Shared - TRUE - - - - 134 176 103 20 - 176 134 196 237 - - - OpenGL Settings : - 20 80 131 16 - 80 20 96 151 - - - 12 58 233 1 - 58 12 59 245 - - - 0 0 216 257 - - - The degree of curvature. - Warp : - -2 - 345 228 45 16 - 270 366 286 411 - - - Defrost State - d - TRUE - Odfr - - - 1 - Set whether automatic fire is enabled for each controller button. - Enable Automatic Fire - FALSE - 20 6 310 148 - - - Left - 1 - 0 - 802 - 4 - 33024 - 16 74 28 28 - 122 57 150 85 - - - Up - 1 - 0 - 800 - 4 - 33024 - 46 44 28 28 - 92 87 120 115 - - - Down - 1 - 0 - 801 - 4 - 33024 - 46 104 28 28 - 152 87 180 115 - - - Righ - 1 - 0 - 803 - 4 - 33024 - 76 74 28 28 - 122 117 150 145 - - - AChk - 1 - 0 - 807 - 4 - 33024 - 266 74 28 28 - 122 307 150 335 - - - YChk - 1 - 0 - 804 - 4 - 33024 - 206 74 28 28 - 122 247 150 275 - - - BChk - 1 - 0 - 805 - 4 - 33024 - 236 104 28 28 - 152 277 180 305 - - - Sele - 1 - 0 - 811 - 4 - 33024 - 123 74 28 28 - 122 164 150 192 - - - Star - 1 - 0 - 810 - 4 - 33024 - 159 74 28 28 - 122 200 150 228 - - - XChk - 1 - 0 - 806 - 4 - 33024 - 236 44 28 28 - 92 277 120 305 - - - LChk - 1 - 0 - 808 - 4 - 33024 - 102 30 28 28 - 78 143 106 171 - - - - 48 41 196 351 - - - 140 ms - TRUE - - - Up - 111 - 0 - 800 - 4 - 33024 - 46 44 28 28 - 250 87 278 115 - - - - Choose the behavior of Snes9x when it is in back of other applications. - When in Background : - 20 134 146 16 - 176 41 192 187 - - - 0 0 555 272 - - - BRSR - - 1 - 1 - 2 - 2 - - 40 - - - CHK_ - chbx - 327681 - 1 - 30 - 30 - - - ADDR - 327681 - 1 - 84 - 84 - Address - - - VALU - 327681 - 1 - 65 - 65 - Value - - - DESC - 327681 - 1 - 196 - 196 - -2 - Description - - - 1 - FALSE - FALSE - 17 - 20 20 396 232 - 20 20 252 416 - - - NEW_ - NEW_ - - 1 - 2 - - New - 432 20 103 20 - 20 432 40 535 - - - DEL_ - DEL_ - - 1 - 2 - - Delete - 432 52 103 20 - 52 432 72 535 - - - ALL_ - ALL_ - - 1 - 2 - - Enable All - 432 92 103 20 - 92 432 112 535 - - - 0 0 272 555 - - - LChk - 22 - 0 - 820 - 4 - 33024 - 102 30 28 28 - 78 473 106 501 - - - _Esc - _Esc - 0 - 837 - 4 - TRUE - 32768 - 262 63 28 28 - 361 926 389 954 - - - 1P : - 20 20 28 16 - 20 20 36 48 - - - 7_Rt - 7_Rt - 0 - 1303 - 4 - TRUE - 32768 - 72 70 28 28 - 368 92 396 120 - - - 1 - Cart Name : - -1 - 20 20 128 13 - 20 20 33 148 - - - TRUE - TRUE - - - - QCTL - 103 - 1 - Compression... - 7 319 27 424 - - - 0 0 292 132 - - - SVIP - TRUE - TRUE - 97 23 172 16 - 23 97 39 269 - - - NOT_ - NOT_ - 2 - Cancel - 110 92 70 20 - 92 110 112 180 - - - OK__ - OK__ - 1 - Connect - 192 92 80 20 - 92 192 112 272 - - - CLNM - TRUE - TRUE - 97 53 172 16 - 53 97 69 269 - - - Server IP : - -1 - 20 23 63 16 - 23 20 39 83 - - - Name : - -1 - 20 53 63 16 - 53 20 69 83 - - - CHAS - 18 98 16 16 - 98 18 114 34 - - - 0 0 132 292 - - - - Multi Taps (Both Ports) - TRUE - EIp6 - - - Smooth - TRUE - - - - - FALSE - FALSE - FALSE - FALSE - TRUE - FALSE - 1 - 7 - Automatic Fire - - 0 0 723 472 - - - Ftab - 256 - 21 5 680 449 - - - Ftab - 257 - 2 - 0 37 680 412 - - - - 1 - Set whether pressing 'Alt' in conjunction with a controller button in-game toggles its automatic fire on/off. - Allow 'Alt' to Toggle Enable/Disable Automatic Fire - FALSE - 350 6 310 148 - - - Left - 11 - 0 - 802 - 4 - 33024 - 16 74 28 28 - 122 387 150 415 - - - Up - 11 - 0 - 800 - 4 - 33024 - 46 44 28 28 - 92 417 120 445 - - - Down - 11 - 0 - 801 - 4 - 33024 - 46 104 28 28 - 152 417 180 445 - - - Righ - 11 - 0 - 803 - 4 - 33024 - 76 74 28 28 - 122 447 150 475 - - - AChk - 11 - 0 - 807 - 4 - 33024 - 266 74 28 28 - 122 637 150 665 - - - YChk - 11 - 0 - 804 - 4 - 33024 - 206 74 28 28 - 122 577 150 605 - - - BChk - 11 - 0 - 805 - 4 - 33024 - 236 104 28 28 - 152 607 180 635 - - - Sele - 11 - 0 - 811 - 4 - 33024 - 123 74 28 28 - 122 494 150 522 - - - Star - 11 - 0 - 810 - 4 - 33024 - 159 74 28 28 - 122 530 150 558 - - - XChk - 11 - 0 - 806 - 4 - 33024 - 236 44 28 28 - 92 607 120 635 - - - LChk - 11 - 0 - 808 - 4 - 33024 - 102 30 28 28 - 78 473 106 501 - - - RChk - 11 - 0 - 809 - 4 - 33024 - 180 30 28 28 - 78 551 106 579 - - - 48 371 196 681 - - - 1 - Set whether, when automatic fire is enabled, 'TC' must also be held down to activate automatic fire. - Automatic Fire is Active Only While 'TC' is Pressed - FALSE - 20 164 310 148 - - - Left - 111 - 0 - 802 - 4 - 33024 - 16 74 28 28 - 280 57 308 85 - - - - Down - 111 - 0 - 801 - 4 - 33024 - 46 104 28 28 - 310 87 338 115 - - - Righ - 111 - 0 - 803 - 4 - 33024 - 76 74 28 28 - 280 117 308 145 - - - AChk - 111 - 0 - 807 - 4 - 33024 - 266 74 28 28 - 280 307 308 335 - - - YChk - 111 - 0 - 804 - 4 - 33024 - 206 74 28 28 - 280 247 308 275 - - - BChk - 111 - 0 - 805 - 4 - 33024 - 236 104 28 28 - 310 277 338 305 - - - Sele - 111 - 0 - 811 - 4 - 33024 - 123 74 28 28 - 280 164 308 192 - - - Star - 111 - 0 - 810 - 4 - 33024 - 159 74 28 28 - 280 200 308 228 - - - XChk - 111 - 0 - 806 - 4 - 33024 - 236 44 28 28 - 250 277 278 305 - - - LChk - 111 - 0 - 808 - 4 - 33024 - 102 30 28 28 - 236 143 264 171 - - - RChk - 111 - 0 - 809 - 4 - 33024 - 180 30 28 28 - 236 221 264 249 - - - 206 41 354 351 - - - 1 - Set whether a button's input is inverted - that is, Snes9x acts as though the button is pressed if and only if it is not pressed. - Button Input is Inverted - FALSE - 350 164 310 148 - - - Left - 1111 - 0 - 802 - 4 - 33024 - 16 74 28 28 - 280 387 308 415 - - - Up - 1111 - 0 - 800 - 4 - 33024 - 46 44 28 28 - 250 417 278 445 - - - Down - 1111 - 0 - 801 - 4 - 33024 - 46 104 28 28 - 310 417 338 445 - - - Righ - 1111 - 0 - 803 - 4 - 33024 - 76 74 28 28 - 280 447 308 475 - - - AChk - 1111 - 0 - 807 - 4 - 33024 - 266 74 28 28 - 280 637 308 665 - - - YChk - 1111 - 0 - 804 - 4 - 33024 - 206 74 28 28 - 280 577 308 605 - - - BChk - 1111 - 0 - 805 - 4 - 33024 - 236 104 28 28 - 310 607 338 635 - - - Sele - 1111 - 0 - 811 - 4 - 33024 - 123 74 28 28 - 280 494 308 522 - - - Star - 1111 - 0 - 810 - 4 - 33024 - 159 74 28 28 - 280 530 308 558 - - - XChk - 1111 - 0 - 806 - 4 - 33024 - 236 44 28 28 - 250 607 278 635 - - - LChk - 1111 - 0 - 808 - 4 - 33024 - 102 30 28 28 - 236 473 264 501 - - - RChk - 1111 - 0 - 809 - 4 - 33024 - 180 30 28 28 - 236 551 264 579 - - - 206 371 354 681 - - - 1 - Set the number of presses per second that an automatic fire button receives. - Automatic Fire Speed - FALSE - 20 322 310 70 - - - - Num_ - 1 - 1 - 10 - -1 - 242 35 19 13 - 399 283 412 302 - - - 1 - / sec - 265 35 29 13 - 399 306 412 335 - - - 364 41 434 351 - - - DEF1 - DEF1 - Restores the default settings. - Defaults - 579 372 81 20 - 414 600 434 681 - - - 42 21 454 701 - - - Ftab - 258 - 2 - 0 37 680 412 - - - 1 - Set whether pressing 'Alt' in conjunction with a controller button in-game toggles its automatic fire on/off. - Allow 'Alt' to Toggle Enable/Disable Automatic Fire - FALSE - 350 6 310 148 - - - Left - 22 - 0 - 814 - 4 - 33024 - 16 74 28 28 - 122 387 150 415 - - - Up - 22 - 0 - 812 - 4 - 33024 - 46 44 28 28 - 92 417 120 445 - - - Down - 22 - 0 - 813 - 4 - 33024 - 46 104 28 28 - 152 417 180 445 - - - Righ - 22 - 0 - 815 - 4 - 33024 - 76 74 28 28 - 122 447 150 475 - - - AChk - 22 - 0 - 819 - 4 - 33024 - 266 74 28 28 - 122 637 150 665 - - - YChk - 22 - 0 - 816 - 4 - 33024 - 206 74 28 28 - 122 577 150 605 - - - BChk - 22 - 0 - 817 - 4 - 33024 - 236 104 28 28 - 152 607 180 635 - - - Sele - 22 - 0 - 823 - 4 - 33024 - 123 74 28 28 - 122 494 150 522 - - - Star - 22 - 0 - 822 - 4 - 33024 - 159 74 28 28 - 122 530 150 558 - - - XChk - 22 - 0 - 818 - 4 - 33024 - 236 44 28 28 - 92 607 120 635 - - - - RChk - 22 - 0 - 821 - 4 - 33024 - 180 30 28 28 - 78 551 106 579 - - - 48 371 196 681 - - - 1 - Set whether automatic fire is enabled for each controller button. - Enable Automatic Fire - FALSE - 20 6 310 148 - - - Left - 2 - 0 - 814 - 4 - 33024 - 16 74 28 28 - 122 57 150 85 - - - - Down - 2 - 0 - 813 - 4 - 33024 - 46 104 28 28 - 152 87 180 115 - - - Righ - 2 - 0 - 815 - 4 - 33024 - 76 74 28 28 - 122 117 150 145 - - - AChk - 2 - 0 - 819 - 4 - 33024 - 266 74 28 28 - 122 307 150 335 - - - YChk - 2 - 0 - 816 - 4 - 33024 - 206 74 28 28 - 122 247 150 275 - - - BChk - 2 - 0 - 817 - 4 - 33024 - 236 104 28 28 - 152 277 180 305 - - - Sele - 2 - 0 - 823 - 4 - 33024 - 123 74 28 28 - 122 164 150 192 - - - - XChk - 2 - 0 - 818 - 4 - 33024 - 236 44 28 28 - 92 277 120 305 - - - LChk - 2 - 0 - 820 - 4 - 33024 - 102 30 28 28 - 78 143 106 171 - - - RChk - 2 - 0 - 821 - 4 - 33024 - 180 30 28 28 - 78 221 106 249 - - - 48 41 196 351 - - - 1 - Set whether, when automatic fire is enabled, 'TC' must also be held down to activate automatic fire. - Automatic Fire is Active Only While 'TC' is Pressed - FALSE - 20 164 310 148 - - - Left - 222 - 0 - 814 - 4 - 33024 - 16 74 28 28 - 280 57 308 85 - - - Up - 222 - 0 - 812 - 4 - 33024 - 46 44 28 28 - 250 87 278 115 - - - Down - 222 - 0 - 813 - 4 - 33024 - 46 104 28 28 - 310 87 338 115 - - - Righ - 222 - 0 - 815 - 4 - 33024 - 76 74 28 28 - 280 117 308 145 - - - AChk - 222 - 0 - 819 - 4 - 33024 - 266 74 28 28 - 280 307 308 335 - - - YChk - 222 - 0 - 816 - 4 - 33024 - 206 74 28 28 - 280 247 308 275 - - - BChk - 222 - 0 - 817 - 4 - 33024 - 236 104 28 28 - 310 277 338 305 - - - Sele - 222 - 0 - 823 - 4 - 33024 - 123 74 28 28 - 280 164 308 192 - - - Star - 222 - 0 - 822 - 4 - 33024 - 159 74 28 28 - 280 200 308 228 - - - XChk - 222 - 0 - 818 - 4 - 33024 - 236 44 28 28 - 250 277 278 305 - - - LChk - 222 - 0 - 820 - 4 - 33024 - 102 30 28 28 - 236 143 264 171 - - - RChk - 222 - 0 - 821 - 4 - 33024 - 180 30 28 28 - 236 221 264 249 - - - 206 41 354 351 - - - 1 - Set whether a button's input is inverted - that is, Snes9x acts as though the button is pressed if and only if it is not pressed. - Button Input is Inverted - FALSE - 350 164 310 148 - - - Left - 2222 - 0 - 814 - 4 - 33024 - 16 74 28 28 - 280 387 308 415 - - - Up - 2222 - 0 - 812 - 4 - 33024 - 46 44 28 28 - 250 417 278 445 - - - Down - 2222 - 0 - 813 - 4 - 33024 - 46 104 28 28 - 310 417 338 445 - - - Righ - 2222 - 0 - 815 - 4 - 33024 - 76 74 28 28 - 280 447 308 475 - - - AChk - 2222 - 0 - 819 - 4 - 33024 - 266 74 28 28 - 280 637 308 665 - - - YChk - 2222 - 0 - 816 - 4 - 33024 - 206 74 28 28 - 280 577 308 605 - - - BChk - 2222 - 0 - 817 - 4 - 33024 - 236 104 28 28 - 310 607 338 635 - - - Sele - 2222 - 0 - 823 - 4 - 33024 - 123 74 28 28 - 280 494 308 522 - - - Star - 2222 - 0 - 822 - 4 - 33024 - 159 74 28 28 - 280 530 308 558 - - - XChk - 2222 - 0 - 818 - 4 - 33024 - 236 44 28 28 - 250 607 278 635 - - - LChk - 2222 - 0 - 820 - 4 - 33024 - 102 30 28 28 - 236 473 264 501 - - - RChk - 2222 - 0 - 821 - 4 - 33024 - 180 30 28 28 - 236 551 264 579 - - - 206 371 354 681 - - - 1 - Set the number of presses per second that an automatic fire button receives. - Automatic Fire Speed - FALSE - 20 322 310 70 - - - Slid - 2 - TRUE - 16 - 10 - 1 - 16 - 16 28 215 26 - 392 57 418 272 - - - Num_ - 2 - 1 - 10 - -1 - 242 35 19 13 - 399 283 412 302 - - - 1 - / sec - 265 35 29 13 - 399 306 412 335 - - - 364 41 434 351 - - - DEF2 - DEF2 - Restores the default settings. - Defaults - 579 372 81 20 - 414 600 434 681 - - - 42 21 454 701 - - - 5 21 454 701 - - - contentResID - 0 - tabEnabled - 1 - tabName - Player 1 - userPane - - - - contentResID - 0 - tabEnabled - 1 - tabName - Player 2 - userPane - - - - - - 0 0 472 723 - - 80 40 552 763 - 0 0 768 1024 - - - Enab - Enab - Enable this Effect - 73 18 91 154 - - - Too short length will cause crackling noise. - Mix Buffer Length : - -1 - 275 81 130 16 - 123 296 139 426 - - - - AEcv - 1 - current value - 107 47 96 13 - 47 107 60 203 - - - - FALSE - FALSE - FALSE - FALSE - TRUE - FALSE - 1 - 7 - Configure Controllers - - 0 0 986 491 - - - 1 - Player 1 - FALSE - 20 6 302 140 - - - 1_Lf - 1_Lf - 0 - 802 - 4 - TRUE - 32768 - 12 70 28 28 - 76 32 104 60 - - - 1_Up - 1_Up - 0 - 800 - 4 - TRUE - 32768 - 42 40 28 28 - 46 62 74 90 - - - 1_Dn - 1_Dn - 0 - 801 - 4 - TRUE - 32768 - 42 100 28 28 - 106 62 134 90 - - - 1_Rt - 1_Rt - 0 - 803 - 4 - TRUE - 32768 - 72 70 28 28 - 76 92 104 120 - - - 1__A - 1__A - 0 - 807 - 4 - TRUE - 32768 - 262 70 28 28 - 76 282 104 310 - - - 1__Y - 1__Y - 0 - 804 - 4 - TRUE - 32768 - 202 70 28 28 - 76 222 104 250 - - - 1__B - 1__B - 0 - 805 - 4 - TRUE - 32768 - 232 100 28 28 - 106 252 134 280 - - - 1Sel - 1Sel - 0 - 811 - 4 - TRUE - 32768 - 119 70 28 28 - 76 139 104 167 - - - 1Srt - 1Srt - 0 - 810 - 4 - TRUE - 32768 - 155 70 28 28 - 76 175 104 203 - - - 1__X - 1__X - 0 - 806 - 4 - TRUE - 32768 - 232 40 28 28 - 46 252 74 280 - - - 1__L - 1__L - 0 - 808 - 4 - TRUE - 32768 - 98 26 28 28 - 32 118 60 146 - - - 1__R - 1__R - 0 - 809 - 4 - TRUE - 32768 - 176 26 28 28 - 32 196 60 224 - - - 6 20 146 322 - - - 1 - Player 2 - FALSE - 342 6 302 140 - - - 2_Lf - 2_Lf - 0 - 814 - 4 - TRUE - 32768 - 12 70 28 28 - 76 354 104 382 - - - 2_Up - 2_Up - 0 - 812 - 4 - TRUE - 32768 - 42 40 28 28 - 46 384 74 412 - - - 2_Dn - 2_Dn - 0 - 813 - 4 - TRUE - 32768 - 42 100 28 28 - 106 384 134 412 - - - 2_Rt - 2_Rt - 0 - 815 - 4 - TRUE - 32768 - 72 70 28 28 - 76 414 104 442 - - - - 2__Y - 2__Y - 0 - 816 - 4 - TRUE - 32768 - 202 70 28 28 - 76 544 104 572 - - - 2__B - 2__B - 0 - 817 - 4 - TRUE - 32768 - 232 100 28 28 - 106 574 134 602 - - - 2Sel - 2Sel - 0 - 823 - 4 - TRUE - 32768 - 119 70 28 28 - 76 461 104 489 - - - 2Srt - 2Srt - 0 - 822 - 4 - TRUE - 32768 - 155 70 28 28 - 76 497 104 525 - - - 2__X - 2__X - 0 - 818 - 4 - TRUE - 32768 - 232 40 28 28 - 46 574 74 602 - - - 2__L - 2__L - 0 - 820 - 4 - TRUE - 32768 - 98 26 28 28 - 32 440 60 468 - - - 2__R - 2__R - 0 - 821 - 4 - TRUE - 32768 - 176 26 28 28 - 32 518 60 546 - - - 6 342 146 644 - - - 1 - Player 3 - FALSE - 664 6 302 140 - - - 3_Lf - 3_Lf - 0 - 902 - 4 - TRUE - 32768 - 12 70 28 28 - 76 676 104 704 - - - 3_Up - 3_Up - 0 - 900 - 4 - TRUE - 32768 - 42 40 28 28 - 46 706 74 734 - - - 3_Dn - 3_Dn - 0 - 901 - 4 - TRUE - 32768 - 42 100 28 28 - 106 706 134 734 - - - 3_Rt - 3_Rt - 0 - 903 - 4 - TRUE - 32768 - 72 70 28 28 - 76 736 104 764 - - - 3__A - 3__A - 0 - 907 - 4 - TRUE - 32768 - 262 70 28 28 - 76 926 104 954 - - - 3__Y - 3__Y - 0 - 904 - 4 - TRUE - 32768 - 202 70 28 28 - 76 866 104 894 - - - 3__B - 3__B - 0 - 905 - 4 - TRUE - 32768 - 232 100 28 28 - 106 896 134 924 - - - 3Sel - 3Sel - 0 - 911 - 4 - TRUE - 32768 - 119 70 28 28 - 76 783 104 811 - - - 3Srt - 3Srt - 0 - 910 - 4 - TRUE - 32768 - 155 70 28 28 - 76 819 104 847 - - - 3__X - 3__X - 0 - 906 - 4 - TRUE - 32768 - 232 40 28 28 - 46 896 74 924 - - - 3__L - 3__L - 0 - 908 - 4 - TRUE - 32768 - 98 26 28 28 - 32 762 60 790 - - - 3__R - 3__R - 0 - 909 - 4 - TRUE - 32768 - 176 26 28 28 - 32 840 60 868 - - - 6 664 146 966 - - - 1 - Player 4 - FALSE - 20 152 302 140 - - - 4_Lf - 4_Lf - 0 - 1002 - 4 - TRUE - 32768 - 12 70 28 28 - 222 32 250 60 - - - 4_Up - 4_Up - 0 - 1000 - 4 - TRUE - 32768 - 42 40 28 28 - 192 62 220 90 - - - 4_Dn - 4_Dn - 0 - 1001 - 4 - TRUE - 32768 - 42 100 28 28 - 252 62 280 90 - - - 4_Rt - 4_Rt - 0 - 1003 - 4 - TRUE - 32768 - 72 70 28 28 - 222 92 250 120 - - - 4__A - 4__A - 0 - 1007 - 4 - TRUE - 32768 - 262 70 28 28 - 222 282 250 310 - - - 4__Y - 4__Y - 0 - 1004 - 4 - TRUE - 32768 - 202 70 28 28 - 222 222 250 250 - - - 4__B - 4__B - 0 - 1005 - 4 - TRUE - 32768 - 232 100 28 28 - 252 252 280 280 - - - 4Sel - 4Sel - 0 - 1011 - 4 - TRUE - 32768 - 119 70 28 28 - 222 139 250 167 - - - 4Srt - 4Srt - 0 - 1010 - 4 - TRUE - 32768 - 155 70 28 28 - 222 175 250 203 - - - 4__X - 4__X - 0 - 1006 - 4 - TRUE - 32768 - 232 40 28 28 - 192 252 220 280 - - - 4__L - 4__L - 0 - 1008 - 4 - TRUE - 32768 - 98 26 28 28 - 178 118 206 146 - - - 4__R - 4__R - 0 - 1009 - 4 - TRUE - 32768 - 176 26 28 28 - 178 196 206 224 - - - 152 20 292 322 - - - 1 - Player 5 - FALSE - 342 152 302 140 - - - 5_Lf - 5_Lf - 0 - 1102 - 4 - TRUE - 32768 - 12 70 28 28 - 222 354 250 382 - - - 5_Up - 5_Up - 0 - 1100 - 4 - TRUE - 32768 - 42 40 28 28 - 192 384 220 412 - - - 5_Dn - 5_Dn - 0 - 1101 - 4 - TRUE - 32768 - 42 100 28 28 - 252 384 280 412 - - - 5_Rt - 5_Rt - 0 - 1103 - 4 - TRUE - 32768 - 72 70 28 28 - 222 414 250 442 - - - 5__A - 5__A - 0 - 1107 - 4 - TRUE - 32768 - 262 70 28 28 - 222 604 250 632 - - - 5__Y - 5__Y - 0 - 1104 - 4 - TRUE - 32768 - 202 70 28 28 - 222 544 250 572 - - - 5__B - 5__B - 0 - 1105 - 4 - TRUE - 32768 - 232 100 28 28 - 252 574 280 602 - - - 5Sel - 5Sel - 0 - 1111 - 4 - TRUE - 32768 - 119 70 28 28 - 222 461 250 489 - - - 5Srt - 5Srt - 0 - 1110 - 4 - TRUE - 32768 - 155 70 28 28 - 222 497 250 525 - - - 5__X - 5__X - 0 - 1106 - 4 - TRUE - 32768 - 232 40 28 28 - 192 574 220 602 - - - 5__L - 5__L - 0 - 1108 - 4 - TRUE - 32768 - 98 26 28 28 - 178 440 206 468 - - - 5__R - 5__R - 0 - 1109 - 4 - TRUE - 32768 - 176 26 28 28 - 178 518 206 546 - - - 152 342 292 644 - - - 1 - Common - FALSE - 664 298 302 140 - - - _DeF - _DeF - 0 - 826 - 4 - TRUE - 32768 - 48 63 28 28 - 361 712 389 740 - - - ScoT - ScoT - 0 - 829 - 4 - TRUE - 32768 - 190 100 28 28 - 398 854 426 882 - - - __FF - __FF - 0 - 824 - 4 - TRUE - 32768 - 190 26 28 28 - 324 854 352 882 - - - MouR - MouR - 0 - 851 - 4 - TRUE - 32768 - 48 100 28 28 - 398 712 426 740 - - - ScoC - ScoC - 0 - 831 - 4 - TRUE - 32768 - 262 100 28 28 - 398 926 426 954 - - - _SPC - _SPC - 0 - 828 - 4 - TRUE - 32768 - 190 63 28 28 - 361 854 389 882 - - - ScoP - ScoP - 0 - 830 - 4 - TRUE - 32768 - 226 100 28 28 - 398 890 426 918 - - - _Snp - _Snp - 0 - 827 - 4 - TRUE - 32768 - 226 63 28 28 - 361 890 389 918 - - - - MouL - MouL - 0 - 850 - 4 - TRUE - 32768 - 12 100 28 28 - 398 676 426 704 - - - _Frz - _Frz - 0 - 825 - 4 - TRUE - 32768 - 12 63 28 28 - 361 676 389 704 - - - Ofsc - Ofsc - 0 - 832 - 4 - TRUE - 32768 - 154 100 28 28 - 398 818 426 846 - - - __Fn - __Fn - 0 - 833 - 4 - TRUE - 32768 - 12 26 28 28 - 324 676 352 704 - - - _Alt - _Alt - 0 - 834 - 4 - TRUE - 32768 - 48 26 28 28 - 324 712 352 740 - - - __TC - __TC - 0 - 838 - 4 - TRUE - 32768 - 84 26 28 28 - 324 748 352 776 - - - FFUp - FFUp - 0 - 836 - 4 - TRUE - 32768 - 262 26 28 28 - 324 926 352 954 - - - FFDn - FFDn - 0 - 835 - 4 - TRUE - 32768 - 226 26 28 28 - 324 890 352 918 - - - 298 664 438 966 - - - CLRa - 1 - CLRa - Clear All - 21 453 85 20 - 453 21 473 106 - - - - 1 - Player 6 - FALSE - 664 152 302 140 - - - 6_Lf - 6_Lf - 0 - 1202 - 4 - TRUE - 32768 - 12 70 28 28 - 222 676 250 704 - - - 6_Up - 6_Up - 0 - 1200 - 4 - TRUE - 32768 - 42 40 28 28 - 192 706 220 734 - - - 6_Dn - 6_Dn - 0 - 1201 - 4 - TRUE - 32768 - 42 100 28 28 - 252 706 280 734 - - - 6_Rt - 6_Rt - 0 - 1203 - 4 - TRUE - 32768 - 72 70 28 28 - 222 736 250 764 - - - 6__A - 6__A - 0 - 1207 - 4 - TRUE - 32768 - 262 70 28 28 - 222 926 250 954 - - - 6__Y - 6__Y - 0 - 1204 - 4 - TRUE - 32768 - 202 70 28 28 - 222 866 250 894 - - - 6__B - 6__B - 0 - 1205 - 4 - TRUE - 32768 - 232 100 28 28 - 252 896 280 924 - - - 6Sel - 6Sel - 0 - 1211 - 4 - TRUE - 32768 - 119 70 28 28 - 222 783 250 811 - - - 6Srt - 6Srt - 0 - 1210 - 4 - TRUE - 32768 - 155 70 28 28 - 222 819 250 847 - - - 6__X - 6__X - 0 - 1206 - 4 - TRUE - 32768 - 232 40 28 28 - 192 896 220 924 - - - 6__L - 6__L - 0 - 1208 - 4 - TRUE - 32768 - 98 26 28 28 - 178 762 206 790 - - - 6__R - 6__R - 0 - 1209 - 4 - TRUE - 32768 - 176 26 28 28 - 178 840 206 868 - - - 152 664 292 966 - - - 1 - Player 7 - FALSE - 20 298 302 140 - - - 7_Lf - 7_Lf - 0 - 1302 - 4 - TRUE - 32768 - 12 70 28 28 - 368 32 396 60 - - - 7_Up - 7_Up - 0 - 1300 - 4 - TRUE - 32768 - 42 40 28 28 - 338 62 366 90 - - - 7_Dn - 7_Dn - 0 - 1301 - 4 - TRUE - 32768 - 42 100 28 28 - 398 62 426 90 - - - - 7__A - 7__A - 0 - 1307 - 4 - TRUE - 32768 - 262 70 28 28 - 368 282 396 310 - - - 7__Y - 7__Y - 0 - 1304 - 4 - TRUE - 32768 - 202 70 28 28 - 368 222 396 250 - - - 7__B - 7__B - 0 - 1305 - 4 - TRUE - 32768 - 232 100 28 28 - 398 252 426 280 - - - 7Sel - 7Sel - 0 - 1311 - 4 - TRUE - 32768 - 119 70 28 28 - 368 139 396 167 - - - 7Srt - 7Srt - 0 - 1310 - 4 - TRUE - 32768 - 155 70 28 28 - 368 175 396 203 - - - 7__X - 7__X - 0 - 1306 - 4 - TRUE - 32768 - 232 40 28 28 - 338 252 366 280 - - - 7__L - 7__L - 0 - 1308 - 4 - TRUE - 32768 - 98 26 28 28 - 324 118 352 146 - - - - 298 20 438 322 - - - 1 - Player 8 - FALSE - 342 298 302 140 - - - 8_Lf - 8_Lf - 0 - 1402 - 4 - TRUE - 32768 - 12 70 28 28 - 368 354 396 382 - - - 8_Up - 8_Up - 0 - 1400 - 4 - TRUE - 32768 - 42 40 28 28 - 338 384 366 412 - - - 8_Dn - 8_Dn - 0 - 1401 - 4 - TRUE - 32768 - 42 100 28 28 - 398 384 426 412 - - - 8_Rt - 8_Rt - 0 - 1403 - 4 - TRUE - 32768 - 72 70 28 28 - 368 414 396 442 - - - 8__A - 8__A - 0 - 1407 - 4 - TRUE - 32768 - 262 70 28 28 - 368 604 396 632 - - - 8__Y - 8__Y - 0 - 1404 - 4 - TRUE - 32768 - 202 70 28 28 - 368 544 396 572 - - - 8__B - 8__B - 0 - 1405 - 4 - TRUE - 32768 - 232 100 28 28 - 398 574 426 602 - - - - 8Srt - 8Srt - 0 - 1410 - 4 - TRUE - 32768 - 155 70 28 28 - 368 497 396 525 - - - 8__X - 8__X - 0 - 1406 - 4 - TRUE - 32768 - 232 40 28 28 - 338 574 366 602 - - - 8__L - 8__L - 0 - 1408 - 4 - TRUE - 32768 - 98 26 28 28 - 324 440 352 468 - - - - 298 342 438 644 - - - 0 0 491 986 - - 80 40 571 1026 - 0 0 768 1024 - - - - - 0 0 352 246 - - - Playing : - 20 22 61 16 - 22 20 38 81 - - - DONE - 2 - Done - 258 20 74 20 - 20 258 40 332 - - - Tr_i - Tr_i - 18 39 13 14 - 39 18 53 31 - - - Kart - ROMName - 83 22 167 16 - 22 83 38 250 - - - Pane - 36 70 250 130 - 70 36 200 286 - - - rCTL - 2 - 300 70 34 92 - - - Paus - Paus - 2 - 0 - 200 - -1 - 33024 - 2 3 30 20 - 73 302 93 332 - - - HEAD - FALSE - HEAD - 2 - 0 - 201 - -1 - 32768 - 2 29 30 20 - 99 302 119 332 - - - S_EF - S_EF - 2 - 0 - 202 - -1 - 32768 - 2 67 30 20 - 137 302 157 332 - - - 70 300 162 334 - - - bCTL - 2 - 21 208 280 25 - - - bar4 - 3 - bar4 - 0 - 4 - 256 - 62 6 12 12 - 214 83 226 95 - - - - bar9 - 3 - bar9 - 0 - 1 - 256 - 150 6 12 12 - 214 171 226 183 - - - bar3 - 3 - bar3 - 0 - 3 - 256 - 48 6 12 12 - 214 69 226 81 - - - barb - 3 - barb - 0 - 3 - 256 - 178 6 12 12 - 214 199 226 211 - - - bar8 - 3 - bar8 - 0 - 8 - 256 - 118 6 12 12 - 214 139 226 151 - - - bare - 3 - bare - 0 - 6 - 256 - 220 6 12 12 - 214 241 226 253 - - - bar7 - 3 - bar7 - 0 - 7 - 256 - 104 6 12 12 - 214 125 226 137 - - - barf - 3 - barf - 0 - 7 - 256 - 234 6 12 12 - 214 255 226 267 - - - bar6 - 3 - bar6 - 0 - 6 - 256 - 90 6 12 12 - 214 111 226 123 - - - bar2 - 3 - bar2 - 0 - 2 - 256 - 34 6 12 12 - 214 55 226 67 - - - bar0 - 3 - bar0 - 0 - 8 - 256 - 248 6 12 12 - 214 269 226 281 - - - bar5 - 3 - bar5 - 0 - 5 - 256 - 76 6 12 12 - 214 97 226 109 - - - bar1 - 3 - bar1 - 0 - 1 - 256 - 20 6 12 12 - 214 41 226 53 - - - bard - 3 - bard - 0 - 5 - 256 - 206 6 12 12 - 214 227 226 239 - - - bara - 3 - bara - 0 - 2 - 256 - 164 6 12 12 - 214 185 226 197 - - - PILT - 132 - 1835623278 - 2117687422 - 132 4 16 16 - 212 153 228 169 - - - 208 21 233 301 - - - 0 0 246 352 - - - PCTL - 101 - 1 - Read Only - 7 7 23 80 - - - - - - - snd_ - 206 - 5 - - Popup: - - - 20 ms - TRUE - - - 40 ms - TRUE - - - 60 ms - TRUE - - - 80 ms - TRUE - - - 100 ms - TRUE - - - 120 ms - TRUE - - - - 160 ms - TRUE - - - 180 ms - TRUE - - - 200 ms - TRUE - - - - 415 79 127 20 - 121 436 141 563 - - - 5 : - 20 116 19 16 - 116 20 132 39 - - - - 0 0 605 371 - - - tabs - 128 - 21 5 562 346 - - - tabs - 129 - 2 - 0 37 562 309 - - - grap - 2 - Toggles between scaling full screen graphics to the current screen resolution or changing the screen resolution to fit Snes9x's needs. - Switch Monitor Resolution - 18 42 192 18 - 84 39 102 231 - - - grap - 1 - Toggles full screen/windowed mode. Press esc key to hide full screen window and pause the game. - Full Screen Mode - 18 20 192 18 - 62 39 80 231 - - - grap - 3 - Toggles display of the frame rate on/off. - Show Frame Rate - 18 64 192 18 - 106 39 124 231 - - - grap - 5 - Toggles transparency effects on/off. Transparency effect is used in almost all games so this option is just for hack. - Transparency Effects - 18 86 192 18 - 128 39 146 231 - - - grap - 6 - Uses 16,777,216 colors. - Use 32 Bit Color - 326 183 193 18 - 225 347 243 540 - - - grap - 7 - G__7 - Stretches the image to fill the screen in full screen mode. - Stretch Image in Full Screen Mode - 18 205 241 18 - 247 39 265 280 - - - OpenGL Option : - 20 155 111 16 - 197 41 213 152 - - - grap - 9 - 3 - - Popup: - - - Blocky - TRUE - - - TV - TRUE - - - - Blend - TRUE - - - Super Eagle - TRUE - - - 2xSaI - TRUE - - - Super 2xSaI - TRUE - - - EPX - TRUE - - - hq2x - TRUE - - - hq3x - TRUE - - - hq4x - TRUE - - - NTSC Composite - TRUE - - - NTSC S-Video - TRUE - - - NTSC RGB - TRUE - - - NTSC Monochrome - TRUE - - - NTSC+TV Composite - TRUE - - - NTSC+TV S-Video - TRUE - - - NTSC+TV RGB - TRUE - - - NTSC+TV Monochrome - TRUE - - - - 327 19 215 20 - 61 348 81 563 - - - Choose the image scaling filter which is applied to the raw SNES image. - Video Mode : - -1 - 228 21 89 16 - 63 249 79 338 - - - grap - 11 - Synchronizes the render timing to the monitor's vertical refresh rate. - Sync to Vertical Blank - 18 183 241 18 - 225 39 243 280 - - - grap - 10 - When this option is on, the rendering process is separated from the emulation thread (except blocky and smooth modes). - Multitask - 326 64 193 18 - 106 347 124 540 - - - grap - 12 - Keeps the screen height always 239/478, for some games that change screen height frequently. - Keep Overscanned Height - 326 86 193 18 - 128 347 146 540 - - - grap - 13 - G_13 - Adds a warp effect like a CRT-based television. - Use Screen Curvature - 326 205 193 18 - 247 347 265 540 - - - grap - 14 - 2 - 10 - 397 226 144 22 - 268 418 290 562 - - - - 12 131 538 4 - 173 33 177 571 - - - grap - 15 - 2 - 10 - 10000 - 135 226 144 22 - 268 156 290 300 - - - grap - 16 - The aspect ratio of above option: the left is proportional and the right is full width of the monitor. - Aspect Ratio : - 38 228 88 16 - 270 59 286 147 - - - grap - 8 - G_FL - Choose the Core Image filter. - Filter... - 460 160 82 20 - 202 481 222 563 - - - grap - 4 - Applies additional Core Image effect after the image filter is applied. - Use Core Image - 326 161 120 18 - 203 347 221 467 - - - 42 21 351 583 - - - tabs - 130 - 2 - 0 37 562 309 - - - snd_ - 203 - S__3 - Enables stereo sound instead of mono. - Stereo - 18 80 152 18 - 122 39 140 191 - - - snd_ - 204 - Swaps the left and right stereo channels. - Reverse Stereo - 34 102 136 18 - 144 55 162 191 - - - snd_ - 202 - Enables 16-bit playback instead of 8-bit. - 16 Bit Playback - 18 58 152 18 - 100 39 118 191 - - - snd_ - 201 - Tries and ensures all available samples are buffered so there are no overruns. - Synchronize - 18 20 152 18 - 62 39 80 191 - - - snd_ - 210 - Safer from crackling noise, but time-lag becomes more noticeable. - Allow Lag - 414 109 85 18 - 151 435 169 520 - - - snd_ - 205 - 4 - - Popup: - - - 48000 Hz - TRUE - - - 44100 Hz - TRUE - - - 35000 Hz - TRUE - - - 32000 Hz - TRUE - - - 30000 Hz - TRUE - - - 22050 Hz - TRUE - - - 16000 Hz - TRUE - - - 11025 Hz - TRUE - - - 8000 Hz - TRUE - - - - 415 19 127 20 - 61 436 81 563 - - - - snd_ - 211 - 6 - - Popup: - - - 8 ms - TRUE - - - 16 ms - TRUE - - - 32 ms - TRUE - - - 64 ms - TRUE - - - TRUE - TRUE - - - System - TRUE - - - - 415 49 127 20 - 91 436 111 563 - - - The real SNES is 32000 Hz. Any values other than 32000 Hz will cause resampling. - Playback Rate : - -1 - 275 21 130 16 - 63 296 79 426 - - - Make sure this value is smaller than the mix buffer length. - Output Interval : - -1 - 275 51 130 16 - 93 296 109 426 - - - - snd_ - 207 - 2 - 80 - 322 140 219 22 - 182 343 204 562 - - - snd_ - 208 - TRUE - 10 - 2 - 32000 - 31000 - 33000 - 322 170 219 22 - 212 343 234 562 - - - Volume of the whole Snes9x sounds. - Volume : - -1 - 226 142 85 16 - 184 247 200 332 - - - 1 - Hz - -1 - 526 192 16 16 - 234 547 250 563 - - - Adjusts the sound rate through resampling. For every Input Rate samples generated by the SNES, Playback Rate samples will be produced. - Input Rate : - -1 - 226 172 85 16 - 214 247 230 332 - - - snd_ - 209 - 1 - 32000 - -1 - 465 192 59 16 - 234 486 250 545 - - - S_EF - S_EF - Opens 'Sound Effect' dialog. - Effect... - 20 140 100 20 - 182 41 202 141 - - - 42 21 351 583 - - - tabs - 131 - 2 - 0 37 562 309 - - - othe - 401 - 3 - - Popup: - - - Snes9x Folder - TRUE - - - ROM Folder - TRUE - - - Application Support Folder - TRUE - - - TRUE - TRUE - - - None Selected - TRUE - TRUE - - - TRUE - TRUE - - - Other... - TRUE - F_FL - - - - 201 19 222 20 - 61 222 81 444 - - - othe - 402 - TRUE - TRUE - 205 62 73 16 - 104 226 120 299 - - - Choose the folder where Snes9x will look for files. - Save Data in : - -1 - 79 21 112 16 - 63 100 79 212 - - - sec after Modified - -1 - 289 62 116 16 - 104 310 120 426 - - - Updates SRAM file when SRAM contents are modified. This may cause frequent disk access. - Auto Save SRAM : - -1 - 79 62 112 16 - 104 100 120 212 - - - 1 - (0 : Disable) - -1 - 414 64 69 16 - 106 435 122 504 - - - 42 21 351 583 - - - tabs - 132 - 2 - 0 37 562 309 - - - Changes HDMA timing and will 'fix' some games' glitches, but breaks many other games. The default value is 100. - HDMA Timing Hack : - 20 59 133 16 - 101 41 117 174 - - - msc2 - 601 - TRUE - TRUE - 164 59 74 16 - 101 185 117 259 - - - Note : These Hacks Need to Reopen ROM Image to Achieve Effects. - 20 21 456 16 - 63 41 79 497 - - - msc2 - 603 - Turb - 3 - 1 - 15 - 201 219 13 22 - 261 222 283 235 - - - The speed when turbo mode is on. Modify in-game with Fn+T, Fn+Y. - Speed in Turbo Mode : - 20 221 145 16 - 263 41 279 186 - - - msc2 - 604 - 10 - -1 - 173 221 20 16 - 263 194 279 214 - - - 12 158 538 1 - 200 33 201 571 - - - msc2 - 605 - - Popup - - - Auto - TRUE - - - TRUE - TRUE - - - 0 - TRUE - - - 1 - TRUE - - - 2 - TRUE - - - 3 - TRUE - - - 4 - TRUE - - - - 107 185 107 20 - 227 128 247 235 - - - Adjust this value if your Mac is slow. - Frame Skip : - 20 187 79 16 - 229 41 245 120 - - - msc2 - 606 - Allows to write to VRAM outside blank periods. - Allow Invalid VRAM Access - 18 89 223 18 - 131 39 149 262 - - - msc2 - 607 - Applies special hacks for games that can't be emulated correctly. - Apply Specific Game Hacks - 18 111 223 18 - 153 39 171 262 - - - 42 21 351 583 - - - tabs - 133 - 2 - 0 37 562 309 - - - osx_ - 801 - Choose whether open dialog should be shown when Snes9x is launched. - Open Choose ROM Image Dialog at Startup - 18 64 302 18 - 106 39 124 341 - - - osx_ - 802 - Shows time stamps on thumbnails in freeze/defrost screen. - Show Dates and Times in Freese State Selection Screen - 18 86 374 18 - 128 39 146 413 - - - Choose the behavior of Music Box: 'Sound Emulation Only' to only emulate the music system, and 'Whole Emulation' to also emulate the CPU. Music that depends on the CPU running will not sound right without 'Whole Emulation.' - Music Box : - 328 134 76 16 - 176 349 192 425 - - - osx_ - 803 - - - Sound Emulation Only - - - Whole Emulation - - - 326 158 177 39 - 200 347 239 524 - - - osx_ - 804 - Sets 'Turbo' button as a toggle switch. - Toggle Turbo Button - 18 20 207 18 - 62 39 80 246 - - - osx_ - 807 - When this option is on, Snes9x automatically loads the .ips or .ups file and patch the ROM image. - Use IPS / UPS Patch - 326 42 221 18 - 84 347 102 568 - - - osx_ - 808 - Shows messages from Snes9x on the game screen. When off, messages are put in the standard console. - Show Onscreen Information - 18 42 207 18 - 84 39 102 246 - - - osx_ - 809 - 3 - - - Keep on Emulation, Receive All Inputs - - - Keep on Emulation, Reject Any Inputs - - - Pause and Exit from Emulation Loop - - - 18 158 266 59 - 200 39 259 305 - - - - - osx_ - 805 - When this option is on, BS-X ROM is loaded first, then you launch BS games from the menu in BS-X. - Boot Up BS Games from BS-X - 326 64 221 18 - 106 347 124 568 - - - 42 21 351 583 - - - 5 21 351 583 - - - contentResID - 0 - tabEnabled - 1 - tabName - Graphics - userPane - - - - contentResID - 0 - tabEnabled - 1 - tabName - Sound - userPane - - - - contentResID - 0 - tabEnabled - 1 - tabName - File - userPane - - - - contentResID - 0 - tabEnabled - 1 - tabName - Accuracy - userPane - - - - contentResID - 0 - tabEnabled - 1 - tabName - Others - userPane - - - - - - 0 0 371 605 - - - - - - 1 - Value Size : - 11 22 68 16 - 22 253 38 321 - - - FALSE - FALSE - FALSE - FALSE - FALSE - TRUE - FALSE - 1 - 7 - Connect to Server - - 80 40 212 332 - 0 0 768 1024 - - - - - BRes - 1 - BRes - Restore List - 34 57 152 20 - 403 276 423 428 - - - - TRUE - TRUE - - - 0 0 593 251 - - - DFLT - DFLT - Defaults - 20 211 93 20 - 211 20 231 113 - - - 1 - Player 1 - 169 215 48 13 - 215 169 228 217 - - - 1 - Player 2 - 251 215 48 13 - 215 251 228 299 - - - Lgnd - 0.000000 - TRUE - 145 214 16 16 - 214 145 230 161 - - - Lgnd - 1 - 0.000000 - TRUE - 227 214 16 16 - 214 227 230 243 - - - 0 0 251 593 - - - - 1 - Map : - -1 - 20 83 128 13 - 83 20 96 148 - - - - RSto - 1 - RSto - Stored Value - 11 140 86 15 - 140 253 155 339 - - - - - Outp - 1 - output - -2 - 156 272 186 13 - 272 156 285 342 - - - - - Auto Detect - TRUE - - - - - Cle1 - Cle1 - Clear - 507 60 70 20 - 60 507 80 577 - - - - CCTL - 103 - 1 - - Popup: - - - Auto Detect - TRUE - - - - Force PAL - TRUE - - - Force NTSC - TRUE - - - - 31 94 48 204 - - - - - - - 1 - Checksum (header) : - -1 - 20 230 128 13 - 230 20 243 148 - - - CCTL - 107 - 1 - Video System : - -1 - 33 6 46 87 - - - - - Edit - 130 - - - Undo - z - TRUE - undo - - - Redo - Z - TRUE - redo - - - TRUE - TRUE - - - Cut - x - TRUE - cut - - - Copy - c - TRUE - copy - - - Paste - v - TRUE - past - - - Delete - TRUE - clea - - - Select All - a - TRUE - sall - - - - - - - Mode - 1 - Mode - 3 - 3 - - - Hexadecimal - - - Signed Decimal - - - Unsigned Decimal - - - 11 45 117 62 - 45 253 107 370 - - - - - - BAdd - 1 - BAdd - Add to Cheat Entry... - 34 7 152 20 - 353 276 373 428 - - - Multi Tap - TRUE - EIp5 - - - - - - - Configure Controllers... - TRUE - Cpad - - - Snes9x - - _NSAppleMenu - Snes9x - 128 - - - About Snes9x - TRUE - 0 - abou - - - - - - - - - Client... - TRUE - Ncli - - - - - - UI_T - - 1 - 2 - - 2 - 242 0 207 329 - - - Drwr - Drwr - 0 - 3 - Screen - 256 - 127 300 60 18 - 300 369 318 429 - - - BWat - BWat - 0 - 3 - Watch - 512 - 127 268 60 18 - 268 369 286 429 - - - BSea - 1 - BSea - 1 - Search - 109 204 77 20 - 204 351 224 428 - - - - Math - 1 - Math - - Popup: - - - - ≠ - TRUE - - - > - TRUE - - - ≥ - TRUE - - - < - TRUE - - - ≤ - TRUE - - - - 108 115 79 17 - 115 350 132 429 - - - 1 - Address : - 11 270 53 14 - 270 253 284 306 - - - CTxt - 1 - TRUE - TRUE - 111 177 73 13 - 177 353 190 426 - - - BSto - 1 - BSto - Store Current Values - 34 229 152 20 - 229 276 249 428 - - - WTxt - 1 - 000000 - 64 270 48 14 - 270 306 284 354 - - - 1 - Comparison : - 11 117 87 16 - 117 253 133 340 - - - - RThs - 1 - RThs - This Value : - 11 176 81 15 - 176 253 191 334 - - - RLst - 1 - RLst - Last Value - 11 158 73 15 - 158 253 173 326 - - - - Size - 1 - Size - - Popup: - - - 1 Byte - TRUE - - - 2 Bytes - TRUE - - - 3 Bytes - TRUE - - - 4 Bytes - TRUE - - - - 108 20 79 17 - 20 350 37 429 - - - 0 242 329 449 - - - - - Pict - - 1 - 1 - 2 - 2 - - 0 0 512 478 - 0 0 478 512 - - - - - - - - - 0 0 328 168 - - - 1 - Address : - -1 - 16 20 83 13 - 20 16 33 99 - - - AEad - 1 - address - 107 20 96 13 - 20 107 33 203 - - - - 1 - Current Value : - -1 - 16 47 83 13 - 47 16 60 99 - - - - - - SHTc - 1 - SHTc - 2 - Cancel - 157 130 70 20 - 130 157 150 227 - - - 1 - Description : - -1 - 16 101 83 13 - 101 16 114 99 - - - AEde - 1 - TRUE - TRUE - 110 101 195 13 - 101 110 114 305 - - - 0 0 168 328 - - - - ComH - 1 - complement written in header - -2 - 156 251 186 13 - 251 156 264 342 - - - Freeze State - f - TRUE - Ofrz - - - - - PLNM - 3 - 56 92 122 16 - 92 56 108 178 - - - - QCTL - 101 - 1 - Double Size - 9 7 25 90 - - - - - - - - - - - FALSE - FALSE - TRUE - FALSE - TRUE - FALSE - 20 - 51 - 7 - CFDrawer - - 0 0 276 260 - 0 0 260 276 - - 80 40 340 316 - 0 0 768 1024 - - - - - - - Arrange in Front - TRUE - TRUE - 1572864 - frnt - - - - - - FALSE - FALSE - FALSE - FALSE - FALSE - FALSE - FALSE - FALSE - FALSE - TRUE - 1 - 7 - RecordSMVControl - - - - - 0 0 55 433 - - 80 40 135 473 - 0 0 768 1024 - - - - - - 5P : - 20 116 28 16 - 116 20 132 48 - - - - TRUE - TRUE - - - FALSE - FALSE - TRUE - TRUE - TRUE - FALSE - -1 - 1 - Game Window - - 0 0 512 478 - - - - 0 0 478 512 - - 80 40 558 552 - 0 0 768 1024 - - - - 1 - Type : - -1 - 20 125 128 13 - 125 20 138 148 - - - - - - - Chse - 18 158 16 16 - 158 18 174 34 - - - - Super Scope - TRUE - EIp4 - - - - - - - Pnum - 2 - 52 68 26 16 - 68 52 84 78 - - - Record Movie... - TRUE - MVrc - - - - - - - QCTL - 102 - 1 - Overscan - 9 99 25 168 - - - - Config - - Config - 134 - - - Configure Keyboard... - TRUE - Ckey - - - - TRUE - TRUE - - - Automatic Fire... - TRUE - Caut - - - TRUE - TRUE - - - Controllers Preset - TRUE - - Controllers Preset - 201 - - - #1 - TRUE - CPr1 - - - #2 - TRUE - CPr2 - - - - #4 - TRUE - CPr4 - - - #5 - TRUE - CPr5 - - - - - - - - - Emulation - - Emulation - 131 - - - Run - r - TRUE - Erun - - - TRUE - TRUE - - - Software Reset - TRUE - Esrs - - - Hardware Reset - TRUE - Erst - - - TRUE - TRUE - - - Input Device - TRUE - - Input Device - 202 - - - Pad - TRUE - EIp1 - - - Mouse (Port 1) - TRUE - EIp2 - - - Mouse (Port 2) - TRUE - EIp3 - - - - - - - Justifiers (Two Players) - TRUE - EIp8 - - - - - - - - - Name - 3 - 219 92 118 16 - 92 219 108 337 - - - - - Lice - 1 - licensee - -2 - 156 314 186 13 - 314 156 327 342 - - - - Stat - 2 - 345 68 72 16 - 68 345 84 417 - - - - - 1 - Licensee : - -1 - 20 314 128 13 - 314 20 327 148 - - - Freeze State to... - F - TRUE - 1179648 - Ofrd - - - - - - - - FALSE - FALSE - FALSE - FALSE - TRUE - FALSE - 1 - 7 - Core Image Filter Setting - - 0 0 373 81 - - - Filter : - 20 22 44 16 - 22 20 38 64 - - - 12 60 349 1 - 60 12 61 361 - - - 0 0 81 373 - - 80 40 161 413 - 0 0 768 1024 - - - - 1 - Revision : - -1 - 20 293 128 13 - 293 20 306 148 - - - - CRC - 1 - crc32 - -2 - 156 356 186 13 - 356 156 369 342 - - - 0 0 437 192 - - - IP__ - 86 20 118 16 - 20 86 36 204 - - - 1 : - 20 20 19 16 - 20 20 36 39 - - - 2 : - 20 44 19 16 - 44 20 60 39 - - - 3 : - 20 68 19 16 - 68 20 84 39 - - - 4 : - 20 92 19 16 - 92 20 108 39 - - - - IP__ - 1 - 86 44 118 16 - 44 86 60 204 - - - IP__ - 2 - 86 68 118 16 - 68 86 84 204 - - - IP__ - 3 - 86 92 118 16 - 92 86 108 204 - - - IP__ - 4 - 86 116 118 16 - 116 86 132 204 - - - Stat - 345 20 72 16 - 20 345 36 417 - - - Stat - 1 - 345 44 72 16 - 44 345 60 417 - - - - Stat - 3 - 345 92 72 16 - 92 345 108 417 - - - Stat - 4 - 345 116 72 16 - 116 345 132 417 - - - Name - 219 20 118 16 - 20 219 36 337 - - - Name - 1 - 219 44 118 16 - 44 219 60 337 - - - Name - 2 - 219 68 118 16 - 68 219 84 337 - - - - Name - 4 - 219 116 118 16 - 116 219 132 337 - - - OKAY - OKAY - 1 - Play - 347 152 70 20 - 152 347 172 417 - - - CNSL - CNSL - 2 - Cancel - 265 152 70 20 - 152 265 172 335 - - - Pnum - 52 20 26 16 - 20 52 36 78 - - - Pnum - 1 - 52 44 26 16 - 44 52 60 78 - - - - Pnum - 3 - 52 92 26 16 - 92 52 108 78 - - - Pnum - 4 - 52 116 26 16 - 116 52 132 78 - - - - 0 0 192 437 - - - Core Image Filter... - TRUE - Ocif - - - - Epop - - Popup: - - - Apple's Matrix Reverb - TRUE - Revb - - - Apple's Graphic Equalizer - TRUE - GrEQ - - - - 20 234 40 447 - - - LINE - 60 12 61 455 - - - - - - - - - 3 - TRUE - - - - SizC - 1 - calculated rom size - -2 - 156 146 186 13 - 146 156 159 342 - - - - - 0 0 308 242 - - - 3 - COPY - © Copyright 1996-2011 Snes9x developers Snes9x is a Super Nintendo Entertainment System emulator that allows you to play most games designed for the SNES on your PC. Please visit http://www.snes9x.com/ for up-to-the-minute information and help on Snes9x. Nintendo is a trade mark. - 1 - 20 134 268 88 - 134 20 222 288 - - - 132 - 1095782476 - 2117687422 - 122 12 64 64 - 12 122 76 186 - - - VERS - 1 - versionstr - 1 - 51 110 206 16 - 110 51 126 257 - - - NAME - Snes9x - 1 - 62 85 184 18 - 85 62 103 246 - - - 0 0 242 308 - - - - TRUE - TRUE - - - - - Window - - _NSWindowsMenu - Window - - - Minimize - m - TRUE - TRUE - mini - - - Minimize All - m - TRUE - TRUE - 1572864 - mina - - - Zoom - TRUE - zoom - - - - Bring All to Front - TRUE - TRUE - bfrt - - - - - - - - UI_B - - 2 - 2 - - 2 - 242 346 207 95 - - - - BRem - 1 - BRem - Remove from List - 34 32 152 20 - 378 276 398 428 - - - - 346 242 441 449 - - - - - - - - - - - - Clip - 1 - Clip - Copy to Clipboard - 204 384 137 20 - 384 204 404 341 - - - - - - 2P : - 20 44 28 16 - 44 20 60 48 - - - - - - CCTL - 105 - 1 - Memory Type : - -1 - 8 6 21 87 - - - - - - - MPan - 4098 - 85 19 309 22 - - - MNAM - Cart A name - 8 3 290 16 - 22 93 38 383 - - - 19 85 41 394 - - - - TRUE - TRUE - - - Defrost State from... - D - TRUE - 1179648 - Odfd - - - - - - - - - : - 70 62 7 16 - 62 70 78 77 - - - QCTL - 104 - 1 - - Popup: - - - 0 - TRUE - - - 1 - TRUE - - - 2 - TRUE - - - - - 5 - TRUE - - - - 8 258 25 302 - - - - - - Cle0 - Cle0 - Clear - 507 20 70 20 - 20 507 40 577 - - - - - - - - - 1 - SRAM Size : - -1 - 20 188 128 13 - 188 20 201 148 - - - - - - - - - - - - - - - - - PCTL - 102 - 1 - Export to QuickTime Movie at a Time - 7 102 23 319 - - - - - - - - - - - - SWAP - SWAP - Swap - 20 110 70 20 - 110 20 130 90 - - - - - - - - - - - - - - - - - - - - - _NSMainMenu - S9xMenu - - - - File - - File - 129 - - - Open ROM Image... - o - TRUE - open - - - Open Multiple ROM Images... - O - TRUE - 1179648 - Mult - - - Open Recent - TRUE - Frec - - - TRUE - TRUE - - - Close - w - TRUE - clos - - - - ROM Information - i - TRUE - Finf - - - - - - Edit - - - - - - Netplay - - Netplay - 135 - - - Server... - TRUE - Nser - - - - - - - - Option - - Option - 133 - - - - - - - - TRUE - TRUE - - - - Play Movie... - TRUE - MVpl - - - TRUE - TRUE - - - Export to QuickTime Movie... - TRUE - QTmv - - - TRUE - TRUE - - - Save SPC File at Next Note-on - TRUE - Ospc - - - Save SRAM File Now - TRUE - Osrm - - - - - - Music Box - TRUE - Ombx - - - - - - - - - - - - FALSE - FALSE - FALSE - FALSE - TRUE - FALSE - 1 - 7 - ROM Information - - 0 0 362 422 - - - - - 1 - Contents : - -1 - 20 62 128 13 - 62 20 75 148 - - - - 1 - Size (calculated) : - -1 - 20 146 128 13 - 146 20 159 148 - - - 1 - Speed : - -1 - 20 104 128 13 - 104 20 117 148 - - - 1 - Game Code : - -1 - 20 41 128 13 - 41 20 54 148 - - - - 1 - Checksum (calculated) : - -1 - 20 209 128 13 - 209 20 222 148 - - - - 1 - Complement (header) : - -1 - 20 251 128 13 - 251 20 264 148 - - - 1 - Video Output : - -1 - 20 272 128 13 - 272 20 285 148 - - - - 1 - Region : - -1 - 20 335 128 13 - 335 20 348 148 - - - - Name - 1 - name - -2 - 156 20 186 13 - 20 156 33 342 - - - Code - 1 - code - -2 - 156 41 186 13 - 41 156 54 342 - - - - Regi - 1 - region - -2 - 156 335 186 13 - 335 156 348 342 - - - - Vers - 1 - revision - -2 - 156 293 186 13 - 293 156 306 342 - - - Cont - 1 - contents - -2 - 156 62 186 13 - 62 156 75 342 - - - Map - 1 - map - -2 - 156 83 186 13 - 83 156 96 342 - - - Spee - 1 - speed - -2 - 156 104 186 13 - 104 156 117 342 - - - SizH - 1 - rom size written in header - -2 - 156 167 186 13 - 167 156 180 342 - - - - SRAM - 1 - sram size - -2 - 156 188 186 13 - 188 156 201 342 - - - SumH - 1 - checksum written in header - -2 - 156 230 186 13 - 230 156 243 342 - - - - SumC - 1 - calculated checksum - -2 - 156 209 186 13 - 209 156 222 342 - - - - Type - 1 - type - -2 - 156 125 186 13 - 125 156 138 342 - - - 1 - CRC32 : - -1 - 20 356 128 13 - 356 20 369 148 - - - - - 0 0 422 362 - - 80 40 502 402 - 0 0 768 1024 - - - - - - - - - - - - - - - - FALSE - TRUE - TRUE - FALSE - 1 - 7 - Cheat Finder - - 0 0 449 441 - - - Pane - - 1 - 1 - 2 - 2 - - 2 - 20 20 213 401 - 20 20 421 233 - - - - - 0 0 441 449 - - 80 40 521 489 - 0 0 768 1024 - - - - Popup: - - - Auto Detect - TRUE - - - TRUE - TRUE - - - Force no Header - TRUE - - - Force Header - TRUE - - - - - - - - - - - - FALSE - FALSE - FALSE - FALSE - FALSE - FALSE - TRUE - FALSE - TRUE - FALSE - 11 - 53 - 7 - Add to Entry - - 80 40 248 368 - 0 0 768 1024 - - - CCTL - 104 - 1 - - 31 315 48 425 - - - - - FALSE - FALSE - FALSE - FALSE - FALSE - TRUE - FALSE - 1 - 7 - Open Multiple ROM Images - - 0 0 597 150 - - - - Slot B - 20 62 42 16 - 62 20 78 62 - - - : - 70 22 7 16 - 22 70 38 77 - - - - Cho0 - Cho0 - Choose... - 407 20 88 20 - 20 407 40 495 - - - Cho1 - Cho1 - Choose... - 407 60 88 20 - 60 407 80 495 - - - - - ok - 1 - OK - 507 110 70 20 - 110 507 130 577 - - - not! - 2 - Cancel - 425 110 70 20 - 110 425 130 495 - - - - MPan - 1 - 4098 - 85 59 309 22 - - - MNAM - 1 - Cart B name - 8 3 290 16 - 62 93 78 383 - - - 59 85 81 394 - - - - 0 0 150 597 - - 80 40 230 637 - 0 0 768 1024 - - - - - - - - - - - - - - - - FALSE - FALSE - FALSE - FALSE - TRUE - FALSE - 1 - 7 - Keyboard Layout - - 80 40 331 633 - 0 0 768 1024 - - - - - - - - Popup: - - - - TRUE - TRUE - - - Force LoROM - TRUE - - - Force HiROM - TRUE - - - - - - - - - - - - - - - - - - - - - - - - - - - - CCTL - 108 - 1 - Header : - -1 - 33 214 46 308 - - - PLNM - 4 - 56 116 122 16 - 116 56 132 178 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - PLNM - 1 - 56 44 122 16 - 44 56 60 178 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - SfUI - 2 - - - - - Choose the Effect to Configure : - 22 20 38 224 - - - - 0 0 99 467 - - - - - - - - - - FALSE - FALSE - FALSE - FALSE - FALSE - FALSE - FALSE - FALSE - FALSE - TRUE - 1 - 7 - PlaySMVControl - - - - PANE - 1000 - 2 - - - - - 0 0 32 327 - - - 0 0 30 327 - - 80 40 110 367 - 0 0 768 1024 - - - - - - - - - - - - - - - - - - - - - - - 3P : - 20 68 28 16 - 68 20 84 48 - - - - - - - - - - - - - - - - - - - CCTL - 101 - 1 - - 6 94 23 204 - - - - - PLNM - 56 20 122 16 - 20 56 36 178 - - - - FALSE - FALSE - FALSE - FALSE - TRUE - FALSE - 1 - 7 - Extra Options - - 80 40 296 297 - 0 0 768 1024 - - - - - FALSE - FALSE - FALSE - FALSE - FALSE - TRUE - FALSE - 1 - 7 - Music Box - - 80 40 326 392 - 0 0 768 1024 - - - - - - - - - - FALSE - FALSE - FALSE - FALSE - TRUE - FALSE - 1 - 7 - Preferences - - 80 39 451 644 - 0 0 768 1024 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FALSE - FALSE - FALSE - FALSE - FALSE - FALSE - FALSE - FALSE - FALSE - TRUE - 1 - 7 - SoundEffectUI - - - - - 0 0 99 467 - - 80 40 179 507 - 0 0 768 1024 - - - - - - - - - - - - - - - - - - - - - FALSE - TRUE - TRUE - FALSE - 1 - 7 - Cheat Entry - - 80 40 352 595 - 0 0 768 1024 - 555 - 272 - - - - - - - - - - - - - QCTL - 105 - 1 - Frame Skip : - -1 - 10 184 23 253 - - - - - - - - FALSE - FALSE - FALSE - FALSE - FALSE - TRUE - FALSE - 1 - 7 - - - 80 40 322 348 - 0 0 768 1024 - - - - - - - - - - - - - - - - - - - PANE - 1000 - 2 - - - - - - - - 0 0 35 433 - - - 0 0 33 433 - - - - - - - - FALSE - FALSE - FALSE - FALSE - FALSE - FALSE - FALSE - FALSE - FALSE - TRUE - 1 - 7 - QTMovControl - - 80 40 113 473 - 0 0 768 1024 - - - - - - - - - - - - - - - - - - - PANE - 1000 - 2 - - - - CCTL - 106 - 1 - Interleave Mode : - -1 - 8 214 21 308 - - - - - - - - - 0 0 56 433 - - - 0 0 54 433 - - - - - - - - - - - - - - - - - - - - - - - - FALSE - FALSE - FALSE - FALSE - FALSE - FALSE - FALSE - FALSE - FALSE - TRUE - 1 - 7 - OpenROMControl - - 80 40 134 473 - 0 0 768 1024 - - - ok - 1 - OK - 108 152 70 20 - 152 108 172 178 - - - - - - - - - - FALSE - FALSE - FALSE - FALSE - FALSE - TRUE - FALSE - 1 - 7 - Clients List - - 80 40 272 477 - 0 0 768 1024 - - - PLNM - 2 - 56 68 122 16 - 68 56 84 178 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 4P : - 20 92 28 16 - 92 20 108 48 - - - - - - - - - - - - - - - 0 0 198 192 - - - - - - - - - - - - - - 0 0 192 198 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FALSE - FALSE - FALSE - FALSE - FALSE - FALSE - TRUE - FALSE - TRUE - FALSE - 11 - 53 - 7 - Players List - - 80 40 272 238 - 0 0 768 1024 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - About - - AutoFire - - CFAddEntry - - CFDrawer - - CIFilter - - CheatEntry - - CheatFinder - - ClientList - - Connect - - Controllers - - ExtraOptions - - File's Owner - - GameWindow - - Keyboard - - MenuBar - - MultiCart - - MusicBox - - OpenROM - - PlaySMV - - PlayerList - - Preferences - - QTMovie - - RecordSMV - - RomInfo - - SoundEffect - - - IBCarbonFramework - 2296 - diff --git a/macosx/English.lproj/Snes9x.xib b/macosx/English.lproj/Snes9x.xib index 7e58c378..ddadc9d3 100644 --- a/macosx/English.lproj/Snes9x.xib +++ b/macosx/English.lproj/Snes9x.xib @@ -1,16 +1,33 @@ - + - 1060 - 10J567 + 1040 + 10J869 851 1038.35 - 462.00 - - - - - + 461.00 + + YES + + YES + + + YES + + + + YES + + + + YES + + + YES + + + + YES @@ -51,23 +68,28 @@ 256 - + + YES 256 - + + YES 256 - + + YES 256 - + + YES 256 - + + YES 256 @@ -83,7 +105,9 @@ - + + YES + @@ -111,7 +135,9 @@ - + + YES + @@ -145,7 +171,9 @@ - + + YES + @@ -173,7 +201,9 @@ - + + YES + @@ -207,7 +237,9 @@ - + + YES + @@ -235,7 +267,9 @@ - + + YES + @@ -269,7 +303,9 @@ - + + YES + @@ -297,7 +333,9 @@ - + + YES + @@ -331,7 +369,9 @@ - + + YES + @@ -359,7 +399,9 @@ - + + YES + @@ -393,7 +435,9 @@ - + + YES + @@ -421,7 +465,9 @@ - + + YES + @@ -455,7 +501,9 @@ - + + YES + @@ -483,7 +531,9 @@ - + + YES + @@ -517,7 +567,9 @@ - + + YES + @@ -545,7 +597,9 @@ - + + YES + @@ -579,7 +633,9 @@ - + + YES + @@ -607,7 +663,9 @@ - + + YES + @@ -641,7 +699,9 @@ - + + YES + @@ -669,7 +729,9 @@ - + + YES + @@ -703,7 +765,9 @@ - + + YES + @@ -731,7 +795,9 @@ - + + YES + @@ -765,7 +831,9 @@ - + + YES + @@ -793,7 +861,9 @@ - + + YES + @@ -812,11 +882,11 @@ - + {{0, 14}, {310, 134}} - + {{20, 6}, {310, 148}} @@ -829,7 +899,9 @@ Set whether automatic fire is enabled for each controller button. - + + YES + @@ -857,7 +929,9 @@ - + + YES + Enable Automatic Fire @@ -872,11 +946,13 @@ 256 - + + YES 256 - + + YES 256 @@ -892,7 +968,9 @@ - + + YES + @@ -920,7 +998,9 @@ - + + YES + @@ -954,7 +1034,9 @@ - + + YES + @@ -982,7 +1064,9 @@ - + + YES + @@ -1016,7 +1100,9 @@ - + + YES + @@ -1044,7 +1130,9 @@ - + + YES + @@ -1078,7 +1166,9 @@ - + + YES + @@ -1106,7 +1196,9 @@ - + + YES + @@ -1140,7 +1232,9 @@ - + + YES + @@ -1168,7 +1262,9 @@ - + + YES + @@ -1202,7 +1298,9 @@ - + + YES + @@ -1230,7 +1328,9 @@ - + + YES + @@ -1264,7 +1364,9 @@ - + + YES + @@ -1292,7 +1394,9 @@ - + + YES + @@ -1326,7 +1430,9 @@ - + + YES + @@ -1354,7 +1460,9 @@ - + + YES + @@ -1388,7 +1496,9 @@ - + + YES + @@ -1416,7 +1526,9 @@ - + + YES + @@ -1450,7 +1562,9 @@ - + + YES + @@ -1478,7 +1592,9 @@ - + + YES + @@ -1512,7 +1628,9 @@ - + + YES + @@ -1540,7 +1658,9 @@ - + + YES + @@ -1574,7 +1694,9 @@ - + + YES + @@ -1602,7 +1724,9 @@ - + + YES + @@ -1621,11 +1745,11 @@ - + {{0, 14}, {310, 134}} - + {{350, 6}, {310, 148}} @@ -1638,7 +1762,9 @@ Set whether pressing 'Alt' in conjunction with a controller button in-game toggles its automatic fire on/off. - + + YES + @@ -1666,7 +1792,9 @@ - + + YES + Allow 'Alt' to Toggle Enable/Disable Automatic Fire @@ -1681,11 +1809,13 @@ 256 - + + YES 256 - + + YES 256 @@ -1701,7 +1831,9 @@ - + + YES + @@ -1729,7 +1861,9 @@ - + + YES + @@ -1763,7 +1897,9 @@ - + + YES + @@ -1791,7 +1927,9 @@ - + + YES + @@ -1825,7 +1963,9 @@ - + + YES + @@ -1853,7 +1993,9 @@ - + + YES + @@ -1887,7 +2029,9 @@ - + + YES + @@ -1915,7 +2059,9 @@ - + + YES + @@ -1949,7 +2095,9 @@ - + + YES + @@ -1977,7 +2125,9 @@ - + + YES + @@ -2011,7 +2161,9 @@ - + + YES + @@ -2039,7 +2191,9 @@ - + + YES + @@ -2073,7 +2227,9 @@ - + + YES + @@ -2101,7 +2257,9 @@ - + + YES + @@ -2135,7 +2293,9 @@ - + + YES + @@ -2163,7 +2323,9 @@ - + + YES + @@ -2197,7 +2359,9 @@ - + + YES + @@ -2225,7 +2389,9 @@ - + + YES + @@ -2259,7 +2425,9 @@ - + + YES + @@ -2287,7 +2455,9 @@ - + + YES + @@ -2321,7 +2491,9 @@ - + + YES + @@ -2349,7 +2521,9 @@ - + + YES + @@ -2383,7 +2557,9 @@ - + + YES + @@ -2411,7 +2587,9 @@ - + + YES + @@ -2430,11 +2608,11 @@ - + {{0, 14}, {310, 134}} - + {{20, 164}, {310, 148}} @@ -2447,7 +2625,9 @@ Set whether, when automatic fire is enabled, 'TC' must also be held down to activate automatic fire. - + + YES + @@ -2475,7 +2655,9 @@ - + + YES + Automatic Fire is Active Only While 'TC' is Pressed @@ -2490,11 +2672,13 @@ 256 - + + YES 256 - + + YES 256 @@ -2510,7 +2694,9 @@ - + + YES + @@ -2538,7 +2724,9 @@ - + + YES + @@ -2572,7 +2760,9 @@ - + + YES + @@ -2600,7 +2790,9 @@ - + + YES + @@ -2634,7 +2826,9 @@ - + + YES + @@ -2662,7 +2856,9 @@ - + + YES + @@ -2696,7 +2892,9 @@ - + + YES + @@ -2724,7 +2922,9 @@ - + + YES + @@ -2758,7 +2958,9 @@ - + + YES + @@ -2786,7 +2988,9 @@ - + + YES + @@ -2820,7 +3024,9 @@ - + + YES + @@ -2848,7 +3054,9 @@ - + + YES + @@ -2882,7 +3090,9 @@ - + + YES + @@ -2910,7 +3120,9 @@ - + + YES + @@ -2944,7 +3156,9 @@ - + + YES + @@ -2972,7 +3186,9 @@ - + + YES + @@ -3006,7 +3222,9 @@ - + + YES + @@ -3034,7 +3252,9 @@ - + + YES + @@ -3068,7 +3288,9 @@ - + + YES + @@ -3096,7 +3318,9 @@ - + + YES + @@ -3130,7 +3354,9 @@ - + + YES + @@ -3158,7 +3384,9 @@ - + + YES + @@ -3192,7 +3420,9 @@ - + + YES + @@ -3220,7 +3450,9 @@ - + + YES + @@ -3239,11 +3471,11 @@ - + {{0, 14}, {310, 134}} - + {{350, 164}, {310, 148}} @@ -3256,7 +3488,9 @@ Set whether a button's input is inverted - that is, Snes9x acts as though the button is pressed if and only if it is not pressed. - + + YES + @@ -3284,7 +3518,9 @@ - + + YES + Button Input is Inverted @@ -3299,11 +3535,13 @@ 256 - + + YES 256 - + + YES 256 @@ -3319,7 +3557,9 @@ - + + YES + @@ -3347,7 +3587,9 @@ - + + YES + @@ -3371,7 +3613,9 @@ - + + YES + @@ -3399,7 +3643,9 @@ - + + YES + 10 @@ -3422,7 +3668,9 @@ - + + YES + @@ -3450,7 +3698,9 @@ - + + YES + / sec @@ -3458,11 +3708,11 @@ - + {{0, 14}, {310, 56}} - + {{20, 322}, {310, 70}} @@ -3475,7 +3725,9 @@ Set the number of presses per second that an automatic fire button receives. - + + YES + @@ -3503,7 +3755,9 @@ - + + YES + Automatic Fire Speed @@ -3530,7 +3784,9 @@ Restores the default settings. - + + YES + @@ -3558,7 +3814,9 @@ - + + YES + @@ -3566,7 +3824,7 @@ Defaults - + {{8, 36}, {680, 412}} @@ -3579,7 +3837,9 @@ - + + YES + @@ -3607,11 +3867,13 @@ - + + YES + - + {{13, 6}, {697, 456}} @@ -3623,7 +3885,9 @@ - + + YES + @@ -3651,12 +3915,15 @@ - + + YES + - + + YES 0 YES @@ -3672,15 +3939,18 @@ 256 - + + YES 256 - + + YES 256 - + + YES 256 @@ -3696,7 +3966,9 @@ - + + YES + @@ -3724,7 +3996,9 @@ - + + YES + @@ -3758,7 +4032,9 @@ - + + YES + @@ -3786,7 +4062,9 @@ - + + YES + @@ -3820,7 +4098,9 @@ - + + YES + @@ -3848,7 +4128,9 @@ - + + YES + @@ -3882,7 +4164,9 @@ - + + YES + @@ -3910,7 +4194,9 @@ - + + YES + @@ -3944,7 +4230,9 @@ - + + YES + @@ -3972,7 +4260,9 @@ - + + YES + @@ -4006,7 +4296,9 @@ - + + YES + @@ -4034,7 +4326,9 @@ - + + YES + @@ -4068,7 +4362,9 @@ - + + YES + @@ -4096,7 +4392,9 @@ - + + YES + @@ -4130,7 +4428,9 @@ - + + YES + @@ -4158,7 +4458,9 @@ - + + YES + @@ -4192,7 +4494,9 @@ - + + YES + @@ -4220,7 +4524,9 @@ - + + YES + @@ -4254,7 +4560,9 @@ - + + YES + @@ -4282,7 +4590,9 @@ - + + YES + @@ -4316,7 +4626,9 @@ - + + YES + @@ -4344,7 +4656,9 @@ - + + YES + @@ -4378,7 +4692,9 @@ - + + YES + @@ -4406,7 +4722,9 @@ - + + YES + @@ -4425,11 +4743,11 @@ - + {{0, 14}, {310, 134}} - + {{350, 6}, {310, 148}} @@ -4442,7 +4760,9 @@ Set whether pressing 'Alt' in conjunction with a controller button in-game toggles its automatic fire on/off. - + + YES + @@ -4470,7 +4790,9 @@ - + + YES + Allow 'Alt' to Toggle Enable/Disable Automatic Fire @@ -4485,11 +4807,13 @@ 256 - + + YES 256 - + + YES 256 @@ -4505,7 +4829,9 @@ - + + YES + @@ -4533,7 +4859,9 @@ - + + YES + @@ -4567,7 +4895,9 @@ - + + YES + @@ -4595,7 +4925,9 @@ - + + YES + @@ -4629,7 +4961,9 @@ - + + YES + @@ -4657,7 +4991,9 @@ - + + YES + @@ -4691,7 +5027,9 @@ - + + YES + @@ -4719,7 +5057,9 @@ - + + YES + @@ -4753,7 +5093,9 @@ - + + YES + @@ -4781,7 +5123,9 @@ - + + YES + @@ -4815,7 +5159,9 @@ - + + YES + @@ -4843,7 +5189,9 @@ - + + YES + @@ -4877,7 +5225,9 @@ - + + YES + @@ -4905,7 +5255,9 @@ - + + YES + @@ -4939,7 +5291,9 @@ - + + YES + @@ -4967,7 +5321,9 @@ - + + YES + @@ -5001,7 +5357,9 @@ - + + YES + @@ -5029,7 +5387,9 @@ - + + YES + @@ -5063,7 +5423,9 @@ - + + YES + @@ -5091,7 +5453,9 @@ - + + YES + @@ -5125,7 +5489,9 @@ - + + YES + @@ -5153,7 +5519,9 @@ - + + YES + @@ -5187,7 +5555,9 @@ - + + YES + @@ -5215,7 +5585,9 @@ - + + YES + @@ -5234,11 +5606,11 @@ - + {{0, 14}, {310, 134}} - + {{20, 6}, {310, 148}} @@ -5251,7 +5623,9 @@ Set whether automatic fire is enabled for each controller button. - + + YES + @@ -5279,7 +5653,9 @@ - + + YES + Enable Automatic Fire @@ -5294,11 +5670,13 @@ 256 - + + YES 256 - + + YES 256 @@ -5314,7 +5692,9 @@ - + + YES + @@ -5342,7 +5722,9 @@ - + + YES + @@ -5376,7 +5758,9 @@ - + + YES + @@ -5404,7 +5788,9 @@ - + + YES + @@ -5438,7 +5824,9 @@ - + + YES + @@ -5466,7 +5854,9 @@ - + + YES + @@ -5500,7 +5890,9 @@ - + + YES + @@ -5528,7 +5920,9 @@ - + + YES + @@ -5562,7 +5956,9 @@ - + + YES + @@ -5590,7 +5986,9 @@ - + + YES + @@ -5624,7 +6022,9 @@ - + + YES + @@ -5652,7 +6052,9 @@ - + + YES + @@ -5686,7 +6088,9 @@ - + + YES + @@ -5714,7 +6118,9 @@ - + + YES + @@ -5748,7 +6154,9 @@ - + + YES + @@ -5776,7 +6184,9 @@ - + + YES + @@ -5810,7 +6220,9 @@ - + + YES + @@ -5838,7 +6250,9 @@ - + + YES + @@ -5872,7 +6286,9 @@ - + + YES + @@ -5900,7 +6316,9 @@ - + + YES + @@ -5934,7 +6352,9 @@ - + + YES + @@ -5962,7 +6382,9 @@ - + + YES + @@ -5996,7 +6418,9 @@ - + + YES + @@ -6024,7 +6448,9 @@ - + + YES + @@ -6043,11 +6469,11 @@ - + {{0, 14}, {310, 134}} - + {{20, 164}, {310, 148}} @@ -6060,7 +6486,9 @@ Set whether, when automatic fire is enabled, 'TC' must also be held down to activate automatic fire. - + + YES + @@ -6088,7 +6516,9 @@ - + + YES + Automatic Fire is Active Only While 'TC' is Pressed @@ -6103,11 +6533,13 @@ 256 - + + YES 256 - + + YES 256 @@ -6123,7 +6555,9 @@ - + + YES + @@ -6151,7 +6585,9 @@ - + + YES + @@ -6185,7 +6621,9 @@ - + + YES + @@ -6213,7 +6651,9 @@ - + + YES + @@ -6247,7 +6687,9 @@ - + + YES + @@ -6275,7 +6717,9 @@ - + + YES + @@ -6309,7 +6753,9 @@ - + + YES + @@ -6337,7 +6783,9 @@ - + + YES + @@ -6371,7 +6819,9 @@ - + + YES + @@ -6399,7 +6849,9 @@ - + + YES + @@ -6433,7 +6885,9 @@ - + + YES + @@ -6461,7 +6915,9 @@ - + + YES + @@ -6495,7 +6951,9 @@ - + + YES + @@ -6523,7 +6981,9 @@ - + + YES + @@ -6557,7 +7017,9 @@ - + + YES + @@ -6585,7 +7047,9 @@ - + + YES + @@ -6619,7 +7083,9 @@ - + + YES + @@ -6647,7 +7113,9 @@ - + + YES + @@ -6681,7 +7149,9 @@ - + + YES + @@ -6709,7 +7179,9 @@ - + + YES + @@ -6743,7 +7215,9 @@ - + + YES + @@ -6771,7 +7245,9 @@ - + + YES + @@ -6805,7 +7281,9 @@ - + + YES + @@ -6833,7 +7311,9 @@ - + + YES + @@ -6852,11 +7332,11 @@ - + {{0, 14}, {310, 134}} - + {{350, 164}, {310, 148}} @@ -6869,7 +7349,9 @@ Set whether a button's input is inverted - that is, Snes9x acts as though the button is pressed if and only if it is not pressed. - + + YES + @@ -6897,7 +7379,9 @@ - + + YES + Button Input is Inverted @@ -6912,11 +7396,13 @@ 256 - + + YES 256 - + + YES 256 @@ -6932,7 +7418,9 @@ - + + YES + @@ -6960,7 +7448,9 @@ - + + YES + @@ -6984,7 +7474,9 @@ - + + YES + @@ -7012,7 +7504,9 @@ - + + YES + 10 @@ -7035,7 +7529,9 @@ - + + YES + @@ -7063,7 +7559,9 @@ - + + YES + / sec @@ -7071,11 +7569,11 @@ - + {{0, 14}, {310, 56}} - + {{20, 322}, {310, 70}} @@ -7088,7 +7586,9 @@ Set the number of presses per second that an automatic fire button receives. - + + YES + @@ -7116,7 +7616,9 @@ - + + YES + Automatic Fire Speed @@ -7143,7 +7645,9 @@ Restores the default settings. - + + YES + @@ -7171,7 +7675,9 @@ - + + YES + @@ -7179,7 +7685,7 @@ Defaults - + {{8, 36}, {680, 412}} @@ -7191,7 +7697,9 @@ - + + YES + @@ -7219,7 +7727,9 @@ - + + YES + @@ -7228,10 +7738,10 @@ - + - + {723, 472} @@ -7243,7 +7753,9 @@ - + + YES + @@ -7271,14 +7783,18 @@ - + + YES + {{40, 80}, {723, 472}} {{0, 0}, {1024, 768}} - + + YES + @@ -7320,15 +7836,18 @@ 256 - + + YES 256 - + + YES 256 - + + YES 256 @@ -7344,7 +7863,9 @@ - + + YES + @@ -7372,7 +7893,9 @@ - + + YES + @@ -7406,7 +7929,9 @@ - + + YES + @@ -7434,7 +7959,9 @@ - + + YES + @@ -7468,7 +7995,9 @@ - + + YES + @@ -7496,7 +8025,9 @@ - + + YES + @@ -7530,7 +8061,9 @@ - + + YES + @@ -7558,7 +8091,9 @@ - + + YES + @@ -7592,7 +8127,9 @@ - + + YES + @@ -7620,7 +8157,9 @@ - + + YES + @@ -7654,7 +8193,9 @@ - + + YES + @@ -7682,7 +8223,9 @@ - + + YES + @@ -7716,7 +8259,9 @@ - + + YES + @@ -7744,7 +8289,9 @@ - + + YES + @@ -7778,7 +8325,9 @@ - + + YES + @@ -7806,7 +8355,9 @@ - + + YES + @@ -7840,7 +8391,9 @@ - + + YES + @@ -7868,7 +8421,9 @@ - + + YES + @@ -7902,7 +8457,9 @@ - + + YES + @@ -7930,7 +8487,9 @@ - + + YES + @@ -7964,7 +8523,9 @@ - + + YES + @@ -7992,7 +8553,9 @@ - + + YES + @@ -8026,7 +8589,9 @@ - + + YES + @@ -8054,7 +8619,9 @@ - + + YES + @@ -8073,11 +8640,11 @@ - + {{0, 14}, {302, 126}} - + {{20, 6}, {302, 140}} @@ -8090,7 +8657,9 @@ - + + YES + @@ -8118,7 +8687,9 @@ - + + YES + Player 1 @@ -8133,11 +8704,13 @@ 256 - + + YES 256 - + + YES 256 @@ -8153,7 +8726,9 @@ - + + YES + @@ -8181,7 +8756,9 @@ - + + YES + @@ -8215,7 +8792,9 @@ - + + YES + @@ -8243,7 +8822,9 @@ - + + YES + @@ -8277,7 +8858,9 @@ - + + YES + @@ -8305,7 +8888,9 @@ - + + YES + @@ -8339,7 +8924,9 @@ - + + YES + @@ -8367,7 +8954,9 @@ - + + YES + @@ -8401,7 +8990,9 @@ - + + YES + @@ -8429,7 +9020,9 @@ - + + YES + @@ -8463,7 +9056,9 @@ - + + YES + @@ -8491,7 +9086,9 @@ - + + YES + @@ -8525,7 +9122,9 @@ - + + YES + @@ -8553,7 +9152,9 @@ - + + YES + @@ -8587,7 +9188,9 @@ - + + YES + @@ -8615,7 +9218,9 @@ - + + YES + @@ -8649,7 +9254,9 @@ - + + YES + @@ -8677,7 +9284,9 @@ - + + YES + @@ -8711,7 +9320,9 @@ - + + YES + @@ -8739,7 +9350,9 @@ - + + YES + @@ -8773,7 +9386,9 @@ - + + YES + @@ -8801,7 +9416,9 @@ - + + YES + @@ -8835,7 +9452,9 @@ - + + YES + @@ -8863,7 +9482,9 @@ - + + YES + @@ -8882,11 +9503,11 @@ - + {{0, 14}, {302, 126}} - + {{342, 6}, {302, 140}} @@ -8899,7 +9520,9 @@ - + + YES + @@ -8927,7 +9550,9 @@ - + + YES + Player 2 @@ -8942,11 +9567,13 @@ 256 - + + YES 256 - + + YES 256 @@ -8962,7 +9589,9 @@ - + + YES + @@ -8990,7 +9619,9 @@ - + + YES + @@ -9024,7 +9655,9 @@ - + + YES + @@ -9052,7 +9685,9 @@ - + + YES + @@ -9086,7 +9721,9 @@ - + + YES + @@ -9114,7 +9751,9 @@ - + + YES + @@ -9148,7 +9787,9 @@ - + + YES + @@ -9176,7 +9817,9 @@ - + + YES + @@ -9210,7 +9853,9 @@ - + + YES + @@ -9238,7 +9883,9 @@ - + + YES + @@ -9272,7 +9919,9 @@ - + + YES + @@ -9300,7 +9949,9 @@ - + + YES + @@ -9334,7 +9985,9 @@ - + + YES + @@ -9362,7 +10015,9 @@ - + + YES + @@ -9396,7 +10051,9 @@ - + + YES + @@ -9424,7 +10081,9 @@ - + + YES + @@ -9458,7 +10117,9 @@ - + + YES + @@ -9486,7 +10147,9 @@ - + + YES + @@ -9520,7 +10183,9 @@ - + + YES + @@ -9548,7 +10213,9 @@ - + + YES + @@ -9582,7 +10249,9 @@ - + + YES + @@ -9610,7 +10279,9 @@ - + + YES + @@ -9644,7 +10315,9 @@ - + + YES + @@ -9672,7 +10345,9 @@ - + + YES + @@ -9691,11 +10366,11 @@ - + {{0, 14}, {302, 126}} - + {{664, 6}, {302, 140}} @@ -9708,7 +10383,9 @@ - + + YES + @@ -9736,7 +10413,9 @@ - + + YES + Player 3 @@ -9751,11 +10430,13 @@ 256 - + + YES 256 - + + YES 256 @@ -9771,7 +10452,9 @@ - + + YES + @@ -9799,7 +10482,9 @@ - + + YES + @@ -9833,7 +10518,9 @@ - + + YES + @@ -9861,7 +10548,9 @@ - + + YES + @@ -9895,7 +10584,9 @@ - + + YES + @@ -9923,7 +10614,9 @@ - + + YES + @@ -9957,7 +10650,9 @@ - + + YES + @@ -9985,7 +10680,9 @@ - + + YES + @@ -10019,7 +10716,9 @@ - + + YES + @@ -10047,7 +10746,9 @@ - + + YES + @@ -10081,7 +10782,9 @@ - + + YES + @@ -10109,7 +10812,9 @@ - + + YES + @@ -10143,7 +10848,9 @@ - + + YES + @@ -10171,7 +10878,9 @@ - + + YES + @@ -10205,7 +10914,9 @@ - + + YES + @@ -10233,7 +10944,9 @@ - + + YES + @@ -10267,7 +10980,9 @@ - + + YES + @@ -10295,7 +11010,9 @@ - + + YES + @@ -10329,7 +11046,9 @@ - + + YES + @@ -10357,7 +11076,9 @@ - + + YES + @@ -10391,7 +11112,9 @@ - + + YES + @@ -10419,7 +11142,9 @@ - + + YES + @@ -10453,7 +11178,9 @@ - + + YES + @@ -10481,7 +11208,9 @@ - + + YES + @@ -10500,11 +11229,11 @@ - + {{0, 14}, {302, 126}} - + {{20, 152}, {302, 140}} @@ -10517,7 +11246,9 @@ - + + YES + @@ -10545,7 +11276,9 @@ - + + YES + Player 4 @@ -10560,11 +11293,13 @@ 256 - + + YES 256 - + + YES 256 @@ -10580,7 +11315,9 @@ - + + YES + @@ -10608,7 +11345,9 @@ - + + YES + @@ -10642,7 +11381,9 @@ - + + YES + @@ -10670,7 +11411,9 @@ - + + YES + @@ -10704,7 +11447,9 @@ - + + YES + @@ -10732,7 +11477,9 @@ - + + YES + @@ -10766,7 +11513,9 @@ - + + YES + @@ -10794,7 +11543,9 @@ - + + YES + @@ -10828,7 +11579,9 @@ - + + YES + @@ -10856,7 +11609,9 @@ - + + YES + @@ -10890,7 +11645,9 @@ - + + YES + @@ -10918,7 +11675,9 @@ - + + YES + @@ -10952,7 +11711,9 @@ - + + YES + @@ -10980,7 +11741,9 @@ - + + YES + @@ -11014,7 +11777,9 @@ - + + YES + @@ -11042,7 +11807,9 @@ - + + YES + @@ -11076,7 +11843,9 @@ - + + YES + @@ -11104,7 +11873,9 @@ - + + YES + @@ -11138,7 +11909,9 @@ - + + YES + @@ -11166,7 +11939,9 @@ - + + YES + @@ -11200,7 +11975,9 @@ - + + YES + @@ -11228,7 +12005,9 @@ - + + YES + @@ -11262,7 +12041,9 @@ - + + YES + @@ -11290,7 +12071,9 @@ - + + YES + @@ -11309,11 +12092,11 @@ - + {{0, 14}, {302, 126}} - + {{342, 152}, {302, 140}} @@ -11326,7 +12109,9 @@ - + + YES + @@ -11354,7 +12139,9 @@ - + + YES + Player 5 @@ -11369,11 +12156,13 @@ 256 - + + YES 256 - + + YES 256 @@ -11389,7 +12178,9 @@ - + + YES + @@ -11417,7 +12208,9 @@ - + + YES + @@ -11451,7 +12244,9 @@ - + + YES + @@ -11479,7 +12274,9 @@ - + + YES + @@ -11513,7 +12310,9 @@ - + + YES + @@ -11541,7 +12340,9 @@ - + + YES + @@ -11575,7 +12376,9 @@ - + + YES + @@ -11603,7 +12406,9 @@ - + + YES + @@ -11637,7 +12442,9 @@ - + + YES + @@ -11665,7 +12472,9 @@ - + + YES + @@ -11699,7 +12508,9 @@ - + + YES + @@ -11727,7 +12538,9 @@ - + + YES + @@ -11761,7 +12574,9 @@ - + + YES + @@ -11789,7 +12604,9 @@ - + + YES + @@ -11823,7 +12640,9 @@ - + + YES + @@ -11851,7 +12670,9 @@ - + + YES + @@ -11885,7 +12706,9 @@ - + + YES + @@ -11913,7 +12736,9 @@ - + + YES + @@ -11947,7 +12772,9 @@ - + + YES + @@ -11975,7 +12802,9 @@ - + + YES + @@ -12009,7 +12838,9 @@ - + + YES + @@ -12037,7 +12868,9 @@ - + + YES + @@ -12071,7 +12904,9 @@ - + + YES + @@ -12099,7 +12934,9 @@ - + + YES + @@ -12133,7 +12970,9 @@ - + + YES + @@ -12161,7 +13000,9 @@ - + + YES + @@ -12195,7 +13036,9 @@ - + + YES + @@ -12223,7 +13066,9 @@ - + + YES + @@ -12257,7 +13102,9 @@ - + + YES + @@ -12285,7 +13132,9 @@ - + + YES + @@ -12319,7 +13168,9 @@ - + + YES + @@ -12347,7 +13198,9 @@ - + + YES + @@ -12381,7 +13234,9 @@ - + + YES + @@ -12409,7 +13264,9 @@ - + + YES + @@ -12428,11 +13285,11 @@ - + {{0, 14}, {302, 126}} - + {{664, 298}, {302, 140}} @@ -12445,7 +13302,9 @@ - + + YES + @@ -12473,7 +13332,9 @@ - + + YES + Common @@ -12500,7 +13361,9 @@ - + + YES + @@ -12528,7 +13391,9 @@ - + + YES + @@ -12551,7 +13416,9 @@ - + + YES + @@ -12579,7 +13446,9 @@ - + + YES + Preset #n @@ -12590,11 +13459,13 @@ 256 - + + YES 256 - + + YES 256 @@ -12610,7 +13481,9 @@ - + + YES + @@ -12638,7 +13511,9 @@ - + + YES + @@ -12672,7 +13547,9 @@ - + + YES + @@ -12700,7 +13577,9 @@ - + + YES + @@ -12734,7 +13613,9 @@ - + + YES + @@ -12762,7 +13643,9 @@ - + + YES + @@ -12796,7 +13679,9 @@ - + + YES + @@ -12824,7 +13709,9 @@ - + + YES + @@ -12858,7 +13745,9 @@ - + + YES + @@ -12886,7 +13775,9 @@ - + + YES + @@ -12920,7 +13811,9 @@ - + + YES + @@ -12948,7 +13841,9 @@ - + + YES + @@ -12982,7 +13877,9 @@ - + + YES + @@ -13010,7 +13907,9 @@ - + + YES + @@ -13044,7 +13943,9 @@ - + + YES + @@ -13072,7 +13973,9 @@ - + + YES + @@ -13106,7 +14009,9 @@ - + + YES + @@ -13134,7 +14039,9 @@ - + + YES + @@ -13168,7 +14075,9 @@ - + + YES + @@ -13196,7 +14105,9 @@ - + + YES + @@ -13230,7 +14141,9 @@ - + + YES + @@ -13258,7 +14171,9 @@ - + + YES + @@ -13292,7 +14207,9 @@ - + + YES + @@ -13320,7 +14237,9 @@ - + + YES + @@ -13339,11 +14258,11 @@ - + {{0, 14}, {302, 126}} - + {{664, 152}, {302, 140}} @@ -13356,7 +14275,9 @@ - + + YES + @@ -13384,7 +14305,9 @@ - + + YES + Player 6 @@ -13399,11 +14322,13 @@ 256 - + + YES 256 - + + YES 256 @@ -13419,7 +14344,9 @@ - + + YES + @@ -13447,7 +14374,9 @@ - + + YES + @@ -13481,7 +14410,9 @@ - + + YES + @@ -13509,7 +14440,9 @@ - + + YES + @@ -13543,7 +14476,9 @@ - + + YES + @@ -13571,7 +14506,9 @@ - + + YES + @@ -13605,7 +14542,9 @@ - + + YES + @@ -13633,7 +14572,9 @@ - + + YES + @@ -13667,7 +14608,9 @@ - + + YES + @@ -13695,7 +14638,9 @@ - + + YES + @@ -13729,7 +14674,9 @@ - + + YES + @@ -13757,7 +14704,9 @@ - + + YES + @@ -13791,7 +14740,9 @@ - + + YES + @@ -13819,7 +14770,9 @@ - + + YES + @@ -13853,7 +14806,9 @@ - + + YES + @@ -13881,7 +14836,9 @@ - + + YES + @@ -13915,7 +14872,9 @@ - + + YES + @@ -13943,7 +14902,9 @@ - + + YES + @@ -13977,7 +14938,9 @@ - + + YES + @@ -14005,7 +14968,9 @@ - + + YES + @@ -14039,7 +15004,9 @@ - + + YES + @@ -14067,7 +15034,9 @@ - + + YES + @@ -14101,7 +15070,9 @@ - + + YES + @@ -14129,7 +15100,9 @@ - + + YES + @@ -14148,11 +15121,11 @@ - + {{0, 14}, {302, 126}} - + {{20, 298}, {302, 140}} @@ -14165,7 +15138,9 @@ - + + YES + @@ -14193,7 +15168,9 @@ - + + YES + Player 7 @@ -14208,11 +15185,13 @@ 256 - + + YES 256 - + + YES 256 @@ -14228,7 +15207,9 @@ - + + YES + @@ -14256,7 +15237,9 @@ - + + YES + @@ -14290,7 +15273,9 @@ - + + YES + @@ -14318,7 +15303,9 @@ - + + YES + @@ -14352,7 +15339,9 @@ - + + YES + @@ -14380,7 +15369,9 @@ - + + YES + @@ -14414,7 +15405,9 @@ - + + YES + @@ -14442,7 +15435,9 @@ - + + YES + @@ -14476,7 +15471,9 @@ - + + YES + @@ -14504,7 +15501,9 @@ - + + YES + @@ -14538,7 +15537,9 @@ - + + YES + @@ -14566,7 +15567,9 @@ - + + YES + @@ -14600,7 +15603,9 @@ - + + YES + @@ -14628,7 +15633,9 @@ - + + YES + @@ -14662,7 +15669,9 @@ - + + YES + @@ -14690,7 +15699,9 @@ - + + YES + @@ -14724,7 +15735,9 @@ - + + YES + @@ -14752,7 +15765,9 @@ - + + YES + @@ -14786,7 +15801,9 @@ - + + YES + @@ -14814,7 +15831,9 @@ - + + YES + @@ -14848,7 +15867,9 @@ - + + YES + @@ -14876,7 +15897,9 @@ - + + YES + @@ -14910,7 +15933,9 @@ - + + YES + @@ -14938,7 +15963,9 @@ - + + YES + @@ -14957,11 +15984,11 @@ - + {{0, 14}, {302, 126}} - + {{342, 298}, {302, 140}} @@ -14974,7 +16001,9 @@ - + + YES + @@ -15002,7 +16031,9 @@ - + + YES + Player 8 @@ -15014,7 +16045,7 @@ - + {986, 491} @@ -15026,7 +16057,9 @@ - + + YES + @@ -15054,14 +16087,18 @@ - + + YES + {{40, 80}, {986, 491}} {{0, 0}, {1024, 768}} - + + YES + @@ -15103,7 +16140,8 @@ 256 - + + YES 256 @@ -15119,7 +16157,9 @@ - + + YES + @@ -15147,7 +16187,9 @@ - + + YES + @@ -15173,7 +16215,9 @@ - + + YES + @@ -15201,7 +16245,9 @@ - + + YES + @@ -15224,7 +16270,9 @@ - + + YES + @@ -15252,7 +16300,9 @@ - + + YES + @@ -15275,7 +16325,9 @@ - + + YES + @@ -15303,7 +16355,9 @@ - + + YES + @@ -15329,7 +16383,9 @@ - + + YES + @@ -15357,7 +16413,9 @@ - + + YES + Server IP : @@ -15380,7 +16438,9 @@ - + + YES + @@ -15408,7 +16468,9 @@ - + + YES + Name : @@ -15431,7 +16493,9 @@ - + + YES + @@ -15459,10 +16523,12 @@ - + + YES + - + {292, 132} @@ -15474,7 +16540,9 @@ - + + YES + @@ -15502,14 +16570,18 @@ - + + YES + {{40, 80}, {292, 132}} {{0, 0}, {1024, 768}} - + + YES + @@ -15562,7 +16634,9 @@ - + + YES + @@ -15590,14 +16664,18 @@ - + + YES + {{40, 80}, {276, 260}} {{0, 0}, {1024, 768}} - + + YES + @@ -15639,11 +16717,13 @@ 256 - + + YES 256 - + + YES 256 @@ -15659,7 +16739,9 @@ - + + YES + @@ -15687,7 +16769,9 @@ - + + YES + Players to Record : @@ -15710,7 +16794,9 @@ - + + YES + @@ -15738,7 +16824,9 @@ - + + YES + Comment : @@ -15761,7 +16849,9 @@ - + + YES + @@ -15789,7 +16879,9 @@ - + + YES + @@ -15815,7 +16907,9 @@ - + + YES + @@ -15843,7 +16937,9 @@ - + + YES + @@ -15864,7 +16960,9 @@ - + + YES + @@ -15892,7 +16990,9 @@ - + + YES + @@ -15913,7 +17013,9 @@ - + + YES + @@ -15941,7 +17043,9 @@ - + + YES + @@ -15962,7 +17066,9 @@ - + + YES + @@ -15990,7 +17096,9 @@ - + + YES + @@ -16011,7 +17119,9 @@ - + + YES + @@ -16039,7 +17149,9 @@ - + + YES + @@ -16060,7 +17172,9 @@ - + + YES + @@ -16088,13 +17202,15 @@ - + + YES + Reset - + {433, 57} @@ -16107,7 +17223,9 @@ - + + YES + @@ -16135,11 +17253,13 @@ - + + YES + - + {433, 55} @@ -16151,7 +17271,9 @@ - + + YES + @@ -16179,14 +17301,18 @@ - + + YES + {{40, 80}, {433, 55}} {{0, 0}, {1024, 768}} - + + YES + @@ -16228,7 +17354,8 @@ 256 - + + YES 256 @@ -16244,7 +17371,9 @@ - + + YES + @@ -16272,11 +17401,13 @@ - + + YES + - + {512, 478} @@ -16288,7 +17419,9 @@ - + + YES + @@ -16316,14 +17449,18 @@ - + + YES + {{40, 80}, {512, 478}} {{0, 0}, {1024, 768}} - + + YES + @@ -16365,7 +17502,8 @@ 256 - + + YES 256 @@ -16381,7 +17519,9 @@ - + + YES + @@ -16409,7 +17549,9 @@ - + + YES + Filter : @@ -16432,7 +17574,9 @@ - + + YES + @@ -16460,10 +17604,12 @@ - + + YES + - + {373, 81} @@ -16475,7 +17621,9 @@ - + + YES + @@ -16503,18 +17651,23 @@ - + + YES + {{40, 80}, {373, 81}} {{0, 0}, {1024, 768}} - + + YES + S9xMenu - + + YES Snes9x @@ -16532,7 +17685,8 @@ submenuAction: Snes9x - + + YES About Snes9x @@ -16561,7 +17715,7 @@ - + _NSAppleMenu Snes9x @@ -16603,7 +17757,8 @@ submenuAction: File - + + YES Open ROM Image... @@ -16811,7 +17966,7 @@ - + File @@ -16852,7 +18007,8 @@ submenuAction: Edit - + + YES Undo @@ -17087,7 +18243,7 @@ - + Edit @@ -17128,7 +18284,8 @@ submenuAction: Emulation - + + YES Run @@ -17289,7 +18446,8 @@ submenuAction: Input Device - + + YES Pad @@ -17522,7 +18680,7 @@ - + Input Device @@ -17552,7 +18710,7 @@ - + Emulation @@ -17593,7 +18751,8 @@ submenuAction: Config - + + YES Configure Keyboard... @@ -17754,7 +18913,8 @@ submenuAction: Controllers Preset - + + YES #1 @@ -17900,7 +19060,7 @@ - + Controllers Preset @@ -17930,7 +19090,7 @@ - + Config @@ -17971,7 +19131,8 @@ submenuAction: Netplay - + + YES Server... @@ -18030,7 +19191,7 @@ - + Netplay @@ -18071,7 +19232,8 @@ submenuAction: Cheat - + + YES Apply Cheats @@ -18190,7 +19352,7 @@ - + Cheat @@ -18231,7 +19393,8 @@ submenuAction: Option - + + YES Freeze State @@ -18737,7 +19900,7 @@ - + Option @@ -18778,7 +19941,8 @@ submenuAction: Window - + + YES Minimize @@ -18955,7 +20119,7 @@ - + _NSWindowsMenu Window @@ -18986,7 +20150,7 @@ - + _NSMainMenu S9xMenu @@ -19036,7 +20200,8 @@ 256 - + + YES 256 @@ -19052,7 +20217,9 @@ - + + YES + @@ -19080,7 +20247,9 @@ - + + YES + Cart Name : @@ -19103,7 +20272,9 @@ - + + YES + @@ -19131,7 +20302,9 @@ - + + YES + Licensee : @@ -19154,7 +20327,9 @@ - + + YES + @@ -19182,7 +20357,9 @@ - + + YES + Contents : @@ -19205,7 +20382,9 @@ - + + YES + @@ -19233,7 +20412,9 @@ - + + YES + Size (header) : @@ -19256,7 +20437,9 @@ - + + YES + @@ -19284,7 +20467,9 @@ - + + YES + Size (calculated) : @@ -19307,7 +20492,9 @@ - + + YES + @@ -19335,7 +20522,9 @@ - + + YES + Speed : @@ -19358,7 +20547,9 @@ - + + YES + @@ -19386,7 +20577,9 @@ - + + YES + Game Code : @@ -19409,7 +20602,9 @@ - + + YES + @@ -19437,7 +20632,9 @@ - + + YES + SRAM Size : @@ -19460,7 +20657,9 @@ - + + YES + @@ -19488,7 +20687,9 @@ - + + YES + Checksum (calculated) : @@ -19511,7 +20712,9 @@ - + + YES + @@ -19539,7 +20742,9 @@ - + + YES + Checksum (header) : @@ -19562,7 +20767,9 @@ - + + YES + @@ -19590,7 +20797,9 @@ - + + YES + Complement (header) : @@ -19613,7 +20822,9 @@ - + + YES + @@ -19641,7 +20852,9 @@ - + + YES + Video Output : @@ -19664,7 +20877,9 @@ - + + YES + @@ -19692,7 +20907,9 @@ - + + YES + Revision : @@ -19715,7 +20932,9 @@ - + + YES + @@ -19743,7 +20962,9 @@ - + + YES + Region : @@ -19766,7 +20987,9 @@ - + + YES + @@ -19794,7 +21017,9 @@ - + + YES + Map : @@ -19817,7 +21042,9 @@ - + + YES + @@ -19845,7 +21072,9 @@ - + + YES + name @@ -19868,7 +21097,9 @@ - + + YES + @@ -19896,7 +21127,9 @@ - + + YES + code @@ -19919,7 +21152,9 @@ - + + YES + @@ -19947,7 +21182,9 @@ - + + YES + licensee @@ -19970,7 +21207,9 @@ - + + YES + @@ -19998,7 +21237,9 @@ - + + YES + region @@ -20021,7 +21262,9 @@ - + + YES + @@ -20049,7 +21292,9 @@ - + + YES + output @@ -20072,7 +21317,9 @@ - + + YES + @@ -20100,7 +21347,9 @@ - + + YES + revision @@ -20123,7 +21372,9 @@ - + + YES + @@ -20151,7 +21402,9 @@ - + + YES + contents @@ -20174,7 +21427,9 @@ - + + YES + @@ -20202,7 +21457,9 @@ - + + YES + map @@ -20225,7 +21482,9 @@ - + + YES + @@ -20253,7 +21512,9 @@ - + + YES + speed @@ -20276,7 +21537,9 @@ - + + YES + @@ -20304,7 +21567,9 @@ - + + YES + rom size written in header @@ -20327,7 +21592,9 @@ - + + YES + @@ -20355,7 +21622,9 @@ - + + YES + calculated rom size @@ -20378,7 +21647,9 @@ - + + YES + @@ -20406,7 +21677,9 @@ - + + YES + sram size @@ -20429,7 +21702,9 @@ - + + YES + @@ -20457,7 +21732,9 @@ - + + YES + checksum written in header @@ -20480,7 +21757,9 @@ - + + YES + @@ -20508,7 +21787,9 @@ - + + YES + complement written in header @@ -20531,7 +21812,9 @@ - + + YES + @@ -20559,7 +21842,9 @@ - + + YES + calculated checksum @@ -20582,7 +21867,9 @@ - + + YES + @@ -20610,7 +21897,9 @@ - + + YES + Type : @@ -20633,7 +21922,9 @@ - + + YES + @@ -20661,7 +21952,9 @@ - + + YES + type @@ -20684,7 +21977,9 @@ - + + YES + @@ -20712,7 +22007,9 @@ - + + YES + CRC32 : @@ -20735,7 +22032,9 @@ - + + YES + @@ -20763,7 +22062,9 @@ - + + YES + crc32 @@ -20786,7 +22087,9 @@ - + + YES + @@ -20814,7 +22117,9 @@ - + + YES + @@ -20822,7 +22127,7 @@ Copy to Clipboard - + {362, 422} @@ -20834,7 +22139,9 @@ - + + YES + @@ -20862,14 +22169,18 @@ - + + YES + {{40, 80}, {362, 422}} {{0, 0}, {1024, 768}} - + + YES + @@ -20911,7 +22222,8 @@ 256 - + + YES 256 @@ -20927,7 +22239,9 @@ - + + YES + @@ -20955,14 +22269,17 @@ - + + YES + 256 - + + YES 256 @@ -20978,7 +22295,9 @@ - + + YES + @@ -21006,7 +22325,9 @@ - + + YES + @@ -21040,7 +22361,9 @@ - + + YES + @@ -21068,7 +22391,9 @@ - + + YES + @@ -21102,7 +22427,9 @@ - + + YES + @@ -21130,7 +22457,9 @@ - + + YES + @@ -21153,7 +22482,9 @@ - + + YES + @@ -21181,14 +22512,17 @@ - + + YES + - + + YES Hexadecimal @@ -21198,7 +22532,7 @@ Unsigned Decimal - + @@ -21215,7 +22549,9 @@ - + + YES + @@ -21243,13 +22579,16 @@ - + + YES + Popup: - + + YES = @@ -21424,7 +22763,7 @@ - + Popup: @@ -21451,7 +22790,9 @@ - + + YES + @@ -21479,7 +22820,9 @@ - + + YES + Address : @@ -21502,7 +22845,9 @@ - + + YES + @@ -21530,7 +22875,9 @@ - + + YES + @@ -21556,7 +22903,9 @@ - + + YES + @@ -21584,7 +22933,9 @@ - + + YES + @@ -21607,7 +22958,9 @@ - + + YES + @@ -21635,7 +22988,9 @@ - + + YES + 000000 @@ -21658,7 +23013,9 @@ - + + YES + @@ -21686,7 +23043,9 @@ - + + YES + Comparison : @@ -21709,7 +23068,9 @@ - + + YES + @@ -21737,7 +23098,9 @@ - + + YES + @@ -21758,7 +23121,9 @@ - + + YES + @@ -21786,7 +23151,9 @@ - + + YES + @@ -21807,7 +23174,9 @@ - + + YES + @@ -21835,7 +23204,9 @@ - + + YES + @@ -21856,7 +23227,9 @@ - + + YES + @@ -21884,7 +23257,9 @@ - + + YES + Value Size : @@ -21907,7 +23282,9 @@ - + + YES + @@ -21935,13 +23312,16 @@ - + + YES + Popup: - + + YES 1 Byte @@ -22058,7 +23438,7 @@ - + Popup: @@ -22070,7 +23450,7 @@ - + {{242, 0}, {207, 329}} @@ -22083,7 +23463,9 @@ - + + YES + @@ -22111,14 +23493,17 @@ - + + YES + 256 - + + YES 256 @@ -22134,7 +23519,9 @@ - + + YES + @@ -22162,7 +23549,9 @@ - + + YES + @@ -22185,7 +23574,9 @@ - + + YES + @@ -22213,7 +23604,9 @@ - + + YES + @@ -22236,7 +23629,9 @@ - + + YES + @@ -22264,7 +23659,9 @@ - + + YES + @@ -22272,7 +23669,7 @@ Restore List - + {{242, 346}, {207, 95}} @@ -22285,7 +23682,9 @@ - + + YES + @@ -22313,11 +23712,13 @@ - + + YES + - + {449, 441} @@ -22329,7 +23730,9 @@ - + + YES + @@ -22357,14 +23760,18 @@ - + + YES + {{40, 80}, {449, 441}} {{0, 0}, {1024, 768}} - + + YES + @@ -22406,7 +23813,8 @@ 256 - + + YES 256 @@ -22422,7 +23830,9 @@ - + + YES + @@ -22450,7 +23860,9 @@ - + + YES + Address : @@ -22473,7 +23885,9 @@ - + + YES + @@ -22501,7 +23915,9 @@ - + + YES + address @@ -22524,7 +23940,9 @@ - + + YES + @@ -22552,7 +23970,9 @@ - + + YES + @@ -22578,7 +23998,9 @@ - + + YES + @@ -22606,7 +24028,9 @@ - + + YES + Current Value : @@ -22629,7 +24053,9 @@ - + + YES + @@ -22657,7 +24083,9 @@ - + + YES + Cheat Value : @@ -22680,7 +24108,9 @@ - + + YES + @@ -22708,7 +24138,9 @@ - + + YES + current value @@ -22731,7 +24163,9 @@ - + + YES + @@ -22759,7 +24193,9 @@ - + + YES + @@ -22782,7 +24218,9 @@ - + + YES + @@ -22810,7 +24248,9 @@ - + + YES + @@ -22833,7 +24273,9 @@ - + + YES + @@ -22861,7 +24303,9 @@ - + + YES + Description : @@ -22884,7 +24328,9 @@ - + + YES + @@ -22912,7 +24358,9 @@ - + + YES + @@ -22923,7 +24371,7 @@ - + {328, 168} @@ -22935,7 +24383,9 @@ - + + YES + @@ -22963,14 +24413,18 @@ - + + YES + {{40, 80}, {328, 168}} {{0, 0}, {1024, 768}} - + + YES + @@ -23012,7 +24466,8 @@ 256 - + + YES 256 @@ -23028,7 +24483,9 @@ - + + YES + @@ -23056,7 +24513,9 @@ - + + YES + Slot A @@ -23079,7 +24538,9 @@ - + + YES + @@ -23107,7 +24568,9 @@ - + + YES + Slot B @@ -23130,7 +24593,9 @@ - + + YES + @@ -23158,7 +24623,9 @@ - + + YES + : @@ -23181,7 +24648,9 @@ - + + YES + @@ -23209,7 +24678,9 @@ - + + YES + : @@ -23232,7 +24703,9 @@ - + + YES + @@ -23260,7 +24733,9 @@ - + + YES + @@ -23283,7 +24758,9 @@ - + + YES + @@ -23311,7 +24788,9 @@ - + + YES + @@ -23334,7 +24813,9 @@ - + + YES + @@ -23362,7 +24843,9 @@ - + + YES + @@ -23385,7 +24868,9 @@ - + + YES + @@ -23413,7 +24898,9 @@ - + + YES + @@ -23436,7 +24923,9 @@ - + + YES + @@ -23464,7 +24953,9 @@ - + + YES + @@ -23487,7 +24978,9 @@ - + + YES + @@ -23515,7 +25008,9 @@ - + + YES + @@ -23526,7 +25021,8 @@ 256 - + + YES 256 @@ -23542,7 +25038,9 @@ - + + YES + @@ -23570,7 +25068,9 @@ - + + YES + Cart A name @@ -23578,7 +25078,7 @@ - + {{85, 19}, {309, 22}} @@ -23591,7 +25091,9 @@ - + + YES + @@ -23619,14 +25121,17 @@ - + + YES + 256 - + + YES 256 @@ -23642,7 +25147,9 @@ - + + YES + @@ -23670,7 +25177,9 @@ - + + YES + Cart B name @@ -23678,7 +25187,7 @@ - + {{85, 59}, {309, 22}} @@ -23691,7 +25200,9 @@ - + + YES + @@ -23719,7 +25230,9 @@ - + + YES + @@ -23738,7 +25251,9 @@ - + + YES + @@ -23766,7 +25281,9 @@ - + + YES + @@ -23774,7 +25291,7 @@ Swap - + {597, 150} @@ -23786,7 +25303,9 @@ - + + YES + @@ -23814,14 +25333,18 @@ - + + YES + {{40, 80}, {597, 150}} {{0, 0}, {1024, 768}} - + + YES + @@ -23863,7 +25386,8 @@ 256 - + + YES 256 @@ -23879,7 +25403,9 @@ - + + YES + @@ -23907,7 +25433,9 @@ - + + YES + @@ -23930,7 +25458,9 @@ - + + YES + @@ -23958,7 +25488,9 @@ - + + YES + Player 1 @@ -23981,7 +25513,9 @@ - + + YES + @@ -24009,7 +25543,9 @@ - + + YES + Player 2 @@ -24032,7 +25568,9 @@ - + + YES + @@ -24060,7 +25598,9 @@ - + + YES + @@ -24081,7 +25621,9 @@ - + + YES + @@ -24109,13 +25651,15 @@ - + + YES + - + {593, 251} @@ -24127,7 +25671,9 @@ - + + YES + @@ -24155,14 +25701,18 @@ - + + YES + {{40, 80}, {593, 251}} {{0, 0}, {1024, 768}} - + + YES + @@ -24204,11 +25754,13 @@ 256 - + + YES 256 - + + YES 256 @@ -24224,7 +25776,9 @@ - + + YES + @@ -24252,7 +25806,9 @@ - + + YES + @@ -24273,7 +25829,9 @@ - + + YES + @@ -24301,13 +25859,15 @@ - + + YES + Export to QuickTime Movie at a Time - + {327, 32} @@ -24320,7 +25880,9 @@ - + + YES + @@ -24348,11 +25910,13 @@ - + + YES + - + {327, 30} @@ -24364,7 +25928,9 @@ - + + YES + @@ -24392,14 +25958,18 @@ - + + YES + {{40, 80}, {327, 30}} {{0, 0}, {1024, 768}} - + + YES + @@ -24441,7 +26011,8 @@ 256 - + + YES 256 @@ -24457,7 +26028,9 @@ All frames are drawn without adjusting times. Make sure 'Synchronize' in 'Sound' tab in 'Preferences' dialog is turned off. - + + YES + @@ -24485,7 +26058,9 @@ - + + YES + @@ -24506,7 +26081,9 @@ GL_TEXTURE_2D is used even if GL_TEXTURE_RECTANGLE_EXT is available. - + + YES + @@ -24534,7 +26111,9 @@ - + + YES + @@ -24555,7 +26134,9 @@ Sets GL_TEXTURE_PRIORITY to 0.0. - + + YES + @@ -24583,7 +26164,9 @@ - + + YES + @@ -24604,7 +26187,9 @@ - + + YES + @@ -24632,7 +26217,9 @@ - + + YES + Storage Hint : @@ -24655,7 +26242,9 @@ Sets GL_STORAGE_SHARED_APPLE to 1. - + + YES + @@ -24683,7 +26272,9 @@ - + + YES + @@ -24704,7 +26295,9 @@ Sets GL_TEXTURE_STORAGE_HINT_APPLE. - + + YES + @@ -24732,13 +26325,16 @@ - + + YES + Popup: - + + YES Private @@ -24826,7 +26422,7 @@ - + Popup: @@ -24853,7 +26449,9 @@ - + + YES + @@ -24881,7 +26479,9 @@ - + + YES + OpenGL Settings : @@ -24904,7 +26504,9 @@ - + + YES + @@ -24932,10 +26534,12 @@ - + + YES + - + {257, 216} @@ -24947,7 +26551,9 @@ - + + YES + @@ -24975,1682 +26581,18 @@ - + + YES + {{40, 80}, {257, 216}} {{0, 0}, {1024, 768}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Music Box - - - 256 - - - - 256 - {{20, 22}, {61, 16}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Playing : - - - - - - - - 256 - {{252, 16}, {86, 32}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Done - - - - 256 - {{18, 39}, {13, 14}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 256 - {{83, 22}, {167, 16}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ROMName - - - - - - - - 256 - {{36, 70}, {250, 130}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 256 - - - - 256 - {{2, 3}, {30, 20}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 256 - {{2, 29}, {30, 20}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 256 - {{2, 67}, {30, 20}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {{300, 70}, {34, 92}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 256 - - - - 256 - {{62, 6}, {12, 12}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 4 - - - - - 256 - {{192, 6}, {12, 12}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 4 - - - - - 256 - {{150, 6}, {12, 12}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - - - - - 256 - {{48, 6}, {12, 12}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 3 - - - - - 256 - {{178, 6}, {12, 12}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 3 - - - - - 256 - {{118, 6}, {12, 12}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8 - - - - - 256 - {{220, 6}, {12, 12}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 6 - - - - - 256 - {{104, 6}, {12, 12}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 7 - - - - - 256 - {{234, 6}, {12, 12}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 7 - - - - - 256 - {{90, 6}, {12, 12}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 6 - - - - - 256 - {{34, 6}, {12, 12}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2 - - - - - 256 - {{248, 6}, {12, 12}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8 - - - - - 256 - {{76, 6}, {12, 12}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - - - - - 256 - {{20, 6}, {12, 12}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - - - - - 256 - {{206, 6}, {12, 12}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - - - - - 256 - {{164, 6}, {12, 12}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2 - - - - - 256 - {{132, 4}, {16, 16}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {{21, 208}, {280, 25}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {352, 246} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + YES - - {{40, 80}, {352, 246}} - {{0, 0}, {1024, 768}} - - @@ -26692,15 +26634,18 @@ 256 - + + YES 256 - + + YES 256 - + + YES 256 @@ -26716,7 +26661,9 @@ Toggles between scaling full screen graphics to the current screen resolution or changing the screen resolution to fit Snes9x's needs. - + + YES + @@ -26744,7 +26691,9 @@ - + + YES + @@ -26765,7 +26714,9 @@ Toggles full screen/windowed mode. Press esc key to hide full screen window and pause the game. - + + YES + @@ -26793,7 +26744,9 @@ - + + YES + @@ -26814,7 +26767,9 @@ Toggles display of the frame rate on/off. - + + YES + @@ -26842,7 +26797,9 @@ - + + YES + @@ -26863,7 +26820,9 @@ Toggles transparency effects on/off. Transparency effect is used in almost all games so this option is just for hack. - + + YES + @@ -26891,7 +26850,9 @@ - + + YES + @@ -26912,7 +26873,9 @@ Uses 16,777,216 colors. - + + YES + @@ -26940,7 +26903,9 @@ - + + YES + @@ -26961,7 +26926,9 @@ Stretches the image to fill the screen in full screen mode. - + + YES + @@ -26989,7 +26956,9 @@ - + + YES + @@ -27010,7 +26979,9 @@ - + + YES + @@ -27038,7 +27009,9 @@ - + + YES + OpenGL Option : @@ -27061,7 +27034,9 @@ - + + YES + @@ -27089,13 +27064,16 @@ - + + YES + Popup: - + + YES Blocky @@ -27647,7 +27625,7 @@ - + Popup: @@ -27674,7 +27652,9 @@ Choose the image scaling filter which is applied to the raw SNES image. - + + YES + @@ -27702,7 +27682,9 @@ - + + YES + Video Mode : @@ -27725,7 +27707,9 @@ Synchronizes the render timing to the monitor's vertical refresh rate. - + + YES + @@ -27753,7 +27737,9 @@ - + + YES + @@ -27774,7 +27760,9 @@ When this option is on, the rendering process is separated from the emulation thread (except blocky and smooth modes). - + + YES + @@ -27802,7 +27790,9 @@ - + + YES + @@ -27823,7 +27813,9 @@ Keeps the screen height always 239/478, for some games that change screen height frequently. - + + YES + @@ -27851,7 +27843,9 @@ - + + YES + @@ -27872,7 +27866,9 @@ Adds a warp effect like a CRT-based television. - + + YES + @@ -27900,7 +27896,9 @@ - + + YES + @@ -27921,7 +27919,9 @@ - + + YES + @@ -27949,7 +27949,9 @@ - + + YES + @@ -27973,7 +27975,9 @@ The degree of curvature. - + + YES + @@ -28001,7 +28005,9 @@ - + + YES + Warp : @@ -28024,7 +28030,9 @@ - + + YES + @@ -28052,7 +28060,9 @@ - + + YES + @@ -28070,7 +28080,9 @@ - + + YES + @@ -28098,7 +28110,9 @@ - + + YES + @@ -28122,7 +28136,9 @@ The aspect ratio of above option: the left is proportional and the right is full width of the monitor. - + + YES + @@ -28150,7 +28166,9 @@ - + + YES + Aspect Ratio : @@ -28173,7 +28191,9 @@ Choose the Core Image filter. - + + YES + @@ -28201,7 +28221,9 @@ - + + YES + @@ -28224,7 +28246,9 @@ Applies additional Core Image effect after the image filter is applied. - + + YES + @@ -28252,13 +28276,15 @@ - + + YES + Use Core Image - + {{8, 36}, {562, 309}} @@ -28271,7 +28297,9 @@ - + + YES + @@ -28299,11 +28327,13 @@ - + + YES + - + {{13, 6}, {579, 353}} @@ -28315,7 +28345,9 @@ - + + YES + @@ -28343,12 +28375,15 @@ - + + YES + - + + YES 0 YES @@ -28364,7 +28399,8 @@ 256 - + + YES 256 @@ -28380,7 +28416,9 @@ Enables stereo sound instead of mono. - + + YES + @@ -28408,7 +28446,9 @@ - + + YES + @@ -28429,7 +28469,9 @@ Swaps the left and right stereo channels. - + + YES + @@ -28457,7 +28499,9 @@ - + + YES + @@ -28478,7 +28522,9 @@ Enables 16-bit playback instead of 8-bit. - + + YES + @@ -28506,7 +28552,9 @@ - + + YES + @@ -28527,7 +28575,9 @@ Tries and ensures all available samples are buffered so there are no overruns. - + + YES + @@ -28555,7 +28605,9 @@ - + + YES + @@ -28576,7 +28628,9 @@ Safer from crackling noise, but time-lag becomes more noticeable. - + + YES + @@ -28604,7 +28658,9 @@ - + + YES + @@ -28625,7 +28681,9 @@ - + + YES + @@ -28653,13 +28711,16 @@ - + + YES + Popup: - + + YES 48000 Hz @@ -28921,7 +28982,7 @@ - + Popup: @@ -28948,7 +29009,9 @@ - + + YES + @@ -28976,13 +29039,16 @@ - + + YES + Popup: - + + YES 20 ms @@ -29273,7 +29339,7 @@ - + Popup: @@ -29300,7 +29366,9 @@ - + + YES + @@ -29328,13 +29396,16 @@ - + + YES + Popup: - + + YES 8 ms @@ -29511,7 +29582,7 @@ - + Popup: @@ -29538,7 +29609,9 @@ The real SNES is 32000 Hz. Any values other than 32000 Hz will cause resampling. - + + YES + @@ -29566,7 +29639,9 @@ - + + YES + Playback Rate : @@ -29589,7 +29664,9 @@ Make sure this value is smaller than the mix buffer length. - + + YES + @@ -29617,7 +29694,9 @@ - + + YES + Output Interval : @@ -29640,7 +29719,9 @@ Too short length will cause crackling noise. - + + YES + @@ -29668,7 +29749,9 @@ - + + YES + Mix Buffer Length : @@ -29691,7 +29774,9 @@ - + + YES + @@ -29719,7 +29804,9 @@ - + + YES + @@ -29743,7 +29830,9 @@ - + + YES + @@ -29771,7 +29860,9 @@ - + + YES + @@ -29795,7 +29886,9 @@ Volume of the whole Snes9x sounds. - + + YES + @@ -29823,7 +29916,9 @@ - + + YES + Volume : @@ -29846,7 +29941,9 @@ - + + YES + @@ -29874,7 +29971,9 @@ - + + YES + Hz @@ -29897,7 +29996,9 @@ Adjusts the sound rate through resampling. For every Input Rate samples generated by the SNES, Playback Rate samples will be produced. - + + YES + @@ -29925,7 +30026,9 @@ - + + YES + Input Rate : @@ -29948,7 +30051,9 @@ - + + YES + @@ -29976,7 +30081,9 @@ - + + YES + 32000 @@ -29999,7 +30106,9 @@ Opens 'Sound Effect' dialog. - + + YES + @@ -30027,7 +30136,9 @@ - + + YES + @@ -30035,7 +30146,7 @@ Effect... - + {{8, 36}, {562, 309}} @@ -30047,7 +30158,9 @@ - + + YES + @@ -30075,7 +30188,9 @@ - + + YES + @@ -30090,7 +30205,8 @@ 256 - + + YES 256 @@ -30106,7 +30222,9 @@ - + + YES + @@ -30134,13 +30252,16 @@ - + + YES + Popup: - + + YES Snes9x Folder @@ -30349,7 +30470,7 @@ - + Popup: @@ -30376,7 +30497,9 @@ - + + YES + @@ -30404,7 +30527,9 @@ - + + YES + @@ -30430,7 +30555,9 @@ Choose the folder where Snes9x will look for files. - + + YES + @@ -30458,7 +30585,9 @@ - + + YES + Save Data in : @@ -30481,7 +30610,9 @@ - + + YES + @@ -30509,7 +30640,9 @@ - + + YES + sec after Modified @@ -30532,7 +30665,9 @@ Updates SRAM file when SRAM contents are modified. This may cause frequent disk access. - + + YES + @@ -30560,7 +30695,9 @@ - + + YES + Auto Save SRAM : @@ -30583,7 +30720,9 @@ - + + YES + @@ -30611,7 +30750,9 @@ - + + YES + (0 : Disable) @@ -30619,7 +30760,7 @@ - + {{8, 36}, {562, 309}} @@ -30631,7 +30772,9 @@ - + + YES + @@ -30659,7 +30802,9 @@ - + + YES + @@ -30674,7 +30819,8 @@ 256 - + + YES 256 @@ -30690,7 +30836,9 @@ Changes HDMA timing and will 'fix' some games' glitches, but breaks many other games. The default value is 100. - + + YES + @@ -30718,7 +30866,9 @@ - + + YES + HDMA Timing Hack : @@ -30741,7 +30891,9 @@ - + + YES + @@ -30769,7 +30921,9 @@ - + + YES + @@ -30795,7 +30949,9 @@ - + + YES + @@ -30823,7 +30979,9 @@ - + + YES + Note : These Hacks Need to Reopen ROM Image to Achieve Effects. @@ -30846,7 +31004,9 @@ - + + YES + @@ -30874,7 +31034,9 @@ - + + YES + @@ -30896,7 +31058,9 @@ The speed when turbo mode is on. Modify in-game with Fn+T, Fn+Y. - + + YES + @@ -30924,7 +31088,9 @@ - + + YES + Speed in Turbo Mode : @@ -30947,7 +31113,9 @@ - + + YES + @@ -30975,7 +31143,9 @@ - + + YES + 10 @@ -30998,7 +31168,9 @@ - + + YES + @@ -31026,7 +31198,9 @@ - + + YES + @@ -31044,7 +31218,9 @@ - + + YES + @@ -31072,13 +31248,16 @@ - + + YES + Popup - + + YES Auto @@ -31284,7 +31463,7 @@ - + Popup @@ -31311,7 +31490,9 @@ Adjust this value if your Mac is slow. - + + YES + @@ -31339,7 +31520,9 @@ - + + YES + Frame Skip : @@ -31362,7 +31545,9 @@ Allows to write to VRAM outside blank periods. - + + YES + @@ -31390,7 +31575,9 @@ - + + YES + @@ -31411,7 +31598,9 @@ Applies special hacks for games that can't be emulated correctly. - + + YES + @@ -31439,13 +31628,15 @@ - + + YES + Apply Specific Game Hacks - + {{8, 36}, {562, 309}} @@ -31457,7 +31648,9 @@ - + + YES + @@ -31485,7 +31678,9 @@ - + + YES + @@ -31500,7 +31695,8 @@ 256 - + + YES 256 @@ -31516,7 +31712,9 @@ Choose whether open dialog should be shown when Snes9x is launched. - + + YES + @@ -31544,7 +31742,9 @@ - + + YES + @@ -31565,7 +31765,9 @@ Shows time stamps on thumbnails in freeze/defrost screen. - + + YES + @@ -31593,7 +31795,9 @@ - + + YES + @@ -31614,7 +31818,9 @@ Choose the behavior of Music Box: 'Sound Emulation Only' to only emulate the music system, and 'Whole Emulation' to also emulate the CPU. Music that depends on the CPU running will not sound right without 'Whole Emulation.' - + + YES + @@ -31642,7 +31848,9 @@ - + + YES + Music Box : @@ -31665,7 +31873,9 @@ - + + YES + @@ -31693,21 +31903,24 @@ - + + YES + - + + YES Sound Emulation Only Whole Emulation - + @@ -31724,7 +31937,9 @@ Sets 'Turbo' button as a toggle switch. - + + YES + @@ -31752,7 +31967,9 @@ - + + YES + @@ -31773,7 +31990,9 @@ When this option is on, Snes9x automatically loads the .ips or .ups file and patch the ROM image. - + + YES + @@ -31801,7 +32020,9 @@ - + + YES + @@ -31822,7 +32043,9 @@ Shows messages from Snes9x on the game screen. When off, messages are put in the standard console. - + + YES + @@ -31850,7 +32073,9 @@ - + + YES + @@ -31871,7 +32096,9 @@ - + + YES + @@ -31899,14 +32126,17 @@ - + + YES + - + + YES Keep on Emulation, Receive All Inputs @@ -31916,7 +32146,7 @@ Pause and Exit from Emulation Loop - + @@ -31933,7 +32163,9 @@ Choose the behavior of Snes9x when it is in back of other applications. - + + YES + @@ -31961,7 +32193,9 @@ - + + YES + When in Background : @@ -31984,7 +32218,9 @@ Saves the sizes and positions of the game window and dialogs so they come back to the same place. - + + YES + @@ -32012,7 +32248,9 @@ - + + YES + @@ -32033,7 +32271,9 @@ When this option is on, BS-X ROM is loaded first, then you launch BS games from the menu in BS-X. - + + YES + @@ -32061,13 +32301,15 @@ - + + YES + Boot Up BS Games from BS-X - + {{8, 36}, {562, 309}} @@ -32079,7 +32321,9 @@ - + + YES + @@ -32107,7 +32351,9 @@ - + + YES + @@ -32116,10 +32362,10 @@ - + - + {605, 371} @@ -32131,7 +32377,9 @@ - + + YES + @@ -32159,14 +32407,18 @@ - + + YES + {{39, 80}, {605, 371}} {{0, 0}, {1024, 768}} - + + YES + @@ -32208,11 +32460,13 @@ 256 - + + YES 256 - + + YES 256 @@ -32228,7 +32482,9 @@ - + + YES + @@ -32256,7 +32512,9 @@ - + + YES + @@ -32277,7 +32535,9 @@ - + + YES + @@ -32305,13 +32565,16 @@ - + + YES + Popup: - + + YES Apple's Matrix Reverb @@ -32370,7 +32633,7 @@ - + Popup: @@ -32397,7 +32660,9 @@ - + + YES + @@ -32425,7 +32690,9 @@ - + + YES + Choose the Effect to Configure : @@ -32448,7 +32715,9 @@ - + + YES + @@ -32476,10 +32745,12 @@ - + + YES + - + {467, 99} @@ -32492,7 +32763,9 @@ - + + YES + @@ -32520,11 +32793,13 @@ - + + YES + - + {467, 99} @@ -32536,7 +32811,9 @@ - + + YES + @@ -32564,14 +32841,18 @@ - + + YES + {{40, 80}, {467, 99}} {{0, 0}, {1024, 768}} - + + YES + {555, 272} @@ -32614,7 +32895,8 @@ 256 - + + YES 256 @@ -32630,7 +32912,9 @@ - + + YES + @@ -32658,14 +32942,17 @@ - + + YES + - + + YES @@ -32714,7 +33001,7 @@ Description - + @@ -32737,7 +33024,9 @@ - + + YES + @@ -32765,7 +33054,9 @@ - + + YES + @@ -32788,7 +33079,9 @@ - + + YES + @@ -32816,7 +33109,9 @@ - + + YES + @@ -32839,7 +33134,9 @@ - + + YES + @@ -32867,7 +33164,9 @@ - + + YES + @@ -32875,7 +33174,7 @@ Enable All - + {555, 272} @@ -32887,7 +33186,9 @@ - + + YES + @@ -32915,14 +33216,18 @@ - + + YES + {{40, 80}, {555, 272}} {{0, 0}, {1024, 768}} - + + YES + @@ -32964,7 +33269,8 @@ 256 - + + YES 256 @@ -32980,7 +33286,9 @@ - + + YES + @@ -33008,7 +33316,9 @@ - + + YES + wqkgQ29weXJpZ2h0IDE5OTYtMjAxMSBTbmVzOXggZGV2ZWxvcGVycwoKU25lczl4IGlzIGEgU3VwZXIg TmludGVuZG8gRW50ZXJ0YWlubWVudCBTeXN0ZW0gZW11bGF0b3IKdGhhdCBhbGxvd3MgeW91IHRvIHBs @@ -33035,7 +33345,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -33063,7 +33375,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -33086,7 +33400,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -33114,7 +33430,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + versionstr @@ -33137,7 +33455,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -33165,7 +33485,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + Snes9x @@ -33173,7 +33495,7 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + {308, 242} @@ -33185,7 +33507,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -33213,14 +33537,18 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + {{40, 80}, {308, 242}} {{0, 0}, {1024, 768}} - + + YES + @@ -33262,11 +33590,13 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 256 - + + YES 256 - + + YES 256 @@ -33282,7 +33612,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -33310,7 +33642,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -33331,7 +33665,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -33359,7 +33695,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -33380,7 +33718,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -33408,7 +33748,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -33431,7 +33773,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -33459,13 +33803,16 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + Popup: - + + YES 0 @@ -33640,7 +33987,7 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + Popup: @@ -33667,7 +34014,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -33695,7 +34044,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + Frame Skip : @@ -33703,7 +34054,7 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + {433, 35} @@ -33716,7 +34067,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -33744,11 +34097,13 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + - + {433, 33} @@ -33760,7 +34115,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -33788,14 +34145,18 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + {{40, 80}, {433, 33}} {{0, 0}, {1024, 768}} - + + YES + @@ -33837,11 +34198,13 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 256 - + + YES 256 - + + YES 256 @@ -33857,7 +34220,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -33885,7 +34250,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + Memory Type : @@ -33908,7 +34275,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -33936,7 +34305,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + Interleave Mode : @@ -33959,7 +34330,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -33987,13 +34360,16 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + Popup: - + + YES Auto Detect @@ -34112,7 +34488,7 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + Popup: @@ -34139,7 +34515,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -34167,7 +34545,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + Video System : @@ -34190,7 +34570,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -34218,13 +34600,16 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + Popup: - + + YES Auto Detect @@ -34343,7 +34728,7 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + Popup: @@ -34370,7 +34755,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -34398,13 +34785,16 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + Popup: - + + YES Auto Detect @@ -34581,7 +34971,7 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + Popup: @@ -34608,7 +34998,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -34636,7 +35028,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + Header : @@ -34659,7 +35053,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -34687,13 +35083,16 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + Popup: - + + YES Auto Detect @@ -34812,7 +35211,7 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + Popup: @@ -34824,7 +35223,7 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + {433, 56} @@ -34837,7 +35236,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -34865,11 +35266,13 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + - + {433, 54} @@ -34881,7 +35284,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -34909,14 +35314,18 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + {{40, 80}, {433, 54}} {{0, 0}, {1024, 768}} - + + YES + @@ -34958,7 +35367,8 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 256 - + + YES 256 @@ -34974,7 +35384,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35002,7 +35414,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35025,7 +35439,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35053,7 +35469,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + 1 : @@ -35076,7 +35494,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35104,7 +35524,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + 2 : @@ -35127,7 +35549,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35155,7 +35579,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + 3 : @@ -35178,7 +35604,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35206,7 +35634,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + 4 : @@ -35229,7 +35659,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35257,7 +35689,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + 5 : @@ -35280,7 +35714,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35308,7 +35744,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35331,7 +35769,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35359,7 +35799,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35382,7 +35824,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35410,7 +35854,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35433,7 +35879,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35461,7 +35909,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35484,7 +35934,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35512,7 +35964,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35535,7 +35989,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35563,7 +36019,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35586,7 +36044,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35614,7 +36074,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35637,7 +36099,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35665,7 +36129,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35688,7 +36154,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35716,7 +36184,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35739,7 +36209,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35767,7 +36239,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35790,7 +36264,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35818,7 +36294,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35841,7 +36319,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35869,7 +36349,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35892,7 +36374,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35920,7 +36404,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35943,7 +36429,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35971,7 +36459,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35994,7 +36484,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -36022,7 +36514,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -36045,7 +36539,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -36073,7 +36569,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -36096,7 +36594,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -36124,7 +36624,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -36147,7 +36649,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -36175,7 +36679,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -36198,7 +36704,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -36226,7 +36734,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -36249,7 +36759,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -36277,7 +36789,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -36300,7 +36814,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -36328,7 +36844,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -36351,7 +36869,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -36379,10 +36899,12 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + - + {437, 192} @@ -36394,7 +36916,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -36422,14 +36946,18 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + {{40, 80}, {437, 192}} {{0, 0}, {1024, 768}} - + + YES + @@ -36471,7 +36999,8 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 256 - + + YES 256 @@ -36487,7 +37016,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -36515,7 +37046,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + 1P : @@ -36538,7 +37071,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -36566,7 +37101,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + 2P : @@ -36589,7 +37126,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -36617,7 +37156,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + 3P : @@ -36640,7 +37181,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -36668,7 +37211,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + 4P : @@ -36691,7 +37236,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -36719,7 +37266,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + 5P : @@ -36742,7 +37291,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -36770,7 +37321,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -36793,7 +37346,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -36821,7 +37376,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -36844,7 +37401,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -36872,7 +37431,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -36895,7 +37456,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -36923,7 +37486,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -36946,7 +37511,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -36974,7 +37541,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -36997,7 +37566,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -37025,7 +37596,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -37033,7 +37606,7 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA OK - + {198, 192} @@ -37045,7 +37618,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -37073,20 +37648,27 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + {{40, 80}, {198, 192}} {{0, 0}, {1024, 768}} - + + YES + - + - + + YES + - + + YES 0 @@ -37096,70 +37678,78 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 1695 - + + YES - + AutoFire 166 - + + YES - + Controllers 1338 - + + YES - + Connect 1285 - + + YES - + CFDrawer 1452 - + + YES - + RecordSMV 1595 - + + YES - + GameWindow 1677 - + + YES - + CIFilter 573 - + + YES @@ -37169,166 +37759,174 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + MenuBar 845 - + + YES - + RomInfo 884 - + + YES - + CheatFinder 950 - + + YES - + CFAddEntry 1904 - + + YES - + MultiCart 934 - + + YES - + Keyboard 1529 - + + YES - + PlaySMV 1599 - + + YES - + ExtraOptions - - 1401 - - - - - - MusicBox - 264 - + + YES - + Preferences 1815 - + + YES - + SoundEffect 1837 - + + YES - + CheatEntry 697 - + + YES - + About 1495 - + + YES - + QTMovie 1105 - + + YES - + OpenROM 1335 - + + YES - + ClientList 1329 - + + YES - + PlayerList 1696 - + + YES - + 167 - + + YES @@ -37340,13 +37938,14 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + 1328 - + + YES @@ -37354,7 +37953,7 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + @@ -37365,104 +37964,117 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 1466 - + + YES - + 1596 - + + YES - + 1678 - + + YES - + 631 - + + YES - + 593 - + + YES - + 685 - + + YES - + 599 - + + YES - + 1895 - + + YES - + 644 - + + YES - + 581 - + + YES - + 586 - + + YES - + 1365 - + + YES - + 846 - + + YES @@ -37498,23 +38110,25 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + 885 - + + YES - + 951 - + + YES @@ -37525,13 +38139,14 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + 1905 - + + YES @@ -37545,33 +38160,36 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + 933 - + + YES - + 1519 - + + YES - + 1598 - + + YES @@ -37580,81 +38198,74 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + - - 1407 - - - - - - - - - - - - 265 - + + YES - + 1816 - + + YES - + 1838 - + + YES - + 698 - + + YES - + 1498 - + + YES - + 1106 - + + YES - + 1341 - + + YES @@ -37683,13 +38294,14 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + 1333 - + + YES @@ -37701,16 +38313,17 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + 1697 - + + YES - + @@ -37721,7 +38334,8 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 1851 - + + YES @@ -37734,7 +38348,7 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + @@ -37745,7 +38359,8 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 544 - + + YES @@ -37763,13 +38378,14 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + 504 - + + YES @@ -37782,13 +38398,14 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + 1864 - + + YES @@ -37801,13 +38418,14 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + 251 - + + YES @@ -37820,13 +38438,14 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + 515 - + + YES @@ -37839,13 +38458,14 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + 1877 - + + YES @@ -37858,13 +38478,14 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + 539 - + + YES @@ -37877,13 +38498,14 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + 495 - + + YES @@ -37896,7 +38518,7 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + @@ -37937,7 +38559,8 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 1636 - + + YES @@ -37947,7 +38570,7 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + @@ -37968,65 +38591,71 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 627 - + + YES - + 575 - + + YES - + 678 - + + YES - + 600 - + + YES - + 1896 - + + YES - + 638 - + + YES @@ -38044,13 +38673,14 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + 567 - + + YES @@ -38059,13 +38689,14 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + 568 - + + YES @@ -38073,16 +38704,17 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + 1366 - + + YES - + @@ -38263,7 +38895,8 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 1587 - + + YES @@ -38279,17 +38912,18 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + 1588 - + + YES - + @@ -38360,9 +38994,10 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 1948 - + + YES - + @@ -38388,9 +39023,10 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 1950 - + + YES - + @@ -38446,10 +39082,11 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 1637 - + + YES - + @@ -38460,9 +39097,10 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 1629 - + + YES - + @@ -38495,86 +39133,29 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - - 1428 - - - - - 1537 - - - - - 1826 - - - - - - - - - - - - - - - - - - - - - - - - 1424 - - - - - 1591 - - - - - 1411 - - - - - 1825 - - - - - - - - 266 - + + YES - + 1824 - + + YES - + @@ -38590,12 +39171,13 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 1995 - + + YES - + @@ -38626,19 +39208,21 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 1638 - + + YES - + 1635 - + + YES @@ -38647,7 +39231,7 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + @@ -39488,9 +40072,10 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 687 - + + YES - + @@ -39521,9 +40106,10 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 611 - + + YES - + @@ -39789,17 +40375,19 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 1586 - + + YES - + 1569 - + + YES - + @@ -39865,113 +40453,14 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 1626 - + + YES - + - - 1426 - - - - - 1412 - - - - - 1429 - - - - - 1402 - - - - - 1413 - - - - - 1425 - - - - - 1422 - - - - - 1427 - - - - - 1410 - - - - - 1409 - - - - - 1417 - - - - - 1437 - - - - - 1416 - - - - - 1420 - - - - - 1408 - - - - - 1419 - - - - - 1415 - - - - - 1406 - - - - - 1430 - - - - - 1423 - - - 1819 @@ -39980,9 +40469,10 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 1820 - + + YES - + @@ -40013,9 +40503,10 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 1509 - + + YES - + @@ -40026,17 +40517,19 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 1156 - + + YES - + 1149 - + + YES - + @@ -40052,9 +40545,10 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 1165 - + + YES - + @@ -40065,9 +40559,10 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 1152 - + + YES - + @@ -40078,19 +40573,21 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 688 - + + YES - + 612 - + + YES @@ -40099,31 +40596,33 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + 1578 - + + YES - + 1572 - + + YES - + @@ -40144,69 +40643,75 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 1821 - + + YES - + 1510 - + + YES - + 1143 - + + YES - + 1167 - + + YES - + 1153 - + + YES - + 1161 - + + YES - + @@ -40477,38 +40982,42 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 2301 - + + YES - + 1756 - + + YES - + 1770 - + + YES - + 1757 - + + YES @@ -40521,7 +41030,7 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + @@ -40532,7 +41041,8 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 1801 - + + YES @@ -40545,13 +41055,14 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + 1788 - + + YES @@ -40564,13 +41075,14 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + 1775 - + + YES @@ -40583,7 +41095,7 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + @@ -40844,28 +41356,31 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 2302 - + + YES - + 1698 - + + YES - + 1712 - + + YES @@ -40878,23 +41393,25 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + 1751 - + + YES - + 1699 - + + YES @@ -40907,13 +41424,14 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + 1738 - + + YES @@ -40926,13 +41444,14 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + 1725 - + + YES @@ -40945,7 +41464,7 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + @@ -41211,15 +41730,17 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 2303 - + + YES - + 267 - + + YES @@ -41240,7 +41761,7 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + @@ -41326,9 +41847,10 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 279 - + + YES - + @@ -41349,7 +41871,8 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 280 - + + YES @@ -41369,7 +41892,7 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + @@ -41470,15 +41993,17 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 2304 - + + YES - + 268 - + + YES @@ -41497,7 +42022,7 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + @@ -41513,9 +42038,10 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 2147 - + + YES - + @@ -41536,9 +42062,10 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 303 - + + YES - + @@ -41589,9 +42116,10 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 2071 - + + YES - + @@ -41602,7 +42130,8 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 2072 - + + YES @@ -41613,7 +42142,7 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + @@ -41669,7 +42198,8 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 299 - + + YES @@ -41679,7 +42209,7 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + @@ -41730,14 +42260,15 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 2148 - + + YES - + @@ -41773,22 +42304,24 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 2305 - + + YES - + 269 - + + YES - + @@ -41814,9 +42347,10 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 314 - + + YES - + @@ -41827,7 +42361,8 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 315 - + + YES @@ -41835,7 +42370,7 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + @@ -41876,15 +42411,17 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 2306 - + + YES - + 397 - + + YES @@ -41896,7 +42433,7 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + @@ -41907,9 +42444,10 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 1827 - + + YES - + @@ -41960,7 +42498,8 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 1828 - + + YES @@ -41968,7 +42507,7 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + @@ -42009,15 +42548,17 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 2307 - + + YES - + 881 - + + YES @@ -42029,7 +42570,7 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + @@ -42087,15 +42628,36 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + + + YES + + YES + 1837.windowTemplate.hasMinSize + 1837.windowTemplate.minSize + + + YES + + {555, 272} + + + + YES + + + YES + - - - {555, 272} - - - + + YES + + + YES + + 2307 @@ -42104,10 +42666,14 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA IBCarbonFramework com.apple.InterfaceBuilder.CarbonPlugin.macosx - + + + + com.apple.InterfaceBuilder.CarbonPlugin.InterfaceBuilder3 + YES - ../snes9x.xcodeproj + ../cocoatest.xcodeproj 3 diff --git a/macosx/English.lproj/musicbox.xib b/macosx/English.lproj/musicbox.xib new file mode 100644 index 00000000..f955ffcb --- /dev/null +++ b/macosx/English.lproj/musicbox.xib @@ -0,0 +1,2171 @@ + + + + 1040 + 10J869 + 851 + 1038.35 + 461.00 + + com.apple.InterfaceBuilder.CocoaPlugin + 851 + + + YES + + + YES + com.apple.InterfaceBuilder.CocoaPlugin + + + YES + + YES + + + YES + + + + YES + + MusicBoxController + + + FirstResponder + + + NSApplication + + + 7 + 2 + {{100, 100}, {352, 242}} + 1685586944 + Music Box + NSWindow + + {352, 242} + {352, 61} + + + 256 + + YES + + + 268 + + YES + + YES + Apple PDF pasteboard type + Apple PICT pasteboard type + Apple PNG pasteboard type + NSFilenamesPboardType + NeXT Encapsulated PostScript v1.2 pasteboard type + NeXT TIFF v4.0 pasteboard type + + + {{30, 37}, {262, 142}} + + + YES + + 130560 + 33554432 + + NSImage + musicbox_indicator + + 0 + 2 + 0 + NO + + YES + + + + 268 + {{302, 158}, {30, 22}} + + + YES + + 67239424 + 134217728 + + + LucidaGrande + 13 + 1044 + + + 918831359 + 34 + + NSImage + musicbox_pause + + + + 400 + 75 + + + + + 268 + {{302, 134}, {30, 22}} + + + YES + + 67239424 + 134217728 + + + + -2033958657 + 34 + + NSImage + musicbox_rewind + + + + 400 + 75 + + + + + 268 + {{302, 110}, {30, 22}} + + + YES + + 67239424 + 134217728 + + + + -2033958657 + 34 + + NSImage + musicbox_effect + + + + 400 + 75 + + + + + 268 + {{36, 43}, {250, 130}} + + + MusicBoxIndicatorView + + + + 268 + {{41, 19}, {12, 14}} + + + YES + + 67239424 + 134217728 + + + + 918831359 + 34 + + + 400 + 75 + + + + + 268 + {{111, 19}, {12, 14}} + + + 5 + YES + + 67239424 + 134217728 + + + + 918831359 + 34 + + + 400 + 75 + + + + + 268 + {{55, 19}, {12, 14}} + + + 1 + YES + + 67239424 + 134217728 + + + + 918831359 + 34 + + + 400 + 75 + + + + + 268 + {{69, 19}, {12, 14}} + + + 2 + YES + + 67239424 + 134217728 + + + + 918831359 + 34 + + + 400 + 75 + + + + + 268 + {{83, 19}, {12, 14}} + + + 3 + YES + + 67239424 + 134217728 + + + + 918831359 + 34 + + + 400 + 75 + + + + + 268 + {{97, 19}, {12, 14}} + + + 4 + YES + + 67239424 + 134217728 + + + + 918831359 + 34 + + + 400 + 75 + + + + + 268 + {{139, 19}, {12, 14}} + + + 7 + YES + + 67239424 + 134217728 + + + + 918831359 + 34 + + + 400 + 75 + + + + + 268 + {{125, 19}, {12, 14}} + + + 6 + YES + + 67239424 + 134217728 + + + + 918831359 + 34 + + + 400 + 75 + + + + + 268 + {{171, 19}, {12, 14}} + + + 8 + YES + + 67239424 + 134217728 + + + + 918831359 + 34 + + + 400 + 75 + + + + + 268 + {{241, 19}, {12, 14}} + + + 13 + YES + + 67239424 + 134217728 + + + + 918831359 + 34 + + + 400 + 75 + + + + + 268 + {{185, 19}, {12, 14}} + + + 9 + YES + + 67239424 + 134217728 + + + + 918831359 + 34 + + + 400 + 75 + + + + + 268 + {{199, 19}, {12, 14}} + + + 10 + YES + + 67239424 + 134217728 + + + + 918831359 + 34 + + + 400 + 75 + + + + + 268 + {{213, 19}, {12, 14}} + + + 11 + YES + + 67239424 + 134217728 + + + + 918831359 + 34 + + + 400 + 75 + + + + + 268 + {{227, 19}, {12, 14}} + + + 12 + YES + + 67239424 + 134217728 + + + + 918831359 + 34 + + + 400 + 75 + + + + + 268 + {{269, 19}, {12, 14}} + + + 15 + YES + + 67239424 + 134217728 + + + + 918831359 + 34 + + + 400 + 75 + + + + + 268 + {{255, 19}, {12, 14}} + + + 14 + YES + + 67239424 + 134217728 + + + + 918831359 + 34 + + + 400 + 75 + + + + + 268 + {{307, 198}, {29, 26}} + + + YES + + -2080244224 + 134217728 + + + + 918831359 + 38 + + + 400 + 75 + + + + + 268 + + YES + + YES + Apple PDF pasteboard type + Apple PICT pasteboard type + Apple PNG pasteboard type + NSFilenamesPboardType + NeXT Encapsulated PostScript v1.2 pasteboard type + NeXT TIFF v4.0 pasteboard type + + + {{153, 18}, {16, 16}} + + + YES + + 130560 + 33554432 + + NSImage + musicbox_ledoff + + 0 + 0 + 0 + NO + + YES + + + + 268 + {{17, 203}, {58, 17}} + + + YES + + 67239488 + 272635904 + Playing : + + + YES + 1 + + 6 + System + controlColor + + 3 + MC42NjY2NjY2ODY1AA + + + + 6 + System + controlTextColor + + 3 + MAA + + + + + + + 268 + {{77, 203}, {218, 17}} + + + YES + + 67239488 + 272635904 + Game Title + + + YES + 1 + + + + + + {352, 242} + + + + {{0, 0}, {1440, 878}} + {352, 83} + {352, 264} + + + + + + YES + + + disclosure + + + + 93 + + + + rewind + + + + 95 + + + + gametitle + + + + 113 + + + + indicator + + + + 114 + + + + led + + + + 115 + + + + window + + + + 116 + + + + handlePauseButton: + + + + 123 + + + + handleRewindButton: + + + + 124 + + + + handleEffectButton: + + + + 125 + + + + handleDisclosureButton: + + + + 126 + + + + handleChannelButton: + + + + 127 + + + + handleChannelButton: + + + + 129 + + + + handleChannelButton: + + + + 130 + + + + handleChannelButton: + + + + 131 + + + + handleChannelButton: + + + + 132 + + + + handleChannelButton: + + + + 133 + + + + handleChannelButton: + + + + 134 + + + + handleChannelButton: + + + + 135 + + + + handleChannelButton: + + + + 136 + + + + handleChannelButton: + + + + 137 + + + + handleChannelButton: + + + + 138 + + + + handleChannelButton: + + + + 139 + + + + handleChannelButton: + + + + 140 + + + + handleChannelButton: + + + + 141 + + + + handleChannelButton: + + + + 142 + + + + handleChannelButton: + + + + 143 + + + + delegate + + + + 146 + + + + + YES + + 0 + + + + + + -2 + + + File's Owner + + + -1 + + + First Responder + + + -3 + + + Application + + + 2 + + + YES + + + + + + 3 + + + YES + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + YES + + + + + 14 + + + YES + + + + + + 15 + + + + + 26 + + + YES + + + + + + 27 + + + + + 28 + + + YES + + + + + + 29 + + + + + 30 + + + YES + + + + + + 31 + + + + + 32 + + + YES + + + + + + 33 + + + + + 34 + + + YES + + + + + + 35 + + + + + 36 + + + YES + + + + + + 37 + + + + + 38 + + + YES + + + + + + 39 + + + + + 40 + + + YES + + + + + + 41 + + + YES + + + + + + 42 + + + YES + + + + + + 43 + + + YES + + + + + + 44 + + + YES + + + + + + 45 + + + YES + + + + + + 46 + + + YES + + + + + + 47 + + + YES + + + + + + 48 + + + + + 49 + + + + + 50 + + + + + 51 + + + + + 52 + + + + + 53 + + + + + 54 + + + + + 55 + + + + + 62 + + + YES + + + + + + 63 + + + + + 64 + + + YES + + + + + + 65 + + + + + 66 + + + YES + + + + + + 67 + + + + + 68 + + + YES + + + + + + 69 + + + + + 70 + + + YES + + + + + + 71 + + + + + 72 + + + YES + + + + + + 73 + + + + + 6 + + + YES + + + + + + 7 + + + + + 120 + + + YES + + + + + + 121 + + + + + + + YES + + YES + -1.IBPluginDependency + -2.IBPluginDependency + -3.IBPluginDependency + 1.IBEditorWindowLastContentRect + 1.IBPluginDependency + 1.IBViewBoundsToFrameTransform + 1.WindowOrigin + 1.editorWindowContentRectSynchronizationRect + 120.IBPluginDependency + 120.IBViewBoundsToFrameTransform + 120.IBViewIntegration.shadowColor + 121.IBPluginDependency + 14.IBPluginDependency + 14.IBViewBoundsToFrameTransform + 15.IBPluginDependency + 2.IBEditorWindowLastContentRect + 2.IBPluginDependency + 2.IBWindowTemplateEditedContentRect + 2.NSWindowTemplate.visibleAtLaunch + 2.windowTemplate.hasMaxSize + 2.windowTemplate.hasMinSize + 2.windowTemplate.maxSize + 2.windowTemplate.minSize + 26.IBPluginDependency + 26.IBViewBoundsToFrameTransform + 27.IBPluginDependency + 28.IBPluginDependency + 28.IBViewBoundsToFrameTransform + 29.IBPluginDependency + 3.IBPluginDependency + 30.IBPluginDependency + 30.IBViewBoundsToFrameTransform + 31.IBPluginDependency + 32.IBPluginDependency + 32.IBViewBoundsToFrameTransform + 33.IBPluginDependency + 34.IBPluginDependency + 34.IBViewBoundsToFrameTransform + 35.IBPluginDependency + 36.IBPluginDependency + 36.IBViewBoundsToFrameTransform + 37.IBPluginDependency + 38.IBPluginDependency + 38.IBViewBoundsToFrameTransform + 39.IBPluginDependency + 40.IBPluginDependency + 40.IBViewBoundsToFrameTransform + 41.IBPluginDependency + 41.IBViewBoundsToFrameTransform + 42.IBPluginDependency + 42.IBViewBoundsToFrameTransform + 43.IBPluginDependency + 43.IBViewBoundsToFrameTransform + 44.IBPluginDependency + 44.IBViewBoundsToFrameTransform + 45.IBPluginDependency + 45.IBViewBoundsToFrameTransform + 46.IBPluginDependency + 46.IBViewBoundsToFrameTransform + 47.IBPluginDependency + 47.IBViewBoundsToFrameTransform + 48.IBPluginDependency + 49.IBPluginDependency + 50.IBPluginDependency + 51.IBPluginDependency + 52.IBPluginDependency + 53.IBPluginDependency + 54.IBPluginDependency + 55.IBPluginDependency + 6.IBPluginDependency + 6.IBViewBoundsToFrameTransform + 62.IBPluginDependency + 62.IBViewBoundsToFrameTransform + 63.IBPluginDependency + 64.IBPluginDependency + 64.IBViewBoundsToFrameTransform + 65.IBPluginDependency + 66.IBPluginDependency + 66.IBViewBoundsToFrameTransform + 67.IBPluginDependency + 68.IBPluginDependency + 68.IBViewBoundsToFrameTransform + 69.IBPluginDependency + 7.IBPluginDependency + 70.IBPluginDependency + 70.IBViewBoundsToFrameTransform + 71.IBPluginDependency + 72.IBPluginDependency + 72.IBViewBoundsToFrameTransform + 73.IBPluginDependency + + + YES + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + {{0, 573}, {480, 272}} + com.apple.InterfaceBuilder.CocoaPlugin + + AUIQAABCMAAAA + + {628, 654} + {{357, 416}, {480, 272}} + com.apple.InterfaceBuilder.CocoaPlugin + + AUOaAAAAAAAAA + + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABCCAAAwbgAAA + + com.apple.InterfaceBuilder.CocoaPlugin + {{8, 606}, {352, 242}} + com.apple.InterfaceBuilder.CocoaPlugin + {{8, 606}, {352, 242}} + + + + {352, 242} + {352, 61} + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABC0AAAwbgAAA + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABCQAAAwbgAAA + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABCeAAAwbgAAA + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABCmAAAwbgAAA + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABCtAAAwbgAAA + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABDBAAAwbgAAA + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABC7AAAwbgAAA + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABDJQAAwbgAAA + + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABDawAAwbgAAA + + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABDMwAAwbgAAA + + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABDQQAAwbgAAA + + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABDTwAAwbgAAA + + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABDXQAAwbgAAA + + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABDg4AAwbgAAA + + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABDeQAAwbgAAA + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABDlwAAwy0AAA + + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABDlwAAw1QAAA + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + AUMZAABBkAAAA + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABBiAAAw1oAAA + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABDlwAAwx4AAA + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABDlwAAwwAAAA + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABCmgAAw1oAAA + + com.apple.InterfaceBuilder.CocoaPlugin + + + + YES + + + YES + + + + + YES + + + YES + + + + 150 + + + + YES + + MusicBoxController + NSObject + + YES + + YES + handleChannelButton: + handleDisclosureButton: + handleEffectButton: + handlePauseButton: + handleRewindButton: + + + YES + id + id + id + id + id + + + + YES + + YES + handleChannelButton: + handleDisclosureButton: + handleEffectButton: + handlePauseButton: + handleRewindButton: + + + YES + + handleChannelButton: + id + + + handleDisclosureButton: + id + + + handleEffectButton: + id + + + handlePauseButton: + id + + + handleRewindButton: + id + + + + + YES + + YES + disclosure + gametitle + indicator + led + rewind + window + + + YES + id + id + id + id + id + id + + + + YES + + YES + disclosure + gametitle + indicator + led + rewind + window + + + YES + + disclosure + id + + + gametitle + id + + + indicator + id + + + led + id + + + rewind + id + + + window + id + + + + + IBProjectSource + mac-musicbox.h + + + + MusicBoxController + NSObject + + IBUserSource + + + + + MusicBoxIndicatorView + NSView + + + + + YES + + NSActionCell + NSCell + + IBFrameworkSource + AppKit.framework/Headers/NSActionCell.h + + + + NSApplication + NSResponder + + IBFrameworkSource + AppKit.framework/Headers/NSApplication.h + + + + NSApplication + + IBFrameworkSource + AppKit.framework/Headers/NSApplicationScripting.h + + + + NSApplication + + IBFrameworkSource + AppKit.framework/Headers/NSColorPanel.h + + + + NSApplication + + IBFrameworkSource + AppKit.framework/Headers/NSHelpManager.h + + + + NSApplication + + IBFrameworkSource + AppKit.framework/Headers/NSPageLayout.h + + + + NSApplication + + IBFrameworkSource + AppKit.framework/Headers/NSUserInterfaceItemSearching.h + + + + NSButton + NSControl + + IBFrameworkSource + AppKit.framework/Headers/NSButton.h + + + + NSButtonCell + NSActionCell + + IBFrameworkSource + AppKit.framework/Headers/NSButtonCell.h + + + + NSCell + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSCell.h + + + + NSControl + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSControl.h + + + + NSFormatter + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSFormatter.h + + + + NSImageCell + NSCell + + IBFrameworkSource + AppKit.framework/Headers/NSImageCell.h + + + + NSImageView + NSControl + + IBFrameworkSource + AppKit.framework/Headers/NSImageView.h + + + + NSMenu + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSMenu.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSAccessibility.h + + + + NSObject + + + + NSObject + + + + NSObject + + + + NSObject + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSDictionaryController.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSDragging.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSFontManager.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSFontPanel.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSKeyValueBinding.h + + + + NSObject + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSNibLoading.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSOutlineView.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSPasteboard.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSSavePanel.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSTableView.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSToolbarItem.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSView.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSArchiver.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSClassDescription.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSError.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSFileManager.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSKeyValueCoding.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSKeyValueObserving.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSKeyedArchiver.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSObject.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSObjectScripting.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSPortCoder.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSRunLoop.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSScriptClassDescription.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSScriptKeyValueCoding.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSScriptObjectSpecifiers.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSScriptWhoseTests.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSThread.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSURL.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSURLConnection.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSURLDownload.h + + + + NSObject + + IBFrameworkSource + QuartzCore.framework/Headers/CAAnimation.h + + + + NSObject + + IBFrameworkSource + QuartzCore.framework/Headers/CALayer.h + + + + NSObject + + IBFrameworkSource + QuartzCore.framework/Headers/CIImageProvider.h + + + + NSResponder + + IBFrameworkSource + AppKit.framework/Headers/NSInterfaceStyle.h + + + + NSResponder + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSResponder.h + + + + NSTextField + NSControl + + IBFrameworkSource + AppKit.framework/Headers/NSTextField.h + + + + NSTextFieldCell + NSActionCell + + IBFrameworkSource + AppKit.framework/Headers/NSTextFieldCell.h + + + + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSClipView.h + + + + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSMenuItem.h + + + + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSRulerView.h + + + + NSView + NSResponder + + + + NSWindow + + IBFrameworkSource + AppKit.framework/Headers/NSDrawer.h + + + + NSWindow + NSResponder + + IBFrameworkSource + AppKit.framework/Headers/NSWindow.h + + + + NSWindow + + IBFrameworkSource + AppKit.framework/Headers/NSWindowScripting.h + + + + + 0 + IBCocoaFramework + + com.apple.InterfaceBuilder.CocoaPlugin.macosx + + + + com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3 + + + YES + ../cocoatest.xcodeproj + 3 + + YES + + YES + musicbox_effect + musicbox_indicator + musicbox_ledoff + musicbox_pause + musicbox_rewind + + + YES + {16, 16} + {262, 142} + {16, 16} + {16, 16} + {16, 16} + + + + diff --git a/macosx/docs/FAQ.rtf b/macosx/docs/FAQ.rtf index bc475465..b8154b44 100644 --- a/macosx/docs/FAQ.rtf +++ b/macosx/docs/FAQ.rtf @@ -1,7 +1,7 @@ -{\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf250 +{\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf350 {\fonttbl\f0\fnil\fcharset0 LucidaGrande;} {\colortbl;\red255\green255\blue255;\red153\green102\blue51;\red0\green0\blue255;} -\paperw11900\paperh16840\margl1440\margr1440\vieww11500\viewh12780\viewkind0 +\paperw11900\paperh16840\margl1440\margr1440\vieww11500\viewh12340\viewkind0 \pard\tx285\tx1133\tx1700\tx2266\tx2832\tx3401\tx3967\tx4535\tx5102\tx5669\tx6235\tx6802\ql\qnatural \f0\fs24 \cf0 \ @@ -16,9 +16,6 @@ \b0\fs24 \cf0 \ \ \pard\tx285\tx1133\tx1700\tx2266\tx2832\tx3401\tx3967\tx4535\tx5102\tx5669\tx6235\tx6802\ql\qnatural -\cf3 Files created by Snes9x\cf0 \ - These files are compatible, except for the extension of the snapshot file. The only one difference is that the Mac port puts the thumbnail screenshot into the resource fork of .frz and .smv files, but the resource fork is usually deleted or separated when you send these files to your friends who don't use Mac.\ -\ \cf3 Key mapping\cf0 \ The default settings of key mapping are different. For example, the A-button is the command key on Mac, while it's the D key in Windows.\ \ diff --git a/macosx/icons.png b/macosx/icons.png index 0fb973bc..11beac8a 100644 Binary files a/macosx/icons.png and b/macosx/icons.png differ diff --git a/macosx/libz_u.a b/macosx/libz_u.a index 82761c5f..6bd032ef 100644 Binary files a/macosx/libz_u.a and b/macosx/libz_u.a differ diff --git a/macosx/logo_defrost.png b/macosx/logo_defrost.png index fea4873d..208704dd 100644 Binary files a/macosx/logo_defrost.png and b/macosx/logo_defrost.png differ diff --git a/macosx/logo_freeze.png b/macosx/logo_freeze.png index 3ea50877..8d6eaa0b 100644 Binary files a/macosx/logo_freeze.png and b/macosx/logo_freeze.png differ diff --git a/macosx/mac-appleevent.cpp b/macosx/mac-appleevent.cpp old mode 100644 new mode 100755 index 2c8a2b18..c0fa21e5 --- a/macosx/mac-appleevent.cpp +++ b/macosx/mac-appleevent.cpp @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-appleevent.h b/macosx/mac-appleevent.h old mode 100644 new mode 100755 index e3013d9b..2c0b9464 --- a/macosx/mac-appleevent.h +++ b/macosx/mac-appleevent.h @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-audio.h b/macosx/mac-audio.h index e08bf9aa..f1bbace2 100644 --- a/macosx/mac-audio.h +++ b/macosx/mac-audio.h @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-audio.cpp b/macosx/mac-audio.mm similarity index 99% rename from macosx/mac-audio.cpp rename to macosx/mac-audio.mm index ac64dd8a..5db28d00 100644 --- a/macosx/mac-audio.cpp +++ b/macosx/mac-audio.mm @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander @@ -191,6 +191,7 @@ #include "snes9x.h" #include "apu.h" +#include #include #include #include diff --git a/macosx/mac-cart.h b/macosx/mac-cart.h index 8d07f555..fd53d5fe 100755 --- a/macosx/mac-cart.h +++ b/macosx/mac-cart.h @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-cart.mm b/macosx/mac-cart.mm index bd860ab7..21597734 100755 --- a/macosx/mac-cart.mm +++ b/macosx/mac-cart.mm @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-cheat.cpp b/macosx/mac-cheat.cpp old mode 100644 new mode 100755 index 18b72610..2cba1955 --- a/macosx/mac-cheat.cpp +++ b/macosx/mac-cheat.cpp @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-cheat.h b/macosx/mac-cheat.h old mode 100644 new mode 100755 index 5e1a2d29..a137b9cc --- a/macosx/mac-cheat.h +++ b/macosx/mac-cheat.h @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-cheatfinder.cpp b/macosx/mac-cheatfinder.cpp index 01187e81..5ead9830 100755 --- a/macosx/mac-cheatfinder.cpp +++ b/macosx/mac-cheatfinder.cpp @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-cheatfinder.h b/macosx/mac-cheatfinder.h old mode 100644 new mode 100755 index 536b530c..6814bc9c --- a/macosx/mac-cheatfinder.h +++ b/macosx/mac-cheatfinder.h @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-client.cpp b/macosx/mac-client.cpp index 19763eb5..75ae9345 100644 --- a/macosx/mac-client.cpp +++ b/macosx/mac-client.cpp @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-client.h b/macosx/mac-client.h index 20d2fae0..38aff0a7 100644 --- a/macosx/mac-client.h +++ b/macosx/mac-client.h @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-cocoatools.h b/macosx/mac-cocoatools.h index 460e85f6..ff34834b 100644 --- a/macosx/mac-cocoatools.h +++ b/macosx/mac-cocoatools.h @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-cocoatools.mm b/macosx/mac-cocoatools.mm index 05a60f3d..d2774cca 100644 --- a/macosx/mac-cocoatools.mm +++ b/macosx/mac-cocoatools.mm @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-controls.cpp b/macosx/mac-controls.cpp index 919fb7c9..a2291b78 100644 --- a/macosx/mac-controls.cpp +++ b/macosx/mac-controls.cpp @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-controls.h b/macosx/mac-controls.h index 10daba6a..a849852e 100644 --- a/macosx/mac-controls.h +++ b/macosx/mac-controls.h @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-coreimage.h b/macosx/mac-coreimage.h index fd4b436f..46588678 100644 --- a/macosx/mac-coreimage.h +++ b/macosx/mac-coreimage.h @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-coreimage.mm b/macosx/mac-coreimage.mm index 741c33e1..06626ed4 100644 --- a/macosx/mac-coreimage.mm +++ b/macosx/mac-coreimage.mm @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-dialog.cpp b/macosx/mac-dialog.cpp old mode 100644 new mode 100755 index 8fa3c8e7..a1655af7 --- a/macosx/mac-dialog.cpp +++ b/macosx/mac-dialog.cpp @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-dialog.h b/macosx/mac-dialog.h index 4d7b9dbc..0dd9b407 100755 --- a/macosx/mac-dialog.h +++ b/macosx/mac-dialog.h @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-file.cpp b/macosx/mac-file.cpp index 35a6df67..cbb4f7dd 100644 --- a/macosx/mac-file.cpp +++ b/macosx/mac-file.cpp @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-file.h b/macosx/mac-file.h index aa6773cc..a6696ad8 100644 --- a/macosx/mac-file.h +++ b/macosx/mac-file.h @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-global_prefix.h b/macosx/mac-global_prefix.h index 8e98e089..97cfa636 100644 --- a/macosx/mac-global_prefix.h +++ b/macosx/mac-global_prefix.h @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-gworld.cpp b/macosx/mac-gworld.cpp old mode 100644 new mode 100755 index cddcfb9c..6fe19423 --- a/macosx/mac-gworld.cpp +++ b/macosx/mac-gworld.cpp @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-gworld.h b/macosx/mac-gworld.h old mode 100644 new mode 100755 index 87b1e100..026c60ce --- a/macosx/mac-gworld.h +++ b/macosx/mac-gworld.h @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-joypad.cpp b/macosx/mac-joypad.cpp old mode 100644 new mode 100755 index c2b8f5b2..4bd6acc1 --- a/macosx/mac-joypad.cpp +++ b/macosx/mac-joypad.cpp @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-joypad.h b/macosx/mac-joypad.h old mode 100644 new mode 100755 index 4cdf19cb..71dfb499 --- a/macosx/mac-joypad.h +++ b/macosx/mac-joypad.h @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-keyboard.cpp b/macosx/mac-keyboard.cpp old mode 100644 new mode 100755 index b8377e07..d02e12db --- a/macosx/mac-keyboard.cpp +++ b/macosx/mac-keyboard.cpp @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-keyboard.h b/macosx/mac-keyboard.h old mode 100644 new mode 100755 index c10e76dd..57aa04f6 --- a/macosx/mac-keyboard.h +++ b/macosx/mac-keyboard.h @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-multicart.cpp b/macosx/mac-multicart.cpp index ff6e1ba9..0441292b 100644 --- a/macosx/mac-multicart.cpp +++ b/macosx/mac-multicart.cpp @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-multicart.h b/macosx/mac-multicart.h index a7ed7018..9e5500ce 100644 --- a/macosx/mac-multicart.h +++ b/macosx/mac-multicart.h @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-musicbox.cpp b/macosx/mac-musicbox.cpp deleted file mode 100755 index 644f8122..00000000 --- a/macosx/mac-musicbox.cpp +++ /dev/null @@ -1,867 +0,0 @@ -/*********************************************************************************** - Snes9x - Portable Super Nintendo Entertainment System (TM) emulator. - - (c) Copyright 1996 - 2002 Gary Henderson (gary.henderson@ntlworld.com), - Jerremy Koot (jkoot@snes9x.com) - - (c) Copyright 2002 - 2004 Matthew Kendora - - (c) Copyright 2002 - 2005 Peter Bortas (peter@bortas.org) - - (c) Copyright 2004 - 2005 Joel Yliluoma (http://iki.fi/bisqwit/) - - (c) Copyright 2001 - 2006 John Weidman (jweidman@slip.net) - - (c) Copyright 2002 - 2006 funkyass (funkyass@spam.shaw.ca), - Kris Bleakley (codeviolation@hotmail.com) - - (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), - Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) - - (c) Copyright 2006 - 2007 nitsuja - - (c) Copyright 2009 - 2010 BearOso, - OV2 - - - BS-X C emulator code - (c) Copyright 2005 - 2006 Dreamer Nom, - zones - - C4 x86 assembler and some C emulation code - (c) Copyright 2000 - 2003 _Demo_ (_demo_@zsnes.com), - Nach, - zsKnight (zsknight@zsnes.com) - - C4 C++ code - (c) Copyright 2003 - 2006 Brad Jorsch, - Nach - - DSP-1 emulator code - (c) Copyright 1998 - 2006 _Demo_, - Andreas Naive (andreasnaive@gmail.com), - Gary Henderson, - Ivar (ivar@snes9x.com), - John Weidman, - Kris Bleakley, - Matthew Kendora, - Nach, - neviksti (neviksti@hotmail.com) - - DSP-2 emulator code - (c) Copyright 2003 John Weidman, - Kris Bleakley, - Lord Nightmare (lord_nightmare@users.sourceforge.net), - Matthew Kendora, - neviksti - - DSP-3 emulator code - (c) Copyright 2003 - 2006 John Weidman, - Kris Bleakley, - Lancer, - z80 gaiden - - DSP-4 emulator code - (c) Copyright 2004 - 2006 Dreamer Nom, - John Weidman, - Kris Bleakley, - Nach, - z80 gaiden - - OBC1 emulator code - (c) Copyright 2001 - 2004 zsKnight, - pagefault (pagefault@zsnes.com), - Kris Bleakley - Ported from x86 assembler to C by sanmaiwashi - - SPC7110 and RTC C++ emulator code used in 1.39-1.51 - (c) Copyright 2002 Matthew Kendora with research by - zsKnight, - John Weidman, - Dark Force - - SPC7110 and RTC C++ emulator code used in 1.52+ - (c) Copyright 2009 byuu, - neviksti - - S-DD1 C emulator code - (c) Copyright 2003 Brad Jorsch with research by - Andreas Naive, - John Weidman - - S-RTC C emulator code - (c) Copyright 2001 - 2006 byuu, - John Weidman - - ST010 C++ emulator code - (c) Copyright 2003 Feather, - John Weidman, - Kris Bleakley, - Matthew Kendora - - Super FX x86 assembler emulator code - (c) Copyright 1998 - 2003 _Demo_, - pagefault, - zsKnight - - Super FX C emulator code - (c) Copyright 1997 - 1999 Ivar, - Gary Henderson, - John Weidman - - Sound emulator code used in 1.5-1.51 - (c) Copyright 1998 - 2003 Brad Martin - (c) Copyright 1998 - 2006 Charles Bilyue' - - Sound emulator code used in 1.52+ - (c) Copyright 2004 - 2007 Shay Green (gblargg@gmail.com) - - SH assembler code partly based on x86 assembler code - (c) Copyright 2002 - 2004 Marcus Comstedt (marcus@mc.pp.se) - - 2xSaI filter - (c) Copyright 1999 - 2001 Derek Liauw Kie Fa - - HQ2x, HQ3x, HQ4x filters - (c) Copyright 2003 Maxim Stepin (maxim@hiend3d.com) - - NTSC filter - (c) Copyright 2006 - 2007 Shay Green - - GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso - - Win32 GUI code - (c) Copyright 2003 - 2006 blip, - funkyass, - Matthew Kendora, - Nach, - nitsuja - (c) Copyright 2009 - 2010 OV2 - - Mac OS GUI code - (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones - - - Specific ports contains the works of other authors. See headers in - individual files. - - - Snes9x homepage: http://www.snes9x.com/ - - Permission to use, copy, modify and/or distribute Snes9x in both binary - and source form, for non-commercial purposes, is hereby granted without - fee, providing that this license information and copyright notice appear - with all copies and any derived work. - - This software is provided 'as-is', without any express or implied - warranty. In no event shall the authors be held liable for any damages - arising from the use of this software or it's derivatives. - - Snes9x is freeware for PERSONAL USE only. Commercial users should - seek permission of the copyright holders first. Commercial use includes, - but is not limited to, charging money for Snes9x or software derived from - Snes9x, including Snes9x or derivatives in commercial game bundles, and/or - using Snes9x as a promotion for your commercial product. - - The copyright holders request that bug fixes and improvements to the code - should be forwarded to them so everyone can benefit from the modifications - in future versions. - - Super NES and Super Nintendo Entertainment System are trademarks of - Nintendo Co., Limited and its subsidiary companies. - ***********************************************************************************/ - -/*********************************************************************************** - SNES9X for Mac OS (c) Copyright John Stiles - - Snes9x for Mac OS X - - (c) Copyright 2001 - 2010 zones - (c) Copyright 2002 - 2005 107 - (c) Copyright 2002 PB1400c - (c) Copyright 2004 Alexander and Sander - (c) Copyright 2004 - 2005 Steven Seeger - (c) Copyright 2005 Ryan Vogt - ***********************************************************************************/ - - -#include "snes9x.h" -#include "memmap.h" -#include "apu.h" -#include "snapshot.h" - -#include - -#include "mac-prefix.h" -#include "mac-audio.h" -#include "mac-dialog.h" -#include "mac-file.h" -#include "mac-os.h" -#include "mac-stringtools.h" -#include "mac-musicbox.h" - -const float mbxOffsetX = 0.0f, - mbxOffsetY = 0.0f, - mbxBarWidth = 12.0f, - mbxBarHeight = 128.0f, - mbxBarSpace = 2.0f, - mbxLRSpace = 20.0f, - mbxRightBarX = (mbxLRSpace + (mbxBarWidth * 8.0f + mbxBarSpace * 7.0f)), - yyscale = (float) (128.0 / sqrt(64.0)); - -extern char gMacRomName[ROM_NAME_LEN]; - -volatile Boolean mboxPause = false; - -static uint8 storedSoundSnapshot[SPC_SAVE_STATE_BLOCK_SIZE]; -static int32 oldCPUCycles; - -static short mbxOpenedHeight, mbxClosedHeight; -static float mbxMarginX, mbxMarginY, mbxViewWidth, mbxViewHeight; - -static short prevLMax[8], prevRMax[8]; -static short prevLVol[8], prevRVol[8]; -static long long barTimeL[8], barTimeR[8]; - -static pthread_t mbxThread; - -static uint16 stereo_switch; - -static volatile Boolean stopNow, showIndicator, mbxFinished, headPressed; - -static void SPCPlayExec (void); -static void SPCPlayFreeze (void); -static void SPCPlayDefrost (void); -static void MusicBoxForceFreeze (void); -static void MusicBoxForceDefrost (void); -static void MusicBoxInitIndicator (void); -static void MusicBoxDrawIndicator (HIViewRef, CGContextRef); -static void * SoundTask (void *); -static pascal void MusicBoxTimerHandler (EventLoopTimerRef, void *); -static pascal OSStatus MusicBoxEventHandler (EventHandlerCallRef, EventRef, void *); -static pascal OSStatus IndicatorEventHandler (EventHandlerCallRef, EventRef, void *); - - -void MusicBoxDialog (void) -{ - OSStatus err; - IBNibRef nibRef; - - if (!cartOpen) - return; - - err = CreateNibReference(kMacS9XCFString, &nibRef); - if (err == noErr) - { - CFURLRef iconURL; - FSRef iconFSRef; - IconRef actIcon; - WindowRef tWindowRef; - - actIcon = NULL; - - if (musicboxmode == kMBXSoundEmulation) - iconURL = CFBundleCopyResourceURL(CFBundleGetMainBundle(), CFSTR("musicbox_ledoff"), CFSTR("icns"), NULL); - else - iconURL = CFBundleCopyResourceURL(CFBundleGetMainBundle(), CFSTR("musicbox_ledon" ), CFSTR("icns"), NULL); - - if (iconURL) - { - if (CFURLGetFSRef(iconURL, &iconFSRef)) - err = RegisterIconRefFromFSRef('~9X~', 'micn', &iconFSRef, &actIcon); - - CFRelease(iconURL); - } - - err = CreateWindowFromNib(nibRef, CFSTR("MusicBox"), &tWindowRef); - if (err == noErr) - { - EventHandlerRef mboxRef, paneRef; - EventHandlerUPP mboxUPP, paneUPP; - EventLoopTimerRef timeRef; - EventLoopTimerUPP timeUPP; - EventTypeSpec mboxEvents[] = { { kEventClassCommand, kEventCommandProcess }, - { kEventClassCommand, kEventCommandUpdateStatus } }, - paneEvents[] = { { kEventClassControl, kEventControlDraw } }; - CFStringRef sref; - CGDataProviderRef prov; - CGImageRef ipng; - CFURLRef iurl; - ControlButtonContentInfo info; - HIViewRef ctl, root, paneView, imageView, contentView; - HIViewID cid; - HIRect bounds; - Rect windowRect, barRect; - char drive[_MAX_DRIVE + 1], dir[_MAX_DIR + 1], fname[_MAX_FNAME + 1], ext[_MAX_EXT + 1]; - - mboxPause = false; - mbxFinished = false; - showIndicator = false; - headPressed = false; - - stereo_switch = ~0; - spc_core->dsp_set_stereo_switch(stereo_switch); - - for (int i = 0; i < MAC_MAX_PLAYERS; i++) - controlPad[i] = 0; - - // 107's enhanced SPC player - - root = HIViewGetRoot(tWindowRef); - cid.id = 0; - - if (musicboxmode == kMBXSoundEmulation) - { - cid.signature = 'HEAD'; - HIViewFindByID(root, cid, &ctl); - EnableControl(ctl); - - SPCPlayFreeze(); - } - else - MusicBoxForceFreeze(); - - cid.signature = 'Kart'; - HIViewFindByID(root, cid, &ctl); - SetStaticTextTrunc(ctl, truncEnd, false); - _splitpath(Memory.ROMFilename, drive, dir, fname, ext); - sref = CFStringCreateWithCString(kCFAllocatorDefault, fname, kCFStringEncodingUTF8); - if (sref) - { - SetStaticTextCFString(ctl, sref, false); - CFRelease(sref); - } - - ipng = NULL; - - iurl = CFBundleCopyResourceURL(CFBundleGetMainBundle(), CFSTR("musicbox_indicator"), CFSTR("png"), NULL); - if (iurl) - { - prov = CGDataProviderCreateWithURL(iurl); - if (prov) - { - ipng = CGImageCreateWithPNGDataProvider(prov, NULL, false, kCGRenderingIntentDefault); - CGDataProviderRelease(prov); - } - - CFRelease(iurl); - } - - imageView = NULL; - - if (ipng) - { - HIViewFindByID(root, kHIViewWindowContentID, &contentView); - - err = HIImageViewCreate(ipng, &imageView); - if (err == noErr) - { - bounds = CGRectMake(30, 64, CGImageGetWidth(ipng), CGImageGetHeight(ipng)); - HIViewSetFrame(imageView, &bounds); - HIImageViewSetOpaque(imageView, false); - HIViewSetVisible(imageView, true); - HIViewAddSubview(contentView, imageView); - cid.signature = 'iMaG'; - SetControlID(imageView, &cid); - } - - CGImageRelease(ipng); - } - - cid.signature = 'Pane'; - HIViewFindByID(root, cid, &paneView); - HIViewGetBounds(paneView, &bounds); - mbxViewWidth = bounds.size.width; - mbxViewHeight = bounds.size.height; - mbxMarginY = (mbxViewHeight - mbxBarHeight) / 2.0f; - mbxMarginX = (mbxViewWidth - ((mbxBarWidth * 8.0f + mbxBarSpace * 7.0f) * 2.0f + mbxLRSpace)) / 2.0f; - - if (imageView) - { - HIViewSetZOrder(imageView, kHIViewZOrderBelow, paneView); - HIViewAddSubview(imageView, paneView); - } - - if (systemVersion >= 0x1040) - { - info.contentType = kControlContentCGImageRef; - cid.signature = 'Paus'; - HIViewFindByID(root, cid, &ctl); - info.u.imageRef = macIconImage[98]; - err = SetBevelButtonContentInfo(ctl, &info); - cid.signature = 'HEAD'; - HIViewFindByID(root, cid, &ctl); - info.u.imageRef = macIconImage[99]; - err = SetBevelButtonContentInfo(ctl, &info); - cid.signature = 'S_EF'; - HIViewFindByID(root, cid, &ctl); - info.u.imageRef = macIconImage[100]; - err = SetBevelButtonContentInfo(ctl, &info); - } - #ifdef MAC_PANTHER_SUPPORT - else - { - info.contentType = kControlContentIconRef; - cid.signature = 'Paus'; - HIViewFindByID(root, cid, &ctl); - info.u.iconRef = macIconRef[98]; - err = SetBevelButtonContentInfo(ctl, &info); - cid.signature = 'HEAD'; - HIViewFindByID(root, cid, &ctl); - info.u.iconRef = macIconRef[99]; - err = SetBevelButtonContentInfo(ctl, &info); - cid.signature = 'S_EF'; - HIViewFindByID(root, cid, &ctl); - info.u.iconRef = macIconRef[100]; - err = SetBevelButtonContentInfo(ctl, &info); - } - #endif - - cid.signature = 'Tr_i'; - HIViewFindByID(root, cid, &ctl); - HIViewGetFrame(ctl, &bounds); - GetWindowBounds(tWindowRef, kWindowTitleBarRgn, &barRect); - mbxClosedHeight = (short) (bounds.origin.y + bounds.size.height + 7.0) + (barRect.bottom - barRect.top); - - GetWindowBounds(tWindowRef, kWindowStructureRgn, &windowRect); - mbxOpenedHeight = windowRect.bottom - windowRect.top; - - windowRect.bottom = windowRect.top + mbxClosedHeight; - SetWindowBounds(tWindowRef, kWindowStructureRgn, &windowRect); - - paneUPP = NewEventHandlerUPP(IndicatorEventHandler); - err = InstallControlEventHandler(paneView, paneUPP, GetEventTypeCount(paneEvents), paneEvents, (void *) paneView, &paneRef); - - mboxUPP = NewEventHandlerUPP(MusicBoxEventHandler); - err = InstallWindowEventHandler(tWindowRef, mboxUPP, GetEventTypeCount(mboxEvents), mboxEvents, (void *) tWindowRef, &mboxRef); - - timeUPP = NewEventLoopTimerUPP(MusicBoxTimerHandler); - err = InstallEventLoopTimer(GetCurrentEventLoop(), kEventDurationNoWait, kEventDurationSecond * 2.0 / (double) Memory.ROMFramesPerSecond, timeUPP, (void *) paneView, &timeRef); - - MusicBoxInitIndicator(); - - stopNow = false; - MacStartSound(); - pthread_create(&mbxThread, NULL, SoundTask, NULL); - - MoveWindowPosition(tWindowRef, kWindowMusicBox, true); - GetWindowBounds(tWindowRef, kWindowStructureRgn, &windowRect); - if (windowRect.bottom - windowRect.top > mbxClosedHeight) - { - showIndicator = true; - SetControl32BitValue(ctl, 1); // Tr_i - } - - ShowWindow(tWindowRef); - err = RunAppModalLoopForWindow(tWindowRef); - HideWindow(tWindowRef); - SaveWindowPosition(tWindowRef, kWindowMusicBox); - - stopNow = true; - pthread_join(mbxThread, NULL); - MacStopSound(); - - err = RemoveEventLoopTimer(timeRef); - DisposeEventLoopTimerUPP(timeUPP); - - err = RemoveEventHandler(mboxRef); - DisposeEventHandlerUPP(mboxUPP); - - err = RemoveEventHandler(paneRef); - DisposeEventHandlerUPP(paneUPP); - - CFRelease(tWindowRef); - - stereo_switch = ~0; - spc_core->dsp_set_stereo_switch(stereo_switch); - - mbxFinished = true; - - if (musicboxmode == kMBXSoundEmulation) - SPCPlayDefrost(); - else - MusicBoxForceDefrost(); - } - - if (actIcon) - err = UnregisterIconRef('~9X~', 'micn'); - - DisposeNibReference(nibRef); - } -} - -static pascal OSStatus MusicBoxEventHandler (EventHandlerCallRef inHandlerCallRef, EventRef inEvent, void *userData) -{ - OSStatus err, result = eventNotHandledErr; - WindowRef tWindowRef = (WindowRef) userData; - - switch (GetEventClass(inEvent)) - { - case kEventClassCommand: - { - switch (GetEventKind(inEvent)) - { - HICommand cmd; - - case kEventCommandUpdateStatus: - { - err = GetEventParameter(inEvent, kEventParamDirectObject, typeHICommand, NULL, sizeof(HICommand), NULL, &cmd); - if (err == noErr && cmd.commandID == 'clos') - { - UpdateMenuCommandStatus(false); - result = noErr; - } - - break; - } - - case kEventCommandProcess: - { - err = GetEventParameter(inEvent, kEventParamDirectObject, typeHICommand, NULL, sizeof(HICommand), NULL, &cmd); - if (err == noErr) - { - HIViewRef root, c1, c2, c3, c4; - HIViewID cid; - Rect rct; - - switch (cmd.commandID) - { - case 'bar1': stereo_switch ^= (1 << 0); result = noErr; break; - case 'bar2': stereo_switch ^= (1 << 1); result = noErr; break; - case 'bar3': stereo_switch ^= (1 << 2); result = noErr; break; - case 'bar4': stereo_switch ^= (1 << 3); result = noErr; break; - case 'bar5': stereo_switch ^= (1 << 4); result = noErr; break; - case 'bar6': stereo_switch ^= (1 << 5); result = noErr; break; - case 'bar7': stereo_switch ^= (1 << 6); result = noErr; break; - case 'bar8': stereo_switch ^= (1 << 7); result = noErr; break; - case 'bar9': stereo_switch ^= (1 << 8); result = noErr; break; - case 'bara': stereo_switch ^= (1 << 9); result = noErr; break; - case 'barb': stereo_switch ^= (1 << 10); result = noErr; break; - case 'barc': stereo_switch ^= (1 << 11); result = noErr; break; - case 'bard': stereo_switch ^= (1 << 12); result = noErr; break; - case 'bare': stereo_switch ^= (1 << 13); result = noErr; break; - case 'barf': stereo_switch ^= (1 << 14); result = noErr; break; - case 'bar0': stereo_switch ^= (1 << 15); result = noErr; break; - - case 'Paus': - { - mboxPause = !mboxPause; - S9xSetSoundMute(mboxPause); - result = noErr; - break; - } - - case 'Tr_i': - { - showIndicator = !showIndicator; - - root = HIViewGetRoot(tWindowRef); - cid.id = 0; - - cid.signature = 'Pane'; - HIViewFindByID(root, cid, &c1); - HIViewSetVisible(c1, false); - cid.signature = 'iMaG'; - HIViewFindByID(root, cid, &c2); - HIViewSetVisible(c2, false); - cid.signature = 'rCTL'; - HIViewFindByID(root, cid, &c3); - HIViewSetVisible(c3, false); - cid.signature = 'bCTL'; - HIViewFindByID(root, cid, &c4); - HIViewSetVisible(c4, false); - - GetWindowBounds(tWindowRef, kWindowStructureRgn, &rct); - rct.bottom = rct.top + (showIndicator ? mbxOpenedHeight : mbxClosedHeight); - - err = TransitionWindow(tWindowRef, kWindowSlideTransitionEffect, kWindowResizeTransitionAction, &rct); - - HIViewSetVisible(c1, true); - HIViewSetVisible(c2, true); - HIViewSetVisible(c3, true); - HIViewSetVisible(c4, true); - - result = noErr; - break; - } - - case 'DONE': - { - QuitAppModalLoopForWindow(tWindowRef); - result = noErr; - break; - } - - case 'HEAD': - { - headPressed = true; - result = noErr; - break; - } - - case 'S_EF': - { - HideWindow(tWindowRef); - showIndicator = !showIndicator; - ConfigureSoundEffects(); - showIndicator = !showIndicator; - ShowWindow(tWindowRef); - result = noErr; - } - } - - spc_core->dsp_set_stereo_switch(stereo_switch); - } - } - } - } - } - - return (result); -} - -static void * SoundTask (void *) -{ - static long long last; - long long curt; - - Microseconds((UnsignedWide *) &last); - - while (!stopNow) - { - if (!mboxPause) - { - if (musicboxmode == kMBXSoundEmulation) - SPCPlayExec(); - else - S9xMainLoop(); - } - - if (headPressed) - { - showIndicator = !showIndicator; - SPCPlayDefrost(); - showIndicator = !showIndicator; - headPressed = false; - } - - last += (1000000 / Memory.ROMFramesPerSecond); - Microseconds((UnsignedWide *) &curt); - - if (last > curt) - usleep((useconds_t) (last - curt)); - } - - return (NULL); -} - -static void SPCPlayExec (void) -{ - for (int v = 0; v < Timings.V_Max; v++) - { - CPU.Cycles = Timings.H_Max; - S9xAPUEndScanline(); - CPU.Cycles = 0; - S9xAPUSetReferenceTime(0); - } -} - -static void MusicBoxForceFreeze (void) -{ - char filename[PATH_MAX + 1]; - - strcpy(filename, S9xGetFreezeFilename(999)); - strcat(filename, ".tmp"); - - S9xFreezeGame(filename); -} - -static void MusicBoxForceDefrost (void) -{ - char filename[PATH_MAX + 1]; - - strcpy(filename, S9xGetFreezeFilename(999)); - strcat(filename, ".tmp"); - - S9xUnfreezeGame(filename); - remove(filename); -} - -static void SPCPlayFreeze (void) -{ - oldCPUCycles = CPU.Cycles; - CPU.Cycles = Timings.H_Max; - - S9xSetSoundMute(true); - S9xAPUSaveState(storedSoundSnapshot); - S9xSetSoundMute(false); -} - -static void SPCPlayDefrost (void) -{ - CPU.Cycles = oldCPUCycles; - - S9xSetSoundMute(true); - S9xAPULoadState(storedSoundSnapshot); - S9xSetSoundMute(false); -} - -static void MusicBoxInitIndicator (void) -{ - long long currentTime; - - Microseconds((UnsignedWide *) ¤tTime); - - for (int i = 0; i < 8; i++) - { - prevLMax[i] = prevRMax[i] = 0; - prevLVol[i] = prevRVol[i] = 0; - barTimeL[i] = barTimeR[i] = currentTime; - } -} - -static pascal void MusicBoxTimerHandler (EventLoopTimerRef inHandlerCallRef, void *userData) -{ - OSStatus err; - - if (showIndicator) - err = HIViewSetNeedsDisplay((HIViewRef) userData, true); -} - -static pascal OSStatus IndicatorEventHandler (EventHandlerCallRef inHandlerCallRef, EventRef inEvent, void *userData) -{ - OSStatus err, result = eventNotHandledErr; - HIViewRef view = (HIViewRef) userData; - - switch (GetEventClass(inEvent)) - { - case kEventClassControl: - switch (GetEventKind(inEvent)) - { - case kEventControlDraw: - CGContextRef ctx; - - err = GetEventParameter(inEvent, kEventParamCGContextRef, typeCGContextRef, NULL, sizeof(CGContextRef), NULL, &ctx); - if (err == noErr) - { - HIRect bounds; - - HIViewGetBounds(view, &bounds); - CGContextTranslateCTM(ctx, 0, bounds.size.height); - CGContextScaleCTM(ctx, 1.0f, -1.0f); - MusicBoxDrawIndicator(view, ctx); - - result = noErr; - } - } - } - - return (result); -} - -static void MusicBoxDrawIndicator (HIViewRef view, CGContextRef mboxctx) -{ - if (!showIndicator) - return; - - // Bar - - const float length[] = { 1.0f, 1.0f }; - - CGContextSetLineWidth(mboxctx, mbxBarWidth); - CGContextSetLineDash(mboxctx, 0, length, 2); - CGContextSetLineJoin(mboxctx, kCGLineJoinMiter); - - CGContextBeginPath(mboxctx); - - float x = mbxOffsetX + mbxMarginX + mbxBarWidth / 2.0f; - - for (int h = 0; h < 8; h++) - { - // Inactive - - CGContextSetRGBStrokeColor(mboxctx, (196.0f / 256.0f), (200.0f / 256.0f), (176.0f / 256.0f), 1.0f); - - CGContextMoveToPoint (mboxctx, x, mbxOffsetY + mbxMarginY); - CGContextAddLineToPoint(mboxctx, x, mbxOffsetY + mbxMarginY + mbxBarHeight); - - CGContextMoveToPoint (mboxctx, x + mbxRightBarX, mbxOffsetY + mbxMarginY); - CGContextAddLineToPoint(mboxctx, x + mbxRightBarX, mbxOffsetY + mbxMarginY + mbxBarHeight); - - CGContextStrokePath(mboxctx); - - // Max - - short vl = (spc_core->dsp_reg_value(h, 0x00) * spc_core->dsp_envx_value(h)) >> 11; - short vr = (spc_core->dsp_reg_value(h, 0x01) * spc_core->dsp_envx_value(h)) >> 11; - long long currentTime; - - if (vl <= 0) vl = 0; else if (vl > 64) vl = 64; else vl = (short) (yyscale * sqrt((double) vl)) & (~0 << 1); - if (vr <= 0) vr = 0; else if (vr > 64) vr = 64; else vr = (short) (yyscale * sqrt((double) vr)) & (~0 << 1); - - if (vl < prevLVol[h]) vl = ((prevLVol[h] + vl) >> 1); - if (vr < prevRVol[h]) vr = ((prevRVol[h] + vr) >> 1); - - Microseconds((UnsignedWide *) ¤tTime); - - // left - - if ((vl >= prevLMax[h]) && (vl > prevLVol[h])) - { - barTimeL[h] = currentTime; - prevLMax[h] = vl; - } - else - if ((prevLMax[h] > 0) && (barTimeL[h] + 1000000 > currentTime)) - { - CGContextSetRGBStrokeColor(mboxctx, (22.0f / 256.0f), (156.0f / 256.0f), (20.0f / 256.0f), (float) (barTimeL[h] + 1000000 - currentTime) / 1000000.0f); - - CGContextMoveToPoint (mboxctx, x, mbxOffsetY + mbxMarginY + (float) (prevLMax[h] - 2)); - CGContextAddLineToPoint(mboxctx, x, mbxOffsetY + mbxMarginY + (float) (prevLMax[h] )); - - CGContextStrokePath(mboxctx); - } - else - prevLMax[h] = 0; - - prevLVol[h] = vl; - - // right - - if ((vr >= prevRMax[h]) && (vr > prevRVol[h])) - { - barTimeR[h] = currentTime; - prevRMax[h] = vr; - } - else - if ((prevRMax[h] > 0) && (barTimeR[h] + 1000000 > currentTime)) - { - CGContextSetRGBStrokeColor(mboxctx, (22.0f / 256.0f), (156.0f / 256.0f), (20.0f / 256.0f), (float) (barTimeR[h] + 1000000 - currentTime) / 1000000.0f); - - CGContextMoveToPoint (mboxctx, x + mbxRightBarX, mbxOffsetY + mbxMarginY + (float) (prevRMax[h] - 2)); - CGContextAddLineToPoint(mboxctx, x + mbxRightBarX, mbxOffsetY + mbxMarginY + (float) (prevRMax[h] )); - - CGContextStrokePath(mboxctx); - } - else - prevRMax[h] = 0; - - prevRVol[h] = vr; - - // Active - - CGContextSetRGBStrokeColor(mboxctx, (22.0f / 256.0f), (22.0f / 256.0f), (20.0f / 256.0f), 1.0f); - - CGContextMoveToPoint (mboxctx, x, mbxOffsetY + mbxMarginY); - CGContextAddLineToPoint(mboxctx, x, mbxOffsetY + mbxMarginY + (float) vl); - CGContextStrokePath(mboxctx); - CGContextMoveToPoint (mboxctx, x + mbxRightBarX, mbxOffsetY + mbxMarginY); - CGContextAddLineToPoint(mboxctx, x + mbxRightBarX, mbxOffsetY + mbxMarginY + (float) vr); - CGContextStrokePath(mboxctx); - - x += (mbxBarWidth + mbxBarSpace); - } -} diff --git a/macosx/mac-musicbox.h b/macosx/mac-musicbox.h old mode 100644 new mode 100755 index c50879f7..83886e90 --- a/macosx/mac-musicbox.h +++ b/macosx/mac-musicbox.h @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander @@ -194,6 +194,65 @@ #define kMBXSoundEmulation 1 #define kMBXWholeEmulation 2 +@interface MusicBoxController : NSObject +{ + IBOutlet id window; + IBOutlet id gametitle; + IBOutlet id disclosure; + IBOutlet id rewind; + IBOutlet id indicator; + IBOutlet id led; + + float mbxClosedHeight, + mbxOpenedHeight; + + NSTimer *timer; + pthread_t mbxThread; +} + +- (id) init; +- (void) dealloc; +- (void) windowWillClose: (NSNotification *) aNotification; +- (NSWindow *) window; +- (IBAction) handlePauseButton: (id) sender; +- (IBAction) handleRewindButton: (id) sender; +- (IBAction) handleEffectButton: (id) sender; +- (IBAction) handleChannelButton: (id) sender; +- (IBAction) handleDisclosureButton: (id) sender; +- (void) updateIndicator: (NSTimer *) aTimer; + +@end + +@interface MusicBoxIndicatorView : NSView +{ + float mbxOffsetX, + mbxOffsetY, + mbxBarWidth, + mbxBarHeight, + mbxBarSpace, + mbxLRSpace, + mbxRightBarX, + yyscale; + + float mbxViewWidth, + mbxViewHeight, + mbxMarginX, + mbxMarginY; + + short prevLMax[8], + prevRMax[8], + prevLVol[8], + prevRVol[8]; + + long long barTimeL[8], + barTimeR[8]; +} + +- (id) initWithFrame: (NSRect) frame; +- (void) drawRect: (NSRect) rect; + +@end + extern volatile Boolean mboxPause; void MusicBoxDialog (void); diff --git a/macosx/mac-musicbox.mm b/macosx/mac-musicbox.mm new file mode 100755 index 00000000..0d9157e5 --- /dev/null +++ b/macosx/mac-musicbox.mm @@ -0,0 +1,646 @@ +/*********************************************************************************** + Snes9x - Portable Super Nintendo Entertainment System (TM) emulator. + + (c) Copyright 1996 - 2002 Gary Henderson (gary.henderson@ntlworld.com), + Jerremy Koot (jkoot@snes9x.com) + + (c) Copyright 2002 - 2004 Matthew Kendora + + (c) Copyright 2002 - 2005 Peter Bortas (peter@bortas.org) + + (c) Copyright 2004 - 2005 Joel Yliluoma (http://iki.fi/bisqwit/) + + (c) Copyright 2001 - 2006 John Weidman (jweidman@slip.net) + + (c) Copyright 2002 - 2006 funkyass (funkyass@spam.shaw.ca), + Kris Bleakley (codeviolation@hotmail.com) + + (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), + Nach (n-a-c-h@users.sourceforge.net), + zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2006 - 2007 nitsuja + + (c) Copyright 2009 - 2010 BearOso, + OV2 + + + BS-X C emulator code + (c) Copyright 2005 - 2006 Dreamer Nom, + zones + + C4 x86 assembler and some C emulation code + (c) Copyright 2000 - 2003 _Demo_ (_demo_@zsnes.com), + Nach, + zsKnight (zsknight@zsnes.com) + + C4 C++ code + (c) Copyright 2003 - 2006 Brad Jorsch, + Nach + + DSP-1 emulator code + (c) Copyright 1998 - 2006 _Demo_, + Andreas Naive (andreasnaive@gmail.com), + Gary Henderson, + Ivar (ivar@snes9x.com), + John Weidman, + Kris Bleakley, + Matthew Kendora, + Nach, + neviksti (neviksti@hotmail.com) + + DSP-2 emulator code + (c) Copyright 2003 John Weidman, + Kris Bleakley, + Lord Nightmare (lord_nightmare@users.sourceforge.net), + Matthew Kendora, + neviksti + + DSP-3 emulator code + (c) Copyright 2003 - 2006 John Weidman, + Kris Bleakley, + Lancer, + z80 gaiden + + DSP-4 emulator code + (c) Copyright 2004 - 2006 Dreamer Nom, + John Weidman, + Kris Bleakley, + Nach, + z80 gaiden + + OBC1 emulator code + (c) Copyright 2001 - 2004 zsKnight, + pagefault (pagefault@zsnes.com), + Kris Bleakley + Ported from x86 assembler to C by sanmaiwashi + + SPC7110 and RTC C++ emulator code used in 1.39-1.51 + (c) Copyright 2002 Matthew Kendora with research by + zsKnight, + John Weidman, + Dark Force + + SPC7110 and RTC C++ emulator code used in 1.52+ + (c) Copyright 2009 byuu, + neviksti + + S-DD1 C emulator code + (c) Copyright 2003 Brad Jorsch with research by + Andreas Naive, + John Weidman + + S-RTC C emulator code + (c) Copyright 2001 - 2006 byuu, + John Weidman + + ST010 C++ emulator code + (c) Copyright 2003 Feather, + John Weidman, + Kris Bleakley, + Matthew Kendora + + Super FX x86 assembler emulator code + (c) Copyright 1998 - 2003 _Demo_, + pagefault, + zsKnight + + Super FX C emulator code + (c) Copyright 1997 - 1999 Ivar, + Gary Henderson, + John Weidman + + Sound emulator code used in 1.5-1.51 + (c) Copyright 1998 - 2003 Brad Martin + (c) Copyright 1998 - 2006 Charles Bilyue' + + Sound emulator code used in 1.52+ + (c) Copyright 2004 - 2007 Shay Green (gblargg@gmail.com) + + SH assembler code partly based on x86 assembler code + (c) Copyright 2002 - 2004 Marcus Comstedt (marcus@mc.pp.se) + + 2xSaI filter + (c) Copyright 1999 - 2001 Derek Liauw Kie Fa + + HQ2x, HQ3x, HQ4x filters + (c) Copyright 2003 Maxim Stepin (maxim@hiend3d.com) + + NTSC filter + (c) Copyright 2006 - 2007 Shay Green + + GTK+ GUI code + (c) Copyright 2004 - 2010 BearOso + + Win32 GUI code + (c) Copyright 2003 - 2006 blip, + funkyass, + Matthew Kendora, + Nach, + nitsuja + (c) Copyright 2009 - 2010 OV2 + + Mac OS GUI code + (c) Copyright 1998 - 2001 John Stiles + (c) Copyright 2001 - 2010 zones + + + Specific ports contains the works of other authors. See headers in + individual files. + + + Snes9x homepage: http://www.snes9x.com/ + + Permission to use, copy, modify and/or distribute Snes9x in both binary + and source form, for non-commercial purposes, is hereby granted without + fee, providing that this license information and copyright notice appear + with all copies and any derived work. + + This software is provided 'as-is', without any express or implied + warranty. In no event shall the authors be held liable for any damages + arising from the use of this software or it's derivatives. + + Snes9x is freeware for PERSONAL USE only. Commercial users should + seek permission of the copyright holders first. Commercial use includes, + but is not limited to, charging money for Snes9x or software derived from + Snes9x, including Snes9x or derivatives in commercial game bundles, and/or + using Snes9x as a promotion for your commercial product. + + The copyright holders request that bug fixes and improvements to the code + should be forwarded to them so everyone can benefit from the modifications + in future versions. + + Super NES and Super Nintendo Entertainment System are trademarks of + Nintendo Co., Limited and its subsidiary companies. + ***********************************************************************************/ + +/*********************************************************************************** + SNES9X for Mac OS (c) Copyright John Stiles + + Snes9x for Mac OS X + + (c) Copyright 2001 - 2011 zones + (c) Copyright 2002 - 2005 107 + (c) Copyright 2002 PB1400c + (c) Copyright 2004 Alexander and Sander + (c) Copyright 2004 - 2005 Steven Seeger + (c) Copyright 2005 Ryan Vogt + ***********************************************************************************/ + + +#import "snes9x.h" +#import "memmap.h" +#import "apu.h" +#import "snapshot.h" + +#import +#import +#import + +#import "mac-prefix.h" +#import "mac-audio.h" +#import "mac-file.h" +#import "mac-os.h" +#import "mac-musicbox.h" + +volatile bool8 mboxPause = false; + +static volatile bool8 stopNow, showIndicator, headPressed; +static int32 oldCPUCycles; +static uint16 stereo_switch; +static uint8 storedSoundSnapshot[SPC_SAVE_STATE_BLOCK_SIZE]; + +static void SPCPlayExec (void); +static void SPCPlayFreeze (void); +static void SPCPlayDefrost (void); +static void MusicBoxForceFreeze (void); +static void MusicBoxForceDefrost (void); +static void * SoundTask (void *); + + +@implementation MusicBoxController + +- (id) init +{ + NSUserDefaults *defaults; + NSString *s; + NSRect rect; + NSSize size; + BOOL apuonly, r; + char drive[_MAX_DRIVE + 1], dir[_MAX_DIR + 1], fname[_MAX_FNAME + 1], ext[_MAX_EXT + 1]; + + self = [super init]; + if (!self) + return (self); + + r = [NSBundle loadNibNamed: @"musicbox" owner: self]; + if (!r) + return (self); + + apuonly = (musicboxmode == kMBXSoundEmulation); + + if (apuonly) + SPCPlayFreeze(); + else + MusicBoxForceFreeze(); + + _splitpath(Memory.ROMFilename, drive, dir, fname, ext); + [gametitle setStringValue: [NSString stringWithUTF8String: fname]]; + + [led setImage: [NSImage imageNamed: (apuonly ? @"musicbox_ledoff.icns" : @"musicbox_ledon.icns")]]; + + if (!apuonly) + { + [rewind setState: NSOffState]; + [rewind setEnabled: NO]; + } + + defaults = [NSUserDefaults standardUserDefaults]; + s = [defaults stringForKey: @"frame_musicbox"]; + if (s) + { + rect = NSRectFromString(s); + [window setFrame: rect display: NO]; + } + + if (!savewindowpos) + [window center]; + + size = [window minSize]; + mbxClosedHeight = size.height; + size = [window maxSize]; + mbxOpenedHeight = size.height; + + rect = [window frame]; + showIndicator = (rect.size.height > mbxClosedHeight) ? true : false; + + [disclosure setState: (showIndicator ? NSOnState : NSOffState)]; + + [window makeKeyAndOrderFront: self]; + + mboxPause = false; + headPressed = false; + + stereo_switch = ~0; + spc_core->dsp_set_stereo_switch(stereo_switch); + + for (int i = 0; i < MAC_MAX_PLAYERS; i++) + controlPad[i] = 0; + + stopNow = false; + MacStartSound(); + pthread_create(&mbxThread, NULL, SoundTask, NULL); + + timer = [[NSTimer scheduledTimerWithTimeInterval: (2.0 / (double) Memory.ROMFramesPerSecond) target: self selector: @selector(updateIndicator:) userInfo: nil repeats: YES] retain]; + + return (self); +} + +- (void) windowWillClose: (NSNotification *) aNotification +{ + NSUserDefaults *defaults; + NSString *s; + BOOL r; + + [timer invalidate]; + [timer release]; + + showIndicator = false; + + stopNow = true; + pthread_join(mbxThread, NULL); + MacStopSound(); + + defaults = [NSUserDefaults standardUserDefaults]; + s = NSStringFromRect([window frame]); + [defaults setObject: s forKey: @"frame_musicbox"]; + r = [defaults synchronize]; + + [NSApp stopModal]; +} + +- (void) dealloc +{ + stereo_switch = ~0; + spc_core->dsp_set_stereo_switch(stereo_switch); + + if (musicboxmode == kMBXSoundEmulation) + SPCPlayDefrost(); + else + MusicBoxForceDefrost(); + + [window release]; + + [super dealloc]; +} + +- (NSWindow *) window +{ + return (window); +} + +- (IBAction) handlePauseButton: (id) sender +{ + mboxPause = !mboxPause; + S9xSetSoundMute(mboxPause); +} + +- (IBAction) handleRewindButton: (id) sender +{ + headPressed = true; +} + +- (IBAction) handleEffectButton: (id) sender +{ + [window orderOut: self]; + showIndicator = false; + ConfigureSoundEffects(); + showIndicator = true; + [window makeKeyAndOrderFront: self]; +} + +- (IBAction) handleChannelButton: (id) sender +{ + stereo_switch ^= (1 << [sender tag]); + spc_core->dsp_set_stereo_switch(stereo_switch); +} + +- (IBAction) handleDisclosureButton: (id) sender +{ + NSRect rect; + float h; + + showIndicator = !showIndicator; + rect = [window frame]; + h = rect.size.height; + rect.size.height = showIndicator ? mbxOpenedHeight : mbxClosedHeight; + rect.origin.y += (h - rect.size.height); + [window setFrame: rect display: YES animate: YES]; +} + +- (void) updateIndicator: (NSTimer *) aTimer +{ + if (showIndicator) + [indicator setNeedsDisplay: YES]; +} + +@end + +@implementation MusicBoxIndicatorView + +- (id) initWithFrame: (NSRect) frame +{ + self = [super initWithFrame: frame]; + if (self) + { + NSRect rect; + long long currentTime; + struct timeval tv; + + mbxOffsetX = 0.0f; + mbxOffsetY = 0.0f; + mbxBarWidth = 12.0f; + mbxBarHeight = 128.0f; + mbxBarSpace = 2.0f; + mbxLRSpace = 20.0f; + mbxRightBarX = (mbxLRSpace + (mbxBarWidth * 8.0f + mbxBarSpace * 7.0f)); + yyscale = (float) (128.0 / sqrt(64.0)); + + rect = [self bounds]; + mbxViewWidth = rect.size.width; + mbxViewHeight = rect.size.height; + mbxMarginX = (mbxViewWidth - ((mbxBarWidth * 8.0f + mbxBarSpace * 7.0f) * 2.0f + mbxLRSpace)) / 2.0f; + mbxMarginY = (mbxViewHeight - mbxBarHeight) / 2.0f; + + gettimeofday(&tv, NULL); + currentTime = tv.tv_sec * 1000000 + tv.tv_usec; + + for (int i = 0; i < 8; i++) + { + prevLMax[i] = prevRMax[i] = 0; + prevLVol[i] = prevRVol[i] = 0; + barTimeL[i] = barTimeR[i] = currentTime; + } + } + + return (self); +} + +- (void) drawRect: (NSRect) rect +{ + CGContextRef mboxctx; + + mboxctx = (CGContextRef) [[NSGraphicsContext currentContext] graphicsPort]; + + // Bar + + const float length[] = { 1.0f, 1.0f }; + + CGContextSetLineWidth(mboxctx, mbxBarWidth); + CGContextSetLineDash(mboxctx, 0, length, 2); + CGContextSetLineJoin(mboxctx, kCGLineJoinMiter); + + CGContextBeginPath(mboxctx); + + float x = mbxOffsetX + mbxMarginX + mbxBarWidth / 2.0f; + + for (int h = 0; h < 8; h++) + { + // Inactive + + CGContextSetRGBStrokeColor(mboxctx, (196.0f / 256.0f), (200.0f / 256.0f), (176.0f / 256.0f), 1.0f); + + CGContextMoveToPoint (mboxctx, x, mbxOffsetY + mbxMarginY); + CGContextAddLineToPoint(mboxctx, x, mbxOffsetY + mbxMarginY + mbxBarHeight); + + CGContextMoveToPoint (mboxctx, x + mbxRightBarX, mbxOffsetY + mbxMarginY); + CGContextAddLineToPoint(mboxctx, x + mbxRightBarX, mbxOffsetY + mbxMarginY + mbxBarHeight); + + CGContextStrokePath(mboxctx); + + // Max + + short vl = (spc_core->dsp_reg_value(h, 0x00) * spc_core->dsp_envx_value(h)) >> 11; + short vr = (spc_core->dsp_reg_value(h, 0x01) * spc_core->dsp_envx_value(h)) >> 11; + long long currentTime; + struct timeval tv; + + if (vl <= 0) vl = 0; else if (vl > 64) vl = 64; else vl = (short) (yyscale * sqrt((double) vl)) & (~0 << 1); + if (vr <= 0) vr = 0; else if (vr > 64) vr = 64; else vr = (short) (yyscale * sqrt((double) vr)) & (~0 << 1); + + if (vl < prevLVol[h]) vl = ((prevLVol[h] + vl) >> 1); + if (vr < prevRVol[h]) vr = ((prevRVol[h] + vr) >> 1); + + gettimeofday(&tv, NULL); + currentTime = tv.tv_sec * 1000000 + tv.tv_usec; + + // left + + if ((vl >= prevLMax[h]) && (vl > prevLVol[h])) + { + barTimeL[h] = currentTime; + prevLMax[h] = vl; + } + else + if ((prevLMax[h] > 0) && (barTimeL[h] + 1000000 > currentTime)) + { + CGContextSetRGBStrokeColor(mboxctx, (22.0f / 256.0f), (156.0f / 256.0f), (20.0f / 256.0f), (float) (barTimeL[h] + 1000000 - currentTime) / 1000000.0f); + + CGContextMoveToPoint (mboxctx, x, mbxOffsetY + mbxMarginY + (float) (prevLMax[h] - 2)); + CGContextAddLineToPoint(mboxctx, x, mbxOffsetY + mbxMarginY + (float) (prevLMax[h] )); + + CGContextStrokePath(mboxctx); + } + else + prevLMax[h] = 0; + + prevLVol[h] = vl; + + // right + + if ((vr >= prevRMax[h]) && (vr > prevRVol[h])) + { + barTimeR[h] = currentTime; + prevRMax[h] = vr; + } + else + if ((prevRMax[h] > 0) && (barTimeR[h] + 1000000 > currentTime)) + { + CGContextSetRGBStrokeColor(mboxctx, (22.0f / 256.0f), (156.0f / 256.0f), (20.0f / 256.0f), (float) (barTimeR[h] + 1000000 - currentTime) / 1000000.0f); + + CGContextMoveToPoint (mboxctx, x + mbxRightBarX, mbxOffsetY + mbxMarginY + (float) (prevRMax[h] - 2)); + CGContextAddLineToPoint(mboxctx, x + mbxRightBarX, mbxOffsetY + mbxMarginY + (float) (prevRMax[h] )); + + CGContextStrokePath(mboxctx); + } + else + prevRMax[h] = 0; + + prevRVol[h] = vr; + + // Active + + CGContextSetRGBStrokeColor(mboxctx, (22.0f / 256.0f), (22.0f / 256.0f), (20.0f / 256.0f), 1.0f); + + CGContextMoveToPoint (mboxctx, x, mbxOffsetY + mbxMarginY); + CGContextAddLineToPoint(mboxctx, x, mbxOffsetY + mbxMarginY + (float) vl); + CGContextStrokePath(mboxctx); + CGContextMoveToPoint (mboxctx, x + mbxRightBarX, mbxOffsetY + mbxMarginY); + CGContextAddLineToPoint(mboxctx, x + mbxRightBarX, mbxOffsetY + mbxMarginY + (float) vr); + CGContextStrokePath(mboxctx); + + x += (mbxBarWidth + mbxBarSpace); + } +} + +@end + +static void * SoundTask (void *) +{ + long long last, curr; + struct timeval tv; + + gettimeofday(&tv, NULL); + last = tv.tv_sec * 1000000 + tv.tv_usec; + + while (!stopNow) + { + if (!mboxPause) + { + if (musicboxmode == kMBXSoundEmulation) + SPCPlayExec(); + else + S9xMainLoop(); + } + + if (headPressed) + { + showIndicator = false; + SPCPlayDefrost(); + showIndicator = true; + + headPressed = false; + } + + last += (1000000 / Memory.ROMFramesPerSecond); + gettimeofday(&tv, NULL); + curr = tv.tv_sec * 1000000 + tv.tv_usec; + + if (last > curr) + usleep((useconds_t) (last - curr)); + } + + return (NULL); +} + +static void SPCPlayExec (void) +{ + for (int v = 0; v < Timings.V_Max; v++) + { + CPU.Cycles = Timings.H_Max; + S9xAPUEndScanline(); + CPU.Cycles = 0; + S9xAPUSetReferenceTime(0); + } +} + +static void MusicBoxForceFreeze (void) +{ + char filename[PATH_MAX + 1]; + + strcpy(filename, S9xGetFreezeFilename(999)); + strcat(filename, ".tmp"); + + S9xFreezeGame(filename); +} + +static void MusicBoxForceDefrost (void) +{ + char filename[PATH_MAX + 1]; + + strcpy(filename, S9xGetFreezeFilename(999)); + strcat(filename, ".tmp"); + + S9xUnfreezeGame(filename); + remove(filename); +} + +static void SPCPlayFreeze (void) +{ + oldCPUCycles = CPU.Cycles; + + S9xSetSoundMute(true); + S9xAPUSaveState(storedSoundSnapshot); + S9xSetSoundMute(false); +} + +static void SPCPlayDefrost (void) +{ + CPU.Cycles = oldCPUCycles; + + S9xSetSoundMute(true); + S9xAPULoadState(storedSoundSnapshot); + S9xSetSoundMute(false); +} + +void MusicBoxDialog (void) +{ + MusicBoxController *controller; + NSAutoreleasePool *pool; + + if (!cartOpen) + return; + + pool = [[NSAutoreleasePool alloc] init]; + controller = [[MusicBoxController alloc] init]; + [pool release]; + + if (!controller) + return; + + [NSApp runModalForWindow: [controller window]]; + + pool = [[NSAutoreleasePool alloc] init]; + [controller release]; + [pool release]; +} diff --git a/macosx/mac-netplay.cpp b/macosx/mac-netplay.cpp index 0207c9f6..ba18c1f7 100644 --- a/macosx/mac-netplay.cpp +++ b/macosx/mac-netplay.cpp @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-netplay.h b/macosx/mac-netplay.h index 9b788fb8..9be29000 100644 --- a/macosx/mac-netplay.h +++ b/macosx/mac-netplay.h @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-os.h b/macosx/mac-os.h index f25bb334..fb13cd49 100644 --- a/macosx/mac-os.h +++ b/macosx/mac-os.h @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander @@ -204,7 +204,6 @@ enum kWindowPreferences, kWindowAbout, kWindowAutoFire, - kWindowMusicBox, kWindowRomInfo, kWindowCheatFinder, kWindowKeyConfig, diff --git a/macosx/mac-os.mm b/macosx/mac-os.mm index 809adcef..1b192da0 100644 --- a/macosx/mac-os.mm +++ b/macosx/mac-os.mm @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-prefix.h b/macosx/mac-prefix.h index 448cd0c3..58c591e8 100755 --- a/macosx/mac-prefix.h +++ b/macosx/mac-prefix.h @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander @@ -196,7 +196,7 @@ #define kMacS9XCFString CFSTR("Snes9x") -#define MAC_VERSION "102" +#define MAC_VERSION "112" #include diff --git a/macosx/mac-prefs.cpp b/macosx/mac-prefs.cpp index 1d5aa4d8..96317ddb 100755 --- a/macosx/mac-prefs.cpp +++ b/macosx/mac-prefs.cpp @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander @@ -361,9 +361,9 @@ static PrefList prefList[] = { 'chea', &applycheat, sizeof(bool8 ) }, { 'ARec', autofireRec, sizeof(autofireRec) }, - { 'WPos', windowPos, sizeof(windowPos ) }, - { 'WSiz', windowSize, sizeof(windowSize ) }, - { 'WExt', (void *) &windowExtend, sizeof(bool8 ) }, + { 'wPos', windowPos, sizeof(windowPos ) }, + { 'wSiz', windowSize, sizeof(windowSize ) }, + { 'wExt', (void *) &windowExtend, sizeof(bool8 ) }, { 'NPIP', npServerIP, sizeof(npServerIP ) }, { 'NPNM', npName, sizeof(npName ) }, diff --git a/macosx/mac-prefs.h b/macosx/mac-prefs.h old mode 100644 new mode 100755 index d3ff8d07..b2832c01 --- a/macosx/mac-prefs.h +++ b/macosx/mac-prefs.h @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-quicktime.cpp b/macosx/mac-quicktime.cpp index 7692a934..cdeef00a 100644 --- a/macosx/mac-quicktime.cpp +++ b/macosx/mac-quicktime.cpp @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-quicktime.h b/macosx/mac-quicktime.h index f5249856..c28edf51 100644 --- a/macosx/mac-quicktime.h +++ b/macosx/mac-quicktime.h @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-render.cpp b/macosx/mac-render.cpp index 60341293..fba4508d 100644 --- a/macosx/mac-render.cpp +++ b/macosx/mac-render.cpp @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-render.h b/macosx/mac-render.h index 5e0880a8..fc66f654 100644 --- a/macosx/mac-render.h +++ b/macosx/mac-render.h @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-screenshot.cpp b/macosx/mac-screenshot.cpp index f35bb219..991eec3b 100644 --- a/macosx/mac-screenshot.cpp +++ b/macosx/mac-screenshot.cpp @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-screenshot.h b/macosx/mac-screenshot.h index 6cba7cf8..7a22ecc9 100644 --- a/macosx/mac-screenshot.h +++ b/macosx/mac-screenshot.h @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-server.cpp b/macosx/mac-server.cpp index 659cb2c5..a6eb0969 100644 --- a/macosx/mac-server.cpp +++ b/macosx/mac-server.cpp @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-server.h b/macosx/mac-server.h index d94bc10b..ee251e66 100644 --- a/macosx/mac-server.h +++ b/macosx/mac-server.h @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-snes9x.cpp b/macosx/mac-snes9x.cpp index 388e077f..c3a6a145 100755 --- a/macosx/mac-snes9x.cpp +++ b/macosx/mac-snes9x.cpp @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-snes9x.h b/macosx/mac-snes9x.h index 3e631d12..8347b00e 100755 --- a/macosx/mac-snes9x.h +++ b/macosx/mac-snes9x.h @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-stringtools.cpp b/macosx/mac-stringtools.cpp old mode 100644 new mode 100755 index 7de4c273..1a1e4a0a --- a/macosx/mac-stringtools.cpp +++ b/macosx/mac-stringtools.cpp @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-stringtools.h b/macosx/mac-stringtools.h old mode 100644 new mode 100755 index ec89d955..4d3d9a6d --- a/macosx/mac-stringtools.h +++ b/macosx/mac-stringtools.h @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/musicbox_effect.png b/macosx/musicbox_effect.png new file mode 100644 index 00000000..4ed8c771 Binary files /dev/null and b/macosx/musicbox_effect.png differ diff --git a/macosx/musicbox_indicator.png b/macosx/musicbox_indicator.png index 58c232d2..3dd42062 100644 Binary files a/macosx/musicbox_indicator.png and b/macosx/musicbox_indicator.png differ diff --git a/macosx/musicbox_pause.png b/macosx/musicbox_pause.png new file mode 100644 index 00000000..64a20e5b Binary files /dev/null and b/macosx/musicbox_pause.png differ diff --git a/macosx/musicbox_rewind.png b/macosx/musicbox_rewind.png new file mode 100644 index 00000000..4a0ce1aa Binary files /dev/null and b/macosx/musicbox_rewind.png differ diff --git a/macosx/snes9x.xcodeproj/project.pbxproj b/macosx/snes9x.xcodeproj/project.pbxproj index d8588653..000d5ddd 100755 --- a/macosx/snes9x.xcodeproj/project.pbxproj +++ b/macosx/snes9x.xcodeproj/project.pbxproj @@ -174,7 +174,7 @@ CF047DE8109D0E0600FD0754 /* s9x-jma.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EAA7B5F007609F76001BAB8B /* s9x-jma.cpp */; settings = {COMPILER_FLAGS = "-fexceptions"; }; }; CF047DE9109D0E0600FD0754 /* winout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EAA7B5F207609F76001BAB8B /* winout.cpp */; settings = {COMPILER_FLAGS = "-fexceptions"; }; }; CF047DEA109D0E0600FD0754 /* mac-appleevent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EACDDBB004D6A89700A80003 /* mac-appleevent.cpp */; }; - CF047DEB109D0E0600FD0754 /* mac-audio.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EADE6347052E5C4300A80003 /* mac-audio.cpp */; }; + CF047DEB109D0E0600FD0754 /* mac-audio.mm in Sources */ = {isa = PBXBuildFile; fileRef = EADE6347052E5C4300A80003 /* mac-audio.mm */; }; CF047DEC109D0E0600FD0754 /* mac-cart.mm in Sources */ = {isa = PBXBuildFile; fileRef = EAECB67004AC7FCE00A80003 /* mac-cart.mm */; }; CF047DED109D0E0600FD0754 /* mac-cheat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EAECB67204AC7FCE00A80003 /* mac-cheat.cpp */; }; CF047DEE109D0E0600FD0754 /* mac-cheatfinder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EAECB67404AC7FCE00A80003 /* mac-cheatfinder.cpp */; }; @@ -188,7 +188,7 @@ CF047DF6109D0E0600FD0754 /* mac-joypad.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EAECB67B04AC7FCE00A80003 /* mac-joypad.cpp */; }; CF047DF7109D0E0600FD0754 /* mac-keyboard.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EAECB67D04AC7FCE00A80003 /* mac-keyboard.cpp */; }; CF047DF8109D0E0600FD0754 /* mac-multicart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EA26BBD50B3676E800A570B5 /* mac-multicart.cpp */; }; - CF047DF9109D0E0600FD0754 /* mac-musicbox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EAECB67F04AC7FCE00A80003 /* mac-musicbox.cpp */; }; + CF047DF9109D0E0600FD0754 /* mac-musicbox.mm in Sources */ = {isa = PBXBuildFile; fileRef = EAECB67F04AC7FCE00A80003 /* mac-musicbox.mm */; }; CF047DFA109D0E0600FD0754 /* mac-netplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EA1605500639E735004412AB /* mac-netplay.cpp */; }; CF047DFB109D0E0600FD0754 /* mac-os.mm in Sources */ = {isa = PBXBuildFile; fileRef = EAE0E96604D582B700A80003 /* mac-os.mm */; }; CF047DFC109D0E0600FD0754 /* mac-prefs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EAE0E96B04D584B700A80003 /* mac-prefs.cpp */; }; @@ -357,7 +357,7 @@ CF0567350CF98E7E00C7877C /* s9x-jma.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EAA7B5F007609F76001BAB8B /* s9x-jma.cpp */; settings = {COMPILER_FLAGS = "-fexceptions"; }; }; CF0567360CF98E7E00C7877C /* winout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EAA7B5F207609F76001BAB8B /* winout.cpp */; settings = {COMPILER_FLAGS = "-fexceptions"; }; }; CF0567380CF98E7E00C7877C /* mac-appleevent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EACDDBB004D6A89700A80003 /* mac-appleevent.cpp */; }; - CF0567390CF98E7E00C7877C /* mac-audio.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EADE6347052E5C4300A80003 /* mac-audio.cpp */; }; + CF0567390CF98E7E00C7877C /* mac-audio.mm in Sources */ = {isa = PBXBuildFile; fileRef = EADE6347052E5C4300A80003 /* mac-audio.mm */; }; CF05673B0CF98E7E00C7877C /* mac-cart.mm in Sources */ = {isa = PBXBuildFile; fileRef = EAECB67004AC7FCE00A80003 /* mac-cart.mm */; }; CF05673C0CF98E7E00C7877C /* mac-cheat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EAECB67204AC7FCE00A80003 /* mac-cheat.cpp */; }; CF05673D0CF98E7E00C7877C /* mac-cheatfinder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EAECB67404AC7FCE00A80003 /* mac-cheatfinder.cpp */; }; @@ -371,7 +371,7 @@ CF0567470CF98E7E00C7877C /* mac-joypad.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EAECB67B04AC7FCE00A80003 /* mac-joypad.cpp */; }; CF0567480CF98E7E00C7877C /* mac-keyboard.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EAECB67D04AC7FCE00A80003 /* mac-keyboard.cpp */; }; CF0567490CF98E7E00C7877C /* mac-multicart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EA26BBD50B3676E800A570B5 /* mac-multicart.cpp */; }; - CF05674A0CF98E7E00C7877C /* mac-musicbox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EAECB67F04AC7FCE00A80003 /* mac-musicbox.cpp */; }; + CF05674A0CF98E7E00C7877C /* mac-musicbox.mm in Sources */ = {isa = PBXBuildFile; fileRef = EAECB67F04AC7FCE00A80003 /* mac-musicbox.mm */; }; CF05674B0CF98E7E00C7877C /* mac-netplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EA1605500639E735004412AB /* mac-netplay.cpp */; }; CF05674C0CF98E7E00C7877C /* mac-os.mm in Sources */ = {isa = PBXBuildFile; fileRef = EAE0E96604D582B700A80003 /* mac-os.mm */; }; CF05674D0CF98E7E00C7877C /* mac-prefs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EAE0E96B04D584B700A80003 /* mac-prefs.cpp */; }; @@ -564,7 +564,7 @@ CF2F46C21095EE72007D33FA /* s9x-jma.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EAA7B5F007609F76001BAB8B /* s9x-jma.cpp */; settings = {COMPILER_FLAGS = "-fexceptions"; }; }; CF2F46C31095EE72007D33FA /* winout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EAA7B5F207609F76001BAB8B /* winout.cpp */; settings = {COMPILER_FLAGS = "-fexceptions"; }; }; CF2F46C41095EE72007D33FA /* mac-appleevent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EACDDBB004D6A89700A80003 /* mac-appleevent.cpp */; }; - CF2F46C51095EE72007D33FA /* mac-audio.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EADE6347052E5C4300A80003 /* mac-audio.cpp */; }; + CF2F46C51095EE72007D33FA /* mac-audio.mm in Sources */ = {isa = PBXBuildFile; fileRef = EADE6347052E5C4300A80003 /* mac-audio.mm */; }; CF2F46C61095EE72007D33FA /* mac-cart.mm in Sources */ = {isa = PBXBuildFile; fileRef = EAECB67004AC7FCE00A80003 /* mac-cart.mm */; }; CF2F46C71095EE72007D33FA /* mac-cheat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EAECB67204AC7FCE00A80003 /* mac-cheat.cpp */; }; CF2F46C81095EE72007D33FA /* mac-cheatfinder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EAECB67404AC7FCE00A80003 /* mac-cheatfinder.cpp */; }; @@ -578,7 +578,7 @@ CF2F46D01095EE72007D33FA /* mac-joypad.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EAECB67B04AC7FCE00A80003 /* mac-joypad.cpp */; }; CF2F46D11095EE72007D33FA /* mac-keyboard.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EAECB67D04AC7FCE00A80003 /* mac-keyboard.cpp */; }; CF2F46D21095EE72007D33FA /* mac-multicart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EA26BBD50B3676E800A570B5 /* mac-multicart.cpp */; }; - CF2F46D31095EE72007D33FA /* mac-musicbox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EAECB67F04AC7FCE00A80003 /* mac-musicbox.cpp */; }; + CF2F46D31095EE72007D33FA /* mac-musicbox.mm in Sources */ = {isa = PBXBuildFile; fileRef = EAECB67F04AC7FCE00A80003 /* mac-musicbox.mm */; }; CF2F46D41095EE72007D33FA /* mac-netplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EA1605500639E735004412AB /* mac-netplay.cpp */; }; CF2F46D51095EE72007D33FA /* mac-os.mm in Sources */ = {isa = PBXBuildFile; fileRef = EAE0E96604D582B700A80003 /* mac-os.mm */; }; CF2F46D61095EE72007D33FA /* mac-prefs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EAE0E96B04D584B700A80003 /* mac-prefs.cpp */; }; @@ -651,6 +651,12 @@ CF37579110A6AEA1001BF7C5 /* SPC_DSP.h in Headers */ = {isa = PBXBuildFile; fileRef = CF37575B10A6AEA1001BF7C5 /* SPC_DSP.h */; }; CF37579210A6AEA1001BF7C5 /* SPC_Filter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CF37575C10A6AEA1001BF7C5 /* SPC_Filter.cpp */; }; CF37579310A6AEA1001BF7C5 /* SPC_Filter.h in Headers */ = {isa = PBXBuildFile; fileRef = CF37575D10A6AEA1001BF7C5 /* SPC_Filter.h */; }; + CF46BEAA133E2559005A17A5 /* musicbox.xib in Resources */ = {isa = PBXBuildFile; fileRef = CF46BEA8133E2559005A17A5 /* musicbox.xib */; }; + CF46BEAB133E2559005A17A5 /* musicbox.xib in Resources */ = {isa = PBXBuildFile; fileRef = CF46BEA8133E2559005A17A5 /* musicbox.xib */; }; + CF46BEAC133E2559005A17A5 /* musicbox.xib in Resources */ = {isa = PBXBuildFile; fileRef = CF46BEA8133E2559005A17A5 /* musicbox.xib */; }; + CF46BEAE133E256D005A17A5 /* musicbox_pause.png in Resources */ = {isa = PBXBuildFile; fileRef = CF46BEAD133E256D005A17A5 /* musicbox_pause.png */; }; + CF46BEAF133E256D005A17A5 /* musicbox_pause.png in Resources */ = {isa = PBXBuildFile; fileRef = CF46BEAD133E256D005A17A5 /* musicbox_pause.png */; }; + CF46BEB0133E256D005A17A5 /* musicbox_pause.png in Resources */ = {isa = PBXBuildFile; fileRef = CF46BEAD133E256D005A17A5 /* musicbox_pause.png */; }; CF5553C90EA24C36005957E4 /* 2xsai.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CF5553B10EA24C36005957E4 /* 2xsai.cpp */; }; CF5553CA0EA24C36005957E4 /* 2xsai.h in Headers */ = {isa = PBXBuildFile; fileRef = CF5553B20EA24C36005957E4 /* 2xsai.h */; }; CF5553CB0EA24C36005957E4 /* blit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CF5553B30EA24C36005957E4 /* blit.cpp */; }; @@ -675,6 +681,12 @@ CFAEC7E11113149B00E0A846 /* linear_resampler.h in Headers */ = {isa = PBXBuildFile; fileRef = CFAEC7DD1113149B00E0A846 /* linear_resampler.h */; }; CFAEC7E21113149B00E0A846 /* hermite_resampler.h in Headers */ = {isa = PBXBuildFile; fileRef = CFAEC7DC1113149B00E0A846 /* hermite_resampler.h */; }; CFAEC7E31113149B00E0A846 /* linear_resampler.h in Headers */ = {isa = PBXBuildFile; fileRef = CFAEC7DD1113149B00E0A846 /* linear_resampler.h */; }; + CFCE2D47133F591900DF6C4E /* musicbox_effect.png in Resources */ = {isa = PBXBuildFile; fileRef = CFCE2D45133F591900DF6C4E /* musicbox_effect.png */; }; + CFCE2D48133F591900DF6C4E /* musicbox_rewind.png in Resources */ = {isa = PBXBuildFile; fileRef = CFCE2D46133F591900DF6C4E /* musicbox_rewind.png */; }; + CFCE2D49133F591900DF6C4E /* musicbox_effect.png in Resources */ = {isa = PBXBuildFile; fileRef = CFCE2D45133F591900DF6C4E /* musicbox_effect.png */; }; + CFCE2D4A133F591900DF6C4E /* musicbox_rewind.png in Resources */ = {isa = PBXBuildFile; fileRef = CFCE2D46133F591900DF6C4E /* musicbox_rewind.png */; }; + CFCE2D4B133F591900DF6C4E /* musicbox_effect.png in Resources */ = {isa = PBXBuildFile; fileRef = CFCE2D45133F591900DF6C4E /* musicbox_effect.png */; }; + CFCE2D4C133F591900DF6C4E /* musicbox_rewind.png in Resources */ = {isa = PBXBuildFile; fileRef = CFCE2D46133F591900DF6C4E /* musicbox_rewind.png */; }; CFE7FBB10D2F6755002F3102 /* debug.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EAE061710526CCB900A80003 /* debug.cpp */; }; CFE7FBB40D2F67BA002F3102 /* fxemu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EAE0617C0526CCB900A80003 /* fxemu.cpp */; }; CFE7FBB80D2F683C002F3102 /* debug.h in Headers */ = {isa = PBXBuildFile; fileRef = EA6E6C0E08F9734500CB3555 /* debug.h */; }; @@ -723,6 +735,8 @@ CF37575B10A6AEA1001BF7C5 /* SPC_DSP.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPC_DSP.h; sourceTree = ""; }; CF37575C10A6AEA1001BF7C5 /* SPC_Filter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SPC_Filter.cpp; sourceTree = ""; }; CF37575D10A6AEA1001BF7C5 /* SPC_Filter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPC_Filter.h; sourceTree = ""; }; + CF46BEA9133E2559005A17A5 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/musicbox.xib; sourceTree = ""; }; + CF46BEAD133E256D005A17A5 /* musicbox_pause.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = musicbox_pause.png; sourceTree = ""; }; CF4B7C420CF841580080E643 /* icons.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = icons.png; sourceTree = ""; }; CF5553B10EA24C36005957E4 /* 2xsai.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; path = 2xsai.cpp; sourceTree = ""; }; CF5553B20EA24C36005957E4 /* 2xsai.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = 2xsai.h; sourceTree = ""; }; @@ -746,6 +760,8 @@ CFA82C3E0F1B43A60089C17F /* srtcemu.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = srtcemu.cpp; sourceTree = ""; }; CFAEC7DC1113149B00E0A846 /* hermite_resampler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hermite_resampler.h; sourceTree = ""; }; CFAEC7DD1113149B00E0A846 /* linear_resampler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = linear_resampler.h; sourceTree = ""; }; + CFCE2D45133F591900DF6C4E /* musicbox_effect.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = musicbox_effect.png; sourceTree = ""; }; + CFCE2D46133F591900DF6C4E /* musicbox_rewind.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = musicbox_rewind.png; sourceTree = ""; }; CFEFAE8A10EAC92300FB081A /* snes_ntsc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = snes_ntsc.c; sourceTree = ""; }; CFEFAE8E10EAC92B00FB081A /* snes_ntsc_config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = snes_ntsc_config.h; sourceTree = ""; }; CFEFAE8F10EAC92B00FB081A /* snes_ntsc_impl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = snes_ntsc_impl.h; sourceTree = ""; }; @@ -841,7 +857,7 @@ EAC5E47003D2D9C800A80004 /* AGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AGL.framework; path = /System/Library/Frameworks/AGL.framework; sourceTree = ""; }; EACDDBB004D6A89700A80003 /* mac-appleevent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; path = "mac-appleevent.cpp"; sourceTree = ""; }; EAD978980555059300E8BBFD /* mac-global_prefix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = "mac-global_prefix.h"; sourceTree = ""; }; - EADE6347052E5C4300A80003 /* mac-audio.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; path = "mac-audio.cpp"; sourceTree = ""; }; + EADE6347052E5C4300A80003 /* mac-audio.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; lineEnding = 0; path = "mac-audio.mm"; sourceTree = ""; }; EADE6349052E5C5300A80003 /* mac-audio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = "mac-audio.h"; sourceTree = ""; }; EADE634B052E5D3600A80003 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = /System/Library/Frameworks/AudioToolbox.framework; sourceTree = ""; }; EADE634C052E5D3600A80003 /* AudioUnit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = /System/Library/Frameworks/AudioUnit.framework; sourceTree = ""; }; @@ -922,7 +938,7 @@ EAECB67C04AC7FCE00A80003 /* mac-joypad.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = "mac-joypad.h"; sourceTree = ""; }; EAECB67D04AC7FCE00A80003 /* mac-keyboard.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; path = "mac-keyboard.cpp"; sourceTree = ""; }; EAECB67E04AC7FCE00A80003 /* mac-keyboard.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = "mac-keyboard.h"; sourceTree = ""; }; - EAECB67F04AC7FCE00A80003 /* mac-musicbox.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; path = "mac-musicbox.cpp"; sourceTree = ""; }; + EAECB67F04AC7FCE00A80003 /* mac-musicbox.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; lineEnding = 0; path = "mac-musicbox.mm"; sourceTree = ""; }; EAECB68004AC7FCE00A80003 /* mac-musicbox.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = "mac-musicbox.h"; sourceTree = ""; }; EAECB68204AC7FCE00A80003 /* mac-os.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = "mac-os.h"; sourceTree = ""; }; EAECB68304AC7FCE00A80003 /* mac-prefix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = "mac-prefix.h"; sourceTree = ""; }; @@ -1268,7 +1284,7 @@ EAD978980555059300E8BBFD /* mac-global_prefix.h */, EA362C3E086119D100FBE476 /* HID_Utilities_External.h */, EACDDBB004D6A89700A80003 /* mac-appleevent.cpp */, - EADE6347052E5C4300A80003 /* mac-audio.cpp */, + EADE6347052E5C4300A80003 /* mac-audio.mm */, EAECB67004AC7FCE00A80003 /* mac-cart.mm */, EAECB67204AC7FCE00A80003 /* mac-cheat.cpp */, EAECB67404AC7FCE00A80003 /* mac-cheatfinder.cpp */, @@ -1282,7 +1298,7 @@ EAECB67B04AC7FCE00A80003 /* mac-joypad.cpp */, EAECB67D04AC7FCE00A80003 /* mac-keyboard.cpp */, EA26BBD50B3676E800A570B5 /* mac-multicart.cpp */, - EAECB67F04AC7FCE00A80003 /* mac-musicbox.cpp */, + EAECB67F04AC7FCE00A80003 /* mac-musicbox.mm */, EA1605500639E735004412AB /* mac-netplay.cpp */, EAE0E96604D582B700A80003 /* mac-os.mm */, EAE0E96B04D584B700A80003 /* mac-prefs.cpp */, @@ -1302,12 +1318,16 @@ EA3D300B0A260A3200BDACCC /* logo_freeze.png */, EA3D300C0A260A3200BDACCC /* logo_defrost.png */, EA3D300A0A260A3200BDACCC /* musicbox_indicator.png */, + CF46BEAD133E256D005A17A5 /* musicbox_pause.png */, + CFCE2D46133F591900DF6C4E /* musicbox_rewind.png */, + CFCE2D45133F591900DF6C4E /* musicbox_effect.png */, EA3D2F380A26083B00BDACCC /* musicbox_ledon.icns */, EA3D2F390A26083B00BDACCC /* musicbox_ledoff.icns */, EA85C3560B4ECBD900F5F9C9 /* freeze_defrost.aiff */, EA3BEA9E0A28384E00A8FAE5 /* InfoPlist.strings */, EA3BEA980A28384E00A8FAE5 /* Localizable.strings */, CF14733C132DA4E1000D0F91 /* Snes9x.xib */, + CF46BEA8133E2559005A17A5 /* musicbox.xib */, EA3BEAA80A28386500A8FAE5 /* Snes9x Help */, EA3D2F580A26085800BDACCC /* libHIDUtilities_u.a */, CF10B8EF0F63BF8A009C81CD /* libz_u.a */, @@ -1371,6 +1391,8 @@ CF37577310A6AEA1001BF7C5 /* blargg_config.h in Headers */, CF37577410A6AEA1001BF7C5 /* blargg_endian.h in Headers */, CF37577510A6AEA1001BF7C5 /* blargg_source.h in Headers */, + CFAEC7E01113149B00E0A846 /* hermite_resampler.h in Headers */, + CFAEC7E11113149B00E0A846 /* linear_resampler.h in Headers */, CF37577710A6AEA1001BF7C5 /* resampler.h in Headers */, CF37577810A6AEA1001BF7C5 /* ring_buffer.h in Headers */, CF37577A10A6AEA1001BF7C5 /* SNES_SPC.h in Headers */, @@ -1433,8 +1455,6 @@ CF047D97109D0E0600FD0754 /* mac-prefix.h in Headers */, CF047D98109D0E0600FD0754 /* mac-global_prefix.h in Headers */, CF047D99109D0E0600FD0754 /* HID_Utilities_External.h in Headers */, - CFAEC7E01113149B00E0A846 /* hermite_resampler.h in Headers */, - CFAEC7E11113149B00E0A846 /* linear_resampler.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1488,6 +1508,8 @@ CF37578510A6AEA1001BF7C5 /* blargg_config.h in Headers */, CF37578610A6AEA1001BF7C5 /* blargg_endian.h in Headers */, CF37578710A6AEA1001BF7C5 /* blargg_source.h in Headers */, + CFAEC7DE1113149B00E0A846 /* hermite_resampler.h in Headers */, + CFAEC7DF1113149B00E0A846 /* linear_resampler.h in Headers */, CF37578910A6AEA1001BF7C5 /* resampler.h in Headers */, CF37578A10A6AEA1001BF7C5 /* ring_buffer.h in Headers */, CF37578C10A6AEA1001BF7C5 /* SNES_SPC.h in Headers */, @@ -1550,8 +1572,6 @@ CF0566EC0CF98E7E00C7877C /* mac-prefix.h in Headers */, CF0566ED0CF98E7E00C7877C /* mac-global_prefix.h in Headers */, CF0566EE0CF98E7E00C7877C /* HID_Utilities_External.h in Headers */, - CFAEC7DE1113149B00E0A846 /* hermite_resampler.h in Headers */, - CFAEC7DF1113149B00E0A846 /* linear_resampler.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1605,6 +1625,8 @@ CF37576110A6AEA1001BF7C5 /* blargg_config.h in Headers */, CF37576210A6AEA1001BF7C5 /* blargg_endian.h in Headers */, CF37576310A6AEA1001BF7C5 /* blargg_source.h in Headers */, + CFAEC7E21113149B00E0A846 /* hermite_resampler.h in Headers */, + CFAEC7E31113149B00E0A846 /* linear_resampler.h in Headers */, CF37576510A6AEA1001BF7C5 /* resampler.h in Headers */, CF37576610A6AEA1001BF7C5 /* ring_buffer.h in Headers */, CF37576810A6AEA1001BF7C5 /* SNES_SPC.h in Headers */, @@ -1667,8 +1689,6 @@ CF2F46711095EE72007D33FA /* mac-prefix.h in Headers */, CF2F46721095EE72007D33FA /* mac-global_prefix.h in Headers */, CF2F46731095EE72007D33FA /* HID_Utilities_External.h in Headers */, - CFAEC7E21113149B00E0A846 /* hermite_resampler.h in Headers */, - CFAEC7E31113149B00E0A846 /* linear_resampler.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1772,13 +1792,17 @@ CF047DA1109D0E0600FD0754 /* icons.png in Resources */, CF047DA2109D0E0600FD0754 /* logo_freeze.png in Resources */, CF047DA3109D0E0600FD0754 /* logo_defrost.png in Resources */, + CF047DA6109D0E0600FD0754 /* musicbox_indicator.png in Resources */, + CF46BEAF133E256D005A17A5 /* musicbox_pause.png in Resources */, + CFCE2D4A133F591900DF6C4E /* musicbox_rewind.png in Resources */, + CFCE2D49133F591900DF6C4E /* musicbox_effect.png in Resources */, CF047DA4109D0E0600FD0754 /* musicbox_ledon.icns in Resources */, CF047DA5109D0E0600FD0754 /* musicbox_ledoff.icns in Resources */, - CF047DA6109D0E0600FD0754 /* musicbox_indicator.png in Resources */, CF047DA7109D0E0600FD0754 /* freeze_defrost.aiff in Resources */, CF047DA8109D0E0600FD0754 /* InfoPlist.strings in Resources */, CF047DA9109D0E0600FD0754 /* Localizable.strings in Resources */, CF14733F132DA4E1000D0F91 /* Snes9x.xib in Resources */, + CF46BEAB133E2559005A17A5 /* musicbox.xib in Resources */, CF047DAB109D0E0600FD0754 /* Snes9x Help in Resources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -1796,13 +1820,17 @@ CF0566F60CF98E7E00C7877C /* icons.png in Resources */, CF0566F70CF98E7E00C7877C /* logo_freeze.png in Resources */, CF0566F80CF98E7E00C7877C /* logo_defrost.png in Resources */, + CF0566FB0CF98E7E00C7877C /* musicbox_indicator.png in Resources */, + CF46BEAE133E256D005A17A5 /* musicbox_pause.png in Resources */, + CFCE2D48133F591900DF6C4E /* musicbox_rewind.png in Resources */, + CFCE2D47133F591900DF6C4E /* musicbox_effect.png in Resources */, CF0566F90CF98E7E00C7877C /* musicbox_ledon.icns in Resources */, CF0566FA0CF98E7E00C7877C /* musicbox_ledoff.icns in Resources */, - CF0566FB0CF98E7E00C7877C /* musicbox_indicator.png in Resources */, CF0566FC0CF98E7E00C7877C /* freeze_defrost.aiff in Resources */, CF0566FD0CF98E7E00C7877C /* InfoPlist.strings in Resources */, CF0566FE0CF98E7E00C7877C /* Localizable.strings in Resources */, CF147340132DA4E1000D0F91 /* Snes9x.xib in Resources */, + CF46BEAA133E2559005A17A5 /* musicbox.xib in Resources */, CF0567000CF98E7E00C7877C /* Snes9x Help in Resources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -1820,13 +1848,17 @@ CF2F467B1095EE72007D33FA /* icons.png in Resources */, CF2F467C1095EE72007D33FA /* logo_freeze.png in Resources */, CF2F467D1095EE72007D33FA /* logo_defrost.png in Resources */, + CF2F46801095EE72007D33FA /* musicbox_indicator.png in Resources */, + CF46BEB0133E256D005A17A5 /* musicbox_pause.png in Resources */, + CFCE2D4C133F591900DF6C4E /* musicbox_rewind.png in Resources */, + CFCE2D4B133F591900DF6C4E /* musicbox_effect.png in Resources */, CF2F467E1095EE72007D33FA /* musicbox_ledon.icns in Resources */, CF2F467F1095EE72007D33FA /* musicbox_ledoff.icns in Resources */, - CF2F46801095EE72007D33FA /* musicbox_indicator.png in Resources */, CF2F46811095EE72007D33FA /* freeze_defrost.aiff in Resources */, CF2F46821095EE72007D33FA /* InfoPlist.strings in Resources */, CF2F46831095EE72007D33FA /* Localizable.strings in Resources */, CF14733E132DA4E1000D0F91 /* Snes9x.xib in Resources */, + CF46BEAC133E2559005A17A5 /* musicbox.xib in Resources */, CF2F46851095EE72007D33FA /* Snes9x Help in Resources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -1926,7 +1958,7 @@ CF047DE8109D0E0600FD0754 /* s9x-jma.cpp in Sources */, CF047DE9109D0E0600FD0754 /* winout.cpp in Sources */, CF047DEA109D0E0600FD0754 /* mac-appleevent.cpp in Sources */, - CF047DEB109D0E0600FD0754 /* mac-audio.cpp in Sources */, + CF047DEB109D0E0600FD0754 /* mac-audio.mm in Sources */, CF047DEC109D0E0600FD0754 /* mac-cart.mm in Sources */, CF047DED109D0E0600FD0754 /* mac-cheat.cpp in Sources */, CF047DEE109D0E0600FD0754 /* mac-cheatfinder.cpp in Sources */, @@ -1940,7 +1972,7 @@ CF047DF6109D0E0600FD0754 /* mac-joypad.cpp in Sources */, CF047DF7109D0E0600FD0754 /* mac-keyboard.cpp in Sources */, CF047DF8109D0E0600FD0754 /* mac-multicart.cpp in Sources */, - CF047DF9109D0E0600FD0754 /* mac-musicbox.cpp in Sources */, + CF047DF9109D0E0600FD0754 /* mac-musicbox.mm in Sources */, CF047DFA109D0E0600FD0754 /* mac-netplay.cpp in Sources */, CF047DFB109D0E0600FD0754 /* mac-os.mm in Sources */, CF047DFC109D0E0600FD0754 /* mac-prefs.cpp in Sources */, @@ -2021,7 +2053,7 @@ CF0567350CF98E7E00C7877C /* s9x-jma.cpp in Sources */, CF0567360CF98E7E00C7877C /* winout.cpp in Sources */, CF0567380CF98E7E00C7877C /* mac-appleevent.cpp in Sources */, - CF0567390CF98E7E00C7877C /* mac-audio.cpp in Sources */, + CF0567390CF98E7E00C7877C /* mac-audio.mm in Sources */, CF05673B0CF98E7E00C7877C /* mac-cart.mm in Sources */, CF05673C0CF98E7E00C7877C /* mac-cheat.cpp in Sources */, CF05673D0CF98E7E00C7877C /* mac-cheatfinder.cpp in Sources */, @@ -2035,7 +2067,7 @@ CF0567470CF98E7E00C7877C /* mac-joypad.cpp in Sources */, CF0567480CF98E7E00C7877C /* mac-keyboard.cpp in Sources */, CF0567490CF98E7E00C7877C /* mac-multicart.cpp in Sources */, - CF05674A0CF98E7E00C7877C /* mac-musicbox.cpp in Sources */, + CF05674A0CF98E7E00C7877C /* mac-musicbox.mm in Sources */, CF05674B0CF98E7E00C7877C /* mac-netplay.cpp in Sources */, CF05674C0CF98E7E00C7877C /* mac-os.mm in Sources */, CF05674D0CF98E7E00C7877C /* mac-prefs.cpp in Sources */, @@ -2116,7 +2148,7 @@ CF2F46C21095EE72007D33FA /* s9x-jma.cpp in Sources */, CF2F46C31095EE72007D33FA /* winout.cpp in Sources */, CF2F46C41095EE72007D33FA /* mac-appleevent.cpp in Sources */, - CF2F46C51095EE72007D33FA /* mac-audio.cpp in Sources */, + CF2F46C51095EE72007D33FA /* mac-audio.mm in Sources */, CF2F46C61095EE72007D33FA /* mac-cart.mm in Sources */, CF2F46C71095EE72007D33FA /* mac-cheat.cpp in Sources */, CF2F46C81095EE72007D33FA /* mac-cheatfinder.cpp in Sources */, @@ -2130,7 +2162,7 @@ CF2F46D01095EE72007D33FA /* mac-joypad.cpp in Sources */, CF2F46D11095EE72007D33FA /* mac-keyboard.cpp in Sources */, CF2F46D21095EE72007D33FA /* mac-multicart.cpp in Sources */, - CF2F46D31095EE72007D33FA /* mac-musicbox.cpp in Sources */, + CF2F46D31095EE72007D33FA /* mac-musicbox.mm in Sources */, CF2F46D41095EE72007D33FA /* mac-netplay.cpp in Sources */, CF2F46D51095EE72007D33FA /* mac-os.mm in Sources */, CF2F46D61095EE72007D33FA /* mac-prefs.cpp in Sources */, @@ -2154,6 +2186,14 @@ name = Snes9x.xib; sourceTree = ""; }; + CF46BEA8133E2559005A17A5 /* musicbox.xib */ = { + isa = PBXVariantGroup; + children = ( + CF46BEA9133E2559005A17A5 /* English */, + ); + name = musicbox.xib; + sourceTree = ""; + }; EA3BEA980A28384E00A8FAE5 /* Localizable.strings */ = { isa = PBXVariantGroup; children = ( @@ -2231,7 +2271,7 @@ DEAD_CODE_STRIPPING = YES; GCC_ENABLE_CPP_EXCEPTIONS = NO; GCC_ENABLE_CPP_RTTI = NO; - GCC_MODEL_TUNING = G4; + GCC_MODEL_TUNING = G3; GCC_NO_COMMON_BLOCKS = YES; GCC_OPTIMIZATION_LEVEL = 0; GCC_PREFIX_HEADER = "mac-global_prefix.h"; diff --git a/unix/configure b/unix/configure old mode 100644 new mode 100755 index 22cf14c9..000fcc93 --- a/unix/configure +++ b/unix/configure @@ -1,7 +1,7 @@ #! /bin/sh -# From configure.ac Revision: 1.52 . +# From configure.ac Revision: 1.53 . # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.61 for Snes9x 1.52. +# Generated by GNU Autoconf 2.61 for Snes9x 1.53. # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. @@ -573,8 +573,8 @@ SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='Snes9x' PACKAGE_TARNAME='snes9x' -PACKAGE_VERSION='1.52' -PACKAGE_STRING='Snes9x 1.52' +PACKAGE_VERSION='1.53' +PACKAGE_STRING='Snes9x 1.53' PACKAGE_BUGREPORT='' ac_unique_file="unix.cpp" @@ -673,7 +673,6 @@ OBJEXT CXX CXXFLAGS ac_ct_CXX -S9XNASM CXXCPP GREP EGREP @@ -685,8 +684,6 @@ X_EXTRA_LIBS S9XFLGS S9XDEFS S9XLIBS -S9XZSNESFX -S9XZSNESC4 S9XDEBUGGER S9XNETPLAY S9XZIP @@ -1209,7 +1206,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures Snes9x 1.52 to adapt to many kinds of systems. +\`configure' configures Snes9x 1.53 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1279,7 +1276,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of Snes9x 1.52:";; + short | recursive ) echo "Configuration of Snes9x 1.53:";; esac cat <<\_ACEOF @@ -1290,8 +1287,6 @@ Optional Features: (default: no) --enable-mtune use the specified value for the -mtune/-mcpu flag (default: no) - --enable-zsnes-asm build with ZSNES C4 and SuperFX assembler cores if - available (default: no) --enable-gamepad enable gamepad support if available (default: yes) --enable-debugger enable debugger (default: no) --enable-netplay enable netplay support (default: no) @@ -1383,7 +1378,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -Snes9x configure 1.52 +Snes9x configure 1.53 generated by GNU Autoconf 2.61 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, @@ -1397,7 +1392,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by Snes9x $as_me 1.52, which was +It was created by Snes9x $as_me 1.53, which was generated by GNU Autoconf 2.61. Invocation command line was $ $0 $@ @@ -4488,103 +4483,6 @@ echo "${ECHO_T}no" >&6; } fi -# Check if the CPU is x86. - -{ echo "$as_me:$LINENO: checking whether the CPU is x86" >&5 -echo $ECHO_N "checking whether the CPU is x86... $ECHO_C" >&6; } - -if test "${snes9x_cv_x86_cpu+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - case "$target" in - i686-*-* | i586-*-* | i486-*-* | i386-*-*) - snes9x_cv_x86_cpu="yes" - ;; - *) - snes9x_cv_x86_cpu="no" - ;; - esac - -fi - - -{ echo "$as_me:$LINENO: result: $snes9x_cv_x86_cpu" >&5 -echo "${ECHO_T}$snes9x_cv_x86_cpu" >&6; } - -# Enable ZSNES C4 and SuperFX assembler cores if CPU is x86. - -S9XZSNESFX="#S9XZSNESFX=1" -S9XZSNESC4="#S9XZSNESC4=1" -S9XNASM="" - -# Check whether --enable-zsnes_asm was given. -if test "${enable_zsnes_asm+set}" = set; then - enableval=$enable_zsnes_asm; -else - enable_zsnes_asm="no" -fi - - -if test "x$enable_zsnes_asm" = "xyes"; then - if test "x$snes9x_cv_x86_cpu" = "xyes"; then - # Extract the first word of "nasm", so it can be a program name with args. -set dummy nasm; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_path_S9XNASM+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $S9XNASM in - [\\/]* | ?:[\\/]*) - ac_cv_path_S9XNASM="$S9XNASM" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_path_S9XNASM="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - - test -z "$ac_cv_path_S9XNASM" && ac_cv_path_S9XNASM="no" - ;; -esac -fi -S9XNASM=$ac_cv_path_S9XNASM -if test -n "$S9XNASM"; then - { echo "$as_me:$LINENO: result: $S9XNASM" >&5 -echo "${ECHO_T}$S9XNASM" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - - if test "x$S9XNASM" != "xno"; then - S9XZSNESFX="S9XZSNESFX=1" - S9XZSNESC4="S9XZSNESC4=1" - S9XDEFS="$S9XDEFS -DZSNES_FX -DZSNES_C4" - else - { echo "$as_me:$LINENO: WARNING: nasm not found. Build without ZSNES assembler cores." >&5 -echo "$as_me: WARNING: nasm not found. Build without ZSNES assembler cores." >&2;} - enable_zsnes_asm="no" - fi - else - { echo "$as_me:$LINENO: WARNING: Your CPU is not x86. Build without ZSNES assembler cores." >&5 -echo "$as_me: WARNING: Your CPU is not x86. Build without ZSNES assembler cores." >&2;} - enable_zsnes_asm="no" - fi -fi - # Check if the OS is Linux. { echo "$as_me:$LINENO: checking whether the OS is Linux" >&5 @@ -8391,9 +8289,6 @@ S9XLIBS="`echo \"$S9XLIBS\" | sed -e 's/^ *//'`" - - - rm config.info 2>/dev/null cat >config.info <&1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by Snes9x $as_me 1.52, which was +This file was extended by Snes9x $as_me 1.53, which was generated by GNU Autoconf 2.61. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -8891,7 +8785,7 @@ Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ -Snes9x config.status 1.52 +Snes9x config.status 1.53 configured by $0, generated by GNU Autoconf 2.61, with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" @@ -9109,7 +9003,6 @@ OBJEXT!$OBJEXT$ac_delim CXX!$CXX$ac_delim CXXFLAGS!$CXXFLAGS$ac_delim ac_ct_CXX!$ac_ct_CXX$ac_delim -S9XNASM!$S9XNASM$ac_delim CXXCPP!$CXXCPP$ac_delim GREP!$GREP$ac_delim EGREP!$EGREP$ac_delim @@ -9121,8 +9014,6 @@ X_EXTRA_LIBS!$X_EXTRA_LIBS$ac_delim S9XFLGS!$S9XFLGS$ac_delim S9XDEFS!$S9XDEFS$ac_delim S9XLIBS!$S9XLIBS$ac_delim -S9XZSNESFX!$S9XZSNESFX$ac_delim -S9XZSNESC4!$S9XZSNESC4$ac_delim S9XDEBUGGER!$S9XDEBUGGER$ac_delim S9XNETPLAY!$S9XNETPLAY$ac_delim S9XZIP!$S9XZIP$ac_delim @@ -9131,7 +9022,7 @@ LIBOBJS!$LIBOBJS$ac_delim LTLIBOBJS!$LTLIBOBJS$ac_delim _ACEOF - if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 79; then + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 76; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 diff --git a/unix/docs/readme_unix.html b/unix/docs/readme_unix.html index 3dea24e7..20028ecf 100644 --- a/unix/docs/readme_unix.html +++ b/unix/docs/readme_unix.html @@ -48,7 +48,7 @@ Use -help option to see available options.

    - SNES ROM images come in lots of different formats. Snes9x supports zipped ROMs as long as there is only 1 per zip file. Also Snes9x can open gzip/jma compressed file. + SNES ROM images come in lots of different formats. Snes9x supports zipped ROMs as long as there is only 1 per zip file. Also Snes9x can open gzip and jma compressed files.

    Game Color System

    @@ -234,7 +234,7 @@

    Software

    - You will need access to SNES ROM images in .smc, .sfc, .fig, etc., format otherwise you will have nothing to run! Some home-brewed ROM images can be downloaded from http://www.zophar.com/.
    + You will need access to SNES ROM images otherwise you will have nothing to run! Some home-brewed ROM images can be downloaded from http://www.zophar.com/.
    Please note, it is illegal in most countries to have commercial ROM images without also owning the actual SNES ROM cartridges, and even then you may be liable under various EULAs.

    Controllers Support

    @@ -689,7 +689,7 @@
  • Sound DSP, with eight 16-bit, stereo channels, compressed samples, hardware envelope processing, echo, pitch modulation and digital FIR sound filter.
  • SRAM, a battery-backed RAM.
  • All background modes, 0 to 7.
  • -
  • All screen resolutions, 256x224, 256x239, 512x224, 512x239, 512x448 and 512x478.
  • +
  • All screen resolutions including interlace mode.
  • Pseudo hi-res mode.
  • 8x8, 16x8 and 16x16 tile sizes, flipped in either direction.
  • 32x32, 32x64, 64x32 and 64x64 screen tile sizes.
  • @@ -802,7 +802,7 @@

    Edited for Unix port by: zones (kasumitokoduck@yahoo.com)
    - Updated most recently by: 2009/12/20 zones + Updated most recently by: 2011/04/10 zones

    diff --git a/unzip/crypt.h b/unzip/crypt.h index 622f4bc2..2d69da4a 100644 --- a/unzip/crypt.h +++ b/unzip/crypt.h @@ -1,9 +1,9 @@ /* crypt.h -- base code for crypt/uncrypt ZIPfile - Version 1.01e, February 12th, 2005 + Version 1.01h, December 28th, 2009 - Copyright (C) 1998-2005 Gilles Vollant + Copyright (C) 1998-2009 Gilles Vollant This code is a modified version of crypting code in Infozip distribution diff --git a/unzip/ioapi.c b/unzip/ioapi.c index f1bee23e..51a90581 100644 --- a/unzip/ioapi.c +++ b/unzip/ioapi.c @@ -1,9 +1,9 @@ /* ioapi.c -- IO base function header for compress/uncompress .zip files using zlib + zip or unzip API - Version 1.01e, February 12th, 2005 + Version 1.01h, December 28th, 2009 - Copyright (C) 1998-2005 Gilles Vollant + Copyright (C) 1998-2009 Gilles Vollant */ #include @@ -141,7 +141,8 @@ long ZCALLBACK fseek_file_func (opaque, stream, offset, origin) default: return -1; } ret = 0; - fseek((FILE *)stream, offset, fseek_origin); + if (fseek((FILE *)stream, offset, fseek_origin) != 0) + ret = -1; return ret; } diff --git a/unzip/ioapi.h b/unzip/ioapi.h index 7d457baa..1dba776c 100644 --- a/unzip/ioapi.h +++ b/unzip/ioapi.h @@ -1,9 +1,9 @@ /* ioapi.h -- IO base function header for compress/uncompress .zip files using zlib + zip or unzip API - Version 1.01e, February 12th, 2005 + Version 1.01h, December 28th, 2009 - Copyright (C) 1998-2005 Gilles Vollant + Copyright (C) 1998-2009 Gilles Vollant */ #ifndef _ZLIBIOAPI_H diff --git a/unzip/iowin32.c b/unzip/iowin32.c index a9b5f783..e502139a 100644 --- a/unzip/iowin32.c +++ b/unzip/iowin32.c @@ -2,9 +2,9 @@ files using zlib + zip or unzip API This IO API version uses the Win32 API (for Microsoft Windows) - Version 1.01e, February 12th, 2005 + Version 1.01h, December 28th, 2009 - Copyright (C) 1998-2005 Gilles Vollant + Copyright (C) 1998-2009 Gilles Vollant */ #include diff --git a/unzip/iowin32.h b/unzip/iowin32.h index a3a437ad..c128770f 100644 --- a/unzip/iowin32.h +++ b/unzip/iowin32.h @@ -2,9 +2,9 @@ files using zlib + zip or unzip API This IO API version uses the Win32 API (for Microsoft Windows) - Version 1.01e, February 12th, 2005 + Version 1.01h, December 28th, 2009 - Copyright (C) 1998-2005 Gilles Vollant + Copyright (C) 1998-2009 Gilles Vollant */ #include diff --git a/unzip/miniunz.c b/unzip/miniunz.c index f5999388..b5bc8b54 100644 --- a/unzip/miniunz.c +++ b/unzip/miniunz.c @@ -1,8 +1,8 @@ /* miniunz.c - Version 1.01e, February 12th, 2005 + Version 1.01h, December 28th, 2009 - Copyright (C) 1998-2005 Gilles Vollant + Copyright (C) 1998-2009 Gilles Vollant */ @@ -112,6 +112,11 @@ int makedir (newdir) return 0; buffer = (char*)malloc(len+1); + if (buffer==NULL) + { + printf("Error allocating memory\n"); + return UNZ_INTERNALERROR; + } strcpy(buffer,newdir); if (buffer[len-1] == '/') { @@ -210,6 +215,11 @@ int do_list(uf) else if ((iLevel==2) || (iLevel==3)) string_method="Defl:F"; /* 2:fast , 3 : extra fast*/ } + else + if (file_info.compression_method==Z_BZIP2ED) + { + string_method="BZip2 "; + } else string_method="Unkn. "; @@ -470,6 +480,7 @@ int main(argc,argv) const char *password=NULL; char filename_try[MAXFILENAME+16] = ""; int i; + int ret_value=0; int opt_do_list=0; int opt_do_extract=1; int opt_do_extract_withoutpath=0; @@ -564,7 +575,7 @@ int main(argc,argv) printf("%s opened\n",filename_try); if (opt_do_list==1) - return do_list(uf); + ret_value = do_list(uf); else if (opt_do_extract==1) { if (opt_extractdir && chdir(dirname)) @@ -574,12 +585,13 @@ int main(argc,argv) } if (filename_to_extract == NULL) - return do_extract(uf,opt_do_extract_withoutpath,opt_overwrite,password); + ret_value = do_extract(uf,opt_do_extract_withoutpath,opt_overwrite,password); else - return do_extract_onefile(uf,filename_to_extract, + ret_value = do_extract_onefile(uf,filename_to_extract, opt_do_extract_withoutpath,opt_overwrite,password); } - unzCloseCurrentFile(uf); - return 0; + unzClose(uf); + + return ret_value ; } diff --git a/unzip/minizip.c b/unzip/minizip.c index f2dfecd8..25f83898 100644 --- a/unzip/minizip.c +++ b/unzip/minizip.c @@ -1,8 +1,12 @@ /* minizip.c - Version 1.01e, February 12th, 2005 + Version 1.01h, December 28th, 2009 - Copyright (C) 1998-2005 Gilles Vollant + Copyright (C) 1998-2009 Gilles Vollant + +Changes: + Aug 3, 2006. jg. support storing files with out paths. (-j) + Aug 3, 2006. jg. files with paths should not have leading slashes. */ #include @@ -44,9 +48,9 @@ uLong filetime(f, tmzip, dt) { FILETIME ftLocal; HANDLE hFind; - WIN32_FIND_DATA ff32; + WIN32_FIND_DATAA ff32; - hFind = FindFirstFile(f,&ff32); + hFind = FindFirstFileA(f,&ff32); if (hFind != INVALID_HANDLE_VALUE) { FileTimeToLocalFileTime(&(ff32.ftLastWriteTime),&ftLocal); @@ -129,18 +133,20 @@ int check_exist_file(filename) void do_banner() { - printf("MiniZip 1.01b, demo of zLib + Zip package written by Gilles Vollant\n"); - printf("more info at http://www.winimage.com/zLibDll/unzip.html\n\n"); + printf("MiniZip 1.01e-jg, demo of zLib + Zip package written by Gilles Vollant\n"); + printf("minor updates, jg.\n"); + printf("more info at http://www.winimage.com/zLibDll/minizip.html\n\n"); } void do_help() { - printf("Usage : minizip [-o] [-a] [-0 to -9] [-p password] file.zip [files_to_add]\n\n" \ + printf("Usage : minizip [-o] [-a] [-0 to -9] [-p password] [-j] file.zip [files_to_add]\n\n" \ " -o Overwrite existing file.zip\n" \ " -a Append to existing file.zip\n" \ " -0 Store only\n" \ " -1 Compress faster\n" \ - " -9 Compress better\n\n"); + " -9 Compress better\n" \ + " -j exclude path. store only the file name.\n\n"); } /* calculate the CRC32 of a file, @@ -179,7 +185,7 @@ int getFileCrc(const char* filenameinzip,void*buf,unsigned long size_buf,unsigne fclose(fin); *result_crc=calculate_crc; - printf("file %s crc %x\n",filenameinzip,calculate_crc); + printf("file %s crc %lx\n",filenameinzip,calculate_crc); return err; } @@ -190,6 +196,7 @@ int main(argc,argv) int i; int opt_overwrite=0; int opt_compress_level=Z_DEFAULT_COMPRESSION; + int opt_exclude_path=0; int zipfilenamearg = 0; char filename_try[MAXFILENAME+16]; int zipok; @@ -222,6 +229,8 @@ int main(argc,argv) opt_overwrite = 2; if ((c>='0') && (c<='9')) opt_compress_level = c-'0'; + if ((c=='j') || (c=='J')) + opt_exclude_path = 1; if (((c=='p') || (c=='P')) && (i+1cur_file_info.compression_method!=0) && +/* #ifdef HAVE_BZIP2 */ + (s->cur_file_info.compression_method!=Z_BZIP2ED) && +/* #endif */ (s->cur_file_info.compression_method!=Z_DEFLATED)) err=UNZ_BADZIPFILE; @@ -1121,6 +1130,9 @@ extern int ZEXPORT unzOpenCurrentFile3 (file, method, level, raw, password) } if ((s->cur_file_info.compression_method!=0) && +/* #ifdef HAVE_BZIP2 */ + (s->cur_file_info.compression_method!=Z_BZIP2ED) && +/* #endif */ (s->cur_file_info.compression_method!=Z_DEFLATED)) err=UNZ_BADZIPFILE; @@ -1134,6 +1146,34 @@ extern int ZEXPORT unzOpenCurrentFile3 (file, method, level, raw, password) pfile_in_zip_read_info->stream.total_out = 0; + if ((s->cur_file_info.compression_method==Z_BZIP2ED) && + (!raw)) + { +#ifdef HAVE_BZIP2 + pfile_in_zip_read_info->bstream.bzalloc = (void *(*) (void *, int, int))0; + pfile_in_zip_read_info->bstream.bzfree = (free_func)0; + pfile_in_zip_read_info->bstream.opaque = (voidpf)0; + pfile_in_zip_read_info->bstream.state = (voidpf)0; + + pfile_in_zip_read_info->stream.zalloc = (alloc_func)0; + pfile_in_zip_read_info->stream.zfree = (free_func)0; + pfile_in_zip_read_info->stream.opaque = (voidpf)0; + pfile_in_zip_read_info->stream.next_in = (voidpf)0; + pfile_in_zip_read_info->stream.avail_in = 0; + + err=BZ2_bzDecompressInit(&pfile_in_zip_read_info->bstream, 0, 0); + if (err == Z_OK) + pfile_in_zip_read_info->stream_initialised=Z_BZIP2ED; + else + { + TRYFREE(pfile_in_zip_read_info); + return err; + } +#else + pfile_in_zip_read_info->raw=1; +#endif + } + else if ((s->cur_file_info.compression_method==Z_DEFLATED) && (!raw)) { @@ -1145,7 +1185,7 @@ extern int ZEXPORT unzOpenCurrentFile3 (file, method, level, raw, password) err=inflateInit2(&pfile_in_zip_read_info->stream, -MAX_WBITS); if (err == Z_OK) - pfile_in_zip_read_info->stream_initialised=1; + pfile_in_zip_read_info->stream_initialised=Z_DEFLATED; else { TRYFREE(pfile_in_zip_read_info); @@ -1173,6 +1213,8 @@ extern int ZEXPORT unzOpenCurrentFile3 (file, method, level, raw, password) s->pfile_in_zip_read = pfile_in_zip_read_info; + s->encrypted = 0; + # ifndef NOUNCRYPT if (password != NULL) { @@ -1344,6 +1386,53 @@ extern int ZEXPORT unzReadCurrentFile (file, buf, len) iRead += uDoCopy; } else + if (pfile_in_zip_read_info->compression_method==Z_BZIP2ED) + { +#ifdef HAVE_BZIP2 + uLong uTotalOutBefore,uTotalOutAfter; + const Bytef *bufBefore; + uLong uOutThis; + + pfile_in_zip_read_info->bstream.next_in = pfile_in_zip_read_info->stream.next_in; + pfile_in_zip_read_info->bstream.avail_in = pfile_in_zip_read_info->stream.avail_in; + pfile_in_zip_read_info->bstream.total_in_lo32 = pfile_in_zip_read_info->stream.total_in; + pfile_in_zip_read_info->bstream.total_in_hi32 = 0; + pfile_in_zip_read_info->bstream.next_out = pfile_in_zip_read_info->stream.next_out; + pfile_in_zip_read_info->bstream.avail_out = pfile_in_zip_read_info->stream.avail_out; + pfile_in_zip_read_info->bstream.total_out_lo32 = pfile_in_zip_read_info->stream.total_out; + pfile_in_zip_read_info->bstream.total_out_hi32 = 0; + + uTotalOutBefore = pfile_in_zip_read_info->bstream.total_out_lo32; + bufBefore = pfile_in_zip_read_info->bstream.next_out; + + err=BZ2_bzDecompress(&pfile_in_zip_read_info->bstream); + + uTotalOutAfter = pfile_in_zip_read_info->bstream.total_out_lo32; + uOutThis = uTotalOutAfter-uTotalOutBefore; + + pfile_in_zip_read_info->crc32 = + crc32(pfile_in_zip_read_info->crc32,bufBefore, + (uInt)(uOutThis)); + + pfile_in_zip_read_info->rest_read_uncompressed -= + uOutThis; + + iRead += (uInt)(uTotalOutAfter - uTotalOutBefore); + + pfile_in_zip_read_info->stream.next_in = pfile_in_zip_read_info->bstream.next_in; + pfile_in_zip_read_info->stream.avail_in = pfile_in_zip_read_info->bstream.avail_in; + pfile_in_zip_read_info->stream.total_in = pfile_in_zip_read_info->bstream.total_in_lo32; + pfile_in_zip_read_info->stream.next_out = pfile_in_zip_read_info->bstream.next_out; + pfile_in_zip_read_info->stream.avail_out = pfile_in_zip_read_info->bstream.avail_out; + pfile_in_zip_read_info->stream.total_out = pfile_in_zip_read_info->bstream.total_out_lo32; + + if (err==BZ_STREAM_END) + return (iRead==0) ? UNZ_EOF : iRead; + if (err!=BZ_OK) + break; +#endif + } + else { uLong uTotalOutBefore,uTotalOutAfter; const Bytef *bufBefore; @@ -1522,8 +1611,12 @@ extern int ZEXPORT unzCloseCurrentFile (file) TRYFREE(pfile_in_zip_read_info->read_buffer); pfile_in_zip_read_info->read_buffer = NULL; - if (pfile_in_zip_read_info->stream_initialised) + if (pfile_in_zip_read_info->stream_initialised == Z_DEFLATED) inflateEnd(&pfile_in_zip_read_info->stream); +#ifdef HAVE_BZIP2 + else if (pfile_in_zip_read_info->stream_initialised == Z_BZIP2ED) + BZ2_bzDecompressEnd(&pfile_in_zip_read_info->bstream); +#endif pfile_in_zip_read_info->stream_initialised = 0; TRYFREE(pfile_in_zip_read_info); @@ -1544,7 +1637,6 @@ extern int ZEXPORT unzGetGlobalComment (file, szComment, uSizeBuf) char *szComment; uLong uSizeBuf; { - /* int err=UNZ_OK; */ unz_s* s; uLong uReadThis ; if (file==NULL) @@ -1577,7 +1669,7 @@ extern uLong ZEXPORT unzGetOffset (file) unz_s* s; if (file==NULL) - return UNZ_PARAMERROR; + return 0; s=(unz_s*)file; if (!s->current_file_ok) return 0; diff --git a/unzip/unzip.h b/unzip/unzip.h index b247937c..94c1b69b 100644 --- a/unzip/unzip.h +++ b/unzip/unzip.h @@ -1,7 +1,7 @@ /* unzip.h -- IO for uncompress .zip files using zlib - Version 1.01e, February 12th, 2005 + Version 1.01h, December 28th, 2009 - Copyright (C) 1998-2005 Gilles Vollant + Copyright (C) 1998-2009 Gilles Vollant This unzip package allow extract file from .ZIP file, compatible with PKZip 2.04g WinZip, InfoZip tools and compatible. @@ -57,6 +57,12 @@ extern "C" { #include "ioapi.h" #endif +#ifdef HAVE_BZIP2 +#include "bzlib.h" +#endif + +#define Z_BZIP2ED 12 + #if defined(STRICTUNZIP) || defined(STRICTZIPUNZIP) /* like the STRICT of WIN32, we define a pointer that cannot be converted from (void*) without cast */ diff --git a/unzip/zip.c b/unzip/zip.c index f1948013..1451d61d 100644 --- a/unzip/zip.c +++ b/unzip/zip.c @@ -1,10 +1,10 @@ /* zip.c -- IO on .zip files using zlib - Version 1.01e, February 12th, 2005 + Version 1.01h, December 28th, 2009 27 Dec 2004 Rolf Kalbermatter Modification to zipOpen2 to support globalComment retrieval. - Copyright (C) 1998-2005 Gilles Vollant + Copyright (C) 1998-2009 Gilles Vollant Read zip.h for more info */ @@ -189,14 +189,13 @@ local void init_linkedlist(ll) ll->first_block = ll->last_block = NULL; } -/* Unused local void free_linkedlist(ll) linkedlist_data* ll; { free_datablock(ll->first_block); ll->first_block = ll->last_block = NULL; } -*/ + local int add_data_in_datablock(ll,buf,len) linkedlist_data* ll; @@ -321,9 +320,9 @@ local uLong ziplocal_TmzDateToDosDate(ptm,dosDate) uLong dosDate; { uLong year = (uLong)ptm->tm_year; - if (year>1980) + if (year>=1980) year-=1980; - else if (year>80) + else if (year>=80) year-=80; return (uLong) (((ptm->tm_mday) + (32 * (ptm->tm_mon+1)) + (512 * year)) << 16) | @@ -433,67 +432,69 @@ local int ziplocal_getLong (pzlib_filefunc_def,filestream,pX) /* Locate the Central directory of a zipfile (at the end, just before the global comment) + Fix from Riccardo Cohen */ local uLong ziplocal_SearchCentralDir OF(( const zlib_filefunc_def* pzlib_filefunc_def, voidpf filestream)); local uLong ziplocal_SearchCentralDir(pzlib_filefunc_def,filestream) - const zlib_filefunc_def* pzlib_filefunc_def; - voidpf filestream; + const zlib_filefunc_def* pzlib_filefunc_def; + voidpf filestream; { - unsigned char* buf; - uLong uSizeFile; - uLong uBackRead; - uLong uMaxBack=0xffff; /* maximum size of global comment */ - uLong uPosFound=0; + unsigned char* buf; + uLong uSizeFile; + uLong uBackRead; + uLong uMaxBack=0xffff; /* maximum size of global comment */ + uLong uPosFound=0; - if (ZSEEK(*pzlib_filefunc_def,filestream,0,ZLIB_FILEFUNC_SEEK_END) != 0) - return 0; + if (ZSEEK(*pzlib_filefunc_def,filestream,0,ZLIB_FILEFUNC_SEEK_END) != 0) + return 0; - uSizeFile = ZTELL(*pzlib_filefunc_def,filestream); + uSizeFile = ZTELL(*pzlib_filefunc_def,filestream); - if (uMaxBack>uSizeFile) - uMaxBack = uSizeFile; + if (uMaxBack>uSizeFile) + uMaxBack = uSizeFile; - buf = (unsigned char*)ALLOC(BUFREADCOMMENT+4); - if (buf==NULL) - return 0; + buf = (unsigned char*)ALLOC(BUFREADCOMMENT+4); + if (buf==NULL) + return 0; - uBackRead = 4; - while (uBackReaduMaxBack) - uBackRead = uMaxBack; - else - uBackRead+=BUFREADCOMMENT; - uReadPos = uSizeFile-uBackRead ; + uBackRead = 4; + while (uBackReaduMaxBack) + uBackRead = uMaxBack; + else + uBackRead+=BUFREADCOMMENT; + uReadPos = uSizeFile-uBackRead ; - uReadSize = ((BUFREADCOMMENT+4) < (uSizeFile-uReadPos)) ? - (BUFREADCOMMENT+4) : (uSizeFile-uReadPos); - if (ZSEEK(*pzlib_filefunc_def,filestream,uReadPos,ZLIB_FILEFUNC_SEEK_SET)!=0) - break; + uReadSize = ((BUFREADCOMMENT+4) < (uSizeFile-uReadPos)) ? + (BUFREADCOMMENT+4) : (uSizeFile-uReadPos); + if (ZSEEK(*pzlib_filefunc_def,filestream,uReadPos,ZLIB_FILEFUNC_SEEK_SET)!=0) + break; - if (ZREAD(*pzlib_filefunc_def,filestream,buf,uReadSize)!=uReadSize) - break; + if (ZREAD(*pzlib_filefunc_def,filestream,buf,uReadSize)!=uReadSize) + break; - for (i=(int)uReadSize-3; (i--)>0;) - if (((*(buf+i))==0x50) && ((*(buf+i+1))==0x4b) && - ((*(buf+i+2))==0x05) && ((*(buf+i+3))==0x06)) - { - uPosFound = uReadPos+i; - break; - } + for (i=(int)uReadSize-3; (i--)>0;) + if (((*(buf+i))==0x50) && ((*(buf+i+1))==0x4b) && + ((*(buf+i+2))==0x05) && ((*(buf+i+3))==0x06)) + { + uPosFound = uReadPos+i; + break; + } - if (uPosFound!=0) - break; - } - TRYFREE(buf); - return uPosFound; + if (uPosFound!=0) + break; + } + TRYFREE(buf); + return uPosFound; } + #endif /* !NO_ADDFILEINEXISTINGZIP*/ /************************************************************/ @@ -522,6 +523,8 @@ extern zipFile ZEXPORT zipOpen2 (pathname, append, globalcomment, pzlib_filefunc if (ziinit.filestream == NULL) return NULL; + if (append == APPEND_STATUS_CREATEAFTER) + ZSEEK(ziinit.z_filefunc,ziinit.filestream,0,SEEK_END); ziinit.begin_pos = ZTELL(ziinit.z_filefunc,ziinit.filestream); ziinit.in_opened_file_inzip = 0; ziinit.ci.stream_initialised = 0; @@ -559,9 +562,10 @@ extern zipFile ZEXPORT zipOpen2 (pathname, append, globalcomment, pzlib_filefunc uLong size_comment; central_pos = ziplocal_SearchCentralDir(&ziinit.z_filefunc,ziinit.filestream); +/* disable to allow appending to empty ZIP archive if (central_pos==0) err=ZIP_ERRNO; - +*/ if (ZSEEK(ziinit.z_filefunc, ziinit.filestream, central_pos,ZLIB_FILEFUNC_SEEK_SET)!=0) err=ZIP_ERRNO; @@ -616,7 +620,7 @@ extern zipFile ZEXPORT zipOpen2 (pathname, append, globalcomment, pzlib_filefunc if (size_comment>0) { - ziinit.globalcomment = ALLOC(size_comment+1); + ziinit.globalcomment = (char*)ALLOC(size_comment+1); if (ziinit.globalcomment) { size_comment = ZREAD(ziinit.z_filefunc, ziinit.filestream,ziinit.globalcomment,size_comment); @@ -688,12 +692,12 @@ extern zipFile ZEXPORT zipOpen (pathname, append) return zipOpen2(pathname,append,NULL,NULL); } -extern int ZEXPORT zipOpenNewFileInZip3 (file, filename, zipfi, +extern int ZEXPORT zipOpenNewFileInZip4 (file, filename, zipfi, extrafield_local, size_extrafield_local, extrafield_global, size_extrafield_global, comment, method, level, raw, windowBits, memLevel, strategy, - password, crcForCrypting) + password, crcForCrypting, versionMadeBy, flagBase) zipFile file; const char* filename; const zip_fileinfo* zipfi; @@ -710,6 +714,8 @@ extern int ZEXPORT zipOpenNewFileInZip3 (file, filename, zipfi, int strategy; const char* password; uLong crcForCrypting; + uLong versionMadeBy; + uLong flagBase; { zip_internal* zi; uInt size_filename; @@ -756,7 +762,7 @@ extern int ZEXPORT zipOpenNewFileInZip3 (file, filename, zipfi, else zi->ci.dosDate = ziplocal_TmzDateToDosDate(&zipfi->tmz_date,zipfi->dosDate); } - zi->ci.flag = 0; + zi->ci.flag = flagBase; if ((level==8) || (level==9)) zi->ci.flag |= 2; if ((level==2)) @@ -779,7 +785,7 @@ extern int ZEXPORT zipOpenNewFileInZip3 (file, filename, zipfi, ziplocal_putValue_inmemory(zi->ci.central_header,(uLong)CENTRALHEADERMAGIC,4); /* version info */ - ziplocal_putValue_inmemory(zi->ci.central_header+4,(uLong)VERSIONMADEBY,2); + ziplocal_putValue_inmemory(zi->ci.central_header+4,(uLong)versionMadeBy,2); ziplocal_putValue_inmemory(zi->ci.central_header+6,(uLong)20,2); ziplocal_putValue_inmemory(zi->ci.central_header+8,(uLong)zi->ci.flag,2); ziplocal_putValue_inmemory(zi->ci.central_header+10,(uLong)zi->ci.method,2); @@ -858,6 +864,7 @@ extern int ZEXPORT zipOpenNewFileInZip3 (file, filename, zipfi, zi->ci.stream.next_out = zi->ci.buffered_data; zi->ci.stream.total_in = 0; zi->ci.stream.total_out = 0; + zi->ci.stream.data_type = Z_BINARY; if ((err==ZIP_OK) && (zi->ci.method == Z_DEFLATED) && (!zi->ci.raw)) { @@ -913,14 +920,46 @@ extern int ZEXPORT zipOpenNewFileInZip2(file, filename, zipfi, int level; int raw; { - return zipOpenNewFileInZip3 (file, filename, zipfi, + return zipOpenNewFileInZip4 (file, filename, zipfi, extrafield_local, size_extrafield_local, extrafield_global, size_extrafield_global, comment, method, level, raw, -MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY, - NULL, 0); + NULL, 0, VERSIONMADEBY, 0); } +extern int ZEXPORT zipOpenNewFileInZip3 (file, filename, zipfi, + extrafield_local, size_extrafield_local, + extrafield_global, size_extrafield_global, + comment, method, level, raw, + windowBits, memLevel, strategy, + password, crcForCrypting) + zipFile file; + const char* filename; + const zip_fileinfo* zipfi; + const void* extrafield_local; + uInt size_extrafield_local; + const void* extrafield_global; + uInt size_extrafield_global; + const char* comment; + int method; + int level; + int raw; + int windowBits; + int memLevel; + int strategy; + const char* password; + uLong crcForCrypting; +{ + return zipOpenNewFileInZip4 (file, filename, zipfi, + extrafield_local, size_extrafield_local, + extrafield_global, size_extrafield_global, + comment, method, level, raw, + windowBits, memLevel, strategy, + password, crcForCrypting, VERSIONMADEBY, 0); +} + + extern int ZEXPORT zipOpenNewFileInZip (file, filename, zipfi, extrafield_local, size_extrafield_local, extrafield_global, size_extrafield_global, @@ -936,10 +975,12 @@ extern int ZEXPORT zipOpenNewFileInZip (file, filename, zipfi, int method; int level; { - return zipOpenNewFileInZip2 (file, filename, zipfi, + return zipOpenNewFileInZip4 (file, filename, zipfi, extrafield_local, size_extrafield_local, extrafield_global, size_extrafield_global, - comment, method, level, 0); + comment, method, level, 0, + -MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY, + NULL, 0, VERSIONMADEBY, 0); } local int zipFlushWriteBuffer(zi) @@ -979,9 +1020,9 @@ extern int ZEXPORT zipWriteInFileInZip (file, buf, len) if (zi->in_opened_file_inzip == 0) return ZIP_PARAMERROR; - zi->ci.stream.next_in = (void*)buf; + zi->ci.stream.next_in = (Bytef*)buf; zi->ci.stream.avail_in = len; - zi->ci.crc32 = crc32(zi->ci.crc32,buf,len); + zi->ci.crc32 = crc32(zi->ci.crc32,buf,(uInt)len); while ((err==ZIP_OK) && (zi->ci.stream.avail_in>0)) { @@ -1071,7 +1112,9 @@ extern int ZEXPORT zipCloseFileInZipRaw (file, uncompressed_size, crc32) if ((zi->ci.method == Z_DEFLATED) && (!zi->ci.raw)) { - err=deflateEnd(&zi->ci.stream); + int tmp_err=deflateEnd(&zi->ci.stream); + if (err == ZIP_OK) + err = tmp_err; zi->ci.stream_initialised = 0; } @@ -1174,7 +1217,7 @@ extern int ZEXPORT zipClose (file, global_comment) ldi = ldi->next_datablock; } } - free_datablock(zi->central_dir.first_block); + free_linkedlist(&(zi->central_dir)); if (err==ZIP_OK) /* Magic End */ err = ziplocal_putValue(&zi->z_filefunc,zi->filestream,(uLong)ENDHEADERMAGIC,4); diff --git a/unzip/zip.h b/unzip/zip.h index acacce83..39215cad 100644 --- a/unzip/zip.h +++ b/unzip/zip.h @@ -1,7 +1,7 @@ /* zip.h -- IO for compress .zip files using zlib - Version 1.01e, February 12th, 2005 + Version 1.01h, December 28th, 2009 - Copyright (C) 1998-2005 Gilles Vollant + Copyright (C) 1998-2009 Gilles Vollant This unzip package allow creates .ZIP file, compatible with PKZip 2.04g WinZip, InfoZip tools and compatible. @@ -191,8 +191,7 @@ extern int ZEXPORT zipOpenNewFileInZip3 OF((zipFile file, int memLevel, int strategy, const char* password, - uLong crcForCtypting)); - + uLong crcForCrypting)); /* Same than zipOpenNewFileInZip2, except windowBits,memLevel,,strategy : see parameter strategy in deflateInit2 @@ -200,6 +199,29 @@ extern int ZEXPORT zipOpenNewFileInZip3 OF((zipFile file, crcForCtypting : crc of file to compress (needed for crypting) */ +extern int ZEXPORT zipOpenNewFileInZip4 OF((zipFile file, + const char* filename, + const zip_fileinfo* zipfi, + const void* extrafield_local, + uInt size_extrafield_local, + const void* extrafield_global, + uInt size_extrafield_global, + const char* comment, + int method, + int level, + int raw, + int windowBits, + int memLevel, + int strategy, + const char* password, + uLong crcForCrypting, + uLong versionMadeBy, + uLong flagBase)); +/* + Same than zipOpenNewFileInZip4, except + versionMadeBy : value for Version made by field + flag : value for flag field (compression level info will be added) + */ extern int ZEXPORT zipWriteInFileInZip OF((zipFile file, const void* buf, diff --git a/win32/docs/readme-windows.txt b/win32/docs/readme-windows.txt index 0127370b..193e8faa 100644 --- a/win32/docs/readme-windows.txt +++ b/win32/docs/readme-windows.txt @@ -8,7 +8,7 @@ Files included in the Snes9x archive: changes.txt snes9x-license.txt -version 1.52 January, 2010 +version 1.53 April, 2011 Home page: http://www.snes9x.com/ @@ -91,8 +91,8 @@ allows you to browse your computer to locate the directory where you have stored your SNES games. Single-click and then press Load to load and start the game. SNES ROM images come in lots of different formats. Snes9x supports zipped ROMs -as long as there is only 1 per zip file. Also Snes9x can open gzip/jma -compressed file. +as long as there is only 1 per zip file. Also Snes9x can open gzip and jma +compressed files. Game Color System ----------------- @@ -155,9 +155,8 @@ experience. Software -------- -You will need access to SNES ROM images in .smc, .sfc, .fig, etc., format -otherwise you will have nothing to run! Some home-brewed ROM images can be -downloaded from http://www.zophar.com/. +You will need access to SNES ROM images otherwise you will have nothing to run! +Some home-brewed ROM images can be downloaded from http://www.zophar.com/. Please note, it is illegal in most countries to have commercial ROM images without also owning the actual SNES ROM cartridges, and even then you may be liable under various EULAs. @@ -668,8 +667,7 @@ What's Emulated? envelope processing, echo, pitch modulation and digital FIR sound filter. - SRAM, a battery-backed RAM. - All background modes, 0 to 7. -- All screen resolutions, 256x224, 256x239, 512x224, 512x239, 512x448 and - 512x478. +- All screen resolutions including interlace mode. - Pseudo hi-res mode. - 8x8, 16x8 and 16x16 tile sizes, flipped in either direction. - 32x32, 32x64, 64x32 and 64x64 screen tile sizes. @@ -816,4 +814,4 @@ Capcom is a trademark of Capcom Co., Ltd. Gary Henderson Edited for Windows port by: zones (kasumitokoduck@yahoo.com) -Updated most recently by: 2010/01/01 zones +Updated most recently by: 2011/04/11 zones