Sean Maas
26c5824681
Make edge hiding per-pixel instead of per-polygon
2020-12-24 09:32:58 -05:00
Sean Maas
22d7a38cbf
Hide some edges for opaque polygons with no edge effects
2020-12-24 02:12:40 -05:00
Sean Maas
24b11670f9
Make a bunch of functions static
2020-12-23 23:40:08 -05:00
Sean Maas
ab4f631b31
New polygon edge calculation that's (mostly) accurate to hardware
...
There are a few small inconsistencies (single pixels on corners, etc.)
but for the most part this should match hardware. I spent a *lot* of
time staring at minute pixel differences and working out the formulas,
so I would hope it does, at least! Special fill rules, edge marking,
and anti-aliasing are still not implemented, so things might look a
little off until then.
2020-12-23 19:45:48 -05:00
Sean Maas
873c7d2a3d
Precalculate polygon bounds and skip them when possible
2020-12-17 21:07:31 -05:00
Sean Maas
8dc7f11fb8
Slight interpreter optimization
...
This will also make it easier to return cycle counts in the future
2020-12-15 17:32:31 -05:00
Sean Maas
10b758c314
A few minor cleanups
2020-12-15 12:28:42 -05:00
Sean Maas
96656f9152
Make overclock configurable on Switch
2020-12-13 17:11:17 -05:00
Sean Maas
f2a2b78688
Properly handle HALTCNT in GBA mode
2020-12-13 01:38:00 -05:00
Sean Maas
0908399202
Make GBA cart accesses much less terrible
2020-12-10 18:54:17 -05:00
Sean Maas
11d8bf2189
Fix inverted source selection for blended display capture
2020-12-09 15:59:12 -05:00
Sean Maas
957df72a7d
Make GBA cart accesses slightly less terrible
2020-12-07 23:30:15 -05:00
Sean Maas
c00bb1f5fb
Handle DS math edge cases
2020-12-06 23:10:57 -05:00
Sean Maas
be7eb7a12b
Fix CP15 direct boot values
...
oops
2020-12-05 15:12:17 -05:00
Sean Maas
60b655f3ff
Fix a potential lock-up when pausing
2020-11-19 21:57:51 -05:00
Sean Maas
578d866966
Android: add restart and save type selector
2020-11-19 21:29:41 -05:00
Sean Maas
0deeeb3a1a
Android: add basic in-game menu
2020-11-19 00:30:23 -05:00
Sean Maas
ed48115656
Allow empty SAD for pulse/noise channels
...
Fixes missing sounds caused by 3d7a637
.
2020-11-17 22:43:55 -05:00
Sean Maas
af4fa903ad
Switch: add save type selector
2020-11-17 21:58:44 -05:00
Sean Maas
efb901aefd
Implement mostly-complete sound capture
...
Just missing the channel 0/2 stuff because I don't have a test case.
2020-11-17 18:16:39 -05:00
Sean Maas
3d7a637b14
Various DS sound fixes
...
Fixes #28 .
2020-11-17 00:10:01 -05:00
Sean Maas
1b836c7569
Allow toon/highlight for polygons with no texture
...
Fixes the star effect in Mario Kart.
2020-11-16 21:19:08 -05:00
Sean Maas
bf194b28b1
Rename math to div_sqrt
...
Closes #40 .
2020-11-16 08:59:14 -05:00
Sean Maas
8c377c4090
Only mark the 3D rear plane as transparent if it exists
2020-11-15 14:01:01 -05:00
Sean Maas
4640013cfc
Support drag-and-drop ROM loading
2020-11-15 13:31:53 -05:00
Sean Maas
e0ea6c0b33
Add the ability to trim ROMs
2020-11-11 02:26:28 -05:00
Sean Maas
4e0c89e6a4
Store vertices as 32-bit instead of 64-bit
...
And other minor cleanups
2020-11-06 22:26:21 -05:00
Sean Maas
ba2636f05f
Properly handle invalid viewports
2020-11-06 13:56:41 -05:00
Sean Maas
1c559a4ac0
Fix transparent pixels drawn over pixels with alpha 0
2020-11-05 23:28:58 -05:00
Sean Maas
9145f46463
Make interpolation accurate to hardware, quirks and all
2020-11-02 22:14:54 -05:00
Sean Maas
c9dfecfc25
Use a swap macro to simplify some code
2020-11-02 15:34:18 -05:00
Sean Maas
b4d81e717b
Properly handle non-32-bit writes to the GBA sound FIFO
2020-10-31 01:34:58 -04:00
Sean Maas
47cea3507f
Various improvements to prep for automatic DS save detection
...
-Only write save files if they were modified
-Removed annoying save prompts
-Auto-assume FLASH 512KB for missing DS saves (temporary)
-Desktop: made save type selection accessible from the File menu
-Desktop: added support for manual GBA save type selection
2020-10-29 21:06:07 -04:00
Sean Maas
e72f28ca8c
Add more screen gap sizes
2020-10-26 10:33:43 -04:00
Sean Maas
56f5c78c12
Android: use OpenGL to draw the screens
...
Also lowkey removed the Patreon link
2020-10-05 19:25:28 -04:00
Sean Maas
ae7b5aff23
Desktop: add support for binding keys to a gamepad
2020-09-05 21:23:40 -04:00
Sean Maas
91be8aa139
Desktop: add fast forward and full screen keys
2020-09-05 15:53:53 -04:00
Sean Maas
9a7c6f435a
Allow storage access on Android 10
2020-09-03 23:15:07 -04:00
Sean Maas
d54f85ef4b
Allow loading NDS and GBA ROMs alongside each other
2020-09-03 20:23:51 -04:00
Sean Maas
3da02c6c23
Android: fix some issues with first-time setup
2020-09-03 16:28:58 -04:00
Sean Maas
612e374dd4
Stub enough WiFi registers to remove the stall hack
2020-08-29 21:28:04 -04:00
Sean Maas
ab97a8540e
Android: allow and handle rotation
2020-08-28 23:52:38 -04:00
Sean Maas
60283c2e69
Android: add settings menu, screen layouts, and FPS counter
2020-08-28 23:27:37 -04:00
Sean Maas
aa8636a9f8
Map GBA SRAM in DS mode + minor EEPROM 0.5KB fix
2020-08-18 03:01:59 -04:00
Sean Maas
6995dc56f5
Add an option for threaded 2D rendering
2020-08-08 19:32:44 -04:00
Sean Maas
58884eb05a
Improve threaded 3D (again)
...
Also minor cleanups. I know, I'm still creating new threads every
frame, which is lame. I might do a condition variable in the future,
but I swear creating threads like this is faster than waiting for a
condition variable to wake a thread up! I'm not crazy I swear.
2020-08-08 05:40:31 -04:00
Sean Maas
aec6cad101
Only redraw 3D when it's updated
2020-08-07 00:16:07 -04:00
Sean Maas
e541c066ab
Rewrite VRAM mapping to allow proper mirroring
...
Also removed modulos in mapping for a bit of a speed boost, and
fixed an issue where affine backgrounds could use extended palette.
Fixes graphical issues in New Super Mario Bros. and others.
2020-08-06 20:58:46 -04:00
Sean Maas
c6ccec0339
Add references to the readme
2020-08-06 05:36:39 -04:00
Sean Maas
dbf88ae96c
Clean up DMA transfers
2020-08-06 02:01:53 -04:00