Gearboy is a Nintendo Game Boy emulator written in C++. The emulator is focused on readability of source code, but nevertheless it has good compatibility. A lot of effort has gone into this in order to follow OOP and keep it as simple as possible.
[quote]- Highly accurate CPU emulation, passes cpu_instrs.gb from blargg's tests.
- Accurate instruction and memory timing, passes instr_timing.gb and mem_timing.gb from blargg's tests.
- Memory Bank Controllers (MBC1, MBC2, MBC3 with RTC, MBC5), ROM + RAM and multicart cartridges.
- Accurate LCD controller emulation. Background, window and sprites, with correct timings and priorities including mid-scanline timing.
- Mix frames: Mimics the LCD ghosting effect seen in the original Game Boy.
- Sound emulation using SDL Audio and Gb_Snd_Emu library.
- Game Boy Color support.
- Integrated disassembler. It can dump the full disassembled memory to a text file or access it in real time.
- Saves battery powered RAM cartridges to file.
- Save states.
- Compressed rom support (ZIP deflate).
- Game Genie and GameShark cheat support.
- Multi platform. Runs on Windows, Linux, Mac OS X, Raspberry Pi, iOS and as a libretro core (RetroArch).
PPSSPP is a fast and portable PSP emulator for Android, Windows, Mac, and Linux, written in C++.
PPSSPP v1.8.0 Changelog:
* Avoid crash when starting PPSSPP due to bad AMD Vulkan drivers (#11802)
* PowerVR Vulkan display corruption fixed (#11744, #11747)
* Naruto Shippuden 3 hang fixed (#11780)
* Fixes to various lighting bugs (#11567, #11574, #11577)
* Fix control issue in Sonic Rivals and Rock Band (#11878, #11798, #11879)
* Significant performance improvement in Earth Defense Force 2 (#11172)
* Fix "real clock sync" setting (helps with latency for music games - #11813)
* More speed in FF4 effects and other generated curves (#11425)
* Support for resizing Vulkan on Linux (#11451)
* Improved support for GLES on Linux/IoT (#11507, #11537, #11541, #11632, #11746, #11806, #11845)
* Percentage based frameskipping (#11523)
* DXT accuracy improved, fixing thick white line in Gran Turismo sky (#11530)
* Fix Motorstorm freeze on non-Windows (#11618)
* Faster block transfer in some games like Digimon Adventures (#11531, #11553, #11776)
* Blending optimizations and improvements (#11543, #11620)
* Improve D3D11 rendering issues (#11584)
* Change default graphics backend to D3D11 or OpenGL (#11621, #11658)
* Remove some outdated settings (#11665, #11666, #11667)
* Fix remote disc streaming with ipv6 (#11689, #11700)
* Vulkan: Workarounds for some driver bugs for 5xx series Qualcomm GPUs (#11691, #11694)
* Fix some Qt port issues with recent performance improvements (#11720, #11807, #11808)
* UWP Xbox One: fix X/Back button confusion (#11740)
* Fix Formula 1 2006 timing issue (#11767)
* Fixes and workarounds for some vertex range culling bugs that broke a few games (#11785, #11859), and disable it on older GPUs (#11712, #11773, #11787)
* Android: Allow putting PSP storage on custom paths like SD cards (#11812)
* Corrected vocp instruction, fixing models in Artdink games (#11822, #11835)
We had a power supply failure on the main server this morning. The power supply was replaced and the server was up and running within an hour or so. Although the server works fine now we will replace it with newer and more powerful hardware within the next few days, a test migration is progress.
New server hardware will be:
Intel Core i7-7700
64 GB DDR4 RAM
2 x 512 GB NVMe SSD in RAID 1
1 Gbit/s connection
The SSD's should improve performance by quite a bit.
The secondary server which stores automatic daily backups and also host some sites will keep its current hardware (i7-4770, 32 GB RAM, 2 x 2 TB SATA in RAID 0) for now.
- Count clock cycles to synchronize SA1 with S-CPU properly. Based mostly on
work by Vitor Vilela.
- Only allow instant IRQ when toggling IRQ. Fixes WWF - Wrestlemania.
- Refactored APU output code to buffer less on the client side. Removed 8-bit,
Mono, and Reverse Stereo options.
- Consistently handle interlacing when we skip frames.
- Changed APU clock to reflect nominal values for original hardware.
- Fix C4 square instruction regression.
- Don't display Joypad 2 pressed keys if disabled.
- Add support for libretro ".slang" shaders to OpenGL driver.
- Removed glitch-prone DirectSound audio driver in favor of a generic Wave Out
- Moved sound sync to drivers to be more reactive. This makes sound sync and
dynamic resampling work more reliably.
- Cleaned up dialog boxes to be more consistently spaced.
- Fixed TVMode filter in Direct3D and OpenGL modes.
- Fixed an interaction slowdown with OpenGL and Blargg NTSC filters.
- Fix multiline cheats.
- Switch from autotools to Meson build system.
- Readd glFinish option as alternative to glFenceSync.
- Fix size fallthrough with xBRZ filter.
- Fix loading of key bindings with spaces in them and modifier keys used alone.
- Add support for libretro ".slang" shaders to OpenGL driver.
- Use a cleaner onscreen font.
- Trap errors to allow OpenGL <= 2.1 to run again.
- Break display settings up to make it easier to access hardware accel section.
VisualBoyAdvance-M(VBA-M) is a [Super] Game Boy [Color / Advance] emulator for Windows, Linux & Mac. Here you can get information about the latest development build of the Windows version and download it while you're at it.
VisualBoyAdvance-M v2.1.1 changelog:
b5741ee - release v2.1.1 (15 minutes ago)
286d7ee - builder: fix 32bit mac build (16 hours ago)
eaa9b6c - Map Viewer: Fix crash when running a gb/gbc game, (26 hours ago)
91ee8ca - installdeps: check gtk3-classic on arch/manjaro (2 days ago)
98cb298 - GB: fix 32/64 bit save/state incompatibility (2 days ago)
b9d6f35 - add build32/ to .gitignore (for 32bit builds) (3 days ago)
6e76fce - cmake: fix finding 32 bit wxWidgets on gentoo (3 days ago)
0674b41 - cmake: remove from nasm definition (4 days ago)
7dda580 - cmake: do not use -fPIC on 32 bit x86, breaks asm (4 days ago)
3c28a18 - installdeps: support -m32 builds on opensuse (4 days ago)
d7cf15e - implement factory reset option #368 (5 days ago)
12fa61a - cmake: refactor FindSSP.cmake (9 days ago)
5a77d8f - cmake: don't use ccache on msys2+ninja (11 days ago)
ed29b9c - Merge pull request #364 from laqieer/master (3 weeks ago)
7b350c0 - bugfix: crash when loading elf (3 weeks ago)
eb6dfb4 - fix libretro build broken in 16dd5d4 #339 (3 weeks ago)
16dd5d4 - make speedup/turbo configurable + misc #339 (3 weeks ago)
5379708 - I guess I'll try the gtk2 build of wxwidgets instead (3 weeks ago)
d70dd37 - Let's use the proper wxwidgets package (3 weeks ago)
ede6b37 - Fix snap deps (3 weeks ago)
44208c8 - Add basic snapcraft yaml for building a snap (3 weeks ago)
ba678f4 - GB: Make gbTimerOn an INT type instead of BOOL (4 weeks ago)
43647d3 - GB: Prevent gbSpritesTicks from going out-of-bounds (4 weeks ago)
f8c6953 - fix drawing panel alignment in frame #325 (4 weeks ago)
c6fa724 - cmake: use color gcc/clang output when possible (4 weeks ago)
e912c35 - GBA: Remove some magic numbers for main pointers and save types size (4 weeks ago)
0697922 - Update libretro.cpp (4 weeks ago)
4700a2c - libretro: Enable mirroring for classic/famicom games for GBA and update (4 weeks ago)
f2b3496 - GB: Add missing battery save for MMM01 cart (4 weeks ago)
a0cec10 - Update GBA save type detection and cleanup... (4 weeks ago)
2a796d4 - libretro: Add GB color palettes (4 weeks ago)
4f90031 - persist chosen audio device in config file #353 (5 weeks ago)
d94d6d5 - osx builder: add -stdlib=libc++ to CFLAGS/LDFLAGS (5 weeks ago)
3eb591c - Update wxwidgets to 3.1.2 (5 weeks ago)
3b87576 - GB: Fix rumble support (MBC5) - Fix missing call to rumble function on MBC5 - fix rumble flag gets disabled causing rumble not to work at all. (5 weeks ago)
089d7a4 - libretro: Add support for tilt, gyro sensors and rumble pak (WIP) - Uses analog stick to simulate tilt and gyro hw. By default, tilt uses the right analog stick while gyro uses the left. The analog stick can be swapped using a core option provided and with separate sensitivity level for both sensors. WIP and will be fine tuned later (Kirby was fun to play at least) - Minor retro_run() cleanup and some minor stuff i forgot. (5 weeks ago)
6330555 - Merge pull request #350 from retro-wertz/libretro (5 weeks ago)
a2b3dd7 - libretro: Update input descriptors for 4-player SGB and cleanup... - Updates descriptors for 4-player SGB - Remove alternate gamepad layouts for GBA - Prevent crash when SGB border option executes at startup when GB is not initialized yet - Update input turbo function for 4-player support - Minor cleanups (texts, style nits, etc)... (5 weeks ago)
9d058ab - libretro: don't include getopt.h in configmanager (6 weeks ago)
d5642fa - libretro: Android buildfix (#348) (6 weeks ago)
093818a - GBA: Resolve shifting negative value issue in some thumb/arm opcodes (6 weeks ago)
59f76d0 - libretro: Use gbWram for $C000 in CGB mode (6 weeks ago)
f9efb79 - libretro: Fix GB games that uses serial (WIP) (6 weeks ago)
af3fe01 - libretro: Update GB's memory map, expose all usuable ram (6 weeks ago)
470d86f - libretro: Cleanup (6 weeks ago)
ad432a6 - libretro: Silence warning (6 weeks ago)
bff08ea - libretro: Update Makefile, fix ASAN (6 weeks ago)
8628db1 - Revert faudio inclusion, causing builder to fail because I didn't properly hook up the build instructions, will try and fix later (7 weeks ago)
c2b3163 - GBA: Only use eepromReset/flashReset during reset event (CPUReset) (7 weeks ago)
0d73da0 - GBA: Get rid of blip_time() (7 weeks ago)
83b3ebd - fix audio api radio buttons (7 weeks ago)
327611b - installdeps: add gcc-libgfortran to msys2 deps (7 weeks ago)
f6ad9a8 - remove bad hardcoded keybinds #298 #334 (7 weeks ago)
6462ce5 - pull transifex updates (8 weeks ago)
ab3d923 - add vim undo files to .gitignore (8 weeks ago)
a7773bc - Bump FAudio to 19.01 (8 weeks ago)
de0e8d6 - cmake: support libasan/-fsanitize (8 weeks ago)
ff2d31b - faudio: minor change (8 weeks ago)
964f086 - fix audioapi opt enum, reorder xrc (8 weeks ago)
8cb3f5a - fix sound api config on linux/mac (8 weeks ago)
55a60e3 - only block key event propagation for game keys #88 (8 weeks ago)
f8b5627 - fix support for old SDL versions (9 weeks ago)
e57beed - ignore depressed gamepad triggers #88 (9 weeks ago)
979ef8e - cmake: fix building without FAudio (9 weeks ago)
a91f066 - disable travis mingw jobs for now (9 weeks ago)
edf2c0c - fix xaudio2 when openal is disabled (9 weeks ago)
3ed08e8 - finish connecting new faudio driver (9 weeks ago)
296e8e1 - fix valid sound driver config values + faudio fix (9 weeks ago)
1f4487b - faudio: add gui code for selecting driver (9 weeks ago)
3962276 - add some missing faudio initialization code (9 weeks ago)
0c2906d - fix SDL sound defaulting code (9 weeks ago)
580a11e - Let's not force FAudio just yet (9 weeks ago)
969046e - Add faudio to the build script (9 weeks ago)
d6f3fd2 - Finish hooking up FAudio to the rest of the frontend (9 weeks ago)
539027c - remove problematic default joy binds #88 (9 weeks ago)
5da4876 - fixed a typo and added faudio, but there's still persisting issues (9 weeks ago)
514f355 - Merge pull request #337 from visualboyadvance-m/light-weight (9 weeks ago)
429b8ce - I'm pretty sure some of this is very hacky and needs correcting, but it compiles at least. (9 weeks ago)
53e16e0 - Need to hook up the effects chain parameters (9 weeks ago)
8939455 - Next on the list is adding a few more arguments for certain functions (9 weeks ago)
a8c4436 - Next on the list is correcting the incomplete types (9 weeks ago)
4b664c6 - Still not quite ready for d3d, but this one header mingw has anyways. (9 weeks ago)
1481513 - we need to release with the proper function in faudio (9 weeks ago)
0bfbcfa - Needed the FAudio Processor in FAudioCreate (9 weeks ago)
af98f53 - Inbound FAudio fixes (9 weeks ago)
5f38c0d - cmake: static: check for link file when editing (9 weeks ago)
ebd2e74 - installdeps: fix for a01deb2: use msys2 ccache (9 weeks ago)
a01deb2 - installdeps: also install ccache (9 weeks ago)
ba563c7 - Add FAudio to the xrc (9 weeks ago)
5d7dfa4 - Merge pull request #335 from retro-wertz/fix_crash (9 weeks ago)
0c579b2 - Revert to a default audio api (SDL) when config is invalid (9 weeks ago)
4361c45 - Fixed a few things, still have lots to fix though before it's a usable state. (2 months ago)
99795b2 - cmake hookup is done, there are some issues that I'll be trying to fix within faudio.cpp before it's ready for mainstream (2 months ago)
eab039c - This should allow faudio to be supported in vba-m, next is to further modify cmake to find faudio (2 months ago)
e00aca1 - Initial work on switching to faudio, WIP (2 months ago)
0a40ca7 - initial inclusion of stb_image to begin migration from libpng to stb, let's trim some fat (2 months ago)
0d1b23c - Merge pull request #331 from retro-wertz/gba_timings (3 months ago)
85891fc - Reduce input delay by 1 frame and audio timing fix (3 months ago)
3cb3842 - builder: add patch for glibc 2.28 compat to m4 (3 months ago)
61b3084 - builder: set host cc for libgpg-error to gcc (3 months ago)
00b0469 - add travis hook for gitter (3 months ago)
b60a634 - Merge pull request #326 from knightsc/tasks/add-lldb-support (3 months ago)
27a874e - Merge branch 'master' into tasks/add-lldb-support (3 months ago)
a52eddb - Handle debugger disconnect and reconnect properly (3 months ago)
6ba3b77 - Set correct register number in gdb stop reply (3 months ago)
f385fb2 - Update gdb remote query support (3 months ago)
3b185e2 - builder: libvorbis fix (3 months ago)
c68f372 - fix wrong copy-pasta in 36e412d (3 months ago)
16ccad0 - Merge pull request #330 from retro-wertz/libretro_updates (3 months ago)
36e412d - builder: mingw: fix libffi for i686 + improvemnts (3 months ago)
5b0f2e8 - builder: msys2: fix links to host binaries (3 months ago)
7276064 - Update ISSUE_TEMPLATE.md (3 months ago)
ca56ccf - libretro: Simplify cheats, add multiline support for GB/GBC (3 months ago)
a2d5c26 - libretro: Add turbo buttons (3 months ago)
3484ecc - Add support for LLDB qHostInfo packet (3 months ago)
dd2a1d9 - Fix stack overflow in remoteMemoryRead (3 months ago)
4f28e84 - Fix stack overflow in remotePutPacket (3 months ago)
db8aaec - builder: mingw: build zlib-target after cmake (3 months ago)
beaf934 - builder: bump libxslt 1.1.33-rc1 -> 1.1.33-rc2 (3 months ago)
afbe647 - builder: catgets fix for msys2 + minor changes (3 months ago)
a6034dd - builder: disable building openssl tests (3 months ago)
9ebc3fc - builder: build mingw dlfcn after cmake (3 months ago)
115fce6 - builder: do not defer env eval for msys2 host hook (3 months ago)
b9911a5 - builder: fix regressions from 3786944..a3ec309 (3 months ago)
a3ec309 - builder: more minor mingw cross fixes (4 months ago)
d725978 - builder: fix openssl parallel make patch (4 months ago)
cf3ed8f - builder: fix quoting issues introduced in 3786944 (4 months ago)
3786944 - builder: msys2 fixes + misc improvements (4 months ago)
975a186 - cmake: support linuxbrew mingw toolchain (4 months ago)
453fa0d - add visual studio .vs/ directory to .gitignore (4 months ago)
eee4add - Add localizations to installer, next will be adding portable mode so users can install to a custom location without the shortcuts being installed (4 months ago)
2e5235a - Initial rework of the installer framework, this is very incomplete, but it'll hopefully allow individual selection of translations as well as offer a portable mode installer (4 months ago)
6f1df2d - rename mingw include dir mingw-include in deps (4 months ago)
5e58e4c - when it comes to cross compiling, Most unices like linux are case sensitive (4 months ago)
26b15b2 - add mingw dependencies/include to include path (4 months ago)
9cb9ce8 - fix Windows XP Compatibility #315 (4 months ago)
1bf51ec - builder: 32 bit mingw fixes (4 months ago)
ed8c928 - builder: support gentoo crossdev + misc fixes (5 months ago)
b60cd33 - Update openal to use github url (5 months ago)
aebda1b - debian: update dependency (5 months ago)
58083d9 - Gonna use universaldxsdk for xaudio (5 months ago)
721c1b7 - Revert "hopefully fix bin2c for msvc" (5 months ago)
01a75e8 - hopefully fix bin2c for msvc (5 months ago)
b9d0f81 - builder: fix ccache on msys2 (5 months ago)
be0d49a - builder: msys2 fixes (6 months ago)
3aa00bf - builder: fix libuuid_mingw for mingw cross (6 months ago)
5b5e319 - builder: don't install cpanm with local::lib (6 months ago)
88f66ef - builder: fix building ccache for win targets (6 months ago)
d1c82ca - fix typo in builder core (6 months ago)
dcd7d5e - support 32/64 bit mac builds, build improvements (6 months ago)
b4dd06a - Merge pull request #302 from retro-wertz/libretro (6 months ago)
916c091 - Libretro: Add GB/GBC cheat support... (6 months ago)
14086d0 - Libretro: Fix crash on some linux systems (6 months ago)
0e33861 - update translations, add new langs from transifex (7 months ago)
e67b513 - rename mac-localizations to mac-translations.cmake (7 months ago)
bf4606f - install translations into mac .app (7 months ago)
0092dc1 - msys2: don't try to link msys librt and libpthread (7 months ago)
65e1ab0 - disable gcc stack protector, segfault on 8.2.0 (7 months ago)
6cbad61 - fix cmake regression introduced in bfe21ae (7 months ago)
bfe21ae - remove -fpermissive compiler flag (7 months ago)
571ecbe - support mac-hosted mingw builds, misc. fixes (7 months ago)
e32e7c5 - installdeps: Add zip to openSuse dependency (7 months ago)
f45935a - Add vbam_libretro.info (7 months ago)
be508eb - simplify check for renamed wx-config, fix gentoo (7 months ago)
3b44a29 - cmake: fix wrong unset syntax #295 from f78d45c (7 months ago)
5644339 - installdeps gentoo: don't eselect wxwidgets (7 months ago)
7a054b4 - installdeps: support gentoo (7 months ago)
f78d45c - cmake: fix regression in finding wx from 2efcb62 (7 months ago)
594ecc3 - msys2 builder: redo fontconfig patch, bumb wx (7 months ago)
2cece6a - Updated Translations, finally added transifex support to pull in new translations (7 months ago)
6bc3010 - update msys2 builder (7 months ago)
14d1315 - Merge pull request #292 from retro-wertz/updates (7 months ago)
ddea50d - GB: Cleanup sound registers (7 months ago)
faf01db - GB: Backport STAT register behavior (7 months ago)
d9e0d0f - GB: Remove references to gbReadOpcode (7 months ago)
eb20bb4 - We don't have a forum anymore (7 months ago)
fca7e17 - Libretro: Prevent crash when loading an incompatible state file (7 months ago)
1289e08 - Libretro: Enable battery save ram support for MBC2 and MBC7 (7 months ago)
a9ab09f - Libretro: Fix realtime clock not updating in GB/GBC... (7 months ago)
6cda6c0 - Libretro: Show basic details in log window during rom loading (7 months ago)
de25e9d - include zip for arch based systems (7 months ago)
5016fd6 - Merge pull request #286 from retro-wertz/libretro_gb (7 months ago)
6ef938f - Libretro: Add memory descriptors for GB/GBC (7 months ago)
bb64e8d - Libretro: Use retro_get_memory_data/size for battery-enabled roms (7 months ago)
119e1f5 - Libretro: Add core options for GB border and hardware overrides (7 months ago)
76ad84f - Opps, accidentally broke borders in standalone (7 months ago)
bf447bf - Libretro: Add GB/GBC core (7 months ago)
f05a05e - Libretro: Refactoring for adding GB/GBC core (8 months ago)
0e60c34 - Fix this (8 months ago)
52f5a02 - fix installdeps for Ubuntu 18 (8 months ago)
cc43db3 - fix installdeps for Ubuntu (8 months ago)
3f903cf - Merge pull request #278 from retro-wertz/patch-4 (8 months ago)
02e5f0b - Libretro: Bump version number (8 months ago)
fc42f88 - GB: Fix SIO related issue (8 months ago)
a8d0508 - use GetWindow()->Refresh() in Wayland only (8 months ago)
459a1fb - builder: fix ccache, mingw-cross (8 months ago)
f937aa7 - builder: disable ccache for openssl (8 months ago)
PPSSPP can run your PSP games on your PC in full HD resolution, and play them on Android too. It can even upscale textures that would otherwise be too blurry as they were made for the small screen of the original PSP.
UPDATE: 1.7.4 are just additional crashfixes. 1.7.5 fixes an Android issue.
Fix for insta-crash on Galaxy Note 9, some Xiaomi devices, and the new nVidia Shield (#11441)
Vertex range culling on most platforms, fixes DTM: Race Driver and similar (#11393)
Major speed boost in some Gundam and Earth Defense Force games (#10973)
Fix for issues with post processing shaders in GL 3+ (#11182)
Fixes to sound output switching on Windows (WASAPI) (#11438)
Detects DirectInput devices when running (#11461)
Simple Discord integration (#11307)
New debugging APIs (#10909)
Task switching made a lot more robust (fixes GPD XD problems) (#11447)
Texture decoding optimizations (#11350)
Tons and tons of miscellaneous bugfixes and compatibility fixes