Commit Graph

983 Commits

Author SHA1 Message Date
Damian Yerrick
4504de828a cgb_boot: Compress logo with PB8
The logo is compressed using PB8, a form of RLE with unary-coded
run lengths.  Each block representing 8 bytes consists of a control
byte, where each bit (MSB to LSB) is 0 for literal or 1 for repeat
previous, followed by the literals in that block.

PB8 compression is also used in a few NES games.  A variant called
PB16, where 1 means repeat 2 bytes back, is used in the Game Boy
port of 240p Test Suite and in Libbet and the Magic Floor.

Switching from logo-compress RLE to PB8 decreases the compressed
logo data size from 287 bytes to 253 bytes, saving 34 bytes.
The decompression code is also about 10 bytes smaller.
2019-07-16 16:58:16 -04:00
Lior Halphon
eb95f1de55 Fixed a bug where the SDL port loaded the incorrect boot ROM for SGB2. Made SameBoy compatible with older SDL versions. 2019-07-16 23:14:26 +03:00
Lior Halphon
9f7255cd23 Make the automation results more consistent across revisions, and making use of this change as a chance to add color correction to the automation 2019-07-13 20:29:11 +03:00
Lior Halphon
8c8d5afe62 Make the debugger compatible with more sym formats 2019-07-13 17:17:55 +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
30a58ecd5c Use color correction in the QL previewer 2019-07-12 01:53:20 +03:00
Lior Halphon
6b06d07bcc More attempts to improve audio in the SDL frontend 2019-07-12 01:53:06 +03:00
Lior Halphon
4541efe86a Fixed a bug that prevented writing to the wave RAM, as well as a bug where the wave RAM was treated as zeros despite not being zero’d out 2019-06-29 14:03:42 +03:00
Lior Halphon
23229f1118 Update version to 0.12.1 2019-06-22 19:12:12 +03:00
Lior Halphon
080fde08b6 Improve audio quality on the SDL port by being more forgiving to system with bigger buffer sizes 2019-06-22 19:01:35 +03:00
Lior Halphon
970a5f562b Fix #183 2019-06-22 18:16:55 +03:00
Lior Halphon
f1b578fd2e Update version to 0.12, update copyright year 2019-06-21 19:20:51 +03:00
Lior Halphon
b478b5b568 Fix bugged mouse support on some platforms 2019-06-21 17:21:11 +03:00
Lior Halphon
72d1d9b154 Fix Windows build 2019-06-21 17:08:10 +03:00
Lior Halphon
36a87f96bd Formatting 2019-06-21 16:58:56 +03:00
Lior Halphon
24b58da8c6 Minor text change 2019-06-21 14:18:48 +03:00
Lior Halphon
7c61445fe3 Fixed out of bound read in GB_load_state_from_buffer. Closes #104 2019-06-21 03:04:38 +03:00
Lior Halphon
72b1fe0500 Minor Fixes™ 2019-06-21 01:03:52 +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
91b0e491c5 Increase the minimum required cycles for a sync, fix SGB jingle audio 2019-06-19 22:44:54 +03:00
Lior Halphon
280f609785 Fix under clock speed (Should have been 0.5, but ended up as ~0.4 due to rounding errors) 2019-06-19 22:25:59 +03:00
Lior Halphon
431f1f8199 Remove redundant calls to display_vblank on non-SGB models and in irregular FPS scenarios. Affects #161 2019-06-18 23:16:28 +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
083b4a2970 Fix joypad hat input in the menu in the SDL port 2019-06-15 12:53:00 +03:00
Lior Halphon
8b7922b679 Fix #144 by ignored malformed commands with 0 length 2019-06-15 03:42:53 +03:00
Lior Halphon
b2397a2e7a Joystick hat support in Cocoa 2019-06-14 18:06:15 +03:00
Lior Halphon
66b814a226 Don’t use libc’s random/rand 2019-06-14 16:49:41 +03:00
Lior Halphon
5a04054145 Style changes 2019-06-14 14:34:02 +03:00
Lior Halphon
8389c6a450 Long overdue capitalization fixes 2019-06-14 14:31:17 +03:00
Lior Halphon
a956d58ea1 Merge commit 'c678407d1eae9fec625a644506b3cd66654d9b1a' 2019-06-14 14:28:36 +03:00
Jakub Kądziołka
c678407d1e
Compress the Sameboy logo. 117 bytes are now free 2019-06-10 17:45:14 +02:00
Lior Halphon
e2ef8dbbe0 Fix the GUI on some Windows 10 machines (Intel HD?). Fixes #112 2019-06-09 18:43:23 +03:00
Lior Halphon
843683a492 Randomize everything! 2019-06-09 18:14:32 +03:00
Jakub Kądziołka
8386aaf12f
Save 20 bytes in the CGB boot ROM 2019-06-09 15:15:08 +02:00
Lior Halphon
8b1c165253 Automation fixes 2019-06-09 13:48:05 +03:00
Lior Halphon
a0c5baecd8 More realistic initial V/RAM values in the boot ROM. Fixes #150 and #91 2019-06-09 00:53:44 +03:00
Lior Halphon
49d8a5cb44 Fixed the parsing of comparison operators as well as their priorities. Fixes #155 2019-06-08 16:08:07 +03:00
Lior Halphon
0da2930109 Fix #175 2019-06-08 14:35:52 +03:00
Lior Halphon
bb7fa95426 Fix incorrect register values when changing the color palette via the boot ROM 2019-06-08 13:37:49 +03:00
Lior Halphon
5cda1f2f5f Fix the last commit 2019-06-08 00:04:58 +03:00
Lior Halphon
d0bd741049 Added SCX/SCY display in the VRAM viewer. Closes #168 2019-06-07 23:38:34 +03:00
Lior Halphon
274760746e Fix #165 2019-06-07 19:18:07 +03:00
Lior Halphon
7fc3de69da Mark CGB-C as experimental 2019-06-07 18:40:54 +03:00
Lior Halphon
9d8adbb581 This is not correct, this bug only affects the PCM registers and not actual output. Currently not emulated at all. 2019-06-07 18:37:19 +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
64879f5b02 Accurate emulation of (most aspects of) stop mode 2019-06-07 13:53:50 +03:00
Lior Halphon
4c34e0a6e0 Turns out the AGB inverts Channel 3’s output 2019-06-01 18:22:58 +03:00
Lior Halphon
6888047102 Show flags in the registers command 2019-06-01 16:42:17 +03:00
Lior Halphon
9acb4636db Fix various GTK bugs 2019-06-01 16:19:44 +03:00
Lior Halphon
cdc36f329e Added open dialog to the SDL GUI, misc fixes 2019-06-01 14:29:46 +03:00