Commit Graph

79 Commits

Author SHA1 Message Date
Lior Halphon
b9bdd6c49c Merge branch 'master' into new_apu 2017-09-10 02:33:40 +03:00
Lior Halphon
1e90400916 Reimplemented delayed/future interrupts, currently correct only for CGB. 2017-09-09 13:32:12 +03:00
Lior Halphon
0f643e01b7 Removing the delayed interrupt mechanism, research is not complete enough for implementation 2017-09-08 12:58:35 +03:00
Lior Halphon
ba0e66a5b7 Merge branch 'master' into new_apu 2017-09-04 18:41:13 +03:00
Lior Halphon
72d26c7046 Fixed obscure timer behavior, fixed regression in rapid_toggle.gb. 2017-09-04 18:40:43 +03:00
Lior Halphon
9bde98dede SCY latching is now correctly emulated, rendering mode timing refined. 2017-09-04 15:45:18 +03:00
Lior Halphon
54eb51d8db Refined timer interrupt timing 2017-09-02 22:08:20 +03:00
Lior Halphon
e7d5cdbb42 Merge branch 'master' into new_apu 2017-08-20 01:37:33 +03:00
Lior Halphon
cbbaf2ee84 Refined Window behavior once more, Fixes #12 (While not breaking Donkey Kong or 007) 2017-08-20 01:34:12 +03:00
Lior Halphon
d65c2247e5 Added channel 1 and 2, fixed accuracy issues with channel 3 2017-07-27 23:11:33 +03:00
Lior Halphon
a19ee1e5e0 2MHz audio downscaling support. Implemented NR50 and NR51. 2017-07-21 23:17:48 +03:00
Lior Halphon
baccf336d7 Complete rewrite of the APU. Channel 3 is complete and passes all the relevant tests from blargg’s suite, as well as PCM34-based tests. Actual sound output is basic and limited, though. 2017-07-21 19:06:55 +03:00
Lior Halphon
c4ccbd5cce Improved serial interrupt timing, fixes boot_sclk_align. 2017-06-23 17:58:04 +03:00
Lior Halphon
efbc385417 Forgot to amend the last commit, it was broken. 2017-06-21 01:07:11 +03:00
Lior Halphon
abf7efcc5a Fixed lcdon_write_timing. 2017-06-18 21:27:07 +03:00
Lior Halphon
86c9f9d89d Updated SameBoy to pass Mooneye-GB’s lcdon_timing test (on a DMG), as well as refined related CBG behaviors. 2017-06-17 22:17:58 +03:00
Lior Halphon
babcc0a7dc Added API to load/save states from RAM 2017-06-14 00:23:34 +03:00
Lior Halphon
a9475fbdf4 Refined the behavior of the last fix on a DMG. 2017-06-03 20:06:52 +03:00
Lior Halphon
d72807dd67 Implemented LCD first-frame-skip behavior, fixes a visual glitch in Pokémon Pinball 2017-06-03 16:42:42 +03:00
Lior Halphon
86332d0311 Modifying WX and WY outside of VBlank is now more accurate, but still requires more research. Closes #6. 2017-05-12 19:33:42 +03:00
Lior Halphon
00623d4eea - Added audio supersampling support to greatly improve audio quality.
- Fixed a bug where low sampling rate or disabled sound resulted in wrong APU behavior.
- Added API to get the current number of pending samples.
- This change broke save state compatibility with v0.8 and older
Closes #8.
2017-05-12 17:11:55 +03:00
Lior Halphon
b858f17425 Added the GB_run_frame API; closes #5. 2017-04-25 00:19:10 +03:00
Lior Halphon
22d3510dde Added LCD command to the debugger 2017-04-22 14:55:17 +03:00
Lior Halphon
c766704267 More accurate FPS capping that tracks time correctly even when the screen is off. Should also support restarting the LCD during blank to increase FPS to 63. 2017-04-21 16:00:53 +03:00
Lior Halphon
fb55c35f87 New APIs, Document.m no longer requires GB_INTERNAL, fixed a bug where the sprite viewer showed incorrect sprites for some CGB exclusive games. 2017-04-19 23:26:39 +03:00
Lior Halphon
3feaeb153e New turbo related APIs, Quick Look no longer requires GB_INTERNAL 2017-04-19 21:55:58 +03:00
Lior Halphon
a925ef130d Stabilizing API: New joypad, debugger and reset APIs; internal APIs and direct struct access are no longer available without defining GB_INTERNAL. The SDL port uses the new “public” APIs, as well as most of the non-debug Cocoa code. 2017-04-17 20:16:17 +03:00
Lior Halphon
3d99773ddb Changed how the Cocoa port initializes GB_gameboy_t 2017-02-24 15:14:00 +02:00
Lior Halphon
421d3b27f5 Correct emulation of HUC1 banks higher than 0x1F 2017-02-16 21:07:35 +02:00
Lior Halphon
527ae01e0e Printer API, compression not supported yet 2017-01-13 22:20:11 +02:00
Lior Halphon
22c34e1095 Serial API 2016-11-12 01:58:53 +02:00
Lior Halphon
47aaf44017 Rumble API 2016-10-22 15:37:03 +03:00
Lior Halphon
2d51d13479 Various optimizations 2016-10-22 02:18:29 +03:00
Lior Halphon
11f8c41305 Basic HUC3 support 2016-10-17 18:51:43 +03:00
Lior Halphon
ab5f66795a Gameboy Camera API 2016-10-02 17:14:58 +03:00
Lior Halphon
b3b041a151 Basic GB Camera support (Emulate only MBC, enough for the ROM to boot). 2016-10-02 03:40:11 +03:00
Lior Halphon
9b71454f07 Basic HUC1 support (Emulated as MBC1) 2016-10-02 02:15:03 +03:00
Lior Halphon
258500bda3 Merge branch 'master' into rateless_apu 2016-09-23 18:53:38 +03:00
Lior Halphon
0991705379 Refined HALT bug behavior, fixed Robocop 2016-09-22 01:51:09 +03:00
Lior Halphon
252439c1af Fixed a deadlocking race condition that might happen when reading APU memory in the hex viewer 2016-09-21 01:59:43 +03:00
Lior Halphon
f88c9d299b Merge branch 'master' into rateless_apu 2016-09-20 20:05:03 +03:00
Lior Halphon
f46414b7b1 Updated struct version :( 2016-09-20 20:04:38 +03:00
Lior Halphon
71d4ba21f2 Added a tick-counting debugger command 2016-09-16 11:58:31 +03:00
Lior Halphon
b95860c034 Making the APU independent of sample rate 2016-09-13 16:55:26 +03:00
Lior Halphon
62ecadeb57 Fixed another reset-while-debugging deadlock in Cocoa 2016-09-07 00:37:11 +03:00
Lior Halphon
603b8969ab Correct (disconnected) serial emulation. 2016-09-06 13:13:14 +03:00
Lior Halphon
a6c5a8fdaa Fixed a bug that caused the Cocoa port to freeze sometimes if the emulator was reset while debugging. 2016-09-03 13:34:49 +03:00
Lior Halphon
a746c726ee Added basic automatic ROM tester 2016-09-03 03:39:32 +03:00
Lior Halphon
ee4907949b Support for RTC latching. Fixes #4. 2016-08-21 22:33:57 +03:00
Lior Halphon
806d0775a4 Added backtrace command to debugger 2016-08-09 22:48:53 +03:00