{"id":40456,"date":"2015-08-18T19:39:45","date_gmt":"2015-08-18T17:39:45","guid":{"rendered":"http:\/\/www.emu-france.com\/?p=40456"},"modified":"2015-08-18T19:39:45","modified_gmt":"2015-08-18T17:39:45","slug":"consoles-portables-mgba-v0-3-0","status":"publish","type":"post","link":"https:\/\/www.emu-france.com\/?p=40456","title":{"rendered":"[Consoles portables] mGBA v0.3.0"},"content":{"rendered":"<p>Un \u00e9mulateur de GameBoy Advance \u00e9crit en langage C par Jeffrey Pfau (endrift) et bas\u00e9 (sensiblement) sur\u00a0<a href=\"https:\/\/github.com\/endrift\/gbajs\">GBA.js<\/a> et qui a comme objectif d&rsquo;\u00eatre un \u00e9mulateur de haute qualit\u00e9. Disponible pour Windows (Vista et +), Linux et Mac OSX.<\/p>\n<p>&nbsp;<br \/>\n<a href=\"https:\/\/www.emu-france.com\/wp-content\/uploads\/2014\/12\/mgba.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-35483\" src=\"https:\/\/www.emu-france.com\/wp-content\/uploads\/2014\/12\/mgba-300x209.jpg\" alt=\"mgba\" width=\"300\" height=\"209\" srcset=\"https:\/\/www.emu-france.com\/wp-content\/uploads\/2014\/12\/mgba-300x209.jpg 300w, https:\/\/www.emu-france.com\/wp-content\/uploads\/2014\/12\/mgba.jpg 976w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Les changements:<\/p>\n<p>&nbsp;<\/p>\n<p><strong><em>Features:<\/em><\/strong><\/p>\n<ul>\n<li><em>Ability to hide individual background layers, or OBJs<\/em><\/li>\n<li><em>Ability to mute individual audio channels<\/em><\/li>\n<li><em>Palette viewer and exporter<\/em><\/li>\n<li><em>Volume control<\/em><\/li>\n<li><em>More shortcuts are editable (e.g. quick save\/load)<\/em><\/li>\n<li><em>Rewind now shows the frame after rewinding<\/em><\/li>\n<li><em>Import\/Export of GameShark\/Action Replay snapshots<\/em><\/li>\n<li><em>Add \u201cStep backwards\u201d item for single increment rewind<\/em><\/li>\n<li><em>Deadzone estimation for game controllers<\/em><\/li>\n<li><em>Analog inputs can be used for shortcuts<\/em><\/li>\n<li><em>Menu items for specific solar sensor brightness levels<\/em><\/li>\n<li><em>Remappable controls for tilt and gyroscope sensors<\/em><\/li>\n<li><em>Status messages for actions taken while a game is running (e.g. save\/load state)<\/em><\/li>\n<li><em>Memory inspector<\/em><\/li>\n<li><em>Screensaver can now be suspended while a game is running<\/em><\/li>\n<li><em>Load\/save the most recent savestate slot<\/em><\/li>\n<li><em>Support varible speed (PWM) rumble<\/em><\/li>\n<li><em>Ability to cap fast forward speed<\/em><\/li>\n<li><em>Finer control over FPS target<\/em><\/li>\n<li><em>Holdable shortcut for rewinding one frame at a time<\/em><\/li>\n<li><em>Ability to boot directly into the BIOS<\/em><\/li>\n<li><em>Preliminary support for yanking out the game pak while a game is running<\/em><\/li>\n<li><em>Thumb-drive mode by putting a file called portable.ini in the same folder<\/em><\/li>\n<li><em>Configurable display driver, between software and OpenGL<\/em><\/li>\n<li><em>Undo-able savestate loading and saving<\/em><\/li>\n<li><em>Controller profiles now store shortcut settings<\/em><\/li>\n<li><em>Default controller profiles for several common controllers<\/em><\/li>\n<li><em>Libretro now supports BIOS, rumble and solar sensor<\/em><\/li>\n<li><em>Implement BIOS call Stop, for sleep mode<\/em><\/li>\n<li><em>Automatically load patches, if found<\/em><\/li>\n<li><em>Improved video synchronization<\/em><\/li>\n<li><em>Configurable audio output sample rate<\/em><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><strong><em>Bugfixes:<\/em><\/strong><\/p>\n<ul>\n<li><em>ARM7: Fix SWI and IRQ timings<\/em><\/li>\n<li><em>ARM7: Fix Thumb MUL timing<\/em><\/li>\n<li><em>ARM7: Fix timing of multiplies to use N cycles<\/em><\/li>\n<li><em>ARM7: ARMHotplugDetach should call deinit<\/em><\/li>\n<li><em>Debugger: Fix use-after-free in breakpoint clearing code<\/em><\/li>\n<li><em>GBA: Fix crash if a 512kb flash save is loaded when a game has a 1Mb flash override<\/em><\/li>\n<li><em>GBA: Cap audio FIFO read size during deserialization<\/em><\/li>\n<li><em>GBA: Check for corrupted savestates when loading<\/em><\/li>\n<li><em>GBA: Check for improperly sized savestates when loading<\/em><\/li>\n<li><em>GBA: Check for savestates made from differently sized ROMs<\/em><\/li>\n<li><em>GBA: Fix calls to endian-independent loadstores<\/em><\/li>\n<li><em>GBA: Fix timing of reading from timer registers<\/em><\/li>\n<li><em>GBA: Ensure cycles never go negative<\/em><\/li>\n<li><em>GBA Audio: Force audio FIFOs to 32-bit<\/em><\/li>\n<li><em>GBA Audio: Fix audio pitch changing when adjusting buffer size<\/em><\/li>\n<li><em>GBA Audio: Fix sample order in audio channel 3<\/em><\/li>\n<li><em>GBA Audio: Fix 8-bit writes to audio channel 3 frequency<\/em><\/li>\n<li><em>GBA Cheats: Fix Pro Action Replay and GameShark issues when used together<\/em><\/li>\n<li><em>GBA Memory: Improve Thumb open bus behavior<\/em><\/li>\n<li><em>GBA Memory: Fix potential DMA issue when loading a savestate<\/em><\/li>\n<li><em>GBA Memory: Fix load\/store multiple video memory waitstates<\/em><\/li>\n<li><em>GBA SIO: Fix reseting when there are SIO devices attached<\/em><\/li>\n<li><em>GBA Video: Blended sprites should never have other effects applied<\/em><\/li>\n<li><em>GBA Video: Fix out-of-bounds tiles in mosaic<\/em><\/li>\n<li><em>GBA Video: Fix windows not affecting sprites<\/em><\/li>\n<li><em>GBA Video: Prevent tiles &lt; 512 from being used in modes 3 &#8211; 5<\/em><\/li>\n<li><em>GBA Video: Fix timing on first scanline<\/em><\/li>\n<li><em>Qt: Better cleanup when a game crashes<\/em><\/li>\n<li><em>Qt: Fix open ROM dialog filtering for archive formats<\/em><\/li>\n<li><em>Qt: Cap the maximum number of multiplayer windows<\/em><\/li>\n<li><em>Qt: Fix maximum year in sensor override<\/em><\/li>\n<li><em>Qt: Fix window being too tall after exiting fullscreen<\/em><\/li>\n<li><em>Qt: Fix a missing <code>va_end<\/code> call in the log handler lambda within the GameController constructor<\/em><\/li>\n<li><em>Qt: Fix analog buttons not getting unmapped<\/em><\/li>\n<li><em>Qt: Fix passing command line options<\/em><\/li>\n<li><em>Qt: Fix crashes on Windows by using using QMetaObject to do cross-thread calls<\/em><\/li>\n<li><em>SDL: Fix SDL build when OpenGL is missing<\/em><\/li>\n<li><em>Util: Allow loading IPS patches that grow the ROM<\/em><\/li>\n<li><em>VFS: Fix resource leaks if some allocations fail<\/em><\/li>\n<li><em>VFS: Fix line-reading to return proper values<\/em><\/li>\n<li><em>Video: Fix an issue with very long filenames<\/em><\/li>\n<li><em>Util: Fix formatting of floats<\/em><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><strong><em>Misc:<\/em><\/strong><\/p>\n<ul>\n<li><em>All: Add \u2013help flag for command line programs<\/em><\/li>\n<li><em>All: Fix sanitize-deb script to set file permissions properly if run as (fake)root<\/em><\/li>\n<li><em>All: Enable static linking for Windows<\/em><\/li>\n<li><em>All: Enable static linking for OS X<\/em><\/li>\n<li><em>All: Threads are now named<\/em><\/li>\n<li><em>All: Proper handling of Unicode file paths<\/em><\/li>\n<li><em>ARM7: Add emulation for Undefined CPU mode<\/em><\/li>\n<li><em>ARM7: Reduce the size of the Thumb instruction table<\/em><\/li>\n<li><em>GBA: Add status log level<\/em><\/li>\n<li><em>GBA: GBARewind now returns how many states it has rewound<\/em><\/li>\n<li><em>GBA: SIO logging layer<\/em><\/li>\n<li><em>GBA BIOS: Stub out SoundBias<\/em><\/li>\n<li><em>GBA: More accurate cycle estimation for ROM prefetch and flash save chips<\/em><\/li>\n<li><em>GBA: Don\u2019t include GBACLIDebugger struct unless needed<\/em><\/li>\n<li><em>GBA: Savedata is now synced shortly after data finishes being written<\/em><\/li>\n<li><em>GBA: Process multiple timer events at once, if necessary<\/em><\/li>\n<li><em>GBA Audio: Implement audio reset for channels A\/B<\/em><\/li>\n<li><em>GBA Audio: Process multiple audio events at once, if necessary<\/em><\/li>\n<li><em>GBA Hardware: Backport generic RTC source into core<\/em><\/li>\n<li><em>GBA Input: Allow axes and buttons to be mapped to the same key<\/em><\/li>\n<li><em>GBA Memory: Run multiple DMAs in a tight loop if they all occur before present<\/em><\/li>\n<li><em>GBA SIO: Add a dummy driver for Normal mode<\/em><\/li>\n<li><em>GBA Thread: Add functionality for running callbacks on the GBA thread<\/em><\/li>\n<li><em>GBA Thread: Split GBASync into a separate file<\/em><\/li>\n<li><em>GBA Video: Refactor software renderer into separate files<\/em><\/li>\n<li><em>GBA Video: Slightly optimize mode 0 mosaic rendering<\/em><\/li>\n<li><em>Debugger: Free watchpoints in addition to breakpoints<\/em><\/li>\n<li><em>Qt: Handle saving input settings better<\/em><\/li>\n<li><em>Qt: Move GL frame drawing back onto its own thread<\/em><\/li>\n<li><em>Qt: Fast forward (held) option moved from Other to Emulation menu<\/em><\/li>\n<li><em>Qt: Show version info in window title<\/em><\/li>\n<li><em>Qt: Migrate multiplayer window handling into GBAApp<\/em><\/li>\n<li><em>Qt: Unified file opening and saving with last location<\/em><\/li>\n<li><em>Qt: Fix windows being resizable when they shouldn\u2019t have been<\/em><\/li>\n<li><em>Qt: Only hide cursor in full screen<\/em><\/li>\n<li><em>Qt: Replace pause-after-frame mutex with an atomic<\/em><\/li>\n<li><em>Qt: Add application icon and XDG desktop files<\/em><\/li>\n<li><em>Qt: Rename \u201cFullscreen\u201d to \u201cToggle fullscreen\u201d<\/em><\/li>\n<li><em>Qt: Don\u2019t save window size when entering fullscreen<\/em><\/li>\n<li><em>Qt: Make the default fullscreen binding for Windows be Alt-Enter<\/em><\/li>\n<li><em>Qt: Gamepads can now have both buttons and analog axes mapped to the same key<\/em><\/li>\n<li><em>Qt: Increase usability of key mapper<\/em><\/li>\n<li><em>Qt: Show checkmark for window sizes<\/em><\/li>\n<li><em>Qt: Set window path to loaded ROM<\/em><\/li>\n<li><em>Perf: Ability to load savestates immediately on launch<\/em><\/li>\n<li><em>SDL: Properly check for initialization<\/em><\/li>\n<li><em>SDL: Clean up initialization functions<\/em><\/li>\n<li><em>SDL: Clean up GL context<\/em><\/li>\n<li>Util: Allow disabling the threading code entirely<\/li>\n<li>VFS: Add sync method to force syncing with backing<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p class=\"p_telecharger_icone_zip\"><a class=\"telecharger_icone_zip\" title=\"Download mGBA\" href=\"https:\/\/www.emu-france.com\/?wpfb_dl=6925\">T\u00e9l\u00e9charger mGBA v0.3.0 (9,0 Mo)<\/a><\/p>\n<p class=\"p_site_officiel\"><a class=\"site_officiel\" href=\"https:\/\/endrift.com\/mgba\/\" 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\/333-consoles-portables\/47-nintendo-gba-gba-sp-gb-micro\/\">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=40456\" data-type=\"button_count\" data-size=\"small\"><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Un \u00e9mulateur de GameBoy Advance \u00e9crit en langage C par Jeffrey Pfau (endrift) et bas\u00e9 (sensiblement) sur\u00a0GBA.js et qui a comme objectif d&rsquo;\u00eatre un \u00e9mulateur de haute qualit\u00e9. Disponible pour Windows (Vista et +), Linux et Mac OSX. &nbsp; Les &#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":[1],"tags":[],"class_list":["post-40456","post","type-post","status-publish","format-standard","hentry","category-par-defaut","uentry","postonpage-1","odd","post-author-Jets"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/pKi2R-aww","jetpack_likes_enabled":false,"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/posts\/40456","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=40456"}],"version-history":[{"count":3,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/posts\/40456\/revisions"}],"predecessor-version":[{"id":40459,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/posts\/40456\/revisions\/40459"}],"wp:attachment":[{"href":"https:\/\/www.emu-france.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=40456"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=40456"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=40456"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}