David Guillen Fandos
d1b4f69e32
Some more perf tweaks!
2023-08-04 01:59:06 +02:00
David Guillen Fandos
3858694aad
More perf tweaks to sprite rendering
2023-08-04 01:30:53 +02:00
David Guillen Fandos
4822923b90
Improve affine text renderer
2023-08-04 00:26:46 +02:00
David Guillen Fandos
71df26db98
Optimize bitmap rendering a bit further
2023-08-03 00:32:32 +02:00
andymcca
8292786363
Add u1 extension to supported filetypes
...
As requested in issue #37 . Could probably lose the 'v0.91' from the build version as well and just have it report the github build.
2023-08-02 23:38:52 +02:00
David Guillen Fandos
b020a646e7
Optimize regular object blitting too
2023-08-01 20:47:12 +02:00
David Guillen Fandos
a42ebbbedc
Improve text blitting performance
2023-08-01 20:27:08 +02:00
David Guillen Fandos
cde8a90ff8
Move pixel blitting from single mem access to byte-level
2023-08-01 01:20:29 +02:00
David Guillen Fandos
b4f394459d
Rewrite pixel blit functions for speed
...
Expand some conditions to make it clear what values are required in each
path.
2023-08-01 00:29:49 +02:00
David Guillen Fandos
a5c82bccd0
Update the winobj render logic
2023-07-31 22:27:12 +02:00
David Guillen Fandos
e6cde3e981
Further breakdown function modes for speed
2023-07-31 20:17:36 +02:00
David Guillen Fandos
8622c43d48
Implement sprite limit
...
Accounts for number of cycles per scanline and stops pushing objects
that go over the limit. Reversed processing from high to low priority
and drawing from low to high.
2023-07-31 20:14:27 +02:00
David Guillen Fandos
54484ff131
Refactor sprite rendering
2023-07-31 00:35:11 +02:00
David Guillen Fandos
361f106393
Clean up a bit more and refactor optimizations.
...
This should also cover the affine case which was left out.
2023-07-30 23:41:46 +02:00
David Guillen Fandos
82cb11990f
Improve blending code when no st-objs are visible
2023-07-30 21:26:19 +02:00
David Guillen Fandos
4349668315
Fix ST-OBJ blending
...
This uses an extra bit and does proper color stacking when needed to
ensure we render things correctly when ST-objects are visible.
Fixes most games that had coloring issues finally :)
2023-07-30 18:01:47 +02:00
David Guillen Fandos
8a50e2bcf1
More clean up and code rearrange
2023-07-30 00:51:31 +02:00
David Guillen Fandos
b0bbe36c08
Improve windowing render functions.
2023-07-29 23:19:12 +02:00
David Guillen Fandos
fbfae2e6f4
Minor cleanup
2023-07-29 22:38:16 +02:00
David Guillen Fandos
a5429384fe
Add missing register
2023-07-29 20:51:47 +02:00
David Guillen Fandos
b026ea626a
Disable optimization when there are some ST objects on the line
2023-07-29 17:20:35 +02:00
David Guillen Fandos
fef2b89e87
Backport VRAM mirroring issues for OBJ rendering
...
When using a big sprite with a tile at the end of the 32KB VRAM block it
might end up reading past the 32KB block. This is not an "issue" since
the VRAM wraps around within the 32KB block.
2023-07-29 16:53:50 +02:00
David Guillen Fandos
c6b2f315c5
Fix tile offset mask for 8bpp/2D mode
2023-07-29 16:35:08 +02:00
David Guillen Fandos
75a302d1d2
Merge video0/affine fixes from master
2023-07-29 15:47:47 +02:00
David Guillen Fandos
9a48e3a231
Update copyright and remove unused stuff
2023-07-29 01:08:55 +02:00
David Guillen Fandos
c68b734bfb
Some more cleanup
2023-07-29 01:06:51 +02:00
David Guillen Fandos
ef7e0bbe37
Remove last macros, fix sprite alpha blending
...
Fixes many games, might break one or two in some weird cases.
Needs some cleanup, and bitmap support for color effects
2023-07-29 00:51:07 +02:00
David Guillen Fandos
1ee50ada80
Reimplement sprite copy-mode for obj-based windowing
...
Seems it fixes a couple of visual issues in games too.
Might need to re-check that we do not overdraw too much to avoid
performance issues.
2023-07-28 19:35:33 +02:00
andymcca
30e86961a1
Don't update background scanline params in mode 0
...
Noticed that an issue with Rayman 3 Hoodlum Havoc was reported on one of the gpsp compatability lists. Cross-checked against mgba and revealed the same issue reported as being present in an earlier version -
https://github.com/mgba-emu/mgba/issues/377
This PR applies the same fix as used in mgba. Could affect other games also.
2023-07-28 18:58:24 +02:00
David Guillen Fandos
0db43d6683
Add VRAM mirroring fixes to video code.
...
This fix comes from TempGBA-Mod (see PR #217 ).
Co-authored-by: andymcca <andymcc102@gmail.com>
2023-07-28 18:41:09 +02:00
David Guillen Fandos
85beb230f1
Partial object rendering rewrite
...
A couple of modes still missing but mostly done. Pixel-exact
compatibility for this change too.
2023-07-27 23:51:24 +02:00
David Guillen Fandos
d6a02ff1df
Reimplement blending routines
2023-07-25 23:37:02 +02:00
David Guillen Fandos
543ba652ba
Rewrite layer rendering logic for tiled modes.
...
Bitmap mode does not really support this yet, therefore color effects
are not being rendered.
2023-07-25 23:36:56 +02:00
David Guillen Fandos
7b3c092584
Simplify color modes (there's only three really).
2023-07-21 21:11:08 +02:00
David Guillen Fandos
99a9b1d9b7
Unused macros cleanup
2023-07-21 19:56:01 +02:00
David Guillen Fandos
c5108b78eb
Rewrite bitmap rendering routines
2023-07-21 19:15:05 +02:00
David Guillen Fandos
11f56eb1d1
Implement text background affine rendering
2023-07-20 23:28:25 +02:00
David Guillen Fandos
c2964e386a
Replace all other tiled renderers.
...
Alhpa blending and other color effects are merged into a single function
2023-07-19 20:30:52 +02:00
David Guillen Fandos
dc4c312ca7
Rewrite tile rendering base functions
2023-07-18 23:04:56 +02:00
David Guillen Fandos
b88f0c0135
Rewrite window code without macros
2023-07-14 22:39:47 +02:00
David Guillen Fandos
97435283d2
Branch video to be a CXX source file.
...
Purposely disable all CXX linking to ensure the binary remains the same
2023-07-14 20:16:37 +02:00
David Guillen Fandos
1d972ec7ff
Improve GBC sound by fixing its deferred rendering
...
This fixes many games that use the PSG, particuarly the noise generator.
It is very noticeable in explosion/collision sounds with Sonic and Kirby
games, where the noise channel is rapidly tweaked.
2023-07-14 00:37:33 +02:00
David Guillen Fandos
2391496432
Some video cleanups for better readability
2023-07-11 23:11:27 +02:00
David Guillen Fandos
f5490a1996
Reduce video tracking vars
...
No need for full int, byte will do.
2023-07-09 23:05:49 +02:00
David Guillen Fandos
7f07da9ade
Make sound control deterministic by having proper reset
2023-06-12 20:24:18 +02:00
David Guillen Fandos
34eb7a3bf3
Fix reset() issue with dynarec flushing
...
On a reset bios_swi_entrypoint can end up pointing to code over the
watermark, due to block_lookup_address_arm looking up the function
instead of translating it.
Fix it by making flush and init different functions (albeit similar).
Tested by running and resetting games automatically, causing ~10% of
games to crash.
2023-06-09 20:21:35 +02:00
David Guillen Fandos
84c347edad
[interp] Improve interpreter timings and honor WAITCNT
...
This fixes a few games and makes the interpreter faster (since it
doesn't run an overclocked CPU anymore).
2023-06-07 19:40:27 +02:00
David Guillen Fandos
c9c88f3560
[interp] Simplify memory bindings a bit
2023-06-07 12:50:17 +02:00
David Guillen Fandos
f15d08f1f9
Fix Mode4 transparency
...
This fix exists in TempGBA/ReGBA, thanks to andymcca for finding it
2023-06-03 11:29:02 +02:00
LibretroAdmin
a9376c8603
Merge pull request #211 from warmenhoven/dev/warmenhoven/tvos
...
Fix tvos build
2023-05-28 05:57:09 +02:00