Commit Graph

1123 Commits

Author SHA1 Message Date
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
Lior Halphon 237e127b36 Add a comment 2023-04-11 12:37:13 +03:00
Lior Halphon 4421dedbb9 One last attempt 2023-04-11 12:33:10 +03:00
Lior Halphon 479c16e698 Try a better hint 2023-04-11 12:30:05 +03:00
Lior Halphon aaba172c02 This might hint GCC 9 and make it suck less 2023-04-11 12:23:50 +03:00
Lior Halphon 5b37d3c402 Add a debugger reset command, with a frontend-handled reload option. Closes #537 2023-04-11 12:02:32 +03:00
Lior Halphon 7ac920d2be Double speed STAT conflicts 2023-03-05 00:32:24 +02:00
Lior Halphon 502f64e6d7 Remove some old TODOs 2023-03-04 20:34:41 +02:00
Lior Halphon e48eb3515d More double speed write conflict updates 2023-02-28 01:00:57 +02:00
Lior Halphon cc4baa1d28 LCDC write conflict emulation in double speed mode 2023-02-25 17:28:48 +02:00
Lior Halphon f145f05f15 Timing adjustments to object line address calculation 2023-02-19 00:32:16 +02:00
Lior Halphon 29e920697a Object aborts are DMG only, commit 34cf0f5 accidentally made them happen on CGB 2023-02-18 22:31:29 +02:00
Lior Halphon 22afa576c2 Fix incorrect timing adjustment on LCDC object abort 2023-02-18 20:42:23 +02:00
Lior Halphon ef8f3aff66 A bit more correct 2023-02-11 21:56:03 +02:00
Lior Halphon 8dd5e6d9b8 Improved emulation of joypad switching delay 2023-02-11 20:21:24 +02:00
Lior Halphon 4f8b081f82 SDL cheats 2023-02-09 20:49:01 +02:00
Lior Halphon f79f18704d Improved cheats API, fixed incorrect GameShark imports 2023-02-09 19:49:40 +02:00
Lior Halphon e1be593a65 Expose and use the built-in accessory type enum 2023-02-05 22:59:26 +02:00
Lior Halphon 30e2a7b7e4 Add thread safety assertions in debug 2023-02-05 19:51:11 +02:00
Lior Halphon c8b3b080a8 Remove debugging code 2023-02-04 12:49:46 +02:00
Lior Halphon 830f2ddc38 Break save state compatibility. Windows save states should now work with non-Windows save states again. 2023-02-04 02:13:01 +02:00