If you’d like to learn more about upcoming releases, please consult our roadmap here.
Remember that this project exists for the benefit of our users, and that we wouldn’t keep doing this were it not for spreading the love to our users. This project exists because of your support and belief in us to keep going doing great things. We have always prioritized the endusers experience, and unlike others, we have never emburdened them with in-app ads, monetization SDKs or paywalled features, and we intend to continue to do so. If you’d like to show your support, consider donating to us. Check here in order to learn more. In addition to being able to support us on Patreon, there is now also the option to sponsor us on Github Sponsors! You can also help us out by buying some of our merch on our Teespring store!
NOTE: Check our Libretro Core Progress Report (May to December 2022) article here.
Changelog
1.14.0
AUDIO/COREAUDIO/APPLE: Allow coreaudio3 driver to work with audio devices that have 2 or more output channels
CHEEVOS: Fix construction of Cheevos badge path
CLI: Fixed not getting any output when running –version or –features without –verbose
CLI: Fixed crash when running empty – parameter (it proceeded to content loading)
CLI: Reformatted –features to require less rows and to be more consistent
CLI: Added -V shorthand for –version
CLI: Tab removal + whitespace nits
CONFIG/MIDI: Prevent MIDI startup error with old configurations
D3D11: Fix when using shaders with TATE mode arcades etc
D3D12: Fix when using shaders with TATE mode arcades etc
D3D12: Added support for break on errors (development aid – define DEVICE_DEBUG to use)
D3D12: Added support for DRED (device remove extended data) (development aid – define DEVICE_DEBUG to use)
D3D12: Made D3D12 viewport and scissors to behave more like Vulkan drivers (or be more correct)
D3D12: Fixed some shaders not appearing with the d3d12 driver – this reintroduces a validation error though but it seems to work as in not crash and is the old RA behaviour. Guess we need a different way of fixing the validation issue.
D3D12: Fixed validation error on start up due to buffers not being setup correctly for one frame
DATABASE/EXPLORE/VIEW: Bugfix – RGUI did not clear thumbnail on non-playlist items such as Save and Delete menu_explore_get_entry_playlist_index() returns -1 on invalid entries, but the variable where it was stored was unsigned
DATABASE/EXPLORE/VIEW: Bugfix – XMB+Ozone cleared thumbnail in Quick Menu when navigating away from Run
DRM/ODROID GO2: Implement get_video_size for DRM GL context driver
FASTFORWARD: Restore framelimit on fastforward toggle. Fast-forward was broken after toggling vrr_runloop off, since it will force frame limit to 1.0 (even on every frame) and never restores it. So let’s make sure the wanted ratio is applied when toggling FF (Fastforward).
FFMPEG CORE: Fix runtime error in FFmpeg core when build with FFmpeg n5.1.2 and OpenGL ES
GFX/VIDEO FILTERS: (picoscale_256x_320x240) Added snn function to upscale Fuse (ZX Spectrum) core borderless output to 320×240. ZX Spectrum resolution of 256×192 was previously unsupported.
HOTKEYS: Further reorder internal hotkey items for consistency and removed SEND_DEBUG_INFO, OVERLAY_NEXT and OSK from visible hotkey bind list. “Send Debug Info” stuff is removed as much as possible without breakage due to translation files.
INPUT/AUTOCONFIG: Disable ‘pause on controller disconnect’ by default – was enabled by default on 1.13.0
INPUT/MENU: Device Index menu refactor
INPUT/OVERLAY: Fix analog drift blocking touch input (could occur on overlay_next if physical inputs shown on overlay)
INPUT/OVERLAY: Fix overlay_next buttons lighting up in unison
INPUT/OVERLAY: Skip meta keys in input_overlay_add_inputs (not supported by input_state_internal)
INPUT/WINDOWS/WINRAW: Fix mouse position when using input overlay with mouse cursor
INPUT/WINDOWS/WINRAW: Fixed mouse position to use the same method required for menu items and pointer when simulating input overlays with mouse, since it won’t work with multi mouse method
INPUT/WINDOWS/WINRAW: Fixed passing mouse position to core also when using aforementioned method
LEAPFROG: Add Leapfrog (LFx000) Target
LOCALIZATION: Updates
LOCALIZATION/INPUT/IME/MENU/ONSCREEN KEYBOARD: Extended IME and Korean OSK
MENU: Cleanup of help texts
MENU: Allow toggling info off with the same button
MENU: Allow menu wallpaper/background reset. Let’s also remove the current wallpaper from the screen when pressing Start.
MENU: Null driver shows with different color (Added for all menus the ability to show “disabled” items with a muted color)
MENU/DRIVERS: Menu driver first, Audio Resampler removed because it is enough to exist under audio settings
MENU/INPUT: Moved “Confirm Quit” to Input menu
MENU/INPUT/HOTKEYS: Input hotkey menu completely overhauled to keep related entries together, and also adjusted some labels and sublabels
MENU/OVERLAY: Fix overlays behind menu without core running. “Show Overlay Behind Menu” is currently broken with Ozone and XMB (with any other color theme than Plain) when running without a core.
MENU/MATERIALUI: Fix home screen on first startup – no more stray entries
MENU/OZONE: Allowed drawing sidebar and thumbnail bar background color also when core is running
MENU/OZONE: Stopped using different padding and position for savestate thumbnails vs imageviewer
MENU/OZONE: Removed gradient background effect when core is running, because some themes already have gradient background, which creates ugly rough steps
MENU/OZONE: Fixed “Gray Light” theme from using the same background as “Gray Dark”, which makes selection cursor near impossible to see
MENU/OZONE: Some whitespace corrections
MENU/UX: Extend OFF menu value colors
MENU/UX: Menu icon improvements – Menu Visibility icons (Quick Menu + Settings)
MENU/UX: Menu icon improvements – Playlist Manager icons
MENU/UX: Menu icon improvements – Explore icon as database icon
MENU/UX: Menu icon improvements – View and filter icons as cursor icon (folder icon in GLUI)
MENU/UX: Menu icon improvements – View save + delete icons
MENU/UX: Menu icon improvements – Moved Explore + Views below Standalone Cores
MENU/UX/OZONE: Removed icons from menus where others items don’t have icons, and added icons to menus where the rest have icons
MENU/UX/OZONE: Changed the way “no icon” is handled from kludgy way of not drawing SUBSETTING icon
MENU/UX/XMB: Changed playlist entry index positioning to bottom right when thumbnails are in vertical mode, because big lists will overlap with arrow and current “breadcrumb” icons when the position is next to current selection
MENU/UX/XMB: Added a rather nasty hack to prevent showing wrong icons under Explore as “breadcrumb” icon
MENU/UX/XMB: Optimized certain icon drawing loops (Main horizontal icons were looped even when not visible, and all previous “breadcrumb” icons were looped when only one certain was needed)
MENU/UX/MATERIALUI: Fixed showing icons where there should not be any (Waitable Swapchains, Show Recording + Streaming)
OSX/MACOS: Fixed Cocoa keyboard not allowing to map Analog stick
PS2: Use the recently created ps2_drivers which makes easier the loading and init of all the drivers: Memory Card, USB, HDD, Audio, Controllers
PS2: Adds exFat support for USB, and probably solves some unexpected issues when using an HDD driver for booting cores/games.
SDL GFX: Fix no menu on start/blank screen issue.
SRAM: Don’t init SRAM saving without content (gets rid of the redundant logging)
We will cover all core updates here from May 2022 to December 2022. It has been a long time since our last core update report, so bear with us as we go through this long laundry list.
There might be more cores that have seen updates which have gone underreported during this time period. We will make an effort to update it as we go along in case we notice any omissions.
MojoZork
New core, available for Linux, Windows, macOS and Android first
Nestopia
Allow loading external XML database with baked in database as fallback
Update and streamline Core Options
NXEngine
Fixes music no longer working on Windows with recent versions of GCC – and fixes crashes
Correct aspect ratio
mGBA
Update core to 0.10.0
FBNeo
Update to the latest version
melonDS
Fix frontend language not changing DS language properly
Add input bitmask support
Core options changes + update to v2
Change screen gap option back to 0-192
Screen gap reduce from max 192 to 126
Adds Libretro Cheat Code Support so users could add emulator cheat code on top of RetroArch cheat code
Virtual Jaguar
Jaguar games can change resolutions during gameplay.Previously, the emulator only ran at the default 320 x 240 resolution.
This PR fixes this, allowing other resolutions to display properly.
This should fix issues in (at least) the following games, based on my testing :
* Atari Karts
* Club Drive
* Evolution Dino Dudes
* Flashback
* I-War
* Pinball Fantasies
* Trevor McFur in the Crescent Galaxy
Caprice32
RMP: Knight Lore, 1942, 1943, 3D Grand Prix, Abu Simbel Profanation, Barbarian, Boloncio, Boulder Dash, Bruce Lee, Ghostbusters, Harrier Attack, Match Day II, Myth, Oh Mummy (RMP WIP)
CORE: Keyboard Transparency Option added
DC/DB: Compute hash from M3U too
DC: Implemented replace CMD, now you can load DSK/CDT from UI
CORE: Fix RPI 1-B (old model)
RMP: Target Renegade
CORE: joystick fixes
CORE: evercade support
DB: added new tests, sync clean-cpc-db v1.1
DB: sync clean-cpc-db v1.0
DB: documented correctly RMP files
AUTORUN: added better code inspired by Fredouille – caprice-forever
DB: new games from retroachievements
UI: added DB icon DSK to status bar
DB: you could add direct tokens using $ (for joystick keybinds or cleans)
DB: added DB v1 using clean-cpc-db info
CORE: added model 664 to allow DSK and BASIC 1.0
CORE: detect some configurations from filename
VIDEO: minor fixes (requires more work)
2048
Keep big font size on tiles. Keep the font as big as it was for 1 digit all the time.
Dolphin
Change some logging levels to debug to avoid huge spam in logs
Add left stick options for IR mode
Disable Android build
Expose “Prefetch Custom Textures” core option
Expose the “Speed Up Disc Transfer Rate” option
Add anti-aliasing option
Expose “Immediate xfb” setting”
Show proper labels when GC controller is used on ports 1-4 in Wii mode
Fix Kirby’s Air Ride – BlendingState: Set source and destination alpha factors in logic op workaround
PCSX ReARMed
[LLE] Fixes Black screen when starting a game with Shadow Tower – cdrom: adjust a timing hack
gpulib: allow commands to span list entries. Fixes bad input delays/no input registered in certain games.
cdrom: forget old sector on cd change – fixes Syphon Filter 2 does not change disk
dma: add optional slow linked list walking – fixes issues in Crash Bash (PAL), Spot Goes To Hollywood, Final Fantasy Chronicles (FF4)
cdrom: make the timing hack conditional – fixes incorrect behavior in Crash Bandicoot
cdriso: unbreak cdda for chd – fixes sound is broken in several games
cdrom: don’t report read too early – fixes no (more) background music in Gran Turismo
lightrec: Disable threaded compiler by default
spu: fix a wrong assumption – fixes issue in Need for Speed III – Hot Pursuit
cdriso: fix up chd for separated subq reads
cdriso: disable the async code. It will race with the new ISOgetBufferSub()
lightrec: Update to the latest Lightrec. Fixes bugs affecting Jackie Chan Stuntmaster, Vib-Ribbon, GTA2, and maybe other games.
cdrom: add a timing hack – fixes T’ai Fu: Wrath of the Tiger gets stuck on initial loading screen
cdrom: report read errors correctly
psxbios: use noninvasive print for -psxout
adjust multitap code to interact with standalone better
gpulib: update gpuinfo
lightrec: fix pcsx interpreter -> lightrec switch too
lightrec: allow to switch to pcsx’s interpreter anytime
libretro: adjust options after recent changes
psxinterpreter: use cycle_multiplier also, not just ari64 dynarec
remove all the hack options. They just confuse users. For Parasite Eve 2 and others, adjust “PSX CPU clock” instead if needed.
cdrom: update status immediately after seek. Philosoma wants it
cdrom: ignore repeated read cmds. Fixes crackling sound in Intro fmv of Suikoden II and similar sound issues, with other games
cdrom: change GetlocL behavior – fixes Beat Mania (Japan) Notes don’t drop down
cdrom: treat seek the same as other commands
cdrom: allow to interrupt initial scan sequence
cdrom: actually reject commands when not ready. Before it would still execute them and just do an error response
maybe fix x86 32bit detection for libretro’s infra
Enable gpu_neon on 32bit x86
gpu_neon: rm wrong cost qualifier
cdrom: adjust timing
don’t cast between long and pointers for win64. long is 32 bit there
enable gpu_neon on win64 too
misc: patch some issues indicated by clang
gpu_neon: brand new x86 SSE2+ implementation
gpu_neon: adjust some comments and things
cdrom: delay the missed irq more
some big endian fixes
spu: fix wrong volume shift
psxinterpreter: reduce the use of globals. They induce penalties with -fPIC
cdrom: partially emulate the fifo
dma: try more accurate timings. Seems to help Legend of Mana
cdrom: get rid of pTransfer. It could easily crash the emu (misbehaving game or even malicious ISO)
cdrom: don’t reschedule irqs. Trigger shortly after ACK instead
cdrom: clean up command handling
cdrom: try to eliminate playback timing drifting
psxcounters: try to eliminate another source of audio drift
spu: cleanup some irq hacks. Note that bIgnoreLoop is still needed or
“Misadventures Of Tron Bonne” may hang after cutscenes. Before this commit the game will sometimes cut off dialogues.
spu: sync on xa playback start. This avoids nasty underflows at the start of the stream
spu: support master volume
spu: rename dwChannelOn to something more suitable
spu: remove some strange rounding. Seems wrong. Also deal with now possible div by 0 in scan_for_irq().
cdrom: remove another hack. The hack just makes Worms Pinball unstable, and Crusaders of Might
and Magic no longer seems to need it.
cdrom: get rid of cdrPlayInterrupt. Unify with cdrReadInterrupt and name it cdrPlaySeekReadInterrupt, although these are not actually interrupts, more like events, but keep this weird PCSX’s naming convention
cdrom: should use the last Setloc loc and SeekL – should fix Ps1 audio slowdown, stutter and slowdown eg tomba 2
spu: get rid of iXAPitch. Ut makes no sense after SPU was fully synced to the core, and now it
just pulls unwanted windows.h dependency on win32.
gpu_neon: fix another abi violation. Before the flush_render_block_buffer call the stack is misaligned, so push an odd num of regs to realign
gpu_neon: fix wrong block counting
drc: fix a silly mistake of overwriting a reg
drc: Rework SMC checks again. The way it was done before wasn’t good enough for
Mega Man Legends 2 at least
drc: fix wrong masking in set_jump_target
cspace: add forgotten length decrement
Switch apple platforms to neon gpu too
Android – Enable neon gpu for arm64 Android too
switch most arm64 platforms to neon gpu
cspace: generic implementation with vector extensions
gpu_neon: integration for arm64
gpu_neon: new intrinsics-only implementation. ~80-95% performance of the asm version on cortex-a72,
but maybe less of a portability nightmare (+arm64 support)
gpu_neon: place asm func prototypes into a separate header for the upcoming intrinsics implementation
gpu_neon: don’t include vector_ops.h in the main header. That stuff is only used in the C-only prototype
gpu_neon: fix some more abi violations
drc: patch up some potential issues on the switch
gpu_neon: try to make the compiler save some callee-save regs which the asm isn’t doing properly
dfxvideo: patch up some unsafe macros. (old?)-ARM version of GETLE32() was causing wrong shifting due to implicit signed int promotion.
mman: align and clear for 3ds also callers expect cleared mem
drc: some more libnx support
libnx: make mmap act more like on Linux
lightrec: Fix unmap size of BIOS.
The BIOS was mapped as 2 MiB, since we want to use a huge page if
possible. Therefore it should also be unmapped as 2 MiB, otherwise the
upper 1.5 MiB will still be mapped after de-init, which will make it
impossible to map the BIOS once again.
psxmem: Use Lightrec memory map even for interpreter. The CPU emulation method (interpreter or dynarec) can be switched at runtime. Therefore we must use Lightrec’s memory map even when the
interpreter is used.
frontend: Remove duplicated code. The same function bgr888_to_rgb565() was present twice, protected by different macros.
Fix PCSX core and dfxvideo for big-endian systems
Rumble should only work with ‘dualshock’ device type
cdriso: hack .chd track handling to match .cue
cdrom: don’t read and play simultaneously. Fixes Sled Storm – Music playing way too fast
cdrom: Fix PBP support on big-endian platformsThe data contained in the PBP is in little-endian format. Therefore,
everything in the PBP’s header must be read with the byte-swap macros,
for PBP support to work on big-endian systems.
dfxvideo: Restore support for big-endian archThe hardware registers, emulated RAM or emulated VRAM are all in
little-endian format. Therefore, each access must be done with one of
the byte-swap macros, for the plugin to work on big-endian systems.
frontend: Fix colorspace conversion routines on big-endianThe bgr555_to_rgb565() and bgr888_to_rgb565() functions were only
working correctly on little-endian systems.
misc: Use GCC builtins for byte-swap operationsInstead of using custom code to byte-swap values, use the built-in
function provided by GCC.
gpulib: Add proper support for big-endianUpdate the gpulib code to work properly on big-endian architectures.
Get rid of bit fields in union
Long story short, bit fields aren’t endian-safe.
More info: http://mjfrazer.org/mjfrazer/bitfields/
Simplify that by just using a few macros to access the needed bits.
Make sure hardware registers are manipulated as little-endianThe hardware registers should be represented in little-endian format.
Therefore, on big-endian systems the values need to be byte-swapped.
Fix PCSX on big-endian systemsThe __BIGENDIAN__ macro was never defined anywhere, and the
__BIG_ENDIAN__ macro isn’t set anymore by recent versions of GCC.
Replace them by checking __BYTE_ORDER__ against __ORDER_BIG_ENDIAN__.
lightrec: Enable code buffer support
Map a 8 MiB code buffer at (base + 0x80.0000), right after the emulated
RAM. In this code buffer, Lightrec will write the recompiled code for
the host machine.
In general, the code buffer support is very useful when the host
platform has only a small RW+X memory area available for JIT purposes,
like it’s the case on the WiiU.
On Linux, this isn’t a concern, but having a code buffer does still
bring a benefit: if both the start address and the end address of the
code buffer’s address fit in 32 bits, then Lightrec’s code LUT can be
shrunk in half (2.5 MiB instead of 5 MiB), as it only needs to store
32-bit pointers.
psxcounters: try to support a dynarec with a very long timesliceThe dynarec instead should probably not run for thousands of cycles
doing no interrupt checks, but maybe this hack will be enough. Fixes Resident Evil: DC (DS Ver.) – Memory card is not inserted
drc: update some logging and patches
psxmem: Add support for Lightrec’s custom mem init sequenceAdapt the current psxmem.c code to support Lightrec’s custom memory
init functions.
lightrec: Add new memory init functions
Lightrec can greatly benefit from having the RAM/BIOS/scratchpad and RAM
mirrors mapped to specific addresses. For the same value of (offset):
– If the RAM is mapped to (offset), the BIOS is mapped to
(offset + 0x1fc00000) and the scratchpad to (offset + 0x1f800000), the
generated code will be better;
– If the RAM is also mirrored to (offset + 0x200000), (offset + 0x400000)
and (offset + 0x600000), the generated code will be even better;
– If the offset is 0x0, the generated code will be even better.
Additionally, the new memory init code will attempt to use huge pages
when possible, in order to greatly reduce the overhead of the MMU.
Add support for mapping emulated RAM to address 0x0This requires a few changes, since a pointer whose value is 0x0 will be
detected as a NULL pointer. The read/write LUTs are now initialized with
0xff, and all pointers are now checked against a new INVALID_PTR macro.
Mapping the emulated RAM to the address 0x0 will allow Lightrec to
generate much better code.
Update core options to v2 format
Mupen64Plus Next
Use Fiber backend on Win32.Works around driver crashes on AMD Windows since driver seems to rely on unwinds to work properly.
libco cannot support this without using a more robust backend.
Update ParaLLEl RSP
Update ParaLLEl RDP
ParaLLEl RDP: Workaround Nvidia driver bug on 525.x series with PRIME.
Update HLE RSP
Update GlideN64
update Makefile to enable GLES3 support for rpi4
Add workaround for IOS/emscripten NPOT Textures mitigation.
Add iOS AArch64 core
Tyrquake
Added 384×216 resolutionAdded 384×216 resolution, so we can have a fullscreen, pixel-perfect experience at both 1920×1080 (Full HD) and 3840×2160 (4K).
Note: for this to work, the aspect ratio “Full” must be set in Settings -> Video -> Scaling.
Beetle Lynx
Translation updates
Beetle PSX
Fix eventcycles, add SPU Samples, allows much better performance . EventCycles should work up to 2048 now, now that it is used by MDEC and Timer. SPU samples option was added, audio glitches will occur in some games unless samples is 1
Core option category adjustments
Fix 32-bit android buildbot HW builds
GLES 3.0 Support on HW Renderer
Fix LED interface crash if not implemented.
Beetle NGP
Update to 1.29.0
Set default samplerate to 44KHz and get rid of all other options –
it is undesirable to run this core at anything above 48KHz if we
want consistent audio frame pacing
Get rid of color depth core option – there is no reason to go above 16bit and/or 15bit for NGPC
Beetle PCE
Add libretro LED interface
Update to 1.29.0
Beetle PCE Fast
Update to 1.31.0 –
* PCE-Fast: Update channel 1 frequency cache upon LFO frequency register writes(the way the channel 1 frequency and LFO frequency are combined
is still inaccurate, however, causing frequency update timing granularity to be too high).
Beetle Saturn
CHD: fix block address calculations
In CHDs tracks are padded to a 4-frame boundary, causing physical and CHD
block addresses to differ after track 1. Adjusting sector reading to
account for this offset fixes support of multi-data-track CHDs like Last
Bronx.
Android: CHD support enabled
Fix crash when multitap is enabled
Backport 1.31.0 changes related to VDP2 –
SS: When VDP2 per-dot RBG0 coefficient reading is enabled, and a per-dot coefficient read is attempted from a memory region not configured for that purpose
via RDBS, force the coefficient data to 0, instead of using the per-line coefficient data. Fixes graphical glitches in “Radiant Silvergun” when starting
a new game after interrupting the attract mode during the AKA-O battle.
SS: Forcibly disable NBG1-3 only if both RBG0 and RBG1 are enabled via BGON, instead of only checking if RBG1 is enabled; fixes missing/glitchy graphics in “Houkago Ren’ai Club: Koi no Etude”.
Backport 1.31.0 database changes, plus take out gettext_noop –
SS: Added “Real Bout Garou Densetsu” to the internal database of games to enable full cache emulation with, to fix startup hang after skipping the BIOS bootup animation, a regression introduced in 1.26.0-UNSTABLE.
Beetle VB
Update to 1.31.0 –
* VB: Don’t flip framebuffers at the first start of drawing to the
framebuffer after power-on, and (always) flip framebuffers when XPRST
is triggered, per tip from blitter
ProSystem
Abstract MARIA’s memory reads into a single function.
This is needed because SOUPER cartridges can trap MARIA’s reads and
handle them specially.
Add support for the SOUPER cartridge type, used by “Rikki & Vikki”
Import the BupBoop library, needed for “Rikki & Vikki”.
This library is needed to emulate the sound hardware that “Rikki &
Vikki” uses. It’s an entirely separate chip included in the cartridge
that produces 16-bit stereo audio.
Note that BupBoop supplies a library called WinTone that provides
DirectSound bindings, but we don’t use it both because we already use
DirectSound and because using WinTone would complicate `libretro`
portability.
Add support for the BupChip, used by “Rikki & Vikki”.
Note that this commit itself doesn’t actually allow the BupChip to be
used for anything, because the only way to supply music for the BupChip
to play is through the CDF format.
Add support for the BupSystem CDF file format.
This format allows song files to be supplied to the emulated BupChip for
playback. It matches the format used by BupSystem:
http://tailchao.com/BupSystem/index.php
“Rikki & Vikki” is supplied as a CDF file, along with an unheadered
`.bin` image and several music files.
Specify that “Rikki & Vikki” uses the new SOUPER cartridge type in the database.
Add complete support for “Rikki & Vikki”
Stop checking size when loading save states.
The size variable is always zero, because `libretro` saves don’t store
their size explicitly.
This fixes save states for RAM supercarts.
Bump the savestate size up for SOUPER carts.
This makes save states work on “Rikki & Vikki”.
Bump BupBoop music and patch stack depths to 16.
The author of BupBoop (and “Rikki & Vikki”) let me know that this change
is necessary for the game music to play properly.
When reading BupChip file paths in CDFs, replace Windows path separators with Unix ones on non-Windows systems.
This fixes the Steam version of “Rikki & Vikki” on Unix systems like the
Steam Deck.
Fix savestates and music for “Rikki & Vikki”
81
Change Border Option – Changed the hide border option to add a new border size.
Previously the full border was displayed or nothing was displayed.
Now you have three possible options – normal, small, none
Fix disabled Chrome – Does not allow disabling Chroma 81. The disable option for the “Emulate Chroma 81” option now works
FCEUmm
Add Firebrandx palettes
palette.c: Remove unused NTSC palette generator
m235: Update support for 150-in-1 and 260-in-1 with Contra carts
Add mapper 441
Add mapper 463
Add mapper 466
Add mapper 464
Add mapper 459
Add mapper 465
Add mapper 461
Add mapper 460
Mapper 429: Allow more than 32 KiB CHR
Add mapper 449
Add mapper 455
Mapper 351: Correct CHR mask, add FDS-like mirroring control
Add mappers 441,449,455,459,460,461,463,464,465,466. Increase maximum CHR size on mapper 429.
Mapper 449: Add DIP switch/solder pad functionality
Mapper 460: Add alternative DIP switch/solder pad functionality
Mapper 351: Add NROM-64 mode
Mapper 452: Add support for 350-in-1.
Mapper 268: Rewrite and add submapper variants.
Mapper 268: Add GenMMC3Close() to Mapper268_close().
Mapper 268: Correct GNROM mask for submapper 4, correctly apply CHR mask bits in register 2.
Mapper 432: Add 1 MiB variant
Add mapper 52 submapper 13 (CHR-ROM+CHR-RAM)
Mapper 268: correct comment style
Mapper 40: Add multicart variant
Add sequential targets light gun support
Support for Sequential targets Light Guns has been added. “Gun Aux A” serves as light sensor logic input.
Update zapper.c
After testing trigger logic invertion option in VS roms, realized that ZD[w].bogo has to be inverted to work properly
Mapper 40: Add a multicart variant.
Mapper 52: Add a mixed CHR-ROM+CHR-RAM variant (submapper 13).
Mapper 268: Rewrite for clarity and add more wiring variants, indicated by submappers. Support mixed CHR-ROM+CHR-RAM boards.
Mapper 351: Add a rarely-used NROM-64 Mode (NROM with 8 KiB PRG bank size).
Mappers 432/449/452/460: Minor updates.
Mapper 268: Write to WRAM before corrupting V when index==2.
Remove CopyFami stuff
unused in this implementation, not any other emulator uses it. Considering
it’s even UNIF based, probably has no use anymore.
FDS: Permanently use new disk handling functions
FDS was already using the new disk handling code. This PR just removes
the old and now unused one.
Mesen
Made compiling with LTO function (Link-Time Optimization) like in other cores
UNIF: Add BTL-831128C board (Mapper 528)
UNIF: Add BTL-900218 board (Mapper 524)
UNIF: Add BMC-TH2131-1 board (Mapper 308)
UNIF: Add BMC-TJ-03 board (Mapper 341)
Mapper 200: Fixed mirroring
UNIF: Add BMC-SA005-A board (Mapper 338)
UNIF: Add BMC-L6IN1 board (Mapper 345)
UNIF: Add BMC-K-3036 board (Mapper 340)
UNIF: Add BMC-K-3033 board (Mapper 322)
UNIF: Add BMC-K-3006 board (Mapper 339)
Mapper 283: Handle both GS-2013/GS-2004 roms in the same mapper
UNIF: Add BMC-GN-26 board (Mapper 344)
UNIF: Add BMC-CTC-09 board (Mapper 335)
UNIF: Add BMC-830134C board (Mapper 315)
UNIF: Add BMC-10-24-C-A1 board (Mapper 327)
UNIF: Added support for BMC-S-2009 board (Mapper 434)
UNIF: Assign some boards to existing ines mappers, Set UNL-8237 as 215.1, Replace Mapper 27 with UNIF CC-21
Mapper 319 (Eh8813): Fixed latch write registers
JY Company: Fixed PRG outer banking
Mapper 15: Fix CHR write protect for some subor/waixing boards
Implemented input bitmasks
LRMAME
Update to version 0.250
Add partial rewind support
Add partial runahead support
Auto save/load should work now
Savestate support should work even for some games that don’t support savestates on mainline MAME
Fix the invalid joystick map message that appeared when using Q-Bert
Adds Street Fighter Alpha/Zero – CPS Changer to the profile button list
Set frame timing based off m_frame_period. Upstream derives frame timing from the m_frame_period value in screen.h and not m_refresh as is done in the libretro port. Also adding a check to see if this value has been updated frame to frame to allow the frontend to update timings.
Hiscore: It is only copied to memory after successful reading, preventing the use of defined data. For example:
invadpt2, generate a 0-byte invadpt2.hi, run the emulator at this time, the position of hiscore will display garbled characters
System 16: Wrestle war ring rotation and titlescreen graphics
Makefile fix to enable build for “unix-armv7-hardfloat-neon”
Gambatte
Set OSX target back to ‘default’ – some libc++ conflicts – rely instead for 10.7 backwards compatibility on us not using anything unusual in libc++ that could cause issues at runtime, like strlcpy_chk_ or sincos
Update palettes
Updated 5 palettes + 1 palette name.The Game Boy palettes that have been received an update are: Super Saiyan God, Super Saiyan Blue, Super Saiyan, Super Saiyan 3, and AKB48 Pink. Plus, Pepsi Blue from here on out is called Pepsi-Cola Blue, to avoid name confusion with the actual Pepsi Blue soft drink.
Backport ‘ Added support for Sonic 3D Blast 5’ – from bardeci
Palette – TWB64 104 – SideM Green Tweaked. The SideM Green Game Boy palette now represents that to the official SideM color as seen on THE IDOLM@STER’s official website. It turns out the SideM Green palette was in the incorrect shade all this time until now.
TWB64 090 and TWB64 140 Updated! Once again, I had to do some deep digging into color research, but just in the Super Dragon Ball Heroes webpages, but regarding Super Saiyan Blue Evolved, the sprite assets from Dragon Ball Z: Dokkan Battle.
NeoCD
Preliminary support for direct CD-ROM access
Enabled LTO for some platforms (experimental)
Reduce latency by adjusting emulated frame slice boundary.
Add B+C input macro
Picodrive
core, fix cpu sync regression
pico, fix psg sound and fast forward
32x, minor poll detection fix
mcd, minor optimization for poll detection
core, improve mcd+32x cpu synchronization
32x, make 68k poll detection less agressive
sh2 drc (for 32X), fix bug in jump patching for arm64
core, TH input latency only if output was low
core, add TH pad pin latency (load state regression)
core, add TH pad pin latency (regression after 5 min)
core, add TH pad pin latency after switching to input
sms, fix center tms text mode (mode 1)
sms, add fast renderer, remove 1st column (8 px) if blanked
sms, add xor 4x8k mapper
mcd, fix gfx (32×32 stamp)
core+platforms, harmonise supported extensions
sound, fix ym2413 fm sound load/save
z80, fix drz80 save (regression)
core vdp, fix out-of-bounds vram access for save/load
sms, fix mappers (save/load for sega, korea, 8kbram)
z80, improve cz80+drz80 compatibility
z80: fix AF pop+push in DrZ80 (F bits 3+5 stack value unchanged)
ECWolf
Automap fixes + add “Show Status” button
There was an incorrect bool preventing 2 options to work properly (automap/overlay rotation and cycle automap/overlay).
Also changed the inputs while the automap is opened, so the player can still move with overlay or if the normal automap is opened but the pause option is OFF.
Changed 2 default values, show walls on normal automap and pause while normal automap is open are ON by default now.
Also added “Show Status” on the unused retropad-Y button, very useful when playing with the screen size set to “Without statusbar”.
Several memory usage improvements. Mainly meant for RS90 but improving other targets as well
Decrease internal resolution to 240×160 on RS90
Disable adlib on rs90
Synthesize speaker on the fly. It’s faster and uses less memory
Add proxying semantics in order to avoid loading the same lump for different sounds
Limit size of loaded audio samples
PX68K
Crashes fixed at startup
Fix SIGSEGV (Address boundary error) with Etoile Princess
VBA-M
Update to core options v2 interface
HLE: Fix sign-compare warnings
Fix missing-field-initializer warnings
Silence implicit-fallthrough warningsUsed [[fallthrough]]; to mark affected areas. Such keyword should be
available since C++11
Wrap functions unused by LIBRETRO
Simplify save state handling
– size and version parameters are unused in the libretro implementation,
so remove them
Cleanup more libretro-specific branches
Mu
Add build for Mac OS ARM.
Update valid extensions to everything in the core info; Disallow libretro from looking into ZIP files, we will be handling it ourself so that we can load all PRCs and PDBs.
Include miniz library; Make all CMake builds PIC.
RetroArch CMake corrections; Implement loading from ZIP files which contain PRCs and PDBs.
NOTE: To load multiple files at once, place PRCs and PDBs into a ZIP file and then
load that ZIP file. PDBs will be installed first followed by PRC files.
Desmume
Update core options v2 interface
Hide CPU mode option when HAVE_JIT is 0 & OpenGL exclusive options when using soft3D
Genesis Plus GX
Update to the latest version
Enchanced per-tile vertical scroll implementation
Genesis Plus GX Wide
Update to the latest version
Enchanced per-tile vertical scroll implementation
NOTE: Enhanced per-tile vertical scroll – This emulation hack allows allows each cell to be vscrolled individually, instead of being limited to 2-cell (16px). The offset of the new, intermediary cell is calculated as an average of the offset of the current 2-cell and the offset of the next 2-cell.
See this thread here for before/after comparisons.
Citra
Fix pointer being hidden on single screen mode
Expose CPU clock scaling option
First minimal implementation of Libretro VFS
Avoid caching framebuffer in core. Frontend should be able to change it at any time.
Android port/build
SameBoy
Update core with latest changes (August 2022)
Boom3
Makefile fix to enable build for unix-* platforms
SameCDi
Save NVRAM on per directory basisCDI NVRAM is extremely small, so saving to it becomes an issue when you have many games. This separates NVRAM into game specific dirs
Add Redump BIN/CUE formatHack to support CDI/2352 format, per hack listed [here](https://github.com/mamedev/mame/pull/8529/files)
CHD support
Atari800
OSX 10.7 backwards compatibility
Fix PSVita build
gpSP
Fix Pokemon Fire Red germany not booting/ White Screen
Wrong Gamepak Code causing Pokemon Fire Red not to boot due to wrong flash size (64k instead of 128k)
RACE
OSX 10.7 backwards compatibility
Opera
Lightgun – allow offscreen reloading on all 4 sides of the screen –
Currently, many 3DO games only allow lightgun users to shoot off parts of the top of the screen in order to reload. This code change allows lightgun users to fire off any part of any side of the screen to reload in games that have a functioning reload/holster input. It is tested as working with all 3DO lightgun games except for Mad Dog McCree and Space Pirates, which still exhibit the issues outlined in #176, and it is also tested as working with the arcade game Shootout at Old Tucson (which didn’t appear to have functioning offscreen reload before this).
This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful. We are using cookies to give you the best experience on our website. We collect users data for personalisation of ads, and also Google will use your personal data when you give consent on our site. Check this link to Google’s Privacy & Terms site.
Strictly Necessary Cookies
Strictly Necessary Cookie should be enabled at all times so that we can save your preferences for cookie settings.
If you disable this cookie, we will not be able to save your preferences. This means that every time you visit this website you will need to enable or disable cookies again.
3rd Party Cookies
This website uses Google Analytics to collect anonymous information such as the number of visitors to the site, and the most popular pages.
Keeping this cookie enabled helps us to improve our website.
Please enable Strictly Necessary Cookies first so that we can save your preferences!