Commit Graph

31 Commits

Author SHA1 Message Date
Lior Halphon
a2e656a7c2 Fixed boot ROM regression; CGB games were given the wrong palettes 2020-06-24 20:34:52 +03:00
Lior Halphon
157123e118 Fix clearing OAM and initializeing wave RAM 2020-05-17 19:24:11 +03:00
Jakub Kądziołka
24220defd6
Save 16 bytes in the CGB boot ROM 2020-05-09 13:11:51 +02:00
Lior Halphon
184743637e Fix silly regression 2020-05-06 01:10:46 +03:00
Lior Halphon
730567dc60 Proper color mixing 2020-05-06 01:06:22 +03:00
Lior Halphon
a3f261184d Optimize more 2020-05-05 01:44:48 +03:00
Lior Halphon
f46f138e9f Clear VRAM correctly 2020-05-04 23:54:43 +03:00
Lior Halphon
72a90ba91c Hacky color blending 2020-05-04 02:17:03 +03:00
Lior Halphon
2225fd114c Handle 2bpp palettes 2020-05-04 02:07:19 +03:00
Jakub Kądziołka
b057e0d10a
Save 4 more bytes in the CGB boot ROM 2020-05-03 23:07:53 +02:00
Jakub Kądziołka
cb738190be
Add a 2bpp CGB boot ROM logo, pending palettes 2020-05-03 22:45:23 +02:00
Jakub Kądziołka
19126df7f4
Save 8 bytes in the CGB boot ROM 2020-05-03 22:41:56 +02:00
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
8389c6a450 Long overdue capitalization fixes 2019-06-14 14:31:17 +03:00
Jakub Kądziołka
c678407d1e
Compress the Sameboy logo. 117 bytes are now free 2019-06-10 17:45:14 +02:00
Jakub Kądziołka
8386aaf12f
Save 20 bytes in the CGB boot ROM 2019-06-09 15:15:08 +02: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
bb7fa95426 Fix incorrect register values when changing the color palette via the boot ROM 2019-06-08 13:37:49 +03:00
Lior Halphon
10be34b5b2 Fix the fast CGB boot ROM booting with data on the second VRAM bank 2019-05-04 21:15:23 +03:00
Lior Halphon
3ba1364d60 Fixed a boot ROM bug that made a few Nintendo games use incorrect object palettes 2018-11-23 01:09:14 +02:00
Lior Halphon
a47e3cc62c Remove code duplication in the QL fast boot ROM, should fix some glitched thumbnails 2018-11-10 21:10:09 +02:00
Lior Halphon
afcb7b8579 Fixed a regression where DMG mode on CGB would not activate on most DMG games. Fixes #98 2018-07-10 20:28:36 +03:00
Lior Halphon
30f13bd28c More accurate CGB initial register values. Closes #80 2018-06-19 23:59:16 +03:00
Lior Halphon
b1d65fd84f Fixed boot_hwio-C (for SameBoy’s boot). Closes #59 2018-04-03 20:10:11 +03:00
Lior Halphon
2cd5c49935 Made CGB boot more accurate, added AGB boot 2018-01-13 13:02:31 +02:00
Lior Halphon
d171a0ccee Updating the DMG palette to match the new SDL GUI 2017-10-04 12:43:46 +03:00
Lior Halphon
204e22657b The CGB boot ROM will now not finish if the user is still selecting palettes 2017-06-09 19:52:40 +03:00
Lior Halphon
86837761fa Improved compatibility with SameBoy's boot ROM by removing the RAM bank switch (The original boot ROM does that for no reason, but eventually switches back to bank 1) 2017-02-15 22:37:43 +02:00
Lior Halphon
ddc9605271 Load DMG's tilemap for specific games in the CGB boot (Fixes X's title screen and an unknown game with title checksum $43) 2016-04-16 13:50:29 +03:00
Lior Halphon
d63a801821 Fixed a mistake that made the CGB boot ROM not initialize the wave pattern. Closes #2. 2016-04-15 22:09:06 +03:00
Lior Halphon
f1e9623371 Initial public commit 2016-04-01 21:27:01 +03:00