Changelog: Jun 13, 2009 - r98, r97, r96 r98 - win32 - add internal audio buffer for avi writer r97 - totally forgotten about gui_used things, added r96 - separated "Lua drawings in image" from "Text in image", gui.gdscreenshot now overlays uncommited Lua drawings if needed. something nasty: replaced _WIN32, __WIN32, __WIN32__ to WIN32 :/ Jun 07, 2009 - r95 fixed GCC screwup on the Linux build resulting in a segfault at startup Jun 06, 2009 - r94 Fix Linux compilation errors Apr 26, 2009 - r92 Quick fix for the issue that the current working directory is changed by snes9x, the script host. (I think this fix is incomplete, when a function which is provided by snes9x changes the current directory unintentionally, the current directory will be lost anyway) Apr 24, 2009 - r91 added gui.clearuncommitted for easy flicker reduction when gui.register can't be used Apr 21, 2009 - r90, r89, r88, r87, r86 r90 - added a option to switch the color conversion method of gui.gdscreenshot r89 - stupid fix to the issue that joypad.set sometimes disables user input after script dies. r88 - Change to ignore "max skipped frames" during fast-forward when using fixed frameskip mode. r87 - Adjusted fixed frameskip mode to run in 100% speed, as well as auto frameskip mode. r86 - improved gui.popup (win32), added input.popup Apr 20, 2009 - r85, r84, r83, r82 r85 - Small SFMT changes. r84 - Changed the draw timing of Lua GUI (use gui.register to display something) r83 - more convenient hotkeys setup for frame/lag counters r82 - added "Clean FastROM setting" sync option to fix playback of old movies of certain FastROM games that need an improperly-initialized emulator value to sync, fixed options in the movie recording dialog not working if another movie was already open, increased V1_RR_UNOFFICIAL to fix support for loading old savestates (which might be embedded in some movies) Apr 19,2009 - r81, r80, r79, r78 r81 - Added source position/size parameters to gui.gdoverlay. Modified movie drag and drop code. r80 - made gui.gdoverlay act like it does in Gens (nitsuja was faster! but mine supports indexed images as well, so I overwrite the code, sorry >_<), removed the upper limit of opacity. r79 - made gui.gdoverlay act like it does in Gens (i.e. full transparency support, coordinates are optional, extra transparency modifier allowed), and unrestricted input.get mouse coords r78 - Hi-res support for gui.gdscreenshot, Added StretchScreenshots to cfg file. Apr 18, 2009 - r77, r76 r77 - keyon savestate fix (at least, 1.51 needed this) r76 - obc1 savestate fix Apr 15, 2009 - r75, r74 r75 - desync fix for some variables not getting reset upon hard reset, and fix for snapshots saving NULL pointers in a fragile way r74 - more savestate desync fixes (mainly superfx and hdma) Apr 13, 2009 - r73 more savestate desync fixes Apr 12, 2009 - r72, r71, r70 r72 - fixing several savestate desync issues r71 - Replaced math.random and math.randomseed with SFMT version, because C rand's quality is bad, generally speaking. r70 - made the savestate compression level configurable in the emulator settings menu, and chose a faster compression level as the default Apr 10, 2009 - r69, r68, r67, r66, r65 r69 - added gui.getpixel, saved lua filename to config so reload will work across sessions, added savestate.verify in debug for catching/testing desyncs, minor script load dialog improvements r68 - Added a few of more members to savestate (btw, as far as I tested, r66 fixes a frequent desync in Goemon 1&4 at least) r67 - Changed Debug build setting due to issue 11. (IIRC, when I applied that change before, there was a fatal trouble that snes9x didn't emulate a ROM after loading it. But that doesn't happened in this time. I don't know why, anyway I commit the change for the time being.) r66 - [HIGHLY EXPERIMENTAL] Added some of members which are added since 1.5x. I don't know whether these fix existing desync, and I haven't tested the change enough. Anyway, I'd like to investigate about existing desyncs I know when I have enough time. (To developers: don't forget to clean your outputs before you try to build) r65 - [EXPERIMENTAL] Stored lagcounter things to the official savestate. Apr 08, 2009 - r64, r63 r64 - tried to fix issue 10 (http://code.google.com/p/snes9x143-rerecording/issues/detail?id=10) r63 - added "TV Width Pixels" video menu option, added scanline-free "bright" versions of Blargg's NTSC filter, and fixed NTSC filter modes showing garbage in the rightmost 1 pixel column Apr 04, 2009 - r62 add gcc binary (for some asm files) Mar 31, 2009 - r61, r60, r59, r58, r57 r61 - fix for a crash when closing snes9x r60 - Reverted S9xLuaClearGui() timing :/ r59 - Added something ugly which is not used after all (24/32 bit color version of render method for Lua GUI) r58 - fix for leaking .luasav files of anonymous savestates r57 - input.get added Mar 30, 2009 - r56 fixing a bunch of warnings, turning up the Release mode optimization level, and adding a vcproj.user file to make Lua script reloading not insanely slow by default when running from the debugger in Release mode (if you've opened the project before, you'll have to delete your snes9xw.vcproj.COMPUTERNAME.USERNAME.user file for this last change to take effect) Mar 29, 2009 - r55, r54, r53, r52 r55 - Fixed wrong default opacity of gui.text. r54 - Issue 9 solved. Hope the change doesn't bring any new problems. r53 - Added gui.opacity, SHIFT, alternative names for certain methods. r52 - Lua savestate register (contributed by nitsuja) Mar 26, 2009 - r51, r50, r49, r48 r51 - Removed (commented out) the clipping code from gui.text r50 - str2colour bugfix, gui.drawbox optimization r49 - Modified VERSION a little r48 - Lua now uses the small font of Gens. Modified S9xLuaWriteInform to handle bank mirroring (Thanks nitsuja for contributing these changes). | Changed color order from "#aarrggbb" to "#rrggbbaa" (Gens compatible) Mar 24, 2009 - r47, r46 r47 - Added lua source codes to the project instead of linking to the static library. Fixed some of "exit silently" behaviors. r46 - Changed the location of lua directory Mar 23, 2009 - r45 Enabled file manipulation on file browse dialog | Cut Win98 support off again, because it brings some inconvenience. Mar 22, 2009 - r44 Fixed KeyUp handling again | added menu items for sound interface switching Mar 20, 2009 - r43, r42, r41, r40 r43 - applied changes to cpuexec.s :( r42 - removed emu.OnClose | experimental addition of snes9x.registerbefore, snes9x.registerafter, snes9x.registerexit | added snes9x.framecount, snes9x.lagcount, snes9x.lagged | changed Lua GUI font-weight r41 - Merged WAV/AVI Record/Stop command | Disabled fast-forward status message | Fixed KeyUp handling r40 - Removed modal cheat search | Name change: Cheat Search => RAM Search | Moved RAM Search codes from wsnes9x.cpp to another file Mar 19, 2009 - r39 various win32 sound fixes | cleaned up nasm warnings Mar 16, 2009 - r38, r37, r36 r38 - new option OldFashionedFrameCounter r37 - Reverted Debug build settings | nasm upgrade r36 - Merged new sound code from OV2's Snes9x Direct3D Mar 15, 2009 - r35 makeasm.bat => vcproj: Custom Build Step Mar 13, 2009 -r33 sln+vcproj upgrade (to open these with VS2005, modify sln version 10.00 => 9.00, and vcproj version 9.00 => 8.00) | DirectX SDK upgrade Mar 07, 2009 - r32 inserted chdir code before lua_load for dofile Mar 05, 2009 - r31 added memory.readdword, memory.writedword, memory.readbyterange | quick fix for Mystical Ninja pipe sound... hope it won't cause another problem. Mar 03, 2009 - r30 ported emu.OnClose from FCEUX source Feb 28, 2009 - r29, r28 r29 - Added secret joypad buttons (b1, b2, b3) for custom input display support. r28 - Changed joypad.read to return the actual input which will be sent to SNES (e.g. movie input) Feb 22, 2009 - r27, r26, r25 r27 - boundary check in gui.drawpixel() r26 - Added a few of Lua GUI APIs (gui.fillbox, gui.drawcircle, gui.fillcircle). Fixed a mess typo in r25 :/ r25 - Fixed gui.drawline() (yeah... that was terrible :/) Feb 21, 2009 - r24, r23 r24 - Added lua reload function, drag&drop support, keyboard shortcuts. Screenshot saves Lua graphics and other displays except generic text message (aka InfoString). r23 - Fixed multi-player input of Lua joypad. Feb 20, 2009 - r22 More code additions for 32bit graphic buffer (Lua) Feb 19, 2009 - r21 Extended Lua graphics from 16bit to 32bit. Now you can assign opacity for each pixel. Note: still the code needs some updates (ex: text color/alpha setting, 32bit/32bit alpha-blending support). Feb 18, 2009 - r20 Little fix for snes9x.message() Feb 15, 2009 - r19, r18 r19 - set D3DCREATE_FPU_PRESERVE at D3D CreateDevice() call, for additional lua module support r18 - updated lua lib to 5.1.4 (old was 5.1.3 actually) Jan 04, 2009 - r17 sloppy changes for lag counter Dec 26, 2008 - r16 Update asm objs. I rebuilt all files and fixed broken wav/avi sound output with r14 exe. I don't know why, anyway I commit them. Dec 26, 2008 - r15 added crypt.h Nov 09, 2008 - r14 link lua51.[dll|lib] instead of compiling source code Nov 08, 2008 - r13, r12, r11, r10, r9, r8, r7, r6, r5, r4 r13 - it doesn't need decode certainly, but needs to set block pointer. r12 - set needs_decode true after snapshot load is wrong, fixed. r11 - upx nasmw r10 - i checked in a bad sln also repair the code block of c4emu which i had to remove to get it building in releasemode. this file doesnt get used in releasemode anymore so its ok r9 - awdaw r8 - reinstall asm code r7 - xx r6 - fixed spc dump after snapshot load (spc_dump_dsp removed) r5 - forgot to add build notes r4 - fix vs2005 build Nov 07, 2008 - r3, r2 r3 - add missing files as well (perhaps) r2 - initial upload test