455 Commits

Author SHA1 Message Date
paulb-nl
016f45bc7b 3D LUT for color correction. Fix OAM in save state. (#282)
* Move Cart RAM to SDRAM

Used the SDRAM controller from the NES core

* 3D LUT for color correction. Load custom LUT

* Add custom LUTs

* Fix OAM saving to save state
2026-04-13 15:23:58 +08:00
Keith Conger
71fcc15472 MegaDuck Laptop Support (#281) 2026-04-02 15:02:53 +08:00
Mark Johnson
1b131a0de1 Timer module rewrite, APU clocked from timer (#280)
* Rework timer modules to resolve #101

Sound clock is passed to the APU but is not currently being used. Work needed to match this up.

* Rename APU frame clock.

* VHDL-2008 fix.

* Fix APU clock to 1x CPU clock.

* Clarify machine cycles in timer.

* Whitespace

* Add APU channel enables for debugging.

* Fix timer generated sound clk

R14 - Audio issues remain for 2X CPU games

* Fix issue with 2x gameboy APU sound clock

R22

* Re-implement sound clocking in timer module.

R25, Remove old code N.B. Likely a bug still here.

* Fix timer generated APU clock to 4 MiHz cycle.

R27

* Tidy up.

Remove attribution in timer module since doing a full rewrite.

* Disabling TAC can generate a clock-edge

Thanks to @paulb-nl for pointing out

* Prevent name clash

* Rework timer modules to resolve #101

Sound clock is passed to the APU but is not currently being used. Work needed to match this up.

* Rename APU frame clock.

* VHDL-2008 fix.

* Fix APU clock to 1x CPU clock.

* Clarify machine cycles in timer.

* Whitespace

* Add APU channel enables for debugging.

* Fix timer generated sound clk

R14 - Audio issues remain for 2X CPU games

* Fix issue with 2x gameboy APU sound clock

R22

* Re-implement sound clocking in timer module.

R25, Remove old code N.B. Likely a bug still here.

* Fix timer generated APU clock to 4 MiHz cycle.

R27

* Tidy up.

Remove attribution in timer module since doing a full rewrite.

* Disabling TAC can generate a clock-edge

Thanks to @paulb-nl for pointing out

* Prevent name clash

* Remove unused variable

* Set en_len_r on same cycle as en_len

* Buffer en_len to en_len_r properly

* Remove debug tools
2026-03-22 21:32:35 +08:00
Keith Conger
f36baf98ad insideGadgets Keyboard and Mouse emulation (#279) 2026-03-20 14:27:49 +08:00
Keith Conger
ef2ca135d5 Workboy (#278)
* Workboy emulation

* Update ReadMe.md
2026-02-18 13:44:10 +08:00
Takiiiiiiii
30e4aff687 Update sys (#276) 2025-12-06 00:19:56 +08:00
paulb-nl
05246601b3 SGB: wait for the last write before updating attr_file (#275)
This avoids displaying the wrong colors before all writes are done.
2025-11-24 22:52:34 +08:00
matijaerceg
34309c9f6b Update ReadMe.md (#269)
Fixed syntax on line about * gb file.
Couple minor typos.
Re-formatted savestates keyboard shortcuts
2025-06-18 21:42:44 +08:00
Sorgelig
e7c0ef1940 Release 20250618. 2025-06-18 21:22:21 +08:00
Sorgelig
f7464db6c1 Update sys. 2025-06-18 21:22:03 +08:00
Alexey Melnikov
98298519fd Merge pull request #268 from paulb-nl/oam
Add option for extra sprites
2025-06-16 14:06:14 +08:00
paulb-nl
ee8bf4c29f Add option for extra sprites
Maximum of 6 extra sprites per line
Extra sprites are fetched during mode2 to not break mode3 timing
2025-06-15 09:32:45 +02:00
paulb-nl
e246605341 OAM: Change data bus to 16bit
-Add shared buffers for X/Y and Tile index/attributes
-X/Y buffers during mode2 are not updated when OAM dma is active
(Needed for strikethrough.gb test glitch)
2025-06-10 17:43:50 +02:00
Alexey Melnikov
2c590444fd Merge pull request #265 from paulb-nl/color_lut
Improve GBC color correction. GBC bootrom disable value.
2025-05-12 14:54:01 +08:00
paulb-nl
95ea2d77a5 Improve GBC color correction
Color LUT for mix of 2 colors with 2 stage gamma
2025-05-11 13:07:44 +02:00
paulb-nl
179ec75a80 GBC bootrom is also disabled with bit 0 only 2025-05-11 13:04:59 +02:00
paulb-nl
460addc5bc HDMA: transfer stops only if target address overflows at $FFFF (#261)
Fixes hang in F1 Championship Season 2000
2025-01-08 20:55:27 +08:00
Sorgelig
44f43d5797 Release 20240912. 2024-09-12 23:32:38 +08:00
paulb-nl
fe5758fd33 Add option to remove audio pops (#257)
Some audio can be inaccurate with this option enabled.
2024-09-05 13:42:36 +08:00
paulb-nl
7c576b02e8 Fix noise channel pitch (#254)
`noi_fcnt` was off by one
2024-08-12 18:31:39 +08:00
Alexey Melnikov
23dd9de96b Merge pull request #250 from paulb-nl/window
Window fixes, Wram bank, GBVideoPlayer, SGB joypad fix
2024-06-16 22:44:58 +08:00
paulb-nl
1258e99207 Video: Background fetching changes for accurate Window glitches
- WX=0 scrolling glitches
- WX=166 glitch
- Extra pixel glitch when Window is disabled mid-screen
- Start delay when enabling Window during WX trigger
2024-06-16 14:38:22 +02:00
paulb-nl
ef8e1765c8 GBC: WRAM bank should not read 1 when set to 0. 2024-06-16 14:32:04 +02:00
paulb-nl
22da38ae41 Fix Rom mask for non power of 2 sizes (GBVideoPlayer) 2024-06-16 14:29:32 +02:00
paulb-nl
5f02cb3b23 SGB: Fix joypad_id not updating after MLT_REQ (Dai-2-ji) 2024-06-16 14:26:52 +02:00
Sorgelig
51c7baebcb Release 20240502. 2024-05-02 16:48:44 +08:00
Sorgelig
59b4f53ab7 Update sys. 2024-05-02 16:48:41 +08:00
Sorgelig
8668668d72 Release 20231211. 2023-12-12 01:58:56 +08:00
Sorgelig
e810e48293 Update sys. 2023-12-11 22:56:08 +08:00
Mark Johnson
4b06b66006 Fix #241 (#243)
Tidy up noise channel implementation
2023-05-24 04:03:05 +08:00
Sorgelig
5d75b1912c Release 20230501. 2023-05-01 19:37:51 +08:00
Mark Johnson
4031b6c2ce Save state slot fix #174. (#240)
Thanks to @RobertPeip
2023-05-01 06:39:17 +08:00
Mark Johnson
7b5598090e Reimplement APU DACs with disable decays (#239)
* Reimplement APU DACs with disable decays

* Whitespace alignment
2023-04-30 00:24:00 +08:00
Mark Johnson
fb923961c6 Fix bug with sound panning. (#237) 2023-04-15 21:05:04 +08:00
Alexey Melnikov
7cc59b4b83 Merge pull request #235 from maij/noise_fix
APU DAC disable implementation and APU refactor
2023-04-15 13:39:59 +08:00
Mark Johnson
c2598adcf9 CGB -> GBC 2023-04-15 00:37:27 +01:00
Mark Johnson
8ea9404b24 Adjust whitespace 2023-04-15 00:33:42 +01:00
Mark Johnson
4950b4643b Rewrite wave table. 2023-04-15 00:32:49 +01:00
Mark Johnson
8619d4ed1f Fix noise when rapidly turning APU DACs on and off. 2023-04-15 00:29:57 +01:00
Mark Johnson
2fb9af272e Rewrite output mixer.
Tweak DAC outputs to map more accurately.
2023-04-15 00:27:49 +01:00
Mark Johnson
e860fb5178 Refactor sound channels 2023-03-26 23:11:58 +01:00
Sorgelig
6831559218 Release 20230225. 2023-02-25 23:38:34 +08:00
Sorgelig
f47ccb5553 Update sys. 2023-02-25 23:31:40 +08:00
Mark Johnson
9c187460ce Add NSO palettes (#233) 2023-02-25 18:33:39 +08:00
Mark Johnson
ff7db6a614 Add bootrom compiler flow (#231)
* Add makefile for bootrom compilation


Add flag for SameBoy compilation, separate asm sources

Also adds WIndows make switches
Replace SameBoy PB12 encoding with old encoding

GameBoy logo still not 100%
Clarify Makefile, add image compilation


Remove sameboy source

* Remove DMG emulation of CGB games


Remove unused variable.


Change logo extension


Remove rgbgfx option

Nintendo logo correct now
Explicitly define slice

* Remove palette selection for CGB games

* Old-style Gameboy logo

* Add GBA menu option for built-in CGB rom

* Restore original DMG scrolling animation

* Add original CGB bios checksum verification

* Add fastboot option to DMG/CGB bootroms, create new OSD submenu

Also add further checksums for CGB0 bootrom and equivalent checksum C code. Grouped together all bootrom items into new submenu. Removed redundant bootroms (AGB, fastboot)

* Update README and give SameBoy attribution

Clean up checksum + make

* Incorporate latest SameBoy boot changes

Gives correct register values on boot

* Update readme

* Add AGB alternative boot color

---------

Co-authored-by: Mark Johnson <mark.ai.johnson@pm.me>
2023-02-13 00:13:19 +08:00
David Phillips
a5e706dc8e Add note about GBC bios and GBA mode (#230) 2023-01-08 19:33:05 +08:00
Sorgelig
aa5864d6a1 Release 20230102. 2023-01-02 17:11:44 +08:00
Alexey Melnikov
ed8984a165 Merge pull request #229 from paulb-nl/dmg_mode
Wave channel buzzing, HDMA, Megaduck audio, GBC screen blanking
2022-12-30 13:36:58 +08:00
paulb-nl
17d89ade42 gbc_snd: fix warning 2022-12-29 17:18:19 +01:00
paulb-nl
2439aa4747 Delay blanking the screen for GBC
Repeat last frame when the LCD is disabled for a short time only.
2022-12-29 17:13:53 +01:00