Lior Halphon
346e499602
ICD APIs
2019-07-15 23:02:58 +03:00
Lior Halphon
e1873ad2ec
Add JOYP write callback API
2019-07-15 22:35:21 +03:00
Lior Halphon
2bfe922650
Allow emulating an SGB without SFC HLE
2019-07-15 20:47:16 +03:00
Lior Halphon
50a6a3e35c
Fix libretro SGB1 FPS, fix un/serialization memory corruptions in libretro
2019-06-19 23:49:43 +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
66b814a226
Don’t use libc’s random/rand
2019-06-14 16:49:41 +03:00
Lior Halphon
843683a492
Randomize everything!
2019-06-09 18:14:32 +03:00
Lior Halphon
274760746e
Fix #165
2019-06-07 19:18:07 +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
3e724afb0a
Basic SGB support in the SDL port
2019-05-18 18:45:31 +03:00
Lior Halphon
05cd81b77c
Implemented jump-to breakpoints
2019-04-12 20:29:43 +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
4e2b5bb336
Fix the GB_run_frame API in SGB mode
2019-01-11 21:53:21 +02:00
Lior Halphon
7b36ee10a4
Merge branch 'master' into sgb
2019-01-05 19:00:22 +02:00
Lior Halphon
4051f190a5
Cache cycles_per_sample to avoid FP arithmetic
2019-01-01 00:42:40 +02:00
Lior Halphon
21eb96a2f5
Joypad multiplayer support (Cocoa)
2018-12-15 18:55:41 +02:00
Lior Halphon
b1a2e45168
Improvements to the SGB animation
2018-12-01 13:39:43 +02:00
Lior Halphon
389d8ae045
Halt the CPU while the SGB animation is playing
2018-11-24 13:34:07 +02:00
Lior Halphon
2d6d1e6325
SGB boot animation
2018-11-24 13:21:00 +02:00
Lior Halphon
b3166135eb
Clean up that crashing mess I made
2018-11-23 19:59:15 +02:00
Lior Halphon
d42cbcdee2
Palette transfer functions
2018-11-16 19:11:21 +02:00
Lior Halphon
69ac36cca1
Add default SGB border
2018-11-16 17:22:57 +02:00
Lior Halphon
382d9f8898
MASK_EN support
2018-11-16 12:42:52 +02:00
Lior Halphon
2f2b792edf
SGB save states
2018-11-16 01:53:01 +02:00
Lior Halphon
634a54c046
SGB resolution support (Cocoa only so far)
2018-11-15 00:21:21 +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
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