rofl0r
204c58d81f
CI: add action to create release tarball
2022-05-19 20:02:45 +00:00
rogerman
0c568fd6ac
MMU: BGnX and BGnY registers written in 16-bit mode now write to the correct byte locations on big-endian systems.
...
- Fixes the Y-offset of drawn levels in Bubble Bobble Revolution classic mode on big-endian systems.
2022-05-19 00:19:30 -07:00
rogerman
a5860aae8e
GPU: Fix more rotation-scaling bugs on big-endian systems.
2022-05-18 18:12:23 -07:00
rogerman
92aab4834b
matrix.h: Fix some non-working AltiVec functions. This fixes setting the 2D layer's clear color and also setting an all-white/all-black master brightness level for AltiVec systems.
2022-05-18 16:26:08 -07:00
rogerman
c904706a6b
Cocoa Port: If default.metallib is missing or corrupted in the app bundle, then fail running Metal video output and fall back to using OpenGL instead.
2022-05-18 12:44:00 -07:00
rogerman
183dd57136
GPU: Fix a long-standing bug with 2D rotation-scale rendering on big-endian systems.
2022-05-18 10:32:06 -07:00
rogerman
9f6ee8c55a
Cocoa Port: Fix a rare crash with debug and profiling builds (but not release builds) where Metal display views running CPU-based pixel scalers can make the Metal debugger assert if the pixel scalers are switched very very quickly under low frame rate conditions (less than 30 FPS).
2022-05-17 04:10:27 -07:00
rogerman
1bbb065786
Firmware: Fix a data corruption bug with firmware.dfc that could occur with a rare and specific sequence of events.
2022-05-16 01:30:31 -07:00
rogerman
7cccf90976
Cocoa Port: Fix a crash that can occur when taking a display window full screen while running macOS El Capitan. (Regression from commit ebc39eae.)
2022-05-15 08:21:29 -07:00
rogerman
07aefbd02c
Cocoa Port: Fix a possible crash when performing Copy-Framebuffer-To-Clipboard operations on Metal display views.
2022-05-13 18:17:13 -07:00
rogerman
9ed9c0a9e4
Cocoa Port: Use MTLPixelFormatBGRA8Unorm pixel format for all Metal display view pipeline descriptors in order to stop dev+ builds from assert crashing themselves under some very rare and specific situations.
2022-05-13 15:53:13 -07:00
rogerman
b565073299
GPU: Fix a drawing bug with display capture when the GPU scaling factor is 4x while running on an SSE2 system without SSSE3.
2022-05-13 02:04:44 -07:00
rogerman
cdc1b5bc6d
Cocoa Port: Final updates to the Read Me for Macintosh.
...
- Replace all references to "OS X" with "macOS".
- Make the example bug report reflect a user running Monterey instead of Mojave.
- Simplify the notes regarding a Penryn-era Core 2 Duo as the minimum recommended processor. I forgot that release builds drop the CPU instruction set from SSE4.1 to SSSE3, and so a 2.4GHz Penryn with SSSE3 isn't that much faster than a 2.4GHz Santa Rosa.
2022-05-11 03:15:21 -07:00
rogerman
1fc64eb4fd
Cocoa Port: Resort to a more traditional method of performing texture sampling for Metal display view output filters, since the "Metal way" can result in GPU incompatibilities. (Related to commit 56473033
and #476.)
2022-05-10 09:52:56 -07:00
rogerman
5647303305
Cocoa Port: Do a quick-and-dirty attempt at fixing an issue with some output filters when using Metal display views. (Related to #476.)
2022-05-10 04:10:24 -07:00
rogerman
0f6cbffe77
Cocoa Port: Fix a bug where repeatedly using save states in quick succession can cause intermittent failures with HUD rendering when using OpenGL display views. (Regression from commit 3c04e8f4.)
2022-05-09 23:54:28 -07:00
rogerman
6f8c085890
Cocoa Port: Take a shot in the dark at fixing a bug where the video output could intermittently persist after a ROM is unloaded.
2022-05-09 21:59:57 -07:00
rogerman
9a5596ce54
Cocoa Port: Add a quick Troubleshooting section in the Read Me for Macintosh.
2022-05-09 15:58:18 -07:00
rogerman
8fbced9c85
Cocoa Port: Rename the "Intel32 Intel64" build schemes from "Xcode 9" to "Xcode 8" to help reduce confusion in the build documentation and to make things more consistent.
2022-05-09 15:43:26 -07:00
rogerman
38634a7e5c
Cocoa Port: Separate the 32-bit Intel and 64-bit Intel Release build targets, and also reenable PGO for all Release build targets.
2022-05-08 00:59:27 -07:00
rogerman
d9c912d7fd
Cocoa Port: Fix a bug where mipmapped HUD font rendering would fail on very small non-Retina displays. (Regression from commit 180df28c.)
...
- As a positive side-effect, this fix also allows mipmapped HUD font rendering to work on the OpenEmu plug-in, so that capability has now been enabled.
2022-05-08 00:12:20 -07:00
rogerman
25643e5f82
Cocoa Port: Fix a compiliing issue with Xcode 3. (Regression from commit ebc39eae.)
2022-05-08 00:05:04 -07:00
rogerman
4976f57b0c
Cocoa Port: Update Read Me for Macintosh.
2022-05-07 16:35:49 -07:00
rogerman
069b26aa4c
Cocoa Port (OpenEmu Plug-in): Remove a now defunct comment.
2022-05-07 13:51:06 -07:00
rogerman
75e9697c5d
Cocoa Port: Update copyright year.
2022-05-07 12:10:45 -07:00
rogerman
9c3e206fed
Cocoa Port (OpenEmu Plug-in): Changing a single display mode no longer applies all settings each time. Now, individual settings are applied only if the relevant state bits were actually changed.
...
- This change helps make display view resizing smoother.
2022-05-07 11:33:02 -07:00
rogerman
289c68fae8
Cocoa Port: Tweak the "View" menu in the standalone app and the "Display Modes" menu in the OpenEmu plug-in to better match each other.
2022-05-06 20:08:40 -07:00
rogerman
3c04e8f4c7
Cocoa Port (OpenEmu Plug-in): Add OpenGL as an option for the emulated GPU rendering engine.
...
- Now that we can use OpenGL, we can increase the 3D render scaling to up to 8x for machines that can handle it.
- Also add the Fragment Sampling Hack option for SoftRasterizer for certain games that need it to 'fix' texture rendering.
- Also add the Smooth Textures option for OpenGL for games that can benefit from it.
2022-05-06 18:23:52 -07:00
rogerman
e90ac6cc43
Cocoa Port (OpenEmu Plug-in): Fix a crash with HUD rendering when running on macOS Monterey.
...
- So apparently, the buffers used to upload the font texture data must remain in memory for the entire lifetime of the texture when running on Monterey. It is a mystery why the OpenEmu plug-in requires this for Monterey, as this is not required for older macOS versions, nor is it required in any way on the standalone app.
- Also remove the copy of the HUD font path. Since we're now copying the font file itself into memory, retaining a copy of the font path is no longer necessary.
2022-05-06 03:12:01 -07:00
rogerman
0a6aee6421
Cocoa Port (OpenEmu Plug-in): Add support for higher 3D rendering resolutions (up to 4x) with texture upscaling.
...
- Brings back compatibility for OpenEmu v1.0.4. (This was done because the v0.9.11 could run on it. Note that the advanced display features still require the latest OpenEmu version.)
- Also fixes issues with HUD font rendering.
2022-05-05 22:31:13 -07:00
rogerman
dce04f722f
Cocoa Port: Rename class "GPUEventHandlerOSX" to "GPUEventHandlerAsync".
...
- Also make a stub class of GPUEventHandlerAsync to better control some multithreaded stuff in the OpenEmu plug-in.
2022-05-05 14:32:00 -07:00
rogerman
180df28ce7
Cocoa Port: Improve the handling of HUD font rendering for OpenGL display views running on old drivers.
2022-05-05 14:29:53 -07:00
rogerman
6e26980d87
Cocoa Port (OpenEmu Plug-in): Do a complete revamp of the OpenEmu plug-in, giving it the same performance level as the standalone app, plus most of the video display options as the standalone app!
...
- Includes native binaries for Intel 64-bit, Intel 64-bit Haswell, and ARM64.
- The Dynamic Recompiler engine for ARM64 processors is now enabled by default, greatly increasing performance on Apple Silicon Macs.
- Now includes the full suite of dual-screen display layouts, screen rotations, display gap options, and so on.
- The Heads Up Display is now included.
- Can use the latest features of OpenEmu v2.3.3 running on macOS Monterey, but is also backwards compatible with OpenEmu v2.0.9.1 running on macOS El Capitan.
- Also includes general stability improvements.
2022-05-03 13:24:24 -07:00
rogerman
cc530c7a38
Cocoa Port: Display presenter objects now cache the font file in memory, just in case a bad client decides to repeatedly force the reloading of the font. (cough... OpenEmu view resizing... cough)
2022-05-03 04:21:34 -07:00
rogerman
ccfd5a5a55
Cocoa Port: Fix a theoretical crash that may occur on app exit.
...
- This doesn't actually happen in practice, but its good to fix this anyways.
2022-05-03 04:17:30 -07:00
rogerman
e2373bc5ff
Cocoa Port: Calculate the execution speed less often, but more accurately.
...
- Also fix a theoretical memory leak with the Video FPS timer.
2022-05-03 04:16:06 -07:00
rogerman
e25fd2e8c5
Cocoa Port: Restore the HUD visibility state of an OpenGL presenter if it ever needs to be reinitialized.
2022-05-03 04:11:41 -07:00
rogerman
7239c6cfd6
Cocoa Port: Small refactor to make the ClientDisplayViewInterface::GetNDSPoint() method always available.
2022-05-02 16:10:38 -07:00
rogerman
0e42f772bc
Cocoa Port: Refactor a few things.
2022-04-29 12:04:49 -07:00
rogerman
ba630ee278
JIT (ARM): Fix for transformers 32bit JIT, corrects shifts in 64bit jit on non condition shifts
...
- Special thanks to @byte4byte for these fixes.
2022-04-28 10:02:22 -07:00
rogerman
a276d8c29c
JIT (ARM): Fixes a rendering bug in the SVatGLovesYou demo.
...
- Special thanks to @byte4byte for the fix. His notes: "Fixed rrx shifts"
2022-04-27 22:58:53 -07:00
rogerman
a72134539d
JIT (ARM): Fix bug that prevented the Titan LMNTS Demo homebrew ROM from starting up.
...
- Special thanks to @byte4byte! His notes: "Fixed cmp operands, Fixes titan homebrew rom"
2022-04-27 18:08:34 -07:00
rogerman
ebc39eae64
Cocoa Port: Major code refactor to the video display system with the purpose of breaking up multipurpose classes of homogenous data into more focused classes.
...
- Also removes unnecessary Objective-C code and converts it into C++. Objective-C has its place, but not at this level of function.
2022-04-27 17:02:04 -07:00
rogerman
908a53e85a
JIT (ARM): Fix graphical glitches in "Diddy Kong Racing" and "Pokemon Ranger".
...
- Special thanks again to @byte4byte for this fix. His notes: "Fixes for shifting. Fixes diddy kong racing & pokemon ranger text".
2022-04-27 11:24:59 -07:00
rogerman
88f2dfdb53
Cocoa Port: Fix a longstanding bug where OpenGL video blitter would fail to render to window correctly on Retina displays.
2022-04-27 04:52:25 -07:00
rogerman
cfa75df069
JIT (ARM): Fix audio issues with "Chronicles of Narnia: The Lion, the Witch and the Wardrobe". Also fixes incorrect colors in "Transformers: Decepticons" opening movie.
...
- Special thanks to @byte4byte for this fix. His notes: "Corrected OP_SMxxW_ arm64 instructions, fixes narnia & transformers".
2022-04-26 13:34:39 -07:00
rogerman
2ab69da5e2
JIT (ARM): Fix bugs that caused "Alice in Wonderland" and "Sonic Chronicles: The Dark Brotherhood" to fail to start.
...
- Also fixes ultra slow text timing in "7th Dragon".
- Special thanks to @byte4byte for this fix. His notes: "Fixed issue with sbc&adc reg and mvns".
2022-04-25 11:18:23 -07:00
rogerman
0b0bee78cc
Cocoa Port: Remove the dev+ requirement for Dynamic Recompiler on ARM CPUs. The Dynamic Recompiler option is now available for users running Apple Silicon Macs!
2022-04-24 14:56:07 -07:00
rogerman
b1ee7e80d5
JIT (ARM): Fix a crash when resetting the emulator. Also fixes a memory leak. (Related to commit f12a70f4.)
2022-04-24 14:11:33 -07:00
rogerman
f12a70f4b7
Add a brand new JIT CPU emulation engine for ARM! Special thanks to user @byte4byte from byte4byte.com for making this new feature!
...
- If you have an ARM processor, expect anywhere between 10% to 50% improvement to CPU emulation performance for most games.
- But it isn't quite for prime time just yet. There is a crashing bug related to munmap() at emit_core.cpp:93 that causes the app to crash when resetting the emulator after a game has already been run.
- The Cocoa port now enables the new ARM JIT engine for Macs running Apple Silicon processors, but only for dev+ builds. This is due to the crashing bug noted above.
2022-04-23 20:00:30 -07:00