Lior Halphon
|
409ab2a6d4
|
Accurate emulation of tilemap advancement timings
|
2020-03-03 02:21:19 +02:00 |
|
Lior Halphon
|
e846f4f3b0
|
Hacky, but correct emulation of WX=166
|
2020-03-01 23:58:28 +02:00 |
|
Lior Halphon
|
2a8b26d5e6
|
Add TODO
|
2020-03-01 00:23:50 +02:00 |
|
Lior Halphon
|
b7194402eb
|
Accurately emulate Window X = Object X
|
2020-03-01 00:17:45 +02:00 |
|
Lior Halphon
|
5ca602fbd2
|
WX=0 emulation
|
2020-02-29 18:26:16 +02:00 |
|
Lior Halphon
|
39b999a68b
|
Emulate the FIFO insertion glitch (WX variant)
|
2020-02-29 17:06:08 +02:00 |
|
Lior Halphon
|
955860b463
|
Get rid of the FIFO pause flags
|
2020-02-28 22:36:51 +02:00 |
|
Lior Halphon
|
e29246fd91
|
Window tile is reset on WX trigger
|
2020-02-28 18:28:47 +02:00 |
|
Lior Halphon
|
2a8f15c68b
|
The fetcher pushes pixels to the FIFO as soon as it's empty
|
2020-02-28 18:10:09 +02:00 |
|
Lior Halphon
|
60f01fe947
|
Merge branch 'master' into ppu_window
|
2020-02-28 15:21:38 +02:00 |
|
Lior Halphon
|
0c716bd970
|
More accurate timing emulation of window-objects interaction
|
2020-02-27 23:42:16 +02:00 |
|
Jakub Kądziołka
|
67d5a53503
|
Spell "length" properly
|
2020-02-27 18:11:10 +01:00 |
|
Lior Halphon
|
89303ab046
|
WX access conflicts
|
2020-02-27 00:12:42 +02:00 |
|
Lior Halphon
|
9c7a8fdb1b
|
WY is tested every cycle
|
2020-02-26 22:24:08 +02:00 |
|
Lior Halphon
|
b37a0b285a
|
Window Y still advances if WX=166
|
2020-02-24 23:59:18 +02:00 |
|
Lior Halphon
|
7456beb7b9
|
Better emulation of negative WX positions
|
2020-02-24 21:23:06 +02:00 |
|
Lior Halphon
|
248e7bc332
|
Timing improvements
|
2020-02-24 20:46:00 +02:00 |
|
Lior Halphon
|
25b51362e9
|
Safety first
|
2020-02-24 00:33:45 +02:00 |
|
Lior Halphon
|
3864ff37e1
|
Timing improvements
|
2020-02-24 00:32:47 +02:00 |
|
Lior Halphon
|
c22611c701
|
Minor bugfix
|
2020-02-23 23:48:08 +02:00 |
|
Lior Halphon
|
c0ba898ef2
|
Basic window implementation
|
2020-02-23 23:16:45 +02:00 |
|
Lior Halphon
|
2be58439bf
|
Starting over – removing all window related code
|
2020-02-23 00:38:47 +02:00 |
|
Lior Halphon
|
d8282fe3c9
|
Please pretend the last commit never happened
|
2020-02-22 00:45:52 +02:00 |
|
Lior Halphon
|
39b88d546b
|
The upper bits of SCX might mid-line
|
2020-02-21 21:59:03 +02:00 |
|
Lior Halphon
|
ea2f32b255
|
The fetcher state machine advances even while handling an object
|
2020-02-21 21:44:44 +02:00 |
|
Lior Halphon
|
f86e682d2c
|
Fix sign
|
2020-02-21 17:22:57 +02:00 |
|
Lior Halphon
|
8409d3bcfb
|
Emulate changing sprite height mid-fetch
|
2020-02-21 16:43:51 +02:00 |
|
Lior Halphon
|
7d51ba3d97
|
More fixes, SGB emulation of the same quirk
|
2020-02-21 16:16:02 +02:00 |
|
Lior Halphon
|
91404edd13
|
Disgusting hacks to emulate disabling objects while an object is being fetched
|
2020-02-21 15:14:33 +02:00 |
|
Lior Halphon
|
56118d2a67
|
Move improvements to LCDC conflicts
|
2020-02-21 14:22:25 +02:00 |
|
Lior Halphon
|
a8f63aea3c
|
Emulate DMG LCDC write conflicts correctly. This might vary between individual units.
|
2020-02-21 02:55:07 +02:00 |
|
Lior Halphon
|
0290e70445
|
Improvements to AGB color correction
|
2020-02-17 23:05:11 +02:00 |
|
Lior Halphon
|
bec09a012c
|
More accurate emulation of STOP mode
|
2020-02-15 19:21:43 +02:00 |
|
Lior Halphon
|
08eb2f3d98
|
Correct emulation of FF6C (Turns out it controls object priority)
|
2020-02-15 15:32:06 +02:00 |
|
Lior Halphon
|
f550360f1a
|
More accurate CGB color correction curve
|
2020-02-15 13:21:21 +02:00 |
|
Lior Halphon
|
8b7805b95d
|
Hit ^T
|
2020-02-10 20:19:37 +02:00 |
|
Lior Halphon
|
804b9bec63
|
Fixed a bug where HDMA begins in the middle of an instruction while cycles are pending to be flushed. Fixes #230
|
2020-02-10 00:21:33 +02:00 |
|
Lior Halphon
|
103caa56e1
|
Allow displaying borders outside of SGB emulation, including borrowing SGB border. Allow not displaying SGB borders. (Todo: libretro support)
|
2020-02-08 13:28:46 +02:00 |
|
Lior Halphon
|
b806ae4e82
|
Fix #228
|
2020-02-01 23:36:16 +02:00 |
|
Lior Halphon
|
38ee020653
|
Fixed a regression bug that made the first CGB frame blank instead of repeated.
|
2020-01-31 01:29:59 +02:00 |
|
Lior Halphon
|
48d3504de7
|
Let the core handle boot ROM selection
|
2020-01-29 20:29:30 +02:00 |
|
Lior Halphon
|
163a5ea20c
|
Add DMG color palettes (Cocoa)
|
2020-01-29 14:19:11 +02:00 |
|
Lior Halphon
|
0737655753
|
Merge branch 'master' into JoyKit
|
2020-01-03 23:42:25 +02:00 |
|
Lior Halphon
|
95af00a752
|
speling is veri difikult
|
2020-01-03 21:11:45 +02:00 |
|
Lior Halphon
|
bd9ac204c2
|
Allow SameBoy to compile on 4-byte-bools platforms
|
2019-11-20 22:40:03 +02:00 |
|
Lior Halphon
|
31609319de
|
Fix the set_joyp API
|
2019-11-09 14:45:38 +02:00 |
|
Lior Halphon
|
c802361800
|
Whoops, this function was missing
|
2019-11-08 16:14:16 +02:00 |
|
Lior Halphon
|
143e1f88a8
|
There’s not reason it must be an integer
|
2019-11-03 22:02:33 +02:00 |
|
Lior Halphon
|
0ece21bca7
|
Replace the SDL-derived controller support with my own JoyKit framework. Adds rumble support, LED support, better manual and automatic configurations, analog speed controls.
|
2019-10-19 19:26:04 +03:00 |
|
Lior Halphon
|
dee29c118c
|
Added GB_set_sample_rate_by_clocks API, split SGB_NO_SFC into PAL and NTSC; now they report the correct clock rate.
|
2019-10-08 15:10:24 +03:00 |
|
Lior Halphon
|
ca370eee7e
|
A bit more accurate AGB audio rendering
|
2019-10-01 18:50:59 +03:00 |
|
Lior Halphon
|
ac418b9de1
|
Pass channel_1_freq_change_timing
|
2019-09-30 00:09:25 +03:00 |
|
Lior Halphon
|
652e52df3d
|
Pass the SGB multiplayer tests
|
2019-09-14 12:31:52 +03:00 |
|
Lior Halphon
|
851dbd3ccd
|
SGB and AGB color correction
|
2019-09-13 17:13:21 +03:00 |
|
Lior Halphon
|
4fcc921b46
|
Fix SGB multiplayer, improve multiplayer accuracy
|
2019-09-13 17:10:58 +03:00 |
|
Lior Halphon
|
eaa1c1cd4a
|
Merge bsnes’s changes
|
2019-08-16 17:38:43 +03:00 |
|
Lior Halphon
|
e3672e8293
|
Emulate built in SGB palettes
|
2019-07-20 16:10:24 +03:00 |
|
Lior Halphon
|
8c1f76a594
|
Fix HLE SGB
|
2019-07-19 20:37:58 +03:00 |
|
Lior Halphon
|
ffb9f1b134
|
Fix HLE SGB
|
2019-07-19 20:34:26 +03:00 |
|
Lior Halphon
|
e634019ac9
|
Fix CGB emulation
|
2019-07-19 20:27:53 +03:00 |
|
Lior Halphon
|
4f9c8e9374
|
Match the HLE timings to the LLE timings
|
2019-07-19 20:19:09 +03:00 |
|
Lior Halphon
|
ea7dec4e88
|
Merge branch 'master' into bsnes_integration
|
2019-07-19 15:51:10 +03:00 |
|
Lior Halphon
|
33198fc7b7
|
Give SGB its own conflict map
|
2019-07-19 15:50:49 +03:00 |
|
Lior Halphon
|
df7f7d8171
|
Fix silly desync inaccuracy
|
2019-07-18 22:55:11 +03:00 |
|
Lior Halphon
|
772289c545
|
Fix a silly bug
|
2019-07-18 00:53:11 +03:00 |
|
Lior Halphon
|
9efd20d7cd
|
Revert "Silence some GCC warnings"
This reverts commit 11a9f1df21 .
|
2019-07-16 23:33:07 +03:00 |
|
Lior Halphon
|
11a9f1df21
|
Silence some GCC warnings
|
2019-07-16 23:27:35 +03:00 |
|
Lior Halphon
|
9ba6915c85
|
ICD JOYP write API
|
2019-07-16 21:42:57 +03:00 |
|
Lior Halphon
|
2d7f54a775
|
Load ROM from buffer API
|
2019-07-16 21:04:29 +03:00 |
|
Lior Halphon
|
ce9ce07817
|
Make the ICD APIs pixel based
|
2019-07-16 20:44:27 +03:00 |
|
Lior Halphon
|
346e499602
|
ICD APIs
|
2019-07-15 23:02:58 +03:00 |
|
Lior Halphon
|
e1873ad2ec
|
Add JOYP write callback API
|
2019-07-15 22:35:21 +03:00 |
|
Lior Halphon
|
2bfe922650
|
Allow emulating an SGB without SFC HLE
|
2019-07-15 20:47:16 +03:00 |
|
Lior Halphon
|
9f7255cd23
|
Make the automation results more consistent across revisions, and making use of this change as a chance to add color correction to the automation
|
2019-07-13 20:29:11 +03:00 |
|
Lior Halphon
|
8c8d5afe62
|
Make the debugger compatible with more sym formats
|
2019-07-13 17:17:55 +03:00 |
|
Lior Halphon
|
f55c254959
|
Fixed a regression that made ly_lyc_0_write and ly_lyc_write fail
|
2019-07-12 02:18:25 +03:00 |
|
Lior Halphon
|
4541efe86a
|
Fixed a bug that prevented writing to the wave RAM, as well as a bug where the wave RAM was treated as zeros despite not being zero’d out
|
2019-06-29 14:03:42 +03:00 |
|
Lior Halphon
|
36a87f96bd
|
Formatting
|
2019-06-21 16:58:56 +03:00 |
|
Lior Halphon
|
24b58da8c6
|
Minor text change
|
2019-06-21 14:18:48 +03:00 |
|
Lior Halphon
|
7c61445fe3
|
Fixed out of bound read in GB_load_state_from_buffer. Closes #104
|
2019-06-21 03:04:38 +03:00 |
|
Lior Halphon
|
72b1fe0500
|
Minor Fixes™
|
2019-06-21 01:03:52 +03:00 |
|
Lior Halphon
|
50a6a3e35c
|
Fix libretro SGB1 FPS, fix un/serialization memory corruptions in libretro
|
2019-06-19 23:49:43 +03:00 |
|
Lior Halphon
|
91b0e491c5
|
Increase the minimum required cycles for a sync, fix SGB jingle audio
|
2019-06-19 22:44:54 +03:00 |
|
Lior Halphon
|
431f1f8199
|
Remove redundant calls to display_vblank on non-SGB models and in irregular FPS scenarios. Affects #161
|
2019-06-18 23:16:28 +03:00 |
|
Lior Halphon
|
e268efefef
|
Redesign and reimplement the audio API, let the frontends handle more stuff. Probably affects #161
|
2019-06-15 23:22:27 +03:00 |
|
Lior Halphon
|
8b7922b679
|
Fix #144 by ignored malformed commands with 0 length
|
2019-06-15 03:42:53 +03:00 |
|
Lior Halphon
|
66b814a226
|
Don’t use libc’s random/rand
|
2019-06-14 16:49:41 +03:00 |
|
Lior Halphon
|
843683a492
|
Randomize everything!
|
2019-06-09 18:14:32 +03:00 |
|
Lior Halphon
|
49d8a5cb44
|
Fixed the parsing of comparison operators as well as their priorities. Fixes #155
|
2019-06-08 16:08:07 +03:00 |
|
Lior Halphon
|
0da2930109
|
Fix #175
|
2019-06-08 14:35:52 +03:00 |
|
Lior Halphon
|
274760746e
|
Fix #165
|
2019-06-07 19:18:07 +03:00 |
|
Lior Halphon
|
9d8adbb581
|
This is not correct, this bug only affects the PCM registers and not actual output. Currently not emulated at all.
|
2019-06-07 18:37:19 +03:00 |
|
Lior Halphon
|
2f9de4942c
|
Increase input polling frequency in the Cocoa and SDL frontends, should make inputs look less synthetic and potentially reduce input lag
|
2019-06-07 18:27:25 +03:00 |
|
Lior Halphon
|
64879f5b02
|
Accurate emulation of (most aspects of) stop mode
|
2019-06-07 13:53:50 +03:00 |
|
Lior Halphon
|
4c34e0a6e0
|
Turns out the AGB inverts Channel 3’s output
|
2019-06-01 18:22:58 +03:00 |
|
Lior Halphon
|
6888047102
|
Show flags in the registers command
|
2019-06-01 16:42:17 +03:00 |
|
Lior Halphon
|
cdc36f329e
|
Added open dialog to the SDL GUI, misc fixes
|
2019-06-01 14:29:46 +03:00 |
|
Lior Halphon
|
1de34b12ac
|
Merge pull request #181 from ISSOtm/master
Fix sample lengths for CH1, 2 and 4
|
2019-05-25 21:09:47 +03:00 |
|
Lior Halphon
|
85c43fa81f
|
Fixed Channel 3’s first sample behavior, update analog characteristic to more realistic values. Fixes #177
|
2019-05-25 19:12:09 +03:00 |
|
Lior Halphon
|
3e724afb0a
|
Basic SGB support in the SDL port
|
2019-05-18 18:45:31 +03:00 |
|
ISSOtm
|
ec5d1b7b88
|
Fix sample lengths for CH1, 2 and 4
|
2019-05-18 03:01:20 +02:00 |
|
Lior Halphon
|
3ee2c64899
|
Make the apu command a bit safer
|
2019-05-17 22:03:23 +03:00 |
|
Lior Halphon
|
6648a0a84d
|
Minor adjustments and style fixes to the new APU debug functions
|
2019-05-17 20:48:49 +03:00 |
|
Lior Halphon
|
280467ad38
|
Merge branch 'master' into master
|
2019-05-17 20:31:52 +03:00 |
|
Lior Halphon
|
91eeb4d9d5
|
Emulate AGB audio mixing
|
2019-05-17 00:08:34 +03:00 |
|
ISSOtm
|
40f83c8f25
|
Add APU-related debugger commands
This change includes making one of the APU functions public
|
2019-05-15 12:45:51 +02:00 |
|
Lior Halphon
|
ddc4e7484b
|
Fix and restore optimization
|
2019-05-10 22:29:30 +03:00 |
|
Lior Halphon
|
06670fc970
|
Fix #172. Allow unroll optimizations when compiling with GCC.
|
2019-05-10 21:51:11 +03:00 |
|
orbea
|
2bded45397
|
Disable pragmas for gcc.
|
2019-05-09 10:55:31 -07:00 |
|
Lior Halphon
|
82ce597573
|
Line breaks
|
2019-04-12 20:30:02 +03:00 |
|
Lior Halphon
|
05cd81b77c
|
Implemented jump-to breakpoints
|
2019-04-12 20:29:43 +03:00 |
|
Lior Halphon
|
7242ddae64
|
speling is difikult
|
2019-03-16 20:56:22 +02:00 |
|
Lior Halphon
|
c342663200
|
Emulate serial bit shifting, update the serial API to use bits instead of bytes, update printer emulation and libretro to use the new API
|
2019-03-15 14:36:10 +02:00 |
|
Lior Halphon
|
0b03b61564
|
Render the first line 0, as required for SGB emulation
|
2019-02-16 04:19:16 +02:00 |
|
Lior Halphon
|
9d0aadb83f
|
Emulate missing Vreset signal (SGB only for now) and ICD2 desyncing
|
2019-02-15 17:04:48 +02:00 |
|
Lior Halphon
|
dde06e7cae
|
Work around a crashing race condition, proper fix needed
|
2019-01-28 20:56:37 +02:00 |
|
Lior Halphon
|
b996ed9220
|
Writing to BGPD/OBPD while it’s blocked still increases BGPI/OBPI if needed. Fixes #145
|
2019-01-19 23:37:44 +02:00 |
|
Lior Halphon
|
73a54049d2
|
Accurate PPU access timings
|
2019-01-19 19:32:26 +02:00 |
|
Lior Halphon
|
4536581a6e
|
Fixed a bug where modifying RTC data would corrupt cartridge RAM data. Fixes #136
|
2019-01-18 02:36:14 +02:00 |
|
Lior Halphon
|
312478e509
|
CGB palettes are not accessible during Mode 3, closes #84
|
2019-01-14 22:22:46 +02:00 |
|
Lior Halphon
|
879d3b607d
|
Removed verified TODO
|
2019-01-14 20:32:52 +02:00 |
|
Lior Halphon
|
ba5c07bed9
|
Correctly emulate speed switch timing
|
2019-01-13 01:09:41 +02:00 |
|
Lior Halphon
|
c74b39e712
|
The CPU core of the Game Boy is (most likely) called SM83
|
2019-01-12 00:42:16 +02:00 |
|
Lior Halphon
|
21d2a59a5f
|
Fixed a very rare edge case where an interrupt occurs when SP=FF11
|
2019-01-12 00:39:24 +02:00 |
|
Lior Halphon
|
4e2b5bb336
|
Fix the GB_run_frame API in SGB mode
|
2019-01-11 21:53:21 +02:00 |
|
Lior Halphon
|
7b36ee10a4
|
Merge branch 'master' into sgb
|
2019-01-05 19:00:22 +02:00 |
|
Lior Halphon
|
ae959cd878
|
ATTR_LIN and ATTR_DIV
|
2019-01-05 18:59:50 +02:00 |
|
Lior Halphon
|
4051f190a5
|
Cache cycles_per_sample to avoid FP arithmetic
|
2019-01-01 00:42:40 +02:00 |
|
Lior Halphon
|
9d947c7ce6
|
Unroll some APU loops
|
2018-12-31 23:09:56 +02:00 |
|
Lior Halphon
|
af0430dbc5
|
Unroll some loops in PPU code, more efficient timer handling
|
2018-12-31 22:06:20 +02:00 |
|
Lior Halphon
|
21eb96a2f5
|
Joypad multiplayer support (Cocoa)
|
2018-12-15 18:55:41 +02:00 |
|
Lior Halphon
|
612cd07fb3
|
Fixed emulation of echo RAM
|
2018-12-12 23:44:00 +02:00 |
|
Lior Halphon
|
ea09dfc888
|
Fixed multiplayer SGB mode
|
2018-12-04 23:46:30 +02:00 |
|
Lior Halphon
|
b1a2e45168
|
Improvements to the SGB animation
|
2018-12-01 13:39:43 +02:00 |
|
Lior Halphon
|
6d28e74667
|
Color 0 must always be shared
|
2018-11-24 15:53:53 +02:00 |
|
Lior Halphon
|
4b93f89763
|
Correct emulation of color masks
|
2018-11-24 15:42:54 +02:00 |
|
Lior Halphon
|
389d8ae045
|
Halt the CPU while the SGB animation is playing
|
2018-11-24 13:34:07 +02:00 |
|
Lior Halphon
|
2d6d1e6325
|
SGB boot animation
|
2018-11-24 13:21:00 +02:00 |
|
Lior Halphon
|
b3166135eb
|
Clean up that crashing mess I made
|
2018-11-23 19:59:15 +02:00 |
|
Lior Halphon
|
558f9b9bae
|
Updated SGB border, add “2” to SGB2
|
2018-11-23 14:16:48 +02:00 |
|
Lior Halphon
|
67d52b78b6
|
Handling interrupted SGB commands
|
2018-11-17 12:26:07 +02:00 |
|
Lior Halphon
|
af5ef50cf9
|
Fixing default border
|
2018-11-17 01:39:38 +02:00 |
|
Lior Halphon
|
deb5e21842
|
More colorization commands
|
2018-11-17 00:44:18 +02:00 |
|
Lior Halphon
|
b698ce5d95
|
Correctly emulate SGB border color 0
|
2018-11-17 00:44:07 +02:00 |
|
Lior Halphon
|
e5e7ce8203
|
Basic colorization
|
2018-11-16 22:05:35 +02:00 |
|
Lior Halphon
|
d42cbcdee2
|
Palette transfer functions
|
2018-11-16 19:11:21 +02:00 |
|
Lior Halphon
|
91a3091b2e
|
Build fix
|
2018-11-16 17:41:23 +02:00 |
|
Lior Halphon
|
2710939e1e
|
That should be an inc file
|
2018-11-16 17:38:53 +02:00 |
|
Lior Halphon
|
595907cae2
|
Border fade animation
|
2018-11-16 17:36:21 +02:00 |
|
Lior Halphon
|
69ac36cca1
|
Add default SGB border
|
2018-11-16 17:22:57 +02:00 |
|