Lior Halphon
ca9249d4db
Prevent memory viewer errors on reset
2018-06-16 14:46:16 +03:00
Lior Halphon
bc876ec30c
Whoops
2018-06-16 14:36:06 +03:00
Lior Halphon
45c73e0175
Replaced the is_cgb bool with a more future compatible model enum. Removed the GB_init_cgb API and replaced it with an extended GB_init and GB_switch_model_and_reset APIs that now receive a model parameter. Increased the struct version.
2018-06-16 13:59:33 +03:00
Lior Halphon
c286203640
Fixed potential black screen on Metal
2018-06-16 12:46:57 +03:00
Lior Halphon
968ff4879a
Enable fast math
2018-06-16 00:08:24 +03:00
Lior Halphon
1c1cddb53e
OpenGL fallback
2018-06-15 20:03:59 +03:00
Lior Halphon
a068b7b09f
Fixed Metal warnings, made everything static for performance
2018-06-15 19:18:30 +03:00
Lior Halphon
cd045fde15
Scaling filters in Metal
2018-06-15 19:11:06 +03:00
Lior Halphon
4466a55de6
Output resolution parameter
2018-06-15 18:44:22 +03:00
Lior Halphon
da7c32cb10
No more globals in shaders
2018-06-15 18:22:09 +03:00
Lior Halphon
c6dba26d02
Simplify shaders
2018-06-15 18:08:54 +03:00
Lior Halphon
c1fcd1a0c0
Added frame blending
2018-06-15 13:58:50 +03:00
Lior Halphon
5b39cacc8a
Basic Metal support. No OpenGL fallback, no shaders, no blending.
2018-06-15 13:26:53 +03:00
Lior Halphon
9a3d53ae51
Remove OpenGL specific code from GBView
2018-06-11 22:11:33 +03:00
Lior Halphon
d95ad1ca54
SWAP was incorrectly disassembled as RLC
2018-06-09 15:39:40 +03:00
Lior Halphon
38c0cb3323
Typo
2018-06-09 15:12:42 +03:00
Lior Halphon
f64da1864f
APU glitch: When turning the APU on while DIV's bit 4 (or 5 in double speed mode), the first DIV/APU event is skipped.
2018-06-09 15:11:20 +03:00
Lior Halphon
593cb7c107
Pixel accurate emulation of Prehistorik Man on a CGB-CPU-E
2018-06-08 18:44:03 +03:00
Lior Halphon
ca01ff6f79
Finally, perfect emulation of the STAT write bug.
2018-06-08 17:16:15 +03:00
Lior Halphon
127324d2d6
Fixed regression involving rendering a window with negative X position. Closes #75
2018-06-07 23:08:46 +03:00
Lior Halphon
f1dfa2a1bc
More sensible implementation of the STAT interrupt.
2018-06-04 02:07:38 +03:00
Lior Halphon
8f892ab798
Merge branch 'master' of https://github.com/LIJI32/SameBoy
2018-06-04 01:52:34 +03:00
Lior Halphon
0481ff9af5
Whoops
2018-06-04 01:52:24 +03:00
Lior Halphon
66ab22a5e9
Merge pull request #76 from Nadia-h/master
...
SDL: Add controller hat support in-game and in the GUI.
2018-06-03 17:41:28 +03:00
Nadia Pedersen
6f1070cccd
SDL: Add controller hat support in-game and in the GUI.
2018-06-03 00:21:43 +02:00
Lior Halphon
8721a48206
Fixed incorrect double speed behavior.
2018-06-03 00:36:05 +03:00
Lior Halphon
7003e31b7e
Fixed a regression with STAT blocking.
2018-06-02 04:00:10 +03:00
Lior Halphon
80c92daacd
Include cleanup ( #73 )
2018-05-27 19:30:23 +03:00
Lior Halphon
6532aef089
Correct emulation of the DMG stat write bug
2018-05-26 18:06:40 +03:00
Lior Halphon
9693b2de6a
Refined the STAT bug behavior. Still not perfect.
2018-05-26 17:06:49 +03:00
Lior Halphon
855ffb490a
A HBlank interrupt cannot occur in the last M-cycle of HBlank. Correct emulation of STAT access conflicts on the CGB (Test: CPU-E, single speed only). Fixes a minor graphical glitch in Pokémon Puzzle Challenge.
2018-05-25 23:42:36 +03:00
Lior Halphon
249acb04cc
Verified some timings on a DMG. Fixed palette write conflict timing (Although the fix kind of implies time traveling). Closes #65
2018-05-16 00:59:11 +03:00
Lior Halphon
562b43a7c5
Notes about the DMG wave-ram glitch
2018-05-15 23:02:07 +03:00
Lior Halphon
7df571d42f
Less strict matching for `delete` and `unwatch`. Fixes #71
2018-05-13 23:17:23 +03:00
Lior Halphon
1fcde88d8a
Improved accuracy of the halt bug
2018-05-12 22:13:52 +03:00
Lior Halphon
4527d9ee39
Styling fixes, fixed bugs caused by a rebellious brace, removed debug prints
2018-05-11 13:29:58 +03:00
Lior Halphon
9a29beb189
Merge commit '8f3fc1c2ade3c1c632cd3f3998ee26d2962e4dea'
...
# Conflicts:
# SDL/main.c
2018-05-11 13:26:30 +03:00
Lior Halphon
6b6c25635a
Merge commit '240730417774174315c2f7c148393834eb3297eb'
2018-05-11 13:11:53 +03:00
Lior Halphon
bfc96abf8f
Make save state names consistent across the Cocoa and SDL port
2018-05-11 12:51:15 +03:00
Lior Halphon
feaa0d0654
Merge commit '7fe86cec59c1143275ffb7fc07b6716ae0116033'
2018-05-11 12:50:53 +03:00
Lior Halphon
f4eddf316b
Merge commit '9343d8162d5e6934d7894d9eea57c55f52faa503'
2018-05-11 12:46:23 +03:00
Lior Halphon
713dc02e46
A bit tacky, but T-cycle accurate emulation of LYC write conflicts on the CGB. Only single speed mode verified. Closes #54
2018-05-11 12:38:55 +03:00
Lior Halphon
af3554c1d1
More accurate emulation of the LYC register and interrupt. (Still not perfect on a CGB)
2018-04-27 13:40:39 +03:00
Lior Halphon
0f8385a798
Refined line 153 behavior on a CGB. Verified on CGB-E.
2018-04-25 00:08:06 +03:00
Lothar Serra Mari
8f3fc1c2ad
Fix check for SDL2 version
2018-04-22 16:20:11 +02:00
Lothar Serra Mari
ca571c6fa5
SDL2: Update to SDL_OpenAudioDevice()
...
Instead of the legacy SDL_OpenAudio() method, we now use the newer
SDL_OpenAudioDevice() functions. This fixes audio in Windows if the SDL
version is 2.0.6 or higher.
It also allows us to use 48kHz audio for Windows (96kHz somewhat works
too, but since we don't get absolutely smooth audio with it, I'd stick
with 48kHz for now until we find a solution. 44.1Khz is available as
fallback for SDL 2.0.5 and lower. Yes, the 2.0.5 to 2.0.6 transition was
quite harsh in terms of Windows audio support...
2018-04-22 15:22:10 +02:00
Lothar Serra Mari
2407304177
SDL2: Write battery file information before issueing RESET_COMMAND
...
Before performing the GB reset, we should perform a GB_save_battery.
Otherwise, resetting the emulation will kill ("kill" as in simply don't
write them into the .sav) all changes made to the battery save since
sameboy was started.
2018-04-19 16:47:54 +02:00
Lothar Serra Mari
7fe86cec59
Fix savestates in SDL2 port
...
Because SDL_SCANCODE_0 comes *after* SDL_SCANCODE_9 in the SDL keycode
table, we have to check if the keycode is between >=1 and <=0. We also
have to substract SDL_SCANCODE_1 in order to set command_parameter
properly.
Errata: Currently, the savestate created with CTRL+0 is created, but
refuses to load on Windows (working fine on Linux).
2018-04-19 14:52:36 +02:00
Lothar Serra Mari
9343d8162d
Add fullscreen mode for the SDL2 port
2018-04-18 19:22:08 +02:00
Lior Halphon
be9df4d658
Added mechanism to handle MMIO read/write conflicts. Fixes #65
2018-04-14 17:57:00 +03:00