Commit Graph

738 Commits

Author SHA1 Message Date
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
67c0e03f3b Fix a window bug in CGB mode, fixes #123 2020-11-22 00:21:19 +02:00
Lior Halphon
027cecde24 Added debugger "undo" command. Closes #156 2020-11-21 16:19:58 +02:00
Lior Halphon
1d9ac5ccc3 More accurate IR emulation, simplify API 2020-11-21 00:52:54 +02:00
Lior Halphon
b7f3454763 More accurate emulation of the IR port 2020-11-20 22:12:15 +02:00
Lior Halphon
cd2310f0a7 Wave RAM reads 0xFF while active on AGBs 2020-11-20 19:39:54 +02:00
Lior Halphon
7fdc58a07e Implement CGB-mode TILE_SEL mixing, fixes cgb-acid-hell and m3_lcdc_tile_sel_change2, closes #308 2020-11-20 16:24:16 +02:00
Lior Halphon
c36bdc22f6 More accurate interrupt emulation 2020-11-14 13:55:39 +02:00
Lior Halphon
60b8978762 Local link cable and infrared emulation in the Cocoa port 2020-11-13 23:07:35 +02:00
Lior Halphon
88198e64f4 Minor bug fixes 2020-11-13 23:02:17 +02:00
Lior Halphon
c35fe8b517 Make gb.h compatible with C++ again for bsnes integration. Fixed #300 2020-10-09 16:39:23 +03:00
Lior Halphon
7ff3556bc3 Workboy emulation (Cocoa only) 2020-09-19 19:31:24 +03:00
Lior Halphon
e35c22d405 Fix a potential single byte overflow 2020-09-17 23:47:35 +03:00
Lior Halphon
dab1c1bcfa Fix RTC drift 2020-08-22 14:10:02 +03:00
Lior Halphon
bce4bfba61 Fix major battery save regressions introduced by the last release, fixes #282 2020-08-06 19:34:57 +03:00
Lior Halphon
3f97b8eaa8 Even more regressions 2020-08-05 02:10:21 +03:00
Lior Halphon
d3664d5da0 Fix more RTC regressions 2020-08-05 01:39:19 +03:00
Lior Halphon
289853445f Fix long loading times when loading save states with bad local RTC times 2020-08-04 21:32:33 +03:00
Lior Halphon
b0d118f246 Fix broken and regressed MBC3 RTC emulation. Fixes #273, fixes #276, fixes #280 2020-08-04 21:32:27 +03:00
Renato Oliveira
ac3b09966c
Fix "Cartrdige" to "Cartridge" 2020-08-01 12:55:53 -03:00
James Larrowe
87d25c0896 Compatibility hacks for old compilers
GCC versions below 4.8.1 didn't have __builtin_bswap16, so provide
a suitable replacement.
2020-06-22 20:14:32 +00:00
Lior Halphon
b6b56d0766 Fix various save state compatibility issues between Windows and non-Windows, and a potential crash 2020-06-10 22:46:19 +03:00
Lior Halphon
c07588e3bd Console auto complete 2020-06-05 02:10:05 +03:00
Lior Halphon
6a3cd371d0 Fix potential memory corruption when execution malformed ROMs 2020-06-03 20:54:06 +03:00
Lior Halphon
08efb46d41 Made the command line debugger output “>” before inputs, added special magic sequence to break the debugger from stdin 2020-05-31 20:32:00 +03:00
Lior Halphon
97e844a0b7 GB_debugger_break is for external APIs, not available on libretro builds 2020-05-31 01:01:06 +03:00
Lior Halphon
5f4aee8ca1
Merge pull request #261 from JL2210/ld-b-b
Add ld b, b breakpoint
2020-05-31 00:55:17 +03:00
Lior Halphon
f1ea39f1c6
Spacing 2020-05-31 00:54:49 +03:00
Lior Halphon
fd97e11919
Spacing 2020-05-31 00:54:13 +03:00
James Larrowe
6fcf77c7f6 Make no argument for softbreak be equivalent to "on" 2020-05-30 16:46:17 -04:00
James Larrowe
abdece7737 add debugger command to enable and disable 2020-05-30 16:35:07 -04:00
James Larrowe
f105f28017 Add ld b,b breakpoint
Signed-off-by: James Larrowe <larrowe.semaj11@gmail.com>
2020-05-30 15:54:51 -04:00
Lior Halphon
fa7232944f Better emulation of CGB’s first frame behavior 2020-05-30 01:25:21 +03:00
Lior Halphon
ffa569deeb Partial emulation of reading VRAM right after mode 3 2020-05-29 23:10:23 +03:00
Lior Halphon
17dfe0dd6a Fix minor CGB-C regression 2020-05-29 16:30:40 +03:00
Lior Halphon
7af66387de HuC-3 alarm clock emulation 2020-05-23 14:50:54 +03:00
Lior Halphon
369410f370 Fix HuC-1 regression 2020-05-23 00:09:30 +03:00
Lior Halphon
08ca56eec7 Cleanup 2020-05-23 00:05:43 +03:00
Lior Halphon
ce9114ed55 Fix IR bugs 2020-05-19 01:24:09 +03:00
Lior Halphon
933b622886 Allow more GameShark cheats 2020-05-19 01:24:02 +03:00
Lior Halphon
a588993f28 Add an HuC command required by Pocket Family 2 2020-05-17 00:10:43 +03:00
Lior Halphon
a9023d08c6 Emulate HuC-3’s IR and RTC 2020-05-16 23:27:17 +03:00
Lior Halphon
2cc980755e HuC1 IR support 2020-05-13 22:21:31 +03: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
Fredrik Ljungdahl
99ec31dfdc Allow more than 1 symbol per debug address 2020-05-07 00:12:35 +02:00
Lior Halphon
5a56c3b882 Style fixes 2020-05-01 16:03:26 +03:00
Lior Halphon
4b24178553 Rumble mode selection 2020-04-29 16:50:31 +03:00
Lior Halphon
6448a692e2 Add smart rumble to games without a rumblepak 2020-04-29 16:06:11 +03:00
Lior Halphon
5a14eb93c6 Merge branch 'master' into JoyKit
# Conflicts:
#	Cocoa/Document.m
#	Cocoa/GBView.h
#	Cocoa/GBView.m
#	Cocoa/joypad.m
#	Cocoa/main.m
#	Core/display.c
#	Core/gb.h
#	Core/save_state.c
2020-04-29 15:52:03 +03:00
Lior Halphon
110cedeaac Even better hueristics 2020-04-25 23:26:17 +03:00
Lior Halphon
d1e3ad7790 Better hueristics for wrong MBC type 2020-04-25 23:18:03 +03:00
Lior Halphon
ca567bee79 Fix Linux build break 2020-04-25 22:54:50 +03:00
Lior Halphon
152924e13f Add support to the ISX format, including symbols 2020-04-25 22:48:48 +03:00
Lior Halphon
bb5c9f7fc6 Fix libretro build 2020-04-25 15:12:10 +03:00
Lior Halphon
1e7737a239 Limit unroll to GCC 8 2020-04-25 14:46:01 +03:00
Lior Halphon
0cf168f32b Fixing inconsistent style 2020-04-24 20:37:57 +03:00
Lior Halphon
695c6ee943 Don't crash if a naughty frontend runs the boot ROM without a ROM 2020-04-11 19:21:00 +03:00
Lior Halphon
0abd3b2c46 Dump and load cheats 2020-04-11 19:15:40 +03:00
Lior Halphon
5df45417fa Console quirks 2020-04-11 18:27:31 +03:00
Lior Halphon
852a6997ed Add cheats UI to Cocoa 2020-04-11 18:03:10 +03:00
Lior Halphon
337e74352d Add cheats API, with GameShark and GameGenie import 2020-04-09 22:13:09 +03:00
Lior Halphon
a6567d9ee1 Update old coding style 2020-04-09 14:32:52 +03:00
Lior Halphon
a9cd3f2c11 Fix operator priorities, fix parsing debugger bug 2020-04-09 14:21:07 +03:00
Lior Halphon
92d6cc6394 Use official register names 2020-04-09 02:36:27 +03:00
Lior Halphon
d8e89f5114 Fix banked 16-bit assignments; fixes #245 2020-04-08 19:17:45 +03:00
Lior Halphon
0ed5cf6b38 Proper MBC30 support, more accurate MBC3 emulation. Fixes #244 2020-04-08 19:07:29 +03:00
Lior Halphon
2f1b8e5b57 IME is now available under the registers command 2020-03-27 18:56:47 +03:00
Lior Halphon
1a3572316f next now skips over halt, closes #233 2020-03-27 17:49:14 +03:00
Lior Halphon
05403d3a56 Fix the Joypad interrupt. Fixes #237 2020-03-27 17:36:55 +03:00
Lior Halphon
4cb56dc76f Improve MBC2 emulation. Fixes #238 2020-03-27 16:35:36 +03:00
Lior Halphon
5ecb845662 Add accurate frame blending option 2020-03-26 20:54:18 +02:00
Lior Halphon
e94e7cc501 Add another color correction mode 2020-03-25 20:33:13 +02:00
Lior Halphon
84e8e45b7b Implement ATTR_CHR 2020-03-13 13:35:54 +02:00
Lior Halphon
e7f6ac8828 Do the same for SGB 2020-03-06 21:19:53 +02:00
Lior Halphon
34cf0f558d It's more reasonable to do it this way 2020-03-06 18:56:51 +02:00
Lior Halphon
c6f9d05124 Emulate LCD-PPU horizontal desync on DMGs 2020-03-06 14:41:13 +02:00
Lior Halphon
4d2f56c42d Minor bug fix 2020-03-04 23:43:05 +02:00
Lior Halphon
1c7351fc85 Missing braces 2020-03-04 23:34:36 +02:00
Lior Halphon
409ab2a6d4 Accurate emulation of tilemap advancement timings 2020-03-03 02:21:19 +02:00
Lior Halphon
e846f4f3b0 Hacky, but correct emulation of WX=166 2020-03-01 23:58:28 +02:00
Lior Halphon
2a8b26d5e6 Add TODO 2020-03-01 00:23:50 +02:00
Lior Halphon
b7194402eb Accurately emulate Window X = Object X 2020-03-01 00:17:45 +02:00
Lior Halphon
5ca602fbd2 WX=0 emulation 2020-02-29 18:26:16 +02:00
Lior Halphon
39b999a68b Emulate the FIFO insertion glitch (WX variant) 2020-02-29 17:06:08 +02:00
Lior Halphon
955860b463 Get rid of the FIFO pause flags 2020-02-28 22:36:51 +02:00
Lior Halphon
e29246fd91 Window tile is reset on WX trigger 2020-02-28 18:28:47 +02:00
Lior Halphon
2a8f15c68b The fetcher pushes pixels to the FIFO as soon as it's empty 2020-02-28 18:10:09 +02:00
Lior Halphon
60f01fe947 Merge branch 'master' into ppu_window 2020-02-28 15:21:38 +02:00
Lior Halphon
0c716bd970 More accurate timing emulation of window-objects interaction 2020-02-27 23:42:16 +02:00
Jakub Kądziołka
67d5a53503
Spell "length" properly 2020-02-27 18:11:10 +01:00
Lior Halphon
89303ab046 WX access conflicts 2020-02-27 00:12:42 +02:00
Lior Halphon
9c7a8fdb1b WY is tested every cycle 2020-02-26 22:24:08 +02:00
Lior Halphon
b37a0b285a Window Y still advances if WX=166 2020-02-24 23:59:18 +02:00
Lior Halphon
7456beb7b9 Better emulation of negative WX positions 2020-02-24 21:23:06 +02:00
Lior Halphon
248e7bc332 Timing improvements 2020-02-24 20:46:00 +02:00
Lior Halphon
25b51362e9 Safety first 2020-02-24 00:33:45 +02:00
Lior Halphon
3864ff37e1 Timing improvements 2020-02-24 00:32:47 +02:00
Lior Halphon
c22611c701 Minor bugfix 2020-02-23 23:48:08 +02:00
Lior Halphon
c0ba898ef2 Basic window implementation 2020-02-23 23:16:45 +02:00
Lior Halphon
2be58439bf Starting over – removing all window related code 2020-02-23 00:38:47 +02:00