Lior Halphon
c9d6a1381f
Cross emulator compatibility with RTC saves
2018-11-03 01:31:14 +02:00
Lior Halphon
dbc338a887
Compensate for prefetch in DIV’s initial value
2018-09-15 00:47: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
ce80acc818
Fixed HDMA timing )But still not verified)
2018-07-20 12:34:52 +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
47a74cb6c3
Randomize initial RAM values. Closes #82
2018-06-30 16:53:28 +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
orbea
10dc12c502
Core: Fix libretro builds
2018-04-11 14:21:46 -07:00
Lior Halphon
ba07e7ba85
Fixed a bug where 0:$dxxx reads/writes from the wrong bank in CGB mode. Made sure symbols are reset after reloading a sym file.
2018-04-02 19:57:39 +03:00
Kyle Swanson
7bfe5de9c7
chmod -x
2018-03-28 21:37:34 -07:00
Lior Halphon
96063fb0da
Fixed Windows build, added Unicode support in Windows.
2018-03-28 21:59:27 +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
544ca2be4c
Changing the timings of memory writes so they’re not effectively one T-cycle late. This screws up APU’s cycle accuracy for now.
2018-03-05 21:17:37 +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
afcc66fb3c
Added CPU under/over-clocking support in Core, add under-clocking hotkey in the Cocoa port, allow modifier keys to be configured as input keys in Cocoa.
2018-02-10 23:30:30 +02:00
Lior Halphon
1c61b006ba
Added rewinding support to the core and the Cocoa frontend
2018-02-10 14:42:14 +02:00
Lior Halphon
95234036bb
Added return value to GB_run API.
2018-01-31 15:18:04 +02:00
Lior Halphon
2205493862
Bug fixes in the SDL port
2017-12-30 17:07:05 +02:00
Lior Halphon
27b5718b07
Merge branch 'master' into libretro_core
2017-10-12 22:50:02 +03:00
Lior Halphon
a753e00b59
Added direct_access interface to interrupt_enable/IE register
2017-10-12 22:49:39 +03:00
Lior Halphon
40e4f93637
Replaced libretro specific code with a generic API
2017-10-12 22:06:01 +03:00
Lior Halphon
6b71d1d477
“Baked” boot ROM is now auto-generated.
2017-10-12 21:52:51 +03:00
Lior Halphon
a50aa2486b
Removed input callbacks when no debugger is included
2017-10-12 19:16:33 +03:00
Lior Halphon
dcadfc37f4
Changed the way HAVE_DEBUGGER works and renamed it (so it’s on by default) to DISABLE_DEBUGGER. Fixes build break.
2017-10-12 19:05:27 +03:00
radius
8d691563c7
include unistd
2017-10-09 19:53:07 -05:00
twinaphex
b02aeab022
We don't need stdin
2017-10-09 11:36:54 -05:00
twinaphex
09f4edda57
Comment out debugger code - add HAVE_DEBUGGER ifdef
2017-10-09 11:36:53 -05:00
twinaphex
9f5b746e0b
Fix compiler error
2017-10-09 11:36:53 -05:00
twinaphex
33a9c54842
Correct memset lines
2017-10-09 11:36:23 -05:00
twinaphex
d433cdf260
Add baked-in generated BIOS files
2017-10-09 11:36:23 -05:00
Lior Halphon
78446f0ed4
Fixed several memory leaks (mostly in Cocoa port debugging utils)
2017-09-27 22:09:26 +03:00
Lior Halphon
d04aaddcbd
Added highpass filter
2017-08-15 21:59:11 +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
c59272d46d
Misc minor fixes, fixes several Mooneye-GB tests
2017-06-21 20:39:23 +03:00
Lior Halphon
aefca34b39
Improved MBC1 emulation. Fixed incorrect error messages.
2017-06-19 19:46:09 +03:00
Lior Halphon
babcc0a7dc
Added API to load/save states from RAM
2017-06-14 00:23:34 +03:00
Lior Halphon
144d0348dd
Loading a save state creating during the effect of the previous MBC RAM bug will now attempt to fix the (broken) save state.
2017-06-08 23:26:04 +03:00
Lior Halphon
c650337928
Fixed a bug where MBC RAM was no longer accessible after using the GB_reset functions
2017-06-08 22:48:23 +03:00
Lior Halphon
ece1a11a23
SDL port: GUI-based error reporting, added help dialog (? on macOS, F1 on everything else)
2017-05-25 23:28:48 +03:00
Lior Halphon
4d5dc6a30e
Cleanup
2017-05-24 21:44:43 +03:00
Lior Halphon
bef89c6604
Upgraded Sameboy-SDL to SDL2, fixed Windows build, fixed save states in SDL, added reset and mute to SDL. The SDL port now renders via OpenGL.
2017-05-21 21:45:19 +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
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
0b1e2784cd
Fixed saves and save states not working correctly on Windows
2017-03-24 14:39:39 +03:00
Lior Halphon
3d99773ddb
Changed how the Cocoa port initializes GB_gameboy_t
2017-02-24 15:14:00 +02:00
Lior Halphon
527ae01e0e
Printer API, compression not supported yet
2017-01-13 22:20:11 +02:00
Lior Halphon
8c14ec3268
An interrupt should also occur when using external clock.
2016-11-13 00:42:05 +02:00
Lior Halphon
22c34e1095
Serial API
2016-11-12 01:58:53 +02:00
Lior Halphon
388fb600de
Added VRAM-debugging APIs, added VRAM viewer to Cocoa Port, fixed uninitialized VRAM, fixed memory viewer crash
2016-10-27 00:23:24 +03: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
594aea2d5a
APU is now being run lazily
2016-09-13 17:33:48 +03:00
Lior Halphon
b95860c034
Making the APU independent of sample rate
2016-09-13 16:55:26 +03:00
Lior Halphon
603b8969ab
Correct (disconnected) serial emulation.
2016-09-06 13:13:14 +03:00
Lior Halphon
ee4907949b
Support for RTC latching. Fixes #4 .
2016-08-21 22:33:57 +03:00
Lior Halphon
e7626535a8
Initial Windows support
2016-08-20 17:51:17 +03:00
Lior Halphon
af10e07ed7
Initing OBP0/1 correctly
2016-08-06 18:57:13 +03:00
Lior Halphon
47e3300b66
Improved DMA accuracy, mooneyegb test ROMs no longer crash miserably. (but still fail)
2016-08-03 23:31:10 +03:00
Lior Halphon
185e71fe12
Improvements to IR API, since timing is VERY important
2016-07-21 01:03:13 +03:00
Lior Halphon
1d35c04ab1
Infrared API
2016-07-18 22:11:18 +03:00
Lior Halphon
b30822fd0b
Async commands in SDL port, better handling of ^C and ^D
2016-07-18 13:10:19 +03:00
Lior Halphon
aa6438fa06
Async debugger commands
2016-07-18 00:46:45 +03:00
Lior Halphon
e20e81befd
Symbol support in the expression evaluator
2016-07-15 14:31:27 +03:00
Lior Halphon
65f37bccbd
Initial 25-bit debugger values support
2016-07-14 21:01:45 +03:00
Lior Halphon
d49404d248
Debugger can now read .sym files, and display them. (No expression support yet)
2016-07-13 23:00:50 +03:00
Lior Halphon
bd7f8f2555
Support for an alternative MBC1 wiring, should solve most N-in-1 carts (Issue #3 )
2016-07-09 19:25:25 +03:00
Lior Halphon
c6bafe3fc3
Rewrote MBC support
2016-07-09 17:34:55 +03:00
Lior Halphon
78a809795e
Renaming MBC constants
2016-07-09 14:45:25 +03:00
Lior Halphon
70bd90740a
Mass name and type changes. Save states are now compatible between 32- and 64-bit systems. Maybe.
2016-06-18 20:29:11 +03:00
Lior Halphon
d58ddef07b
Proper initial value for the Joypad register
2016-06-18 15:01:51 +03:00
Lior Halphon
b7e999b242
Modified saved data to be more future-compatible.
2016-06-11 17:49:42 +03:00
Lior Halphon
6bc64a9902
Added stereo support. Correct some PCM register behavior.
2016-06-10 15:28:50 +03:00
Lior Halphon
0fa2d6ea2f
Prevent creating .sav files for ROMs claiming they have a battery but have no cartridge RAM or RTC
2016-04-16 14:09:56 +03:00
Lior Halphon
1069637e45
Added support for multiple breakpoints
2016-04-07 00:25:41 +03:00
Lior Halphon
1c2af7fa5b
Fixed the default debugger input to strip new lines, fixing the debugger in SDL
2016-04-06 22:57:37 +03:00
Lior Halphon
af7309b98d
Moved the call to display_run to advance_cycle.
...
This fixes games with delicate timings such as X/Ekkusu, that expect STAT to change *during* an opcode.
2016-04-02 19:15:07 +03:00
Lior Halphon
f1e9623371
Initial public commit
2016-04-01 21:27:01 +03:00