{"id":18122,"date":"2010-01-03T13:05:07","date_gmt":"2010-01-03T13:05:07","guid":{"rendered":"http:\/\/127.0.0.1\/ef\/?p=18122"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T22:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/www.emu-france.com\/?p=18122","title":{"rendered":"[Console] Nintendulator v0.970 \/ v0.975 WIP"},"content":{"rendered":"<p>Il s&rsquo;agit d&rsquo;un nouvel \u00e9mulateur Nintendo NES cod\u00e9 en open source. Tr\u00e8s prometteur, ce projet est d\u00e9ja tr\u00e8s avanc\u00e9. Il est \u00e9crit en C++, tourne sous Windows. Notez qu&rsquo;il supporte des plugins pour supporter les formats :  FDS, iNES, NSF&#038; UNIF.<\/p>\n<p>Les am\u00e9liorations de la v0.970:<\/p>\n<p><em><strong>Overall:<\/strong><br \/>\n&#8211; Updated all code to use C++ with namespaces, significantly reducing code size.<br \/>\n&#8211; Added various debugging statements.<br \/>\n&#8211; Various code cleanup and bugfixes.<\/p>\n<p><strong>APU:<\/strong><br \/>\n&#8211; Added code to properly emulate race conditions when writing to APU registers at specific times.<br \/>\n&#8211; Add noise playback frequencies for PAL emulation.<br \/>\n&#8211; Fixed DPCM playback to properly emulate cycle stealing from DMA.<br \/>\n&#8211; Rewrote APU frame timer to properly handle clock jitter.<\/p>\n<p><strong>AVI:<\/strong><br \/>\n&#8211; Major cleanup of AVI capture code.<br \/>\n&#8211; Optimized AVI code to cache video frame information between frames.<\/p>\n<p><strong>Controllers:<\/strong><br \/>\n&#8211; Rewrote code for all controllers to use proper C++ classes.<br \/>\n&#8211; Fix data\/movie storage for several controllers to allocate the correct amount of memory.<br \/>\n&#8211; Changed Zapper code to determine \u00ab\u00a0hit\u00a0\u00bb based on overall brightness of the target region.<br \/>\n&#8211; Added support for Vs. Unisystem Zapper controller.<br \/>\n&#8211; Added ability to configure POV hats, either as 2 overlapping axes or as 8 buttons.<br \/>\n&#8211; Updated configuration code to query DirectInput for key\/axis\/button names rather than hardcoding them.<br \/>\n&#8211; Fix mouse input code to disregard axes that are not present.<\/p>\n<p><strong>Debugger:<\/strong><br \/>\nCompletely rewrote debugger. New features include:<br \/>\n   &#8211; Edit CPU registers<br \/>\n   &#8211; Toggle individual IRQ sources<br \/>\n   &#8211; Browse CPU, PPU, Sprite, and Palette memory<br \/>\n   &#8211; Add breakpoints based on execution address, operand address (read<br \/>\n     or write), specific opcodes, or interrupts.<br \/>\n   &#8211; View detailed properties of nametable entries, sprites, pattern<br \/>\n     table tiles, and palette entries.<\/p>\n<p><strong>Game Genie:<\/strong><br \/>\n&#8211; Fixed several bugs which could cause entered codes to not work.<\/p>\n<p><strong>Graphics:<\/strong><br \/>\n&#8211; Added support for fullscreen display.<br \/>\n&#8211; Added option to add scanlines for 2x Windowed and Fullscreen modes.<br \/>\n&#8211; Configuring a Zapper controller now disables frameskip.<br \/>\n&#8211; Added RGB palettes for Vs. Unisystem PPUs 0002, 0003, and 0004.<br \/>\n&#8211; Rewrote NTSC palette generation code to correctly apply color emphasis.<br \/>\n-Adjusted color emphasis coefficients used when loading external palettes.<br \/>\n-After adjusting palette and saving changes, immediately redraw the screen using the updated colors.<br \/>\n&#8211; Add option to preview appearance of palette using various color emphasis modes.<\/p>\n<p><strong>Mapper Interface:<\/strong><br \/>\n&#8211; Updated Mapper Interface version from 3.6 to 3.7.<br \/>\n&#8211; Updated ROM Information structure to support iNES 2.0 format fields.<\/p>\n<p><strong>Movies:<\/strong><br \/>\n&#8211; Added a dialog for movie recording, allowing a description to be added (Unicode version only) for the movie being recorded.<br \/>\n&#8211; Added a dialog for movie playback, allowing the movie&rsquo;s properties to be previewed before movie playback actually begins.<br \/>\n&#8211; Fix problems with playing back movies of games whose mappers maintain state information between resets.<\/p>\n<p><strong>Main Program:<\/strong><br \/>\n&#8211; Savestates, movies, SRAM, and debug memory dumps are now stored within the currently logged in user&rsquo;s Application Data folder rather than within the program&rsquo;s own directory.<br \/>\n&#8211; Nintendulator will now attempt to prevent any configured screensaver from activating while emulation is active.<br \/>\n&#8211; Builtin iNES header editor now detects and automatically cleans ROM headers bearing the \u00ab\u00a0DiskDude!\u00a0\u00bb signature.<br \/>\n&#8211; Fixed several bugs with configuration storage.<br \/>\n&#8211; Allow keyboard shortcuts to work properly with various dialogs.<\/p>\n<p><strong>PPU:<\/strong><br \/>\n&#8211; Enabled per-cycle emulation of sprite evaluation.<br \/>\n&#8211; Improve emulation of PPU I\/O registers to properly handle several race conditions.<\/p>\n<p><strong>Savestates:<\/strong><br \/>\n&#8211; Rewrote savestate code for Controlelrs to correctly store all data, as well as data lengths for each individual port.<br \/>\n&#8211; Fixed case where savestates from a previous version might not be loaded correctly.<\/p>\n<p><strong>Mappers:<\/strong><br \/>\n&#8211; Fixed some MMC5 emulation errors.<br \/>\n&#8211; Reduced VS Unisystem coin insert delay.<br \/>\n&#8211; Fixed several bugs in NSF player BIOS.<br \/>\n&#8211; Enabled 8KB PRG RAM on iNES mapper 0.<br \/>\n&#8211; Fixed several issues with iNES mappers 22 and 23.<br \/>\n&#8211; Added support for iNES mappers 37 and 38.<br \/>\n&#8211; Rewrote IRQ logic for iNES mapper 91.<br \/>\n&#8211; Fixed support for NES-SUROM board.<br \/>\n&#8211; Added support for NES-SXROM board.<br \/>\n&#8211; Fixed savestate data for several UNL boards.<br \/>\n&#8211; Fix Vs. Unisystem mappers to force 4-screen VRAM.<\/em><\/p>\n<p><p class=\"p_telecharger_icone_zip\"><a class=\"telecharger_icone_zip\" href=\"https:\/\/www.emu-france.com\/?wpfb_dl=2399\" title=\"Download Nintendulator (Ansi)\">T\u00e9l\u00e9charger Nintendulator (Ansi) v0.980 (455 Ko)<\/a><\/p><br \/>\n<p class=\"p_telecharger_icone_zip\"><a class=\"telecharger_icone_zip\" href=\"https:\/\/www.emu-france.com\/?wpfb_dl=1837\" title=\"Download Nintendulator (Unicode)\">T\u00e9l\u00e9charger Nintendulator (Unicode) v0.980 (462 Ko)<\/a><\/p><\/p>\n<p>Et ci-dessous les builds de la version en cours de d\u00e9veloppement.<\/p>\n<p><p class=\"p_telecharger_icone_zip\"><a class=\"telecharger_icone_zip\" href=\"https:\/\/www.emu-france.com\/?wpfb_dl=2401\" title=\"Download Nintendulator (32 bits)\">T\u00e9l\u00e9charger Nintendulator (32 bits) v0.985 Beta (2026\/04\/12) (504 Ko)<\/a><\/p><br \/>\n<p class=\"p_telecharger_icone_zip\"><a class=\"telecharger_icone_zip\" href=\"https:\/\/www.emu-france.com\/?wpfb_dl=2400\" title=\"Download Nintendulator (64 bits)\">T\u00e9l\u00e9charger Nintendulator (64 bits) v0.985 Beta (2026\/04\/12) (548 Ko)<\/a><\/p><\/p>\n<p class=\"p_site_officiel\"><a href=\"http:\/\/sourceforge.net\/projects\/nintendulator\/\" class=\"site_officiel\" target=\"_blank\">Site Officiel<\/a><\/p>\n<p class=\"p_en_savoir_plus\"><a href=\"https:\/\/www.emu-france.com\/emulateurs\/5-consoles\/63-nintendo-nes\/\" class=\"en_savoir_plus\">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=18122\" data-type=\"button_count\" data-size=\"small\"><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Il s&rsquo;agit d&rsquo;un nouvel \u00e9mulateur Nintendo NES cod\u00e9 en open source. Tr\u00e8s prometteur, ce projet est d\u00e9ja tr\u00e8s avanc\u00e9. Il est \u00e9crit en C++, tourne sous Windows. Notez qu&rsquo;il supporte des plugins pour supporter les formats : FDS, iNES, NSF&#038; &#8230;<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_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}},"categories":[],"tags":[],"class_list":["post-18122","post","type-post","status-publish","format-standard","hentry","uentry","postonpage-1","odd","post-author-Jets"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/sKi2R-","jetpack_likes_enabled":false,"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/posts\/18122","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=18122"}],"version-history":[{"count":0,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/posts\/18122\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.emu-france.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=18122"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=18122"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=18122"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}