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 |
Kyle Swanson
|
7bfe5de9c7
|
chmod -x
|
2018-03-28 21:37:34 -07:00 |
Lior Halphon
|
0912a30bb9
|
Fixed a regression in dmg_sound-2
|
2018-03-27 21:04:55 +03:00 |
Lior Halphon
|
c48097a484
|
Convert div counter to the SM mechanism
|
2018-02-23 13:16:05 +02:00 |
Lior Halphon
|
9802ca41dd
|
Components not affected by CGB’s double speed mode now operate in 8MHz mode to theoretically make advance_cycles(gb, 1) safe.
|
2018-02-20 21:17:12 +02:00 |
Lior Halphon
|
f79af39ea2
|
More accurate emulation of the APU’s analog characteristics
|
2018-02-16 18:01:50 +02:00 |
Lior Halphon
|
fc35111ae7
|
Corrected the emulated DAC’s range
|
2018-02-16 01:26:37 +02:00 |
Lior Halphon
|
0c231db9e7
|
This is probably not correct (and makes no sense from an hardware design perspective), but this correctly emulates my analog test cases and fixes the pops introduced by the last commit.
|
2018-02-13 23:13:15 +02:00 |
Lior Halphon
|
bfb37884e1
|
Inactive channels are not equivalent to channels with 0 volume.
|
2018-02-11 22:50:15 +02:00 |
Lior Halphon
|
afcc66fb3c
|
Added CPU under/over-clocking support in Core, add under-clocking hotkey in the Cocoa port, allow modifier keys to be configured as input keys in Cocoa.
|
2018-02-10 23:30:30 +02:00 |