Sean Maas
5836132bda
Finally add non-extended affine backgrounds
...
I just needed a good test case :P
2020-03-20 21:27:14 -04:00
Sean Maas
1fe9771835
Apply master brightness after display capture
...
Fixes flickering in Pokemon Ranger Guardian Signs
2020-03-20 21:05:18 -04:00
Sean Maas
c9de7031d3
Redirect normal reads from the first 32KB of a ROM
...
Passes anti-piracy checks in games like Bowser's Inside Story and
Pokemon Ranger Guardian Signs
2020-03-20 18:58:26 -04:00
Sean Maas
b966213485
Add an option for threaded 3D rendering
2020-03-20 05:37:21 -04:00
Sean Maas
98a374eebb
Fix 3D pixels being treated as object window pixels
...
Fixes blending in Bowser's Inside Story and probably others
2020-03-19 05:04:45 -04:00
Sean Maas
7f608ad092
Fix audio crackles when running slow
...
Obviously there are still stutters, but that can't be fixed
2020-03-19 01:04:43 -04:00
Sean Maas
628aaecab2
Switch to a timer for redrawing on desktop
...
Fixes the display freezing when using the drop-down menus on Windows
2020-03-19 00:51:54 -04:00
Sean Maas
aee9c8f397
Implement pulse waves
2020-03-18 03:12:10 -04:00
Sean Maas
20981c0554
Switch to synchronous audio output
...
Asynchronous was nice for when the emulator is running too slow,
but synchronous is far more accurate and will make implementing
sound capture much easier. Also, the frame limiter is now based on
audio, so that disgusting while statement for Windows can finally
be axed!
2020-03-18 00:47:24 -04:00
Sean Maas
7c57743014
Add the ability to pause, restart, and stop the core on desktop
2020-03-15 19:31:18 -04:00
Sean Maas
de81c63bb8
Strip Windows binaries for better file sizes
2020-02-29 16:34:28 -05:00
Sean Maas
3e7ac246b2
Read the ADPCM header correctly
...
Fixes #4 .
2020-02-25 14:39:39 -05:00
Sean Maas
862ec52b54
Implement GPU-timed DMA transfers
...
Required some reworking of the DMA system.
2020-02-21 00:12:13 -05:00
Sean Maas
9db622980d
Try to fix edge cases where clipped polygons don't fully render
...
The original cases are fixed, but now some new ones are showing up.
They're a lot less prominent though, and I can't find a test case
that I can reliably reproduce for debugging.
2020-02-09 01:12:43 -05:00
Sean Maas
8deab7d8ec
Only interpolate values at polygon edges once per scanline
...
Gives a decent performance boost to the 3D renderer.
2020-02-07 20:06:19 -05:00
Sean Maas
5d47418ada
Minor UI fixes
2020-02-06 21:52:55 -05:00
Sean Maas
e989e78fcc
Implement 2D engine window functionality
2020-02-06 21:04:31 -05:00
Gran PC
576476d605
Initialize coreThread to nullptr ( #3 )
...
Fixes #2 .
2020-02-06 17:36:18 -05:00
Sean Maas
daae6ca26d
Turn down the volume a bit
2020-02-05 23:58:51 -05:00
Sean Maas
3611f8f822
Add save type selection for when no save file exists
...
Not ideal, but it's better than nothing. Eventually either a save
type database or automatic detection code will be added, and this
can be used as a manual override.
2020-02-05 03:26:59 -05:00
Sean Maas
f157863b7d
Switch to 48000Hz to fix issues on some systems
2020-02-03 12:10:06 -05:00
Sean Maas
c8b6d81b22
Implement bitmap objects
...
Also fix inversion of the display capture source A selection
2020-01-31 01:37:29 -05:00
Sean Maas
bd154361ea
Fix the display swap timing for dual-screen 3D
2020-01-30 23:43:51 -05:00
Sean Maas
04ede9f30a
Blend semi-transparent objects
2020-01-30 17:07:14 -05:00
Sean Maas
2e4747d40f
Switch to MinGW for better Windows optimization
...
Sorry Visual Studio, I won't miss you~
2020-01-28 19:09:56 -05:00
Sean Maas
5c4e608b68
Minor UI adjustments
2020-01-28 02:34:15 -05:00
Sean Maas
e17a50a3c1
Add control remapping to the desktop UI
2020-01-28 02:11:58 -05:00
Sean Maas
bd78c0bbe5
Fix the cancel button in the path settings
...
Also fix initial panel size on Windows
2020-01-26 14:57:38 -05:00
Sean Maas
3259e936e1
Split the desktop UI into multiple files and update the README
2020-01-26 04:33:00 -05:00
Sean Maas
fcb5154b2b
Fix and bring back the timer optimization that broke audio
2020-01-24 21:00:30 -05:00
Sean Maas
afdc029114
Add the core settings to the desktop UI
2020-01-24 01:07:22 -05:00
Sean Maas
4ecfa197dd
Update copyright year and fix builds
...
Oh yeah, it's 2020
Oh yeah, getline() is a POSIX thing
2020-01-23 19:41:02 -05:00
Sean Maas
5f9d6a2c28
Add a basic settings system and some core settings
2020-01-23 19:17:23 -05:00
Sean Maas
3da40d51f2
Support EEPROM 0.5KB saves
...
Also add the missing sizes for the other save types
2020-01-22 22:16:01 -05:00
Sean Maas
fa815be970
Add polygon culling
2020-01-21 14:07:50 -05:00
Sean Maas
772c80b65b
Implement 2D blending
2020-01-20 02:32:00 -05:00
Sean Maas
e5cec423fa
Fix Linux autobuild
2020-01-19 03:13:47 -05:00
Sean Maas
b9e9ca30a4
Set the sound bias on direct boot
2020-01-18 23:56:32 -05:00
Sean Maas
6458b9f538
Implement ADPCM audio decoding
...
Still sounds crusty tho :/
2020-01-16 22:17:13 -05:00
Sean Maas
e5b6fec9ec
Add clear color and depth registers
2020-01-16 20:40:58 -05:00
Sean Maas
87a6670cbd
Alpha blend the 3D layer with the 2D layers
2020-01-16 20:04:04 -05:00
Sean Maas
5866ad55aa
Add SPU, PCM8 and PCM16 formats, and crusty audio output
2020-01-15 01:10:01 -05:00
Sean Maas
5321d183af
Render translucent polygons last and add equal depth test
2020-01-12 23:53:42 -05:00
Sean Maas
2b0a360d26
Implement alpha blending
2020-01-12 01:01:22 -05:00
Sean Maas
01c24485ee
Implement display capture
2020-01-11 20:07:51 -05:00
Sean Maas
58e6160b81
Add the rest of the texture blending modes
2020-01-10 02:30:40 -05:00
Sean Maas
895622970e
Fix Windows being lame again
2020-01-09 15:43:01 -05:00
Sean Maas
ca97d57d5f
Finish implementing lighting
...
The only reason this took so long is because I'm dumb and couldn't
figure out that when GBAtek said to multiply colors it also wanted
me to shift the result right to normalize it :/
2020-01-09 00:09:49 -05:00
Sean Maas
3fb6004d78
Add texture blending and partially implment lighting
2020-01-07 18:26:57 -05:00
Sean Maas
5671649ec5
Cleanup the geometry engine a bit and add missing registers
...
Also touched up a few other areas
2020-01-06 23:11:04 -05:00