Lior Halphon
|
92d6cc6394
|
Use official register names
|
2020-04-09 02:36:27 +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
|
34cf0f558d
|
It's more reasonable to do it this way
|
2020-03-06 18:56:51 +02:00 |
|
Lior Halphon
|
409ab2a6d4
|
Accurate emulation of tilemap advancement timings
|
2020-03-03 02:21:19 +02:00 |
|
Lior Halphon
|
9c7a8fdb1b
|
WY is tested every cycle
|
2020-02-26 22:24:08 +02:00 |
|
Lior Halphon
|
2be58439bf
|
Starting over – removing all window related code
|
2020-02-23 00:38:47 +02:00 |
|
Lior Halphon
|
08eb2f3d98
|
Correct emulation of FF6C (Turns out it controls object priority)
|
2020-02-15 15:32:06 +02:00 |
|
Lior Halphon
|
0737655753
|
Merge branch 'master' into JoyKit
|
2020-01-03 23:42:25 +02:00 |
|
Lior Halphon
|
31609319de
|
Fix the set_joyp API
|
2019-11-09 14:45:38 +02:00 |
|
Lior Halphon
|
c802361800
|
Whoops, this function was missing
|
2019-11-08 16:14:16 +02:00 |
|
Lior Halphon
|
0ece21bca7
|
Replace the SDL-derived controller support with my own JoyKit framework. Adds rumble support, LED support, better manual and automatic configurations, analog speed controls.
|
2019-10-19 19:26:04 +03:00 |
|
Lior Halphon
|
dee29c118c
|
Added GB_set_sample_rate_by_clocks API, split SGB_NO_SFC into PAL and NTSC; now they report the correct clock rate.
|
2019-10-08 15:10:24 +03:00 |
|
Lior Halphon
|
652e52df3d
|
Pass the SGB multiplayer tests
|
2019-09-14 12:31:52 +03:00 |
|
Lior Halphon
|
4fcc921b46
|
Fix SGB multiplayer, improve multiplayer accuracy
|
2019-09-13 17:10:58 +03:00 |
|
Lior Halphon
|
eaa1c1cd4a
|
Merge bsnes’s changes
|
2019-08-16 17:38:43 +03:00 |
|
Lior Halphon
|
9ba6915c85
|
ICD JOYP write API
|
2019-07-16 21:42:57 +03:00 |
|
Lior Halphon
|
346e499602
|
ICD APIs
|
2019-07-15 23:02:58 +03:00 |
|
Lior Halphon
|
f55c254959
|
Fixed a regression that made ly_lyc_0_write and ly_lyc_write fail
|
2019-07-12 02:18:25 +03:00 |
|
Lior Halphon
|
e268efefef
|
Redesign and reimplement the audio API, let the frontends handle more stuff. Probably affects #161
|
2019-06-15 23:22:27 +03:00 |
|
Lior Halphon
|
2f9de4942c
|
Increase input polling frequency in the Cocoa and SDL frontends, should make inputs look less synthetic and potentially reduce input lag
|
2019-06-07 18:27:25 +03:00 |
|
Lior Halphon
|
c342663200
|
Emulate serial bit shifting, update the serial API to use bits instead of bytes, update printer emulation and libretro to use the new API
|
2019-03-15 14:36:10 +02:00 |
|
Lior Halphon
|
9d0aadb83f
|
Emulate missing Vreset signal (SGB only for now) and ICD2 desyncing
|
2019-02-15 17:04:48 +02:00 |
|
Lior Halphon
|
b996ed9220
|
Writing to BGPD/OBPD while it’s blocked still increases BGPI/OBPI if needed. Fixes #145
|
2019-01-19 23:37:44 +02:00 |
|
Lior Halphon
|
73a54049d2
|
Accurate PPU access timings
|
2019-01-19 19:32:26 +02:00 |
|
Lior Halphon
|
4536581a6e
|
Fixed a bug where modifying RTC data would corrupt cartridge RAM data. Fixes #136
|
2019-01-18 02:36:14 +02:00 |
|
Lior Halphon
|
312478e509
|
CGB palettes are not accessible during Mode 3, closes #84
|
2019-01-14 22:22:46 +02:00 |
|
Lior Halphon
|
879d3b607d
|
Removed verified TODO
|
2019-01-14 20:32:52 +02:00 |
|
Lior Halphon
|
7b36ee10a4
|
Merge branch 'master' into sgb
|
2019-01-05 19:00:22 +02:00 |
|
Lior Halphon
|
612cd07fb3
|
Fixed emulation of echo RAM
|
2018-12-12 23:44:00 +02:00 |
|
Lior Halphon
|
ea09dfc888
|
Fixed multiplayer SGB mode
|
2018-12-04 23:46:30 +02:00 |
|
Lior Halphon
|
7735d638c6
|
Multiplayer SGB APIs/SGB detection
|
2018-11-12 00:37:06 +02:00 |
|
Lior Halphon
|
44891d5c4a
|
Initial code to support SGB, command “parsing”, replacement SGB boot ROM
|
2018-11-11 01:16:32 +02:00 |
|
Lior Halphon
|
11c148c851
|
Starting G/HDMA directly takes one more M-cycle (More research required)
|
2018-09-15 00:48:31 +03:00 |
|
Lior Halphon
|
f7b882f0e8
|
Whoops
|
2018-07-22 02:10:26 +03:00 |
|
Lior Halphon
|
b7426f93c0
|
Randomize object palettes. Slightly more accurate emulation of FF4C.
|
2018-07-20 23:23:47 +03:00 |
|
Lior Halphon
|
2e9e3424ec
|
Document some revision differences
|
2018-07-14 21:52:54 +03:00 |
|
Lior Halphon
|
a7aabca618
|
Starting to add CGB-C support
|
2018-07-03 21:43:46 +03:00 |
|
Lior Halphon
|
d81c23cb16
|
Fixed HDMA regression
|
2018-06-16 23:52:24 +03:00 |
|
Lior Halphon
|
45c73e0175
|
Replaced the is_cgb bool with a more future compatible model enum. Removed the GB_init_cgb API and replaced it with an extended GB_init and GB_switch_model_and_reset APIs that now receive a model parameter. Increased the struct version.
|
2018-06-16 13:59:33 +03:00 |
|
Lior Halphon
|
6532aef089
|
Correct emulation of the DMG stat write bug
|
2018-05-26 18:06:40 +03:00 |
|
Lior Halphon
|
9693b2de6a
|
Refined the STAT bug behavior. Still not perfect.
|
2018-05-26 17:06:49 +03:00 |
|
Lior Halphon
|
855ffb490a
|
A HBlank interrupt cannot occur in the last M-cycle of HBlank. Correct emulation of STAT access conflicts on the CGB (Test: CPU-E, single speed only). Fixes a minor graphical glitch in Pokémon Puzzle Challenge.
|
2018-05-25 23:42:36 +03:00 |
|
Lior Halphon
|
713dc02e46
|
A bit tacky, but T-cycle accurate emulation of LYC write conflicts on the CGB. Only single speed mode verified. Closes #54
|
2018-05-11 12:38:55 +03:00 |
|
Lior Halphon
|
f1ec42d4ba
|
H/GDMA was 4 times faster than it should have been. Made it also more accurate. Fixes #56
|
2018-04-13 14:41:39 +03:00 |
|
Lior Halphon
|
0c86ff1ee4
|
More CGB revision quirks
|
2018-04-06 04:00:37 +03:00 |
|
Lior Halphon
|
e163026ca9
|
The STAT bug does not occur during the glitched mode 0
|
2018-04-02 01:05:32 +03:00 |
|
Lior Halphon
|
7671648fca
|
Simplified a function
|
2018-03-27 19:06:36 +03:00 |
|
Lior Halphon
|
4cbade9a88
|
Function name change
|
2018-03-27 15:55:12 +03:00 |
|
Lior Halphon
|
4986930511
|
Mostly complete emulation of the OAM bug. Passes oam_bug-2.
|
2018-03-27 15:46:00 +03:00 |
|
Lior Halphon
|
18e32d1755
|
Merge branch 'master' into timing
# Conflicts:
# Core/gb.c
|
2018-03-22 22:37:35 +02:00 |
|
Lior Halphon
|
577e23925b
|
Fixed sources-dmgABCXmgbS
|
2018-03-22 20:09:01 +02:00 |
|
Lior Halphon
|
b702d56547
|
Merge branch 'master' into timing
# Conflicts:
# Core/display.c
# Core/z80_cpu.c
|
2018-03-01 21:22:33 +02:00 |
|
Lior Halphon
|
b02e40d5a2
|
Refinement to that last fix
|
2018-02-25 23:23:55 +02:00 |
|
Lior Halphon
|
90a943d05a
|
Emulate an HDMA quirk required to properly emulate Aevilia
|
2018-02-25 22:32:41 +02:00 |
|
Lior Halphon
|
ef670986c6
|
Rewrote PPU (currently only emulates DMG correctly) to use the new timing mechanism. Removed “future interrupts” (No longer required because SameBoy is now T-cycle based)
|
2018-02-25 00:48:45 +02:00 |
|
Lior Halphon
|
42ab746a66
|
Starting to remove the delayed interrupts hack – done for timer interrupt, broken for display interrupts
|
2018-02-23 15:33:44 +02:00 |
|
Lior Halphon
|
c48097a484
|
Convert div counter to the SM mechanism
|
2018-02-23 13:16:05 +02:00 |
|
Lior Halphon
|
9802ca41dd
|
Components not affected by CGB’s double speed mode now operate in 8MHz mode to theoretically make advance_cycles(gb, 1) safe.
|
2018-02-20 21:17:12 +02:00 |
|
Lior Halphon
|
f79af39ea2
|
More accurate emulation of the APU’s analog characteristics
|
2018-02-16 18:01:50 +02:00 |
|
Lior Halphon
|
441781cbe9
|
Libretro .o files are now in the build/obj folder and are suffixed with _libretro (since they have different compilation flags). This also lets us rename gbmemory.c/h back to its original name.
|
2017-10-12 19:42:30 +03:00 |
|
twinaphex
|
a7db98c22e
|
Memory needs to be uniquely named for Android
|
2017-10-09 11:36:55 -05:00 |
|
twinaphex
|
09f4edda57
|
Comment out debugger code - add HAVE_DEBUGGER ifdef
|
2017-10-09 11:36:53 -05:00 |
|
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
|
ba0e66a5b7
|
Merge branch 'master' into new_apu
|
2017-09-04 18:41:13 +03:00 |
|
Lior Halphon
|
9b490396bb
|
Fixed timing when turning the LCD display on during double speed mode
|
2017-09-02 23:26:45 +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
|
d43daed6a6
|
Merge branch 'master' into new_apu
|
2017-08-12 21:43:09 +03:00 |
|
Lior Halphon
|
7df4e56454
|
KEY1 is only writable in CGB mode; screen should be black is LCD is on while in stop mode.
|
2017-08-12 21:42:47 +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
|
c59272d46d
|
Misc minor fixes, fixes several Mooneye-GB tests
|
2017-06-21 20:39:23 +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
|
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
|
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
|
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
|
55e54d9499
|
Refinements to DMG STAT write interrupt bug. Fixes stat_irq_blocking on DMG.
|
2017-02-25 21:56:46 +02:00 |
|
Lior Halphon
|
dbd04f09e8
|
HBlank HDMA should start instantly when starting during HBlank. Fixes 3-D Ultra Pinball.
|
2017-02-25 15:42:59 +02:00 |
|
Lior Halphon
|
a420cfd798
|
HUC1’s RAM Enable only controls writing
|
2017-02-23 00:27:08 +02:00 |
|
Lior Halphon
|
91513ced22
|
Minor adjustment to LCD timing after enabling it.
|
2017-02-20 14:20:45 +02:00 |
|
Lior Halphon
|
421d3b27f5
|
Correct emulation of HUC1 banks higher than 0x1F
|
2017-02-16 21:07:35 +02:00 |
|
Lior Halphon
|
4b6fda0cb6
|
Simplified HDMA and fixed the reading of the HDMA5 register
|
2017-02-08 21:58:15 +02:00 |
|
Lior Halphon
|
d5c9a52337
|
Fixed: HDMA registers were not being updated during transfer
|
2017-02-07 00:24:26 +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
|
fa35869bc4
|
Implemented DMG STAT-write interrupt bug, fixed Road Rash and Zero no Densetsu (These game do not work on CGBs)
|
2016-10-11 13:37: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
|
4904277f0d
|
Corrected behavior of palette registers in DMG mode. This affected a broken Game & Watch Gallery 2 ROM that was previously used in the automation test.
|
2016-10-01 22:10:44 +03:00 |
|
Lior Halphon
|
4a2bec239a
|
MBC2 RAM support was completely broken.
|
2016-09-30 23:34:06 +03:00 |
|
Lior Halphon
|
258500bda3
|
Merge branch 'master' into rateless_apu
|
2016-09-23 18:53:38 +03:00 |
|
Lior Halphon
|
42c01a21b2
|
Fixed crash when accessing MBC RAM on a cartridge that "has RAM", but it's 0-sized.
|
2016-09-22 01:52:40 +03:00 |
|
Lior Halphon
|
594aea2d5a
|
APU is now being run lazily
|
2016-09-13 17:33:48 +03:00 |
|
Lior Halphon
|
ff7b8a6854
|
Removed doubles, reorganized code a bit
|
2016-09-13 16:57:16 +03:00 |
|