Lior Halphon
|
2c71ca789f
|
Fixed a regression caused by a recent optimization
|
2022-01-09 15:36:01 +02:00 |
Lior Halphon
|
b7f03dea8d
|
Add CGB-A support
|
2022-01-05 21:55:46 +02:00 |
Lior Halphon
|
79ec22b28e
|
Clang hates this
|
2022-01-03 17:55:00 +02:00 |
Lior Halphon
|
5c17c0ec3b
|
unreachable fun
|
2022-01-03 17:17:35 +02:00 |
Lior Halphon
|
59c315a5dd
|
Minor free optimization
|
2021-12-29 16:33:04 +02:00 |
Lior Halphon
|
769aac93c0
|
Lazy APU, extra ~17% speed up
|
2021-12-29 00:48:44 +02:00 |
Lior Halphon
|
c53d99dbc4
|
Abolished slow double use
|
2021-12-26 15:20:46 +02:00 |
Lior Halphon
|
f866441481
|
Improved emulation of channel 3 wave RAM read glitch
|
2021-12-19 19:27:40 +02:00 |
Lior Halphon
|
18e7a3f4fa
|
Cleanup, better symbol handling, improves LTO
|
2021-11-07 13:39:18 +02:00 |
Lior Halphon
|
fbf1bb7f98
|
Save state compatibility breaking cleanup
|
2021-11-07 12:56:46 +02:00 |
Lior Halphon
|
f237b1e9b9
|
CGB-0 support
|
2021-11-04 00:35:44 +02:00 |
Lior Halphon
|
6cd13be624
|
Add CGB-B support
|
2021-10-30 20:58:57 +03:00 |
Lior Halphon
|
e6c4ceaf5a
|
Add CGB-D support
|
2021-10-27 01:40:28 +03:00 |
Lior Halphon
|
18007f0e53
|
MGB support
|
2021-10-23 23:28:54 +03:00 |
Lior Halphon
|
94776fcf8c
|
Better (But imperfect) emulation of the wave RAM address bug glitch
|
2021-10-19 01:53:24 +03:00 |
Lior Halphon
|
886363b398
|
Now this glitch makes more sense
|
2021-10-17 12:52:08 +03:00 |
Lior Halphon
|
7ef198ec50
|
More accurate channel 3 restarts
|
2021-10-17 02:06:33 +03:00 |
Lior Halphon
|
ef053ff113
|
APU regression fix
|
2021-10-07 18:25:54 +03:00 |
Lior Halphon
|
b27bd4eed7
|
Remove redundant condition
|
2021-09-04 18:15:22 +03:00 |
Lior Halphon
|
e5454a39b7
|
Block wave RAM writes on the AGB
|
2021-09-04 14:18:46 +03:00 |
Lior Halphon
|
0ca1ee6a35
|
Minor APU clean ups
|
2021-09-02 01:29:38 +03:00 |
Lior Halphon
|
eefaac3d04
|
NR32 was treated as the wrong value on APU reset
|
2021-08-31 23:28:05 +03:00 |
Lior Halphon
|
ea97c1dc0b
|
Fix an APU regression that caused some games in DMG mode to play in the wrong pitch
|
2021-03-01 21:44:54 +02:00 |
Lior Halphon
|
1fdb4f09b4
|
Fix a sweep regression in DMG/SGB mode and CGB-C mode
|
2021-02-28 03:40:58 +02:00 |
Lior Halphon
|
6ec4583aa0
|
Tell GCC to calm down
|
2021-02-25 15:52:48 +02:00 |
Lior Halphon
|
4c05ebcea6
|
Redo the volume envelope with better timings, locking emulation and zombie mode edge cases. Fixes #344
|
2021-02-25 15:43:38 +02:00 |
Lior Halphon
|
8809d8ac2f
|
More correct emulation of manual clocking of channels 1 and 2
|
2021-02-22 15:27:36 +02:00 |
Lior Halphon
|
71c88323b7
|
Rename UNROLL to unrolled (`unrolled for`)
|
2021-02-22 14:45:30 +02:00 |
Lior Halphon
|
393269ae1f
|
Emulate volume envelope locking
|
2021-02-22 13:48:56 +02:00 |
Lior Halphon
|
d50fdc52ea
|
Further accuracy improvements to the audio envelope
|
2021-02-22 01:58:43 +02:00 |
Lior Halphon
|
6d2d88648e
|
Improved emulation of the volume envelope
|
2021-02-22 01:10:14 +02:00 |
Lior Halphon
|
95051d1c1c
|
Improved emulation of the NRx2 write glitch (Zombie mode) on models prior to CGB-D
|
2021-02-13 23:00:20 +02:00 |
Lior Halphon
|
2d76698279
|
Emulation of NR43 bit 3 glitch on CGB-C and older
|
2021-01-31 19:17:26 +02:00 |
Lior Halphon
|
d67580c964
|
Oops, that was reversed
|
2021-01-31 17:16:59 +02:00 |
Lior Halphon
|
ef9671010b
|
More NR43 obscurities
|
2021-01-24 20:57:46 +02:00 |
Lior Halphon
|
8e1e889ce0
|
Add a TODO
|
2021-01-16 15:31:09 +02:00 |
Lior Halphon
|
13a1e9d332
|
Timing fix
|
2021-01-16 14:43:32 +02:00 |
Lior Halphon
|
0056cc2d61
|
Revert "Further NR43 write glitch emulation" for now
This reverts commit e384707615 .
|
2021-01-16 14:42:13 +02:00 |
Lior Halphon
|
e384707615
|
Further NR43 write glitch emulation
|
2021-01-10 17:20:25 +02:00 |
Lior Halphon
|
07e76a4ecf
|
Oh boy, looks like my CGB-B is unique
|
2021-01-09 23:28:30 +02:00 |
Lior Halphon
|
1b3f52e8c0
|
Improved emulation of NR43 writes on different revisions
|
2021-01-09 21:21:22 +02:00 |
Lior Halphon
|
2aa171e0ea
|
Better sample alignment on pre-CGB-D models
|
2021-01-09 16:26:56 +02:00 |
Lior Halphon
|
c0582fd994
|
More accurate emulation of NR10 writes
|
2021-01-09 00:31:16 +02:00 |
Lior Halphon
|
f9b13c66b1
|
Emulation of a newly discovered revision specific APU quirk
|
2021-01-03 13:49:36 +02:00 |
Lior Halphon
|
ecace40fb0
|
Minor APU bug fix
|
2021-01-02 18:27:21 +02:00 |
Lior Halphon
|
a9c337264e
|
Fix the last remaining APU test
|
2021-01-02 16:23:34 +02:00 |
Lior Halphon
|
b54a72d9b9
|
Fixing a bug where where zero-shift sweep wouldn't tick
|
2021-01-02 14:56:45 +02:00 |
Lior Halphon
|
5c854dbdca
|
Interference emulation
|
2020-12-31 00:07:04 +02:00 |
Lior Halphon
|
555835549a
|
More accurate pausing behavior, including revision differences
|
2020-12-12 20:35:18 +02:00 |
Lior Halphon
|
dffc12331b
|
Emulate the delayed NR44 write on the DMG
|
2020-12-12 18:11:35 +02:00 |
Lior Halphon
|
7de6194e28
|
Redo channel 4's timing accurately, emulate NR43 write quirks
|
2020-12-12 16:02:25 +02:00 |
Lior Halphon
|
1baa0446a9
|
More sweep improvements
|
2020-12-01 22:37:13 +02:00 |
Lior Halphon
|
13bc8679f9
|
Correct preservation of NRx1's state on pre-CGB models
|
2020-12-01 14:18:19 +02:00 |
Lior Halphon
|
74cf452a48
|
Further accuracy improvements to sweep; passes Blargg's APU tests again, this time for real
|
2020-12-01 14:17:35 +02:00 |
Lior Halphon
|
0485124076
|
Redo channel 1 sweep based on DMG schematics; emulates two newly discovered behaviors and also fixes #309
|
2020-11-28 19:31:25 +02:00 |
Lior Halphon
|
cd2310f0a7
|
Wave RAM reads 0xFF while active on AGBs
|
2020-11-20 19:39:54 +02:00 |
Lior Halphon
|
3cba3e8e27
|
Emulate CGB-C PCM read glitch, fix a potential noise volume envelope bug
|
2020-05-10 00:37:52 +03:00 |
Lior Halphon
|
6448a692e2
|
Add smart rumble to games without a rumblepak
|
2020-04-29 16:06:11 +03:00 |
Lior Halphon
|
0cf168f32b
|
Fixing inconsistent style
|
2020-04-24 20:37:57 +03:00 |
Lior Halphon
|
a6567d9ee1
|
Update old coding style
|
2020-04-09 14:32:52 +03:00 |
Jakub Kądziołka
|
67d5a53503
|
Spell "length" properly
|
2020-02-27 18:11:10 +01:00 |
Lior Halphon
|
b806ae4e82
|
Fix #228
|
2020-02-01 23:36: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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
dde06e7cae
|
Work around a crashing race condition, proper fix needed
|
2019-01-28 20:56:37 +02:00 |
Lior Halphon
|
7b36ee10a4
|
Merge branch 'master' into sgb
|
2019-01-05 19:00:22 +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
|
2d6d1e6325
|
SGB boot animation
|
2018-11-24 13:21:00 +02:00 |
Lior Halphon
|
a39b314378
|
Fixed silly APU regression (Noise volume envelope ran too fast) Fixes #121
|
2018-11-03 14:37:19 +02:00 |
Lior Halphon
|
64922fff4b
|
Fixed a bug where channels 1 and 2 would start playing earlier than they should have if NRx4 was written to twice. Fixes #86.
|
2018-10-29 00:44:43 +02:00 |
Lior Halphon
|
3035f43428
|
Emulation of DAC charging, Fixes #46, #85, #88 and #89
|
2018-10-19 23:53:01 +03:00 |
Lior Halphon
|
4276549acd
|
Research notes TODOs
|
2018-10-19 01:02:27 +03:00 |
Lior Halphon
|
324201f336
|
Correct emulation of switching the DACs on and off. Fixes #100 and #87
|
2018-10-17 20:35:29 +03:00 |
Lior Halphon
|
ec0a879a93
|
Correct emulation of enabling and disabling the volume envelope. Correct emulation of a glitch where the volume envelope ticks when it usually wouldn’t.
|
2018-09-10 16:59:59 +03:00 |
Lior Halphon
|
3151821e6d
|
Fixed minor APU regression (Channels 1 and 2 were given no delay under certain circumstances)
|
2018-09-09 12:50:55 +03:00 |
Lior Halphon
|
b1cc55b786
|
Turns out Left/Right audio channels were flipped
|
2018-07-19 20:38:11 +03:00 |
Lior Halphon
|
c66b6fbafc
|
Fixed an edge case with DAC discharge emulation
|
2018-07-16 23:08:25 +03:00 |
Lior Halphon
|
2e9e3424ec
|
Document some revision differences
|
2018-07-14 21:52:54 +03:00 |
Lior Halphon
|
0145b790a3
|
Merge branch 'v0.11.x'
|
2018-07-11 20:08:33 +03:00 |
Lior Halphon
|
5f58323c01
|
Attempt to improve audio quality on frontend with big audio buffers
|
2018-07-10 21:33:03 +03:00 |
Lior Halphon
|
dc5cb71c22
|
Emulate CGB-C’s quirky LFSR function
|
2018-07-04 21:55:12 +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
|
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
|
562b43a7c5
|
Notes about the DMG wave-ram glitch
|
2018-05-15 23:02:07 +03:00 |