Lior Halphon
ec7d756e3b
Merge pull request #351 from NieDzejkob/symbol-off-by-one
...
Fix off-by-one in symbol search
2021-02-28 15:27:50 +02:00
Lior Halphon
0fbd714d4a
Merge pull request #352 from NieDzejkob/value-to-string-oob
...
value_to_string: use snprintf
2021-02-28 15:23:29 +02:00
Lior Halphon
81bfea9ba2
Coding style, ensuring string termination.
2021-02-28 15:23:14 +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
Jakub Kądziołka
c9665d0449
value_to_string: use snprintf
...
Currently, value_to_string and debugger_value_to_string use an
error-prone calculation to avoid overflow. This was once adjusted
already, and one of the codepaths is still vulnerable. Put this in a
symfile:
01:5678 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
and execute `p 1:$5679`. On Linux, the canary terminates the process.
2021-02-27 19:33:31 +01:00
Jakub Kądziołka
e8bfc4050e
Fix off-by-one in symbol search
...
Before this commit, printing an address that's after every symbol in a
bank would not show it relative to the last symbol.
2021-02-27 19:29:06 +01:00
Lior Halphon
ce44773caa
Make the printer not deadlock after a sudden termination
2021-02-26 16:40:35 +02:00
Lior Halphon
72cb391612
Slightly improve MBC3 accuracy
2021-02-26 00:52:18 +02:00
Lior Halphon
71c6fa45e0
Accurate RTC emulation
2021-02-26 00:40:18 +02:00
Lior Halphon
a13469c4e2
Fix PAL SGB in the Cocoa port
2021-02-25 22:42:02 +02:00
Lior Halphon
e08df2a089
Add accurate RTC emulation mode
2021-02-25 22:12:14 +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
aa421258b8
Update the model enum so comparisons work correctly for SGB PAL and no-SFC SGBs
2021-01-16 14:51:06 +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
96736fe7c5
Fix false positives in odd-mode detection
2021-01-09 00:59:12 +02:00
Lior Halphon
c0582fd994
More accurate emulation of NR10 writes
2021-01-09 00:31:16 +02:00
Lior Halphon
29a3b18186
Better camera noise on frontends without camera support
2021-01-03 16:52:18 +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
1d34637bda
Fix it harder
2020-12-26 23:56:26 +02:00
Lior Halphon
47ebc31733
Fixed a bug where the SDL and libretro frontend would not update the border when loading a new ROM
2020-12-26 23:52:41 +02:00
Lior Halphon
544d39f19d
Further improvements to STOP timing
2020-12-26 00:19:48 +02:00
Lior Halphon
4bbd27735f
Fix a regression in speed switch timing, reset DIV on speed switch, better odd-mode detection and avoidance
2020-12-25 20:41:00 +02:00
Lior Halphon
159d9d0348
Color temperature control
2020-12-25 14:17:57 +02:00
Lior Halphon
b5a611c5db
More accurate color correction curves
2020-12-24 23:17:20 +02:00
Lior Halphon
66f62d696c
More window fixes
2020-12-24 20:50:47 +02:00
Lior Halphon
8f64f49c3b
More accurate emulation of window timing, actual correct fix of #123
2020-12-23 23:49:57 +02:00
Lior Halphon
7a3ebb708c
LCDC write timing regression fix
2020-12-12 22:55:14 +02:00
Lior Halphon
db483ce95f
Warn about potential odd-mode triggers
2020-12-12 20:40:35 +02:00
Lior Halphon
555835549a
More accurate pausing behavior, including revision differences
2020-12-12 20:35:18 +02:00
Lior Halphon
770885440f
Minor changes to debugger output
2020-12-12 19:09:53 +02:00
Lior Halphon
4f408eae7c
Whoops
2020-12-12 18:13:55 +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
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