Lior Halphon
375fb4388c
Swap the box filter with band-limited synthesis, fixed a regression that prevented filtering of square waves in some scenarios. Fixes #669
2024-11-16 01:03:14 +02:00
Lior Halphon
2dfde867a9
Syncing with the App Store branch
2024-11-08 14:53:16 +02:00
Lior Halphon
e13048d07b
Improve ISX compatibility
2024-10-03 16:21:10 +03:00
Lior Halphon
92f425655d
iOS cheats support
2024-09-07 01:25:11 +03:00
Lior Halphon
bd5d01c0a4
Game Genie has a space
2024-08-31 13:42:18 +03:00
Lior Halphon
5b33cebca9
Fix iOS and lib builds
2024-08-29 01:26:13 +03:00
Lior Halphon
6178ff2a78
Cheat Search API, Cheat Search in Cocoa, and new cheats window layout
2024-08-29 01:11:47 +03:00
Lior Halphon
461083523a
Correctly emulate LYC edge cases when emulating CGB-0 to CGB-C in double speed mode
2024-08-16 20:51:40 +03:00
Lior Halphon
b8e32e6d53
More accurate window emulation, especially in double speed mode
2024-08-13 21:11:38 +03:00
Lior Halphon
d5c6ed9510
Correctly list removed breakpoints/watchpoints
2024-08-10 19:38:54 +03:00
Lior Halphon
47cdefd3d0
Minor adjustments to the CGB WX glitch
2024-08-02 20:45:17 +03:00
Lior Halphon
035291b955
Fix the comparison operators having the wrong priority
2024-07-27 22:39:56 +03:00
Lior Halphon
5f71ec4974
Slightly more accurate
2024-07-26 14:04:41 +03:00
Lior Halphon
5eb0e5d605
Minor regression fix
2024-07-26 02:43:31 +03:00
Lior Halphon
b1ea179513
Improve various edge cases of window emulation, improve the emulation of the last quirk
2024-07-25 22:32:28 +03:00
Lior Halphon
d34579e3bb
Window accuracy improvements, implement a new CGB window glitch
2024-07-21 23:38:40 +03:00
Lior Halphon
64cf389edf
Simplify wx=166 code
2024-07-14 13:00:39 +03:00
Lior Halphon
0c9cf8d594
Build fix
2024-07-13 17:11:39 +03:00
Lior Halphon
44b70bf275
Improve WX=166 accuracy on pre-CGB models
2024-07-13 17:06:29 +03:00
Lior Halphon
06c6ce7d65
More accurate fetcher timings. More accurate visual glitches in Mr. Chin's Gourmet Paradise; Turrican.
2024-07-11 00:21:04 +03:00
Lior Halphon
9d4d535758
Merge remote-tracking branch 'xdg-thumbnailer/xdg-thumbnailer'
2024-07-08 19:49:41 +03:00
Lior Halphon
18206718e3
Adjustment to SCX's write conflict implementation
2024-07-08 00:18:27 +03:00
Lior Halphon
c3e3fb91cc
Improve PPU timings in CGB revision 0 to C. These revisions are no longer marked as experimental.
2024-07-08 00:00:27 +03:00
Lior Halphon
a4525c3336
Slightly improve OAM read blocking timing
2024-07-07 16:09:53 +03:00
ISSOtm
b3cecf2413
Implement the "plumbing" around thumbnail generation
...
Only the actual thumbnail generation is left!
2024-06-26 22:59:03 +02:00
Lior Halphon
d07b199668
Improve audio anti-aliasing, allow 2MHz output
2024-06-23 20:10:22 +03:00
Lior Halphon
ad5ca0dcf0
Switch to 2MHz units in apu_cycles
2024-06-23 15:23:29 +03:00
Lior Halphon
a3128d89c0
Support for a distinct CGB-E boot ROM, internal support for an distinct AGB-0 boot ROM
2024-06-09 22:49:49 +03:00
Lior Halphon
322f3c7013
More accurate emulation of the previous quirk
2024-06-03 22:04:17 +03:00
Lior Halphon
5be5bc4709
Emulate a new APU glitch, tweak another. Fixes #617 (Telefang sample audio being broken on CGB-D and CGB-E)
2024-06-03 00:19:26 +03:00
Lior Halphon
302eaf6eca
Migrate changes from the App Store version
2024-05-25 18:15:14 +03:00
Morilli
c5b3e47925
Fix potential compiler warning on questionable code path
2024-04-13 02:53:52 +02:00
Braiden Gent
66ec48e0eb
Don't tell user tick count has been reset if they've kept the value
...
"Tick count reset." is currently logged even if the user supplied the 'keep' argument.
2024-03-22 03:47:33 -07:00
Lior Halphon
a125da6a98
Fix ISX support, oops
2024-03-09 16:37:17 +02:00
Lior Halphon
8739da61c0
Avoid strict aliasing violations. Closes #593
2024-03-09 15:41:07 +02:00
Lior Halphon
3ef8fab7c4
Fix typo
2024-03-08 18:17:29 +02:00
Lior Halphon
5e4a1f6db7
Adjust the handling of >4MB ISX files
2024-03-08 18:17:29 +02:00
Lior Halphon
8c9c97b74f
ISX does not support symbols with a bank >FF
2024-03-08 18:17:29 +02:00
Lior Halphon
8d063391a4
Support for certain bootlag games with malformed headers, fixes #585
2024-01-13 18:06:22 +02:00
Lior Halphon
4cf3b3c948
Accurate emulation of frame parity
2024-01-13 15:50:07 +02:00
orbea
8cf319e941
gb.h: add include guards for C++ projects
...
This is helpful for C++ projects like bsnes that wish to include gb.h
without needing to set extern "C" themselves.
2023-12-28 09:59:37 -08:00
Lior Halphon
00e1c925a4
Prevent GB_workboy_is_enabled incorrectly returning true, prevent GB_workboy_set_key from affecting other accessories if Workboy isn't connected
2023-12-18 21:48:09 +02:00
Lior Halphon
6e923645d3
The previous change should only affect channel 3
2023-12-15 20:52:24 +02:00
Lior Halphon
c7c2d08dc5
More accurate audio mixing in AGB mode, fixes #555
2023-12-15 20:38:19 +02:00
Lior Halphon
d8905f57bf
iOS alarm support
2023-12-15 14:28:19 +02:00
Lior Halphon
8b2f683c20
Todo confirmed
2023-12-14 22:08:55 +02:00
Lior Halphon
34c9d4c791
Correctly emulate the vram_rd_eol test ROMs (except in odd mode)
2023-12-10 22:40:47 +02:00
Lior Halphon
40ded1114f
Correct timing TODO
2023-12-10 14:56:41 +02:00
Lior Halphon
fbd1d06f1c
Confirmed SCX on double speed mode
2023-12-10 14:48:15 +02:00
Lior Halphon
1c0f65177f
Fix HDMA5 not being correctly updated in memory when disabling hblank HDMA
2023-12-09 15:54:57 +02:00
Lior Halphon
bce413821d
Merge pull request #569 from SnowyMouse/gbenum-fix
...
Fix GB_ENUM on C++
2023-11-26 19:39:23 +02:00
Lior Halphon
5823bf9d70
Merge branch 'master' of github.com:LIJI32/SameBoy
2023-11-25 21:24:56 +02:00
Lior Halphon
ecbdb9e95e
Emulate several more pre-CGB-D channel 1 glitches
2023-11-25 21:24:46 +02:00
Snowy
8657d3e4b6
Fix GB_ENUM on C++
...
The else branch results in an error from defining a type in a cast.
2023-10-28 14:20:31 +02:00
Maximilian Mader
0ece951173
Fix memory corruption on removal of multiple cheats with the same address hash
2023-10-22 18:39:14 +02:00
Lior Halphon
e59bc436bd
CGB-C NR10 conflict improvements
2023-09-25 23:35:26 +03:00
Lior Halphon
340d4e0630
WIP: Fix APU regressions (CGB-D/E only so far)
2023-09-09 23:54:01 +03:00
Lior Halphon
5192e3a07b
Merge branch 'master' of github.com:LIJI32/SameBoy
2023-09-03 15:54:42 +03:00
Lior Halphon
d662407df0
Accurate emulation of NR10 write glitches
2023-09-03 15:54:37 +03:00
vailkyte
816cdf2c62
Force parsing order
2023-09-01 22:19:06 -05:00
Florian Märkl
6b6800445f
Fix oob reads in debugger command parsing
...
The length of only one of the operand strings was checked before the
memcmp in these cases, causing out-of-bounds reads when the other was
shorter.
This could be seen by compiling with ASAN and for example executing any
command longer than 2 characters.
2023-08-19 15:03:27 +02:00
Lior Halphon
12ad85355c
Build the iOS frontend without the debugger
2023-08-04 20:02:42 +03:00
Lior Halphon
a9ce9f538f
Experimental backstepping support
2023-08-04 19:54:14 +03:00
Lior Halphon
0b54eea084
Change the internal macro to use hidden, which guarantees a standard ABI
2023-08-04 19:53:52 +03:00
Lior Halphon
fb3db82d42
The Cocoa memory viewer new symbolicates the selection
2023-07-30 20:11:35 +03:00
Lior Halphon
aedb3e2332
Fix GB_debugger_evaluate not correctly returning the bank
2023-07-30 14:21:41 +03:00
Lior Halphon
048da6e6d1
Fixed a bug where accurate RTC emulation halted while SameBoy wasn't running
2023-07-29 22:27:50 +03:00
Lior Halphon
4ab256d896
Correct read emulation of the BANK register while still in the boot ROM
2023-07-29 16:08:26 +03:00
Lior Halphon
10d996330c
Inclusive ranges
2023-07-29 16:05:28 +03:00
Lior Halphon
29becc2870
Treat local and non-local symbols differently
2023-07-29 14:51:31 +03:00
Lior Halphon
d209628369
Fixed a bug where breakpoint and watchpoints would sometime stop working
2023-07-29 13:45:26 +03:00
Lior Halphon
323b6fafa8
Ranged breakpoints and watchpoints
2023-07-29 01:00:36 +03:00
Lior Halphon
dd1330d707
Breakpoints and watchpoints are now identified by a unique id rather than an address
2023-07-28 19:07:56 +03:00
Lior Halphon
61f3c8d7f3
Fixed an edge case where jump-to breakpoints did not work as expected/took the slow path
2023-07-28 00:49:31 +03:00
Lior Halphon
54f45f2fd3
Fix a bug where jump-to breakpoint disassembled the wrong address under certain scenarios
2023-07-28 00:47:15 +03:00
Lior Halphon
d93c1e501c
Remove outdated comments, PPU timings and and the STAT interrupt are no longer based on these sources
2023-07-08 00:55:59 +03:00
Lior Halphon
803abd9925
Halt and Stop trigger the OAM bug
2023-07-04 23:25:53 +03:00
Lior Halphon
49ec02b3b3
Replace cycle_oam_bug_pc with a generic call to cycle_oam_bug
2023-07-04 01:07:01 +03:00
Lior Halphon
e9be438d91
Turns out jr triggers the OAM bug, thanks Sono!
2023-07-04 00:21:57 +03:00
Lior Halphon
1b50856dcf
More of the same
2023-06-21 21:49:23 +03:00
Lior Halphon
207851bc56
Merge branch 'master' of github.com:LIJI32/SameBoy
2023-06-21 21:47:45 +03:00
Lior Halphon
57b50cab63
Work around bad Clang and GCC optimizations of inline compile-time consts (They can't be static before C23, which isn't supported by Clang)
2023-06-21 21:47:30 +03:00
Noah Sweilem
074d152a4e
Formatting fixes
2023-06-20 10:28:18 -07:00
Noah Sweilem
dad9e4b704
Formatting fixes
2023-06-20 10:28:01 -07:00
Noah Sweilem
9148b26bd8
Move `edge_triggered` variables into `gb->apu_output`
2023-06-20 10:25:25 -07:00
Noah Sweilem
4213524286
Fix swapped wave channel volume
2023-06-16 19:04:12 -07:00
Noah Sweilem
ae855d470d
Use different sample index for square channel edge trigger depending on duty cycle
2023-06-11 16:23:26 -07:00
Noah Sweilem
ec9536eede
Try a modified edge trigger detection for pulse and wave channels
2023-06-11 15:44:28 -07:00
Noah Sweilem
7bdf8dbe47
Add initial edge trigger detection method
...
- GB_get_channel_edge_triggered()
2023-06-11 15:27:31 -07:00
Noah Sweilem
5c7b1f01a3
Add som APU query methods for libsameboy
...
- GB_get_channel_volume()
- GB_get_channel_amplitude()
- GB_get_channel_period()
- GB_get_apu_wave_table()
2023-06-10 14:23:15 -07:00
Lior Halphon
fef175dcc6
Use #pragma once for include guards, use #import exclusively on Obj-C files
2023-06-09 14:44:57 +03:00
Lior Halphon
bed26daf73
Allow disabling SameBoy features when compiling as a library. Probably introduces some speed improvements to the Libretro core, as well as bsnes and BizHawk
2023-06-03 22:37:42 +03:00
Lior Halphon
d62132be38
These should be in defs.h
2023-06-03 21:54:01 +03:00
Lior Halphon
be171cfe66
Add a library target, complete with headers that strip implementation details out.
2023-06-03 14:39:21 +03:00
Lior Halphon
4254dcdb2c
Fix incorrect initial value of register IE when playing GBS files. Fixes #544
2023-05-12 17:57:20 +03:00
Lior Halphon
996ebaafa3
Use Oz for the frontend files, reduce some aggressive loop unrolling
2023-05-11 00:08:54 +03:00
Lior Halphon
40b7e25126
Accurate emulation of SVBK, fixes audio in Flyeyes (unlicensed game)
2023-05-10 00:55:04 +03:00
Lior Halphon
06621d1dfe
Fix GB_debugger_break on builds without the debugger
2023-05-10 00:54:34 +03:00
Lior Halphon
3e3ac23432
More likely/unlikely fun
2023-04-25 13:35:25 +03:00
Lior Halphon
32a419ad2e
Do not inline the slow path of frequently called functions
2023-04-25 13:08:19 +03:00