{"id":48396,"date":"2020-04-02T13:45:12","date_gmt":"2020-04-02T13:45:12","guid":{"rendered":"https:\/\/www.libretro.com\/?p=48396"},"modified":"2021-08-17T01:54:18","modified_gmt":"2021-08-17T01:54:18","slug":"libretro-cores-progress-report-april-2-2020","status":"publish","type":"post","link":"https:\/\/www.libretro.com\/index.php\/libretro-cores-progress-report-april-2-2020\/","title":{"rendered":"Libretro Cores Progress Report &#8211; April 2, 2020"},"content":{"rendered":"<p>Our last core progress report was on <a href=\"https:\/\/www.libretro.com\/index.php\/libretro-cores-progress-report-february-29-2020\/\">February 29, 2020<\/a>. Below we detail the most significant changes to all the Libretro cores we and\/or upstream partners maintain. We are listing changes that have happened since then.<\/p>\n<h2>How to update your cores in RetroArch<\/h2>\n<p>There are two ways to update your cores:<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/12\/update-installed-cores.png\" alt=\"\" width=\"638\" height=\"566\" class=\"aligncenter size-full wp-image-47727\" srcset=\"https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/12\/update-installed-cores.png 638w, https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/12\/update-installed-cores-300x266.png 300w\" sizes=\"(max-width: 638px) 100vw, 638px\" \/><\/p>\n<p>a &#8211; If you have already installed the core before, you can go to Online Updater and select &#8216;Update Installed Cores&#8217;.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/07\/play-2.jpg\" alt=\"\" width=\"762\" height=\"267\" class=\"aligncenter size-full wp-image-47290\" srcset=\"https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/07\/play-2.jpg 762w, https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/07\/play-2-300x105.jpg 300w\" sizes=\"(max-width: 762px) 100vw, 762px\" \/><\/p>\n<p>b &#8211; If you haven&#8217;t installed the core yet, go to Online Updater, &#8216;Core Updater&#8217;, and select the core from the list that you want to install.<\/p>\n<h2>Final Burn Neo<\/h2>\n<p><b>Description:<\/b> Multi-system arcade emulator<\/p>\n<ul>\n<li>Latest updates from upstream<\/li>\n<\/ul>\n<h2>blueMSX<\/h2>\n<p><b>Description:<\/b> Home computer MSX emulator<\/p>\n<ul>\n<li>Fix not smooth scroll in PAL 50Hz<\/li>\n<li>Buildfix for libnx (Switch)<\/li>\n<li>Buildfix for 3DS<\/li>\n<\/ul>\n<h2>Beetle PSX<\/h2>\n<p><b>Description:<\/b> Sony PlayStation emulator<\/p>\n<ul>\n<li>Added &#8220;fast PAL&#8221; hack to allow PAL games to play at NTSC framerates<\/li>\n<li>Added Force NTSC aspect ratio<\/li>\n<li>Vulkan: Disable adaptive smoothing by default\n<p>This should be disabled by default like the other Vulkan-exclusive<br \/>\nenhancements so as to better match stock settings<\/li>\n<li>Hide scanline core options based on content region<\/li>\n<li>Refactor memory card core options logic\n<p>Get rid of confusing check_variables() memcard startup logic and<br \/>\ncorresponding redundant variables, and update core option<br \/>\nlabels\/sublabels to match actual core functionality.<\/li>\n<li>Implement aspect ratio core option (psx.correct_aspect equivalent)\n<p>Beetle PSX implementation of &#8220;psx.correct_aspect&#8221; introduced in Mednafen<br \/>\n1.24.0-UNSTABLE (no relevant code backported from upstream).<br \/>\nAdditionally fixes aspect ratio scaling issues when cropping overscan or<br \/>\nadjusting visible scanlines. &#8220;Force 4:3&#8221; is left as a legacy option for<br \/>\nusers preferring the old inaccurate behavior.<\/li>\n<li>Add option for setting core-reported FPS timing<\/li>\n<li>WIP: increase RAM to 8MB instead of the default 2<\/li>\n<li>Improve internal FPS detection<\/li>\n<\/ul>\n<h2>Vitaquake 2<\/h2>\n<p><b>Description:<\/b> Quake 2 game engine core<\/p>\n<p>Vitaquake 2 is now available for the first time on Emscripten.<\/p>\n<ul>\n<li>Port: Ported vitaQuake 2 core to Emscripten (<a href=\"https:\/\/web.libretro.com\/\">https:\/\/web.libretro.com\/<\/a>).<\/li>\n<\/ul>\n<h2>Hatari<\/h2>\n<p><b>Description:<\/b> Atari ST\/STE\/TT\/Falcon emulator<\/p>\n<ul>\n<li>Port: Ported Hatari to PS Vita<\/li>\n<\/ul>\n<h2>Atari 800<\/h2>\n<p><b>Description:<\/b><\/p>\n<ul>\n<li>Port: Ported Atari 800 to 3DS<\/li>\n<\/ul>\n<h2>Dosbox core<\/h2>\n<p><b>Description:<\/b> MS-DOS home computer emulator<\/p>\n<ul>\n<li>Latest updates from Github<\/li>\n<\/ul>\n<h2>Dosbox SVN<\/h2>\n<p><b>Description:<\/b> MS-DOS home computer emulator<\/p>\n<ul>\n<li>Latest updates from Github<\/li>\n<li>Make 16MB RAM default, change default cycle mode to &#8220;fixed&#8221; and &#8220;10000&#8221;\n<p>Max and auto modes are broken on some systems.<\/li>\n<\/ul>\n<h2>LRMAME<\/h2>\n<p><b>Description:<\/b> Multi-system arcade emulator<\/p>\n<ul>\n<li>Updated to version 0.219<\/li>\n<\/ul>\n<h2>ECWolf<\/h2>\n<p><b>Description:<\/b> Wolfenstein 3D game engine core<\/p>\n<ul>\n<li>Latest updates (TODO\/FIXME)<\/li>\n<\/ul>\n<h2>Flycast<\/h2>\n<p><b>Description: Sega Dreamcast emulator<\/b><\/p>\n<ul>\n<li>fix alignment issues reported by ubsan on x64 <\/li>\n<li>Fix chd lzma and zlib buffers alignment<\/li>\n<li>Fix rec\/x64 block check alignment<\/li>\n<li>Fix ChannelEx struct alignment<\/li>\n<li>nvmem: generate console ID at startup. rec-x64: Call stack alignment\n<p>Generate console ID in dc_nvmem.bin if blank. Used by chuchu rocket<br \/>\nlogin.<br \/>\nAlign stack to 16-byte when calling function from x64 rec<\/li>\n<li>(NAOMI) add sfz3ugd button labels<\/li>\n<li>(NAOMI) Alien Front Naomi needs DIV matching disabled<\/li>\n<li>(NAOMI) VMU support (vonot, sf3zu). Fix otrigger inputs.\n<li>input: only use R2\/L2 for trigger input even with digital triggers<\/li>\n<li>renderer: generate mipmaps for custom textures<\/li>\n<li>custom texture: stop loader thread before loading state<\/li>\n<li>renderer: decrease MipmapD bias &#8211; fixes street lights in Sonic Adventure 1<\/li>\n<li>gdrom: don&#8217;t resume CDDA if not playing. stop if cur > end &#8211; implement ATA_IDENTIFY<\/li>\n<li>Protect RAM and VRAM when VMEM is disabled<\/li>\n<li>(Switch) Initial Port<\/li>\n<li>ta: defer index building and strip merging, filter out infinite vertices<\/li>\n<li>pvr: reserve more opaque polys. Don&#8217;t crash on TA overrun<\/li>\n<li>vmem: unprotect vram when releasing memory if NO_VMEM<\/li>\n<li>(Switch) Iterate each Page for Permission set<\/li>\n<li>Use -O2 for YUV_Block8x8 due to UB<\/li>\n<li>pvr: don&#8217;t reset tile clipping value on each frame &#8211; Fixes Irides &#8211; master of blocks<\/li>\n<li>support multi-session cue\/bin. mipmap D-adjust only to increase LoD <\/li>\n<li>limit maple schedule time<\/li>\n<li>allow VRAM 8-bit reads<\/li>\n<li>gl: use common ReadFramebuffer() func<\/li>\n<li>sort triangles even with 1 polygon &#8211; fixes missing Naomi boot logo and vtennis2 black frame during replay<\/li>\n<li>fix crash when TR poly count is 0<\/li>\n<\/ul>\n<h2>ChaiLove<\/h2>\n<ul>\n<li>Port: Ported ChaiLove core to 3DS<\/li>\n<li>Port: Ported ChaiLove core to Android<\/li>\n<\/ul>\n<h2>HBMAME<\/h2>\n<p><b>Description:<\/b> Emulator of homebrew and hacked games for arcade hardware<\/p>\n<ul>\n<li>New core<\/li>\n<\/ul>\n<h2>VICE<\/h2>\n<p><b>Description:<\/b> Commodore 64 home computer emulator<\/b><\/p>\n<ul>\n<li>\n    Split &#8220;Paddles&#8221; joyport type to first two RetroPads:<br \/>\n        Player1 vertical axis = Player2 horizontal axis<br \/>\n        Player1 2nd button = Player2 1st button<br \/>\n    Add speed modifier hotkeys (slower+faster) for paddles\/mouse<\/p>\n<p>Because &#8220;Paddles&#8221; is in fact 2 controllers in one joyport, and currently it is read like a mouse with 2 axis and 2 buttons, this is not convenient for 2 player games, like Panic Analogue, which use paddles as 2 separate entities with one axis and one button.<\/li>\n<li>Fixes for JiffyDOS, Disk Control &#038; Statusbar &#8211;\n<p>    To evade JiffyDOS incompatibilities with CRTs, PRGs &#038; TAPs, the allowance method is changed from whitelist to blacklist.<br \/>\n        Also M3U playlists of D64 images will allow, and playlists of TAP images will not<br \/>\n    Fixed not being able to insert disks at all when starting without content<br \/>\n        Drive type defaults to 1541, as in inserting D81s will not work for now, because drive type autodetection happens only on autostart<br \/>\n    Finetuned statusbar\n<\/li>\n<li>Turbofire &#038; JiffyDOS fix &#8211;<br \/>\nMinor fixes:<\/p>\n<p>    Turbofire pulse was off (value 2 was actually 4)<br \/>\n    No reason to allow JiffyDOS core option with anything other than D64 &#038; D81, or is there..?\n<\/li>\n<li>Remove Nuklear GUI, Add VKBD touch control &#8211;<br \/>\nReplaced bloaty Nuklear with the lightweight VKBD from PUAE<\/p>\n<p>    No drawbacks, only benefits: Touch control, better performance, simpler maintenance\n<\/li>\n<li>Port: Fixed VICE core Android build<\/li>\n<li>Port: Ported VICE core to 3DS<\/li>\n<li>Port: Ported VICE core to Emscripten<\/li>\n<li>Add support for disk control interface v1 (disk display labels)<\/li>\n<li>x64: Exclude vicii-clock-stretch.c &#8211; vicii-clock-stretch.c is not really used on x64, it&#8217;s only for x128<\/li>\n<li>Disable cpmcart on x128 &#8211;<br \/>\nBoth x128 and cpmcart have z80 cpu and both have z80_regs symbols.<br \/>\nOn platforms other than emscripten those symbols end up being aliased<br \/>\ndue to &#8220;-fcommon&#8221; behaviour. This would lead to very weird results if they<br \/>\nwould ever be used together.<\/p>\n<p>On real hw cpmcart is unnecessarry due to integrated CP\/M mode<\/p>\n<p>In the emulator cpmcart is runtime-enable only on x64 and x64sc but<br \/>\nthe relevant code is still compiled-in.<\/p>\n<p>So just remove cpmcart.c and #ifndef to avoid references<\/li>\n<li>Core option for disabling autostart joined with autostart warp<\/li>\n<li>Statusbar improvements, VKBD transparency core option<\/li>\n<\/ul>\n<h2>GME<\/h2>\n<p><b>Description:<\/b> Game Music Emulator core<\/p>\n<ul>\n<li>Port: Ported GME core to PSL1GHT (PS3)<\/li>\n<li>Port: Ported GME core to 3DS<\/li>\n<\/ul>\n<h2>prBoom<\/h2>\n<p><b>Description:<\/b> Doom 1\/2 game engine core<\/p>\n<ul>\n<li>retro_run: Don&#8217;t attempt to run domm lop after exit &#8211; This fixes crash on exit on 3DS<\/li>\n<li>Port: Added PSL1GHT port (PS3)<\/li>\n<\/ul>\n<h2>MelonDS<\/h2>\n<p><b>Description:<\/b> Nintendo DS emulator<\/p>\n<ul>\n<li>(Switch) Latest updates<\/li>\n<\/ul>\n<h2>P-UAE<\/h2>\n<p><b>Description: Commodore Amiga emulator<\/b><\/p>\n<ul>\n<li>VKBD updates, CD turbo speed backport<\/li>\n<li>WHDLoad changes (button overrides)<\/li>\n<li>VKBD touch control &#8211;<br \/>\nOnly tested with Windows and mouse, since RETRO_DEVICE_POINTER also reacts with it. Hence also disabled real mouse control while VKBD is visible.\n<\/li>\n<li>Port: Ported P-UAE to PSVita<\/li>\n<li>Minor save state improvements<\/li>\n<li>Extended ZIP support<\/li>\n<\/ul>\n<h2>ScummVM<\/h2>\n<ul>\n<li>Update to ScummVM 2.1.1<\/li>\n<li>Allow launching games directly from game files<\/li>\n<\/ul>\n<h2>Mr. Boom<\/h2>\n<p><b>Description:<\/b><\/p>\n<ul>\n<li>Port: Ported Mr. Boom to 3DS<\/li>\n<li>Port: Ported Mr. Boom to Emscripten<\/li>\n<li>Port: Ported Mr. Boom to PSP<\/li>\n<li>Port: Ported Mr. Boom to PS Vita<\/li>\n<li>Port: Ported Mr. Boom to Apple tvOS<\/li>\n<li>Fix unaligned casts<\/li>\n<\/ul>\n<h2>FCEUmm<\/h2>\n<p><b>Description: NES emulator core<\/b><\/p>\n<ul>\n<li>Fix unable to load some unif carts<\/li>\n<li>M274 update<\/li>\n<li>Add 42-in-80000 multicart (m380)<\/li>\n<li>Add mapper 389 (Caltron 9-in-1)<\/li>\n<li>BMCFK23C &#8211; update<\/li>\n<li>Fix default palette<\/li>\n<li>Add Mortal Kombat Trilogy &#8211; 8 People (M1274) (Ch) [!].nes to ines-cor\u2026 <\/li>\n<li>Merge unif board BMC-Super24in1SC03 to BMC-FK23C<\/li>\n<li>M176: Minor tweak to chr mixed ram\/rom logic check and others<\/li>\n<li>Simplify dipswitch options for Nintendo World Championships 1990 cart<\/li>\n<li>MMC3: Make sure to free any allocated memory when using MMC3 as an external module<\/li>\n<li>Misc mapper updates<\/li>\n<li>m269: Move chr unscrambling to mapper init<\/li>\n<li>Unif: Show raw values for prg\/chr rom size in logs<\/li>\n<li>Remove unneeded code in BMC-Super24in1SC03<\/li>\n<li>Remove duplicate code in bmc-fk23c<\/li>\n<li>Rewrite BMC-FK23C\/A (m176) based on updated notes and testing<\/li>\n<li>Fix incompatible pointer type warning<\/li>\n<li>Add 168-in-1 New Contra Function 16 to ines-correct.h<\/li>\n<li>unif.c: Align board map struct<\/li>\n<li>ines.c: Cleanup mapper struct and iNESLoad()<\/li>\n<li>Fix unterminated savestate struct<\/li>\n<li>Update mapper 79<\/li>\n<li>vrc2and4: Fix mapper 22 games not working (regression) and refactoring<\/li>\n<li>Update ines-correct.h<\/li>\n<\/ul>\n<h2>The Powder Toy<\/h2>\n<p><b>Description:<\/b> Game engine core<\/p>\n<ul>\n<li>Port: Ported The Powder Toy to 3DS<\/li>\n<\/ul>\n<h2>PocketCDG<\/h2>\n<p><b>Description:<\/b> MP3 Karaoke audio player<\/p>\n<ul>\n<li>Eliminate too verbose output &#8211; On 3DS stderr is printed on lower screen and is slow. This messes up the<br \/>\nperformance completely.<\/li>\n<\/ul>\n<h2>Picodrive<\/h2>\n<p><b>Description:<\/b> Sega Megadrive\/Genesis\/32X\/CD emulator<\/p>\n<ul>\n<li>Add option to change sound quality &#8211; Even with the fast renderer (#116), the framerate on the PSP slows down at some points in some games. Reducing the sound rate can help increase the framerate in these cases.\n<p>It&#8217;s not ideal but it&#8217;s better than frame skipping. [bmaupin]<\/li>\n<\/ul>\n<h2>VBA-M<\/h2>\n<p><b>Description:<\/b> Game Boy Advance emulator<\/p>\n<ul>\n<li>Fix Save Failed error for Super Monkey Ball Jr.<\/li>\n<\/ul>\n<h2>gpSP<\/h2>\n<p><b>Description:<\/b> Game Boy Advance emulator<\/p>\n<ul>\n<li>[3DS] Fix dynarec prefetch aborts<\/li>\n<li>Add automatic frame skipping<\/li>\n<\/ul>\n<h2>Frodo<\/h2>\n<p><b>Description:<\/b> Commodore 64 emulator<\/p>\n<ul>\n<li>Support running without ROM<\/li>\n<\/ul>\n<h2>PX68K<\/h2>\n<p><b>Description:<\/b> Sharp X68000 Emulator<\/p>\n<ul>\n<li>Prevent simultaneous up+down \/ left+right button presses<\/li>\n<\/ul>\n<h2>Lutro<\/h2>\n<p>Lutro now runs on the 3DS.<\/p>\n<p>Snake runs at 60 fps<br \/>\nPlatformer runs at 20 fps<\/p>\n<ul>\n<li>(3DS) Fix build<\/li>\n<li>(Switch) Fix build<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Our last core progress report was on February 29, 2020. Below we detail the most significant changes to all the Libretro cores we and\/or upstream partners maintain. We are listing changes that have happened since then. How to update your cores in RetroArch There are two ways to update your cores: a &#8211; If you [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[28,2,5],"tags":[],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.libretro.com\/index.php\/wp-json\/wp\/v2\/posts\/48396"}],"collection":[{"href":"https:\/\/www.libretro.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.libretro.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.libretro.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.libretro.com\/index.php\/wp-json\/wp\/v2\/comments?post=48396"}],"version-history":[{"count":26,"href":"https:\/\/www.libretro.com\/index.php\/wp-json\/wp\/v2\/posts\/48396\/revisions"}],"predecessor-version":[{"id":48423,"href":"https:\/\/www.libretro.com\/index.php\/wp-json\/wp\/v2\/posts\/48396\/revisions\/48423"}],"wp:attachment":[{"href":"https:\/\/www.libretro.com\/index.php\/wp-json\/wp\/v2\/media?parent=48396"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.libretro.com\/index.php\/wp-json\/wp\/v2\/categories?post=48396"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.libretro.com\/index.php\/wp-json\/wp\/v2\/tags?post=48396"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}