Lior Halphon
9b5dc9eca7
Refine TILE_SEL glitch, fixes #445
2022-06-12 21:43:04 +03:00
Lior Halphon
3fbeb61c09
Fix MMM01 RAM size detection ( Closes #446 )
2022-06-12 21:28:58 +03:00
Lior Halphon
4d90504688
HuC-1 mode is not a thing, fixes Robopon Japanese prototype
2022-06-11 20:57:02 +03:00
Lior Halphon
d41c188cfd
More accurate Camera MBC emulation
2022-06-11 14:44:06 +03:00
Lior Halphon
4f91b19a94
Added MBC7 BESS support, documented BESS TPP1
2022-06-05 14:09:33 +03:00
Lior Halphon
12891c641b
Merge pull request #453 from remind-me-later/master
...
fix rlc_r zero flag
2022-05-21 22:15:32 +03:00
Ricardo Maurizio Paul
c79e67b8cc
fix rlc_r zero flag
2022-05-21 14:45:16 +02:00
Lior Halphon
6055092249
Add audio recording APIs
2022-05-21 02:06:10 +03:00
Lior Halphon
706135113c
Fix AGB APU regression
2022-05-19 20:59:48 +03:00
Lior Halphon
8c86cff486
Fix MBC5's initial state
2022-05-14 01:33:45 +03:00
Lior Halphon
bb836662dd
More accurate emulation of Hblank skip, emulation of Mode 2 skip
2022-05-14 01:14:41 +03:00
Lior Halphon
87fdf91e0c
Better debugger output for scrolling adjustment
2022-05-13 00:58:21 +03:00
Lior Halphon
4521bb4767
Fixed and accurate emulation of object at x=0 timings
2022-05-11 02:15:56 +03:00
Lior Halphon
a68f749c3a
Initial emulation of "SCX banging" to prolong mode 3
2022-05-09 17:15:54 +03:00
Lior Halphon
cb73e0b91a
Oops, I broke the window
2022-05-09 00:43:49 +03:00
Lior Halphon
6337e3e43a
Remove unused
2022-05-07 20:24:28 +03:00
Lior Halphon
ac29b4391e
Refactor FIFOs
2022-05-07 19:27:25 +03:00
Lior Halphon
69a5ed3396
Fix several potential regressions
2022-05-04 19:30:29 +03:00
Lior Halphon
36e2896ec7
Fix a regression while emulating object size change during fetch
2022-05-04 00:23:55 +03:00
Lior Halphon
b2edcc9543
Improve serial accuracy
2022-04-17 23:41:05 +03:00
Lior Halphon
b31bd58642
Consistent wording
2022-04-02 00:57:22 +03:00
Lior Halphon
9fe965bcc2
Fix skipped square tick when writing to NR13/23, fixes Telefang start screen audio on CGB-D and E
2022-03-12 15:38:05 +02:00
Lior Halphon
b5e271386a
Add an optional argument to the APU command
2022-03-12 15:08:15 +02:00
Lior Halphon
ef15c9b160
More square zombie step quirks
2022-03-12 14:32:16 +02:00
Lior Halphon
ab109da683
Fix several square channel zombie stepping quirks
2022-03-12 00:49:43 +02:00
Lior Halphon
5e119548e9
GDMA during mode 3 writes to both banks, list AGB_E as a future model
2022-03-09 00:32:50 +02:00
Lior Halphon
0925b06555
Add support for Mani carts
2022-03-06 15:54:29 +02:00
Lior Halphon
965e623637
Fix several BESS compatibility issues
2022-03-06 15:53:33 +02:00
Lior Halphon
7350843cca
Fix incorrect INFO block on MMM01 BESS states
2022-03-05 23:05:00 +02:00
Lior Halphon
c78a003712
MMM01 support
2022-03-05 21:20:42 +02:00
Lior Halphon
a621803e82
More compact memory usage for symbol maps, removes the 0x200 bank limit
2022-02-28 23:30:31 +02:00
Lior Halphon
4d74719d56
One day I'll just report that bug to Clang
2022-02-23 20:40:10 +02:00
Lior Halphon
f52152b2c9
Fix the Preserve Waveforms setting
2022-02-23 20:34:50 +02:00
Lior Halphon
4c6bc91ded
Add missing register
2022-02-14 22:59:05 +02:00
Lior Halphon
a4209b47d0
Be consistent with hex casing
2022-02-13 16:58:44 +02:00
Lior Halphon
efe31cefc9
More accurate DMA write conflicts
2022-02-13 12:56:16 +02:00
Lior Halphon
c730ba767b
Not sure where I've got that 0 from
2022-02-07 00:21:45 +02:00
Lior Halphon
f8a105e8d0
Stop whining GCC
2022-02-06 14:42:53 +02:00
Lior Halphon
97c758ba75
More accurate internal bus behavior
2022-02-06 13:02:15 +02:00
Lior Halphon
4e27558ac2
Mode 2 OAM open bus behavior
2022-02-05 18:50:33 +02:00
Lior Halphon
850e7bb78c
Fixed obscured object indication in the OAM viewer API
2022-02-05 17:44:10 +02:00
Lior Halphon
b5eea012cc
STAT reads 0 during mode 2 if DMA is active
2022-02-05 17:43:48 +02:00
Lior Halphon
6a8db89ae5
Emulate PPU OAM reads while both DMA and GDMA are active
2022-02-05 14:52:09 +02:00
Lior Halphon
1c6ecc2e14
GDMA/DMA Timing fix
2022-02-05 14:08:56 +02:00
Lior Halphon
ba5416ee5b
Correct comment
2022-02-04 19:07:47 +02:00
Lior Halphon
320aff1d1e
DMA doesn't block GDMA
2022-02-04 13:58:44 +02:00
Lior Halphon
864f0927be
Timing confirmed and improved
2022-02-04 13:55:06 +02:00
Lior Halphon
7c5704621a
Don't batch during stop mode
2022-02-03 22:34:14 +02:00
Lior Halphon
37ca174f37
OAM DMA/GDMA conflicts
2022-02-03 21:00:37 +02:00
Lior Halphon
76b881c2e1
More accurate HDMA during halt
2022-02-02 23:01:38 +02:00
Lior Halphon
967fdadd7c
More accurate IR modeling, fixes Gen 2 Pokémon mystery gifts
2022-02-01 23:23:24 +02:00
Lior Halphon
1a41957b3c
LCDOff behavior, basic halt/stop behavior
2022-01-31 01:02:31 +02:00
Lior Halphon
ad1f019893
Actually fix overflow behavior
2022-01-30 23:11:29 +02:00
Lior Halphon
941afee3ba
Fix overflow behavior
2022-01-30 21:33:33 +02:00
Lior Halphon
dbb14d7040
Minor edge case for HDMA instant start
2022-01-30 20:52:34 +02:00
Lior Halphon
44ee6dc73f
HDMA timing
2022-01-30 20:09:58 +02:00
Lior Halphon
a7f7530eed
Preparation for future AGB-0 and B support
2022-01-30 18:11:35 +02:00
Lior Halphon
4bebd2bc33
Correct comment
2022-01-30 17:33:33 +02:00
Lior Halphon
3a2d028efa
GDMA/PPU conflicts
2022-01-30 14:38:58 +02:00
Lior Halphon
26656de44f
Improvements to GDMA
2022-01-28 23:56:26 +02:00
Lior Halphon
81e2ec08e0
Oops
2022-01-23 22:07:15 +02:00
Lior Halphon
aa5a279116
Halt during DMA with objects
2022-01-23 21:05:29 +02:00
Lior Halphon
0ab7bf7749
VRAM conflicts during halt/stop on a CGB
2022-01-22 22:52:34 +02:00
Lior Halphon
196aaaa7ed
Conflicts don't happen in the first 6 T-cycles
2022-01-22 16:56:32 +02:00
Lior Halphon
8676a7c7bc
Typo
2022-01-22 16:36:22 +02:00
Lior Halphon
582a5588ba
Undo is stopped only
2022-01-22 01:11:50 +02:00
Lior Halphon
56b14c67aa
Fixed AGB audio regression
2022-01-22 01:11:23 +02:00
Lior Halphon
ee03b1e433
Initial halt/stop during DMA support
2022-01-19 01:24:40 +02:00
Lior Halphon
cce36f1754
DMA debugger command
2022-01-18 23:42:22 +02:00
Lior Halphon
e903333c7e
Add TODO
2022-01-17 22:56:13 +02:00
Lior Halphon
ab75858c86
DMA/PPU VRAM conflicts on the CGB/AGB
2022-01-17 22:07:24 +02:00
Lior Halphon
b45761146f
VRAM DMA during mode 3
2022-01-16 13:50:59 +02:00
Lior Halphon
3133687e68
Potential logic bug fixes
2022-01-16 00:50:08 +02:00
Lior Halphon
dbe9035c55
Merge branch 'master' of https://github.com/LIJI32/SameBoy
2022-01-16 00:16:12 +02:00
Lior Halphon
5088bd0959
Redundant OR
2022-01-16 00:16:06 +02:00
orbea
7c9ab0fd46
sgb.h: Use GB_INTERNAL to hide internal struct data
...
Silences warnings in downstream projects that use a different language standard
when including gb.h.
sgb.h:14:9: warning: anonymous structs are a GNU extension [-Wgnu-anonymous-struct]
struct {
^
sgb.h:14:9: warning: anonymous types declared in an anonymous union are an extension [-Wnested-anon-types]
struct {
^
2022-01-14 15:26:15 -08:00
Lior Halphon
eaeeb49612
Minor stylistic changes
2022-01-14 22:26:23 +02:00
orbea
adfc329cdf
gb.h: Silence -Wembedded-directive warning with -pedantic
...
gb.h:731:2: warning: embedding a directive within macro arguments has undefined behavior [-Wembedded-directive]
\#define GB_REWIND_FRAMES_PER_KEY 255
^
2022-01-14 11:40:55 -08:00
orbea
5cf71b406e
gb.h: Silence -Wembedded-directive warnings with -pedantic
...
gb.h:400:2: warning: embedding a directive within macro arguments has undefined behavior [-Wembedded-directive]
\#ifdef GB_BIG_ENDIAN
^
gb.h:410:2: warning: embedding a directive within macro arguments has undefined behavior [-Wembedded-directive]
\#endif
^
2022-01-14 11:40:55 -08:00
Lior Halphon
d92148b461
Merge branch 'master' of https://github.com/LIJI32/SameBoy
2022-01-14 17:09:49 +02:00
Lior Halphon
ffa53eda20
DMA during mode 3 emulation
2022-01-14 17:09:39 +02:00
Lior Halphon
4ce8e77796
More accurate OAM access timings
2022-01-14 15:07:50 +02:00
orbea
fefb81ab65
gb.h: Silence -pedantic warnings
...
Silences warnings such as the following when including gb.h as a dependency.
gb.h:385:6: warning: extra ';' inside a struct [-Wextra-semi]
);
^
2022-01-13 20:12:58 -08:00
Lior Halphon
ec012cf9f8
is_dma_restarting hack no longer needed
2022-01-12 14:12:55 +02:00
Lior Halphon
c4a14ac4db
Simplify DMA code, fix DMA read timing
2022-01-12 00:26:18 +02:00
Lior Halphon
b1187919d3
Fixed a bug with the joy_accessed API
2022-01-09 16:43:32 +02:00
Lior Halphon
2c71ca789f
Fixed a regression caused by a recent optimization
2022-01-09 15:36:01 +02:00
Lior Halphon
8df572f92e
Comment fix
2022-01-09 15:30:33 +02:00
Lior Halphon
b7f03dea8d
Add CGB-A support
2022-01-05 21:55:46 +02:00
Lior Halphon
ab1d4cd26e
More DMA write conflicts
2022-01-05 21:40:10 +02:00
Lior Halphon
5e7bb0f891
DMA write conflict revision differences
2022-01-04 19:59:46 +02:00
Lior Halphon
79ec22b28e
Clang hates this
2022-01-03 17:55:00 +02:00
Lior Halphon
5c17c0ec3b
unreachable fun
2022-01-03 17:17:35 +02:00
Lior Halphon
cd16431699
OMA DMA improvements (WIP)
2022-01-03 16:51:45 +02:00
Lior Halphon
c7298ae5a6
Fix a silly underflow
2022-01-03 16:51:05 +02:00
Lior Halphon
bc073e3d09
Expose PC
2021-12-30 23:53:24 +02:00
Lior Halphon
59c315a5dd
Minor free optimization
2021-12-29 16:33:04 +02:00
Lior Halphon
b72c2ea225
DMG palette getter
2021-12-29 13:08:46 +02:00
Lior Halphon
769aac93c0
Lazy APU, extra ~17% speed up
2021-12-29 00:48:44 +02:00
Lior Halphon
db50462710
More accurate fix
2021-12-26 23:24:08 +02:00
Lior Halphon
59dfb1a85a
It's not verified because it's wrong
2021-12-26 21:57:40 +02:00
Lior Halphon
6ffe924637
This is probably better but still wrong
2021-12-26 21:43:54 +02:00
Lior Halphon
d178ece909
Disabled an incorrectly emulated portion of the TILE_SET glitch
2021-12-26 19:57:18 +02:00
Lior Halphon
66f7babe86
Cache the clock rate
2021-12-26 15:50:24 +02:00
Lior Halphon
c53d99dbc4
Abolished slow double use
2021-12-26 15:20:46 +02:00
Lior Halphon
c5f6be1e64
Several likely/unlikely optimization, saving on a memset
2021-12-26 02:38:54 +02:00
Lior Halphon
69de3f0fae
Implement a PPU fast path, up to 34% performance boost
2021-12-26 01:47:59 +02:00
Lior Halphon
f3277ab8d3
Sorry C++ users
2021-12-20 18:59:51 +02:00
Lior Halphon
e9906e44cd
Sure, why not
2021-12-19 21:46:22 +02:00
Lior Halphon
f866441481
Improved emulation of channel 3 wave RAM read glitch
2021-12-19 19:27:40 +02:00
Lior Halphon
e9629407a5
Fix potential alignment issues
2021-12-19 00:54:29 +02:00
Lior Halphon
cdc3321c36
Add an API to allow illegal inputs
2021-12-19 00:28:24 +02:00
Lior Halphon
eaccd792ed
Fixes to safe reads, closes #422
2021-12-18 14:56:33 +02:00
Lior Halphon
5127cb0022
Direct access to registers ( #422 )
2021-12-18 14:51:14 +02:00
Lior Halphon
c63ddbe771
Lag frame detection API ( #422 )
2021-12-18 01:25:06 +02:00
Lior Halphon
c3d9141b7c
Replace the term sprite with object for consistency
2021-12-17 21:16:23 +02:00
Lior Halphon
c1ae129ed4
Allow hiding background/object "layers" ( #422 )
2021-12-17 21:12:26 +02:00
Lior Halphon
f78fac12c2
Fixed several issues involving LY change timing, as well as an LYC issue in models prior to CGB-D
2021-12-14 20:27:38 +02:00
Lior Halphon
7e5e672988
RTC speed multiplier, for TAS syncing ( #422 )
2021-12-11 02:51:21 +02:00
Lior Halphon
a30247cf16
LCD line callback (for #422 )
2021-12-10 19:49:52 +02:00
Lior Halphon
7508ddb0cf
Execute callback (for #422 )
2021-12-10 19:42:47 +02:00
Lior Halphon
9e57201b08
Accurate IF clear timing
2021-12-05 16:18:54 +02:00
Lior Halphon
25e3414974
Redesigned vblank callback scheduling scheme, should be more regular and less prune to various sorts of frontend DOS
2021-12-04 15:04:46 +02:00
Lior Halphon
4b3c77bfa5
oops
2021-12-02 11:54:26 +02:00
Lior Halphon
8660e20eeb
New inputs API
2021-12-02 11:23:44 +02:00
Lior Halphon
b770bbea2e
Fix save state issue that caused vblank callbacks timings to differ
2021-12-02 11:21:12 +02:00
Lior Halphon
486f8a2c10
Merge pull request #420 from SnowyMouse/cgb_mode
...
Add GB_is_cgb_in_cgb_mode
2021-11-26 14:10:35 +02:00
Lior Halphon
06b744259b
Add memory write callback, optimize memory access with likely/unlikely
2021-11-26 14:09:41 +02:00
Lior Halphon
bdbe02b043
Add a safe memory read API
2021-11-26 13:54:28 +02:00
Lior Halphon
33090a5cc0
Fix an oops from the last commit
2021-11-26 13:38:52 +02:00
Snowy
d0a9d2f72a
Add GB_is_cgb_in_cgb_mode
2021-11-25 17:16:11 -06:00
Lior Halphon
f1e5e04198
...even when timekeeping is disabled
2021-11-25 21:46:51 +02:00
Lior Halphon
d0d39015ee
Let update_input_hint_callback get called during turbo
2021-11-25 21:17:49 +02:00
Lior Halphon
f08f16346e
Fix #293
2021-11-24 23:13:52 +02:00
Lior Halphon
ae930472f0
Units info
2021-11-14 13:18:58 +02:00
Lior Halphon
c6f39bc60b
Initial MBC7 support
2021-11-12 17:44:51 +02:00
Lior Halphon
02f55d12d3
Maybe one day GCC will stop being shit at handling __attribute__s
2021-11-07 14:13:52 +02:00
Lior Halphon
1650820edb
Clean up endian-related code
2021-11-07 13:57:43 +02:00
Lior Halphon
18e7a3f4fa
Cleanup, better symbol handling, improves LTO
2021-11-07 13:39:18 +02:00
Lior Halphon
fbf1bb7f98
Save state compatibility breaking cleanup
2021-11-07 12:56:46 +02:00
Lior Halphon
5565c2540b
Register name and info update
2021-11-06 13:34:34 +02:00
Lior Halphon
178860e715
Custom palette and editor
2021-11-05 19:07:27 +02:00
Lior Halphon
f237b1e9b9
CGB-0 support
2021-11-04 00:35:44 +02:00
Lior Halphon
6cd13be624
Add CGB-B support
2021-10-30 20:58:57 +03:00
Lior Halphon
72b6d6c532
Merge branch 'master' of https://github.com/LIJI32/SameBoy
2021-10-30 18:31:47 +03:00
Lior Halphon
1f7b20251b
Improved sanitation for save states for better security and stability
2021-10-30 16:03:13 +03:00
Lior Halphon
93ef8d7db8
Merge pull request #411 from SnowyMouse/sprite_h
...
Fix partially offscreen sprites not being returned in GB_get_oam_info
2021-10-27 01:44:26 +03:00
Lior Halphon
e6c4ceaf5a
Add CGB-D support
2021-10-27 01:40:28 +03:00
Snowy
2ec573c84a
Change y to a signed value
2021-10-24 11:15:28 -05:00
Lior Halphon
5b9746084d
Writes to SVBK should work before the boot ROM is disabled
2021-10-23 23:51:48 +03:00
Lior Halphon
18007f0e53
MGB support
2021-10-23 23:28:54 +03:00
Lior Halphon
e04dcd90d6
Fix APU command
2021-10-19 01:56:10 +03:00
Lior Halphon
94776fcf8c
Better (But imperfect) emulation of the wave RAM address bug glitch
2021-10-19 01:53:24 +03:00
Lior Halphon
de16ab5d08
Why was this under APU
2021-10-17 20:05:49 +03:00
Lior Halphon
886363b398
Now this glitch makes more sense
2021-10-17 12:52:08 +03:00
Lior Halphon
7ef198ec50
More accurate channel 3 restarts
2021-10-17 02:06:33 +03:00
Lior Halphon
40fc477b56
Fix an oopsie
2021-10-10 20:05:57 +03:00
Lior Halphon
4ce643d5eb
Fix timer bug; fixes #409
2021-10-10 16:53:07 +03:00
Lior Halphon
01f80a3f3e
Adjust border fade delay to match SGB2
2021-10-10 14:24:14 +03:00
Lior Halphon
8f9365251d
Timing adjustments
2021-10-10 13:30:30 +03:00
Lior Halphon
b580e63c37
Fix 7-part SGB commands
2021-10-10 02:55:12 +03:00
Lior Halphon
46e1b79b63
Madden 96 needs even more time
2021-10-09 23:07:15 +03:00
Lior Halphon
893d7d162a
Don't try to render tiles 100-3FF
2021-10-09 22:34:43 +03:00
Lior Halphon
85da5b64d3
Some games like racing the SGB
2021-10-09 22:02:40 +03:00
Lior Halphon
a7c8b702da
Some games like to race with the SGB border fade
2021-10-09 21:08:17 +03:00
Lior Halphon
f1761340fc
Fix ATTR_SET command
2021-10-09 18:45:08 +03:00
Lior Halphon
191f7cee02
Improved emulation of SGB multiplayer, fixes #405
2021-10-09 14:52:28 +03:00
Lior Halphon
164a870189
Cleanup uses of gb->registers
2021-10-09 14:09:51 +03:00
Lior Halphon
24af1c5a31
Newly discovered OAM corruption trigger
2021-10-09 14:05:29 +03:00
Lior Halphon
c05c3c2abd
Improved accuracy of mid-line SCX writes
2021-10-08 19:36:05 +03:00
Lior Halphon
ef053ff113
APU regression fix
2021-10-07 18:25:54 +03:00
Lior Halphon
d1caeafe5e
Better handling of tiny ROMs
2021-10-05 19:53:43 +03:00
Lior Halphon
345e51647f
API issue – RTC data should not be wiped after GB_reset
2021-09-30 21:23:52 +03:00
Lior Halphon
8068ff41fb
Fix potential future compatibility issue, update workflow environments
2021-09-29 21:57:39 +03:00
Lior Halphon
24a7467735
Merge pull request #406 from Talkashie/master
...
Fixed a typo in the debugger
2021-09-24 20:33:56 +03:00
Lior Halphon
84c5f8b92d
Fix #402
2021-09-22 20:53:04 +03:00
Talkashie
2dc0e14d0a
Update debugger.c
...
Fixed a typo
2021-09-13 21:20:19 -05:00
Lior Halphon
b27bd4eed7
Remove redundant condition
2021-09-04 18:15:22 +03:00
Lior Halphon
e5454a39b7
Block wave RAM writes on the AGB
2021-09-04 14:18:46 +03:00
Lior Halphon
0ca1ee6a35
Minor APU clean ups
2021-09-02 01:29:38 +03:00
Lior Halphon
eefaac3d04
NR32 was treated as the wrong value on APU reset
2021-08-31 23:28:05 +03:00
Lior Halphon
c459058156
That was silly
2021-07-30 14:10:04 +03:00
Lior Halphon
4d1a28f1d1
Improved OAM bug accuracy in several read edge cases
2021-07-25 16:34:34 +03:00
Lior Halphon
a5325d3374
Improved ticks command, more accurate speed switch timings, better odd-mode warnings
2021-07-11 21:49:58 +03:00
Lior Halphon
6f6f72dcbd
More accurate emulation of STOP
2021-07-11 12:11:12 +03:00
Lior Halphon
efb644bc72
MBC5 RAM enable is 8 bit
2021-07-10 15:02:15 +03:00
Lior Halphon
278224299f
Fixed double->single speed switch causing misaligned CPU timing
2021-06-26 13:55:34 +03:00
Lior Halphon
94add1d172
Add "Harsh Reality" color correction mode
2021-06-25 19:57:56 +03:00
Lior Halphon
23e8cc58c5
Vblank should occur 1 T-cycle later
2021-06-19 02:14:16 +03:00
Lior Halphon
b4709fd66b
Disabled an accuracy-improvement-attempt that caused audio regressions until the proper behavior is well understood, fixes #390
2021-06-18 01:36:29 +03:00
Lior Halphon
339613263c
Fixed a bug that prevented STAT interrupt blocking from functioning correctly in the transition to VBlank while the OAM interrupt was disabled
2021-06-18 01:20:05 +03:00
Lior Halphon
3ed18a76da
Added optional OSD (Cocoa)
2021-05-30 20:55:04 +03:00
Lior Halphon
2afeb7dee3
Place a cap on the GBS file size
2021-05-17 17:11:41 +03:00
Lior Halphon
ea67a7e3f0
Merge pull request #379 from jprjr/gbs-buffer
...
gbs: function to load from memory buffer
2021-05-17 16:53:12 +03:00
Lior Halphon
9b2dfe7ae2
Style fixes
2021-05-17 16:52:55 +03:00
Lior Halphon
ea05a0c765
Don't save 0x6000 for MBC3 in BESS
2021-04-23 21:05:33 +03:00
Lior Halphon
ac5b0aca2c
RTC accuracy fix
2021-04-23 21:01:17 +03:00
John Regan
0e8d8effdf
gbs: function to load from memory buffer
2021-04-20 08:38:53 -04:00
Lior Halphon
a2d3b8c174
Support for non-standard GBS files with a loading address at 0
2021-04-19 20:58:27 +03:00
Lior Halphon
2971b17701
Add support for ugetab's GBS extensions, fixes #377
2021-04-19 00:32:10 +03:00
Lior Halphon
5f2e893828
Allow GBS files with loading addresses 0x6E-0x3FF, fixes #376
2021-04-19 00:08:21 +03:00
Lior Halphon
e8158be454
Merge branch 'bess' into gbs
2021-04-17 16:57:05 +03:00
Lior Halphon
9fcdc082d2
Fix an SDL crash, minor tweak to BESS SGB
2021-04-17 16:37:55 +03:00
Lior Halphon
817c4a7752
Merge branch 'bess' into gbs
2021-04-16 16:35:21 +03:00
Lior Halphon
87a2d48675
Redo TPP1 saving, fix RTC and HUC3 in BESS
2021-04-16 00:35:54 +03:00
Lior Halphon
f0a6488546
Added optional INFO block
2021-04-15 21:57:38 +03:00
Lior Halphon
98a39ae49a
ATTR_CHR does not seem to wrap around screen (only lines/columns)
2021-04-14 23:39:07 +03:00
Lior Halphon
b325148544
Update and clarify specification
2021-04-14 23:37:00 +03:00
Lior Halphon
ba6e22dfc0
Merge branch 'bess' into gbs
2021-04-14 16:44:51 +03:00
Lior Halphon
8a84a5897e
Allow drag&drop of state files
2021-04-14 15:20:01 +03:00
Lior Halphon
43fb86320e
Hard fail on unexpected SGB blocks
2021-04-13 22:05:13 +03:00
Lior Halphon
0af4f1fa4d
Clarify SGB multiplayer, handle count = 0
2021-04-13 21:33:13 +03:00
Lior Halphon
24915e41eb
TPP1 in BESS
2021-04-13 20:56:09 +03:00
Lior Halphon
976f5e4d02
Merge branch 'master' into bess
2021-04-13 20:50:29 +03:00
Lior Halphon
fada772cb1
Don't use BESS for internal in-memory saves
2021-04-13 20:35:07 +03:00
Lior Halphon
dfdbff7304
Allow writes to the $a000-$bfff range in the MBC block
2021-04-13 16:01:44 +03:00
Lior Halphon
a3a73602fc
ATF is only 0xFD2 bytes, not 0xFE0
2021-04-13 01:09:29 +03:00
Lior Halphon
5b993ed775
Add HuC3 to BESS
2021-04-12 23:36:42 +03:00
Lior Halphon
9a1f962281
Spec update
2021-04-12 22:39:13 +03:00
Lior Halphon
80f422d0ca
Respect TPP1 feature flags for rumble and RTC
2021-04-11 23:16:31 +03:00
Lior Halphon
763de9d2e0
Fix Rumble support in TPP1
2021-04-11 22:52:34 +03:00
Lior Halphon
42471095e4
Normalize invalid weekdays only after a $11 command
2021-04-11 22:38:25 +03:00
Lior Halphon
0c5e15b49d
Correct emulation of count overflow in ATTR_CHR, fixes #372
2021-04-11 02:38:58 +03:00
Lior Halphon
f24489b983
TPP1 support
2021-04-10 23:56:41 +03:00
Lior Halphon
44c75ae7be
Remove commented out code
2021-04-10 18:43:24 +03:00
Lior Halphon
ad05eb6d0a
GCC build fix
2021-04-10 16:15:40 +03:00
Lior Halphon
955ef59140
Merge branch 'bess' into gbs
2021-04-10 16:12:35 +03:00
Lior Halphon
f89c80caa5
Merge branch 'master' into bess
2021-04-10 16:12:03 +03:00
Lior Halphon
d0bbf383d6
Another cheat bugfix
2021-04-10 16:10:23 +03:00
Lior Halphon
77384a5f6a
Merge branch 'bess' into gbs
2021-04-09 23:12:03 +03:00
Lior Halphon
1c31812ffd
BESS format updates
2021-04-06 01:02:49 +03:00
Lior Halphon
7a558492b6
Merge branch 'master' into bess
2021-04-05 23:10:00 +03:00
Lior Halphon
e6fa2336da
Fix a potential crash/corruption when modifying cheats
2021-04-05 23:09:32 +03:00
Lior Halphon
f67d3947d6
UI Updates
2021-04-05 23:08:43 +03:00
Lior Halphon
bb3a73ff88
Cocoa GBS Player
2021-04-03 01:29:43 +03:00
Lior Halphon
9996c7b4a2
Add GBS APIs
2021-04-03 01:29:06 +03:00
Lior Halphon
39c71b40e7
Fix memory leak
2021-04-02 19:07:28 +03:00
Lior Halphon
328e2d9e40
Merge branch 'master' into gbs
2021-04-02 19:06:15 +03:00
Lior Halphon
6b8eb8063a
Fix a bug where SameBoy would start in "faux turbo mode"
2021-04-02 02:54:14 +03:00
Lior Halphon
e460b0a7b4
Change the border format to SNES-style
2021-03-31 00:54:55 +03:00
Lior Halphon
8adaba237e
SGB support in BESS, BE fixes, changes to SGB save state format on BE machines
2021-03-29 02:47:57 +03:00
Lior Halphon
659f954028
RTC support
2021-03-25 00:07:37 +02:00
Lior Halphon
a52302f2f6
Make NAME come before CORE
2021-03-25 00:07:37 +02:00
Lior Halphon
75bc1e9a86
Initial BESS support, no SGB nor RTC yet
2021-03-25 00:07:37 +02:00
Lior Halphon
925bd863c0
Better errnos
2021-03-22 00:18:49 +02:00
Lior Halphon
da1003263f
Redo save states to remove severe code duplication between buffers and files
2021-03-21 20:32:30 +02:00
Lior Halphon
ad54dc57b0
Improved time syncing when turning the LCD on and off, fixes #193
2021-03-21 15:15:04 +02:00
Lior Halphon
ea97c1dc0b
Fix an APU regression that caused some games in DMG mode to play in the wrong pitch
2021-03-01 21:44:54 +02:00
Lior Halphon
57080c48bc
No need for -1
2021-02-28 16:50:46 +02:00
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