{"id":36492,"date":"2015-01-25T08:51:53","date_gmt":"2015-01-25T09:51:53","guid":{"rendered":"http:\/\/www.emu-france.com\/?p=36492"},"modified":"2015-01-25T08:51:53","modified_gmt":"2015-01-25T09:51:53","slug":"consoles-de-salon-lsnes-beta-rr2-beta-22","status":"publish","type":"post","link":"https:\/\/www.emu-france.com\/?p=36492","title":{"rendered":"[Consoles de salon] Lsnes (Beta) rr2 beta 22"},"content":{"rendered":"<p>Il s&rsquo;agit d&rsquo;un \u00e9mulateur sp\u00e9cialis\u00e9 dans l&rsquo;enregistrement vid\u00e9o et bas\u00e9 sur le noyau de bsnes. Destin\u00e9 avant tout aux vid\u00e9os dans le but d&rsquo;obtenir des enregistrements parfaits en vu de r\u00e9f\u00e9rencements sur des sites comme <a href=\"http:\/\/tasvideos.org\">TAS<\/a>.<\/p>\n<p>&nbsp;<\/p>\n<pre style=\"height: 200px;\"> \r\n- Lua: memory.getregisters()\r\n- Zeroize: Don't crash if size=0\r\n- Remove unused variable and some commented out debug code\r\n- movb -&gt; lsnes_instance.mlogic\r\n- lsnes_memory -&gt; lsnes_instance.memory\r\n- Don't extern lsnes_lua_state, it is only used in one file\r\n- lsnes_lua_state -&gt; lsnes_instance.lua\r\n- lsnes_memorywatch -&gt; lsnes_instance.mwatch\r\n- lsnes_vsetc -&gt; lsnes_instance.setcache\r\n- Get rid of lsnes_vset[foo]\r\n- Instancefy inthread.cpp stuff\r\n- Instancefy subtitles.cpp stuff\r\n- Clean up some uses of lsnes_instance\r\n- Instancefy mbranch.cpp stuff\r\n- Kill unused generic_controller_name()\r\n- Instancefy multitrack.cpp stuff\r\n- Instancefy emustatus.cpp stuff\r\n- Split random number functions from misc.cpp to dedicated file\r\n- Move lsnes_kbd and lsnes_mapper to be instance vars\r\n- Command sets WIP\r\n- Simplify command::memory management\r\n- Use recursive locks to deal with the locking mess in command::*\r\n- Delete some unused fields\r\n- Fix valgrind warnings in inthread.cpp\r\n- Inverse binding sets\r\n- EVDEV: Select on joysticks\r\n- Listener object is better than 3 lambdas + handle\r\n- Initialize fdset before polling on it\r\n- Setting sets\r\n- Kill command::set::get_commands()\r\n- Reduce dependicies between header files\r\n- keyboard.cpp: Get rid of register_queue\r\n- keyboard-mapper.cpp: Get rid of register_queue\r\n- Lua.cpp: Get rid of register-queue\r\n- settingvar.cpp: Get rid of register_queue\r\n- Lua.cpp: Don't call unregister callbacks if nothing get unreg'd\r\n -Kill off register-queue\r\n- Rename some classes\r\n- Move memorywatch stuff to dedicated namespace\r\n- Namespacify mathexpr\r\n- Move lua-framebuffer to lua namespace\r\n- lua.hpp: Forward-declare keyboard::key\r\n- controller_frame_vector: Use object instead of lambda for notify\r\n- Scope listener base classes inside respective master classes\r\n- Fix keyboard::keyboard::all_keys and all_modifiers\r\n- Toggle sound mute command\/hotkey\r\n- Move directory stuff to dedicated namespace\r\n- Move rename_overwrite from zip:: to directory::\r\n- Change some terms in UI\r\n- Don't crash if trying to select key without keys (shouldn't happen)\r\n- Instancefy alias binds management\r\n- Instancefy next rrdata\r\n- Instancefy internal emulation thread execution queue\r\n- Instancefy cart mappings\r\n- Make main controllers state a instance variable\r\n- Introduce run_show_error() and use it to clean up some code\r\n- Instancefy project state\r\n- Don't crash on exit with voice track loaded\r\n- Get rid of most absolute refs to lsnes_instance in src\/core\r\n- run in emu thread: Throw exceptions over thread switches\r\n- Gambatte: Fix bus write breaks\r\n- Gambatte: Fix execute breaks on bus and IOAMHRAM\r\n- Don't corrupt memory when trying to GC various items on exit\r\n- Make the emulator harder to imporperly quit\r\n- Fix all sort of Windows stupidities\r\n- Add some test commands\r\n- Refactor debugging into instance object\r\n- Faster arithmetic modulo 2^255-19 on 64-bit\r\n- Remove broken crap\r\n- Some optimizations &amp; fixes\r\n- Some more optimization, some test code for this thing\r\n- Move some debug stuff to be in class scope\r\n- Instancefy framerate stuff\r\n- Instancefy framebuffer stuff\r\n- Make various instance stuff to take references to other instance objs\r\n- Do some more stuff missed in last commit\r\n- Factor queue stuff to its own file\r\n- Make instance vars to be pointers\r\n- Properly handle deletes if those behave oddly on some platform\r\n- Remove unused dump_region_map()\r\n- Rewrite basic video dumping framework\r\n- Instancefy button manager stuff\r\n- Make helper class for instance member allocation \/ deallocation\r\n- Combine some small headers together\r\n- Factor message stream stuff to its own files\r\n- Some #include cleanup\r\n- Move render_video_hud and killed_audio_length to master dumper class\r\n- Refactor video dump framedrop handling\r\n- Instancefy dispatch stuff\r\n- Move action_update to be via dispatch\r\n- Remove unused load_rom_from_commandline\r\n- More include cleanups\r\n- Instancefy base mmio stuff\r\n- Get rid of direct references to emulation thread in branchesmenu.cpp\r\n- Use variable obtained earlier for current branch\r\n- Cleanup direct emulation thread references in editor-authors.cpp\r\n- Get rid of direct references from dumpmenu.cpp to emulation thread\r\n- Remove direct emulation thread references from keyboard.cpp\r\n- Sweep instance variables upward in UI code\r\n- Fix repainting status panel\r\n- More sweeping instance variables up\r\n- Eliminate settings_tab::call_window_fit(), nothing uses it\r\n- Push instances up out from settings window code\r\n- Push instance vars out of keyboard\/mouse driver code\r\n- Do not use CORE() multiple times in the same function, it is pointless\r\n- Use helper class to simplify per-instance external vars\r\n- Fix warnings from valgrind\r\n- Refactor slotcache to be instance variable\r\n- Make some values const, remove some unused stuff\r\n- Lua: Memory address object\r\n- Kill emulation_thread, nothing uses it\r\n- lua::state::reset(): Use get instead of get_soft\r\n- Instancefy lua core stuff\r\n- Don't crash if exiting on panic\r\n- When panicing, show last message (as it is presumably related)\r\n- read_lua_fragment: Don't duplicate the script infinite number of times\r\n- Actually don't start if sysrc.lua is bad\r\n- Remove Lua 5.1 support\r\n- Make some arrow magic constants in gui-arrow.cpp const\r\n- Make render queue scratch variables instance variables\r\n- Some non-instance variables cleanup\r\n- Cleanup unused boost includes\r\n- Instancefy audioapi core (but not driver) stuff\r\n- Make some static variables in audioapi functions fields of audioapi class\r\n- Instancefy currently loaded ROM\r\n- Privatefy loaded_rom rtype, region and orig_region\r\n- Refactor save jukebox handling into its own class\r\n- Make class for emulator run mode\r\n- Factor updating status to its own class\r\n- Cleanup some symbols\r\n- Fix updating statusbar on save slot change\r\n- Clean up window-fileupload.cpp\r\n- Clean up use of project-&gt;moviepath\/otherpath\r\n- Clean up instance usage in editor-voicesub.cpp\r\n- Use UI_in_project_context() in branchesmenu.cpp\r\n- bsnes: Fix on_latch in alttimings mode\r\n- Fix build on GCC 4.9\r\n- Fix memory.writeregion\r\n- Fix compilation on Mac OS X\r\n- Fix loading lz images with 128 or more colors\r\n- Fix some accidentially mistyped variables in makefile\r\n- Lua: Initialize some variables in address.cpp to make GCC happy\r\n- Revert \"Remove Lua 5.1 support\"\r\n- 25519: Add valgrind test mode\r\n- Opus: Support some newly added stuff\r\n- Small whitespace cleanup\r\n- Commentary: Fix gain on oggopus export\r\n- Fix emulator going out of whack after project load\r\n- Add -pthread to flags\r\n- Don't overdraw in outside draw\r\n- Add few extra sound commands\r\n- Fix jukebox slot select\r\n- Remember sound device over sound restart\r\n- Remember sound devices\r\n- Oggopus: Complain about single-dpage streams with bad granulepos\r\n- Lua: memory.action_flags\r\n- Print messages about loaded libraries\r\n- Library: Don't fail link without library support\r\n- Wxwidgets: --library=&lt;filename&gt;\r\n- C interface: render_text (version bump to v2)\r\n- Music: Use all PSID LSIDs as implicit entrypoints (not just the first)\r\n- Refactor controller runtime code generation\r\n- Namespace library port-controller stuff\r\n- Refactor library GC to its own namespace\r\n- Refactor memory_region{,_direct} to be subclasses of memory_space\r\n- Make workthread a class in top namespace and move some stuff under it\r\n- Rename token_iterator_foreach to token_iterator::foreach\r\n- Split audioapi to core interface and driver interface parts\r\n- Fix crash if canceling load of other project\r\n- Allow memory watch to read registers\r\n- Show error dialog if project switch fails\r\n- Add missing file\r\n- gambatte fixes: Properly save MBC3 without RTC\r\n- Don't try to do controller runtime codegen on X32, it won't work\r\n- Memory watch fixes\r\n- Rudimentary library unloading support\r\n- Allow binding commands to class instance\r\n- Module unloading: Small cleanup\r\n- Module unloading: Small further cleanup\r\n- Reinitialize gamepads command and fix EVDEV going bonkers on gamepad suddenly disconnecting\r\n- Remove unused function\r\n- Show VMA relative hex address when dumping debug hook list\r\n- Tweak format of command help files and do some further command cleanup\r\n- Don't try to unregister killed debug CBs\r\n- bsnes: Add hcounter\/vcounter registers\r\n- Tracelogger: Unregister the frame callback even on hard kill\r\n- Music playback: Guard against crazy pcmpos\r\n- Wxwidgets: Fix loading ROM from commandline\r\n- Fix most hotkeys to show up in configuration (were missing due to errant !)\r\n- Fix error message if trying to load ROM with project active\r\n- If project switch loads savestate, mark position at point of save\r\n- Squash some wrong-thread bugs\r\n- Memory editor: Squash another wrong-thread bug\r\n- Add the UI thread checking code\r\n- runuifun: Allow marking cb routine to run once at a time\r\n- wxwidgets: Add some missing conversions for string arguments\r\n- Oops from previous commit\r\n- Portaudio: Don't blacklist ALSA default\/sysdefault for input\r\n- Redraw framebuffer when entering break pause\r\n- Fix some nondeterminism (probably wouldn't cause desyncs)\r\n- Lua: PALETTE:get()\r\n- Fix some valgrind warnings\r\n- Exit immediately on double fault\r\n- Update the default build options\r\n- Libao: Don't crash on quit\r\n- Remove some utilities that should not be there anymore\r\n- Use $DOT_EXECUTABLE_SUFFIX instead of hardcoding .exe\r\n- Fattest? Really?\r\n- Ignore some build helper programs, now that the .exe rule doesn't cover those\r\n- Don't use arbitrary garbage as amount of samples to squash\r\n- Show error from Lua if parsing Lua expression fails\r\n- Don't let one unload currently used core (crashes the emulator)\r\n- Lua 5.3 support\r\n- Cleanup Lua multiversion support\r\n- Add wide (64 bits) versions of bit functions if Lua 5.3 is used\r\n- Fix Win32 build\r\n- Fix compile error with Lua 5.1\r\n- Clean up all build helper programs on make clean\r\n- Add commands and Lua functions to manipulate running speed\r\n- Remove target for font.cpp.dep\r\n- Readd rule for font.cpp.dep in different way\r\n- Pluginmanager: Autocreate directory instead of crashing\r\n- Fix bad download crashing the emulator\r\n- bsnes: DMA tracing\r\n- bsnes: Support IRQ\/NMI tracing\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p class=\"p_telecharger_icone_zip\"><a class=\"telecharger_icone_zip\" title=\"Download Lsnes (Beta)\" href=\"https:\/\/www.emu-france.com\/?wpfb_dl=4055\">T\u00e9l\u00e9charger Lsnes (Beta) rr2 beta 22 (10.9 Mo)<\/a><\/p>\n<p class=\"p_site_officiel\"><a class=\"site_officiel\" href=\"http:\/\/tasvideos.org\/Lsnes.html\" target=\"_blank\">Site Officiel<\/a><\/p>\n<p class=\"p_en_savoir_plus\"><a class=\"en_savoir_plus\" href=\"https:\/\/www.emu-france.com\/emulateurs\/5-consoles-de-salon\/51-nintendo-super-nintendo-s-nes-s-famicom\/\">En savoir plus&#8230;<\/a><\/p>\n<div class=\"fcbkbttn_buttons_block\" id=\"fcbkbttn_left\"><div class=\"fb-share-button  \" data-href=\"https:\/\/www.emu-france.com\/?p=36492\" data-type=\"button_count\" data-size=\"small\"><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Il s&rsquo;agit d&rsquo;un \u00e9mulateur sp\u00e9cialis\u00e9 dans l&rsquo;enregistrement vid\u00e9o et bas\u00e9 sur le noyau de bsnes. Destin\u00e9 avant tout aux vid\u00e9os dans le but d&rsquo;obtenir des enregistrements parfaits en vu de r\u00e9f\u00e9rencements sur des sites comme TAS. &nbsp; &#8211; Lua: memory.getregisters() &#8230;<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[1],"tags":[],"class_list":["post-36492","post","type-post","status-publish","format-standard","hentry","category-par-defaut","uentry","postonpage-1","odd","post-author-Jets"],"jetpack_publicize_connections":[],"jetpack_shortlink":"https:\/\/wp.me\/pKi2R-9uA","jetpack_likes_enabled":false,"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/posts\/36492","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=36492"}],"version-history":[{"count":2,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/posts\/36492\/revisions"}],"predecessor-version":[{"id":36494,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/posts\/36492\/revisions\/36494"}],"wp:attachment":[{"href":"https:\/\/www.emu-france.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=36492"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=36492"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=36492"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}