Commit Graph

591 Commits

Author SHA1 Message Date
Lucas Scharenbroich
f6371f914e Add second set of oscillators to output to L and R channels 2023-07-07 15:56:36 -05:00
Lucas Scharenbroich
b2ead87d25 Add configurable 240Hz, 120Hz and 60Hz APU update rates 2023-07-04 16:20:00 -05:00
Lucas Scharenbroich
ab202470a9 Disable OAM DMA in ROM 2023-07-04 16:19:33 -05:00
Lucas Scharenbroich
63d2f0ea46 Copy OAM source on-demand instead of on DMA REG access 2023-06-30 15:53:43 -05:00
Lucas Scharenbroich
576c402d0b Streamline the OAM copy 2023-06-27 21:49:52 -05:00
Lucas Scharenbroich
4c13373bd3 Fix addressing bug that caused serious overdraw 2023-06-27 21:33:59 -05:00
Lucas Scharenbroich
cdfc414a9f Fix relative offset from interrupt enable code and fix order bug in exit code path 2023-06-27 21:32:21 -05:00
Lucas Scharenbroich
4645929596 Pretty 2023-06-27 21:31:40 -05:00
Lucas Scharenbroich
1fcf176012 Fix ancient bug in Col2CodeOffset table 2023-06-27 21:31:13 -05:00
Lucas Scharenbroich
29838abb40 Shorter size-agnostic implemention of SetDataBank 2023-06-27 21:30:30 -05:00
Lucas Scharenbroich
2cc839b2c6 Add offset for the interrupt entry point 2023-06-27 21:29:50 -05:00
Lucas Scharenbroich
9c24715217 Enable interrupt processing in the lite blitter 2023-06-27 21:29:32 -05:00
Lucas Scharenbroich
e2c9480de4 Better single-step control 2023-06-27 21:27:45 -05:00
Lucas Scharenbroich
ae1611fcc9 Add build target for APUSim 2023-06-27 21:26:53 -05:00
Lucas Scharenbroich
bcebe6367f Turn APU back on 2023-06-27 21:26:33 -05:00
Lucas Scharenbroich
139a784bfa Fix off-by-one on tile update range and some comment typos 2023-06-27 21:26:17 -05:00
Lucas Scharenbroich
a5af4c206c Add hook for half and quarter speed updates 2023-06-27 21:24:59 -05:00
Lucas Scharenbroich
cb5e9b0b25 Add interrupt breaks in the lite blitter to allow music to keep playing 2023-06-26 17:17:23 -05:00
Lucas Scharenbroich
6a0b8cbdc1 Fix restore code field bug. SMB demo can use renderer 2023-06-26 14:15:20 -05:00
Lucas Scharenbroich
eb548343a7 Fix offset calc 2023-06-26 13:19:12 -05:00
Lucas Scharenbroich
2013771524 Lite render mode bugfixes 2023-06-26 11:21:05 -05:00
Lucas Scharenbroich
94dafd2093 Checkpoint 2023-06-25 21:45:34 -05:00
Lucas Scharenbroich
135a7384b9 Add FPS counter 2023-06-20 07:41:17 -05:00
Lucas Scharenbroich
df18dd7570 Init SHR before drawing to make sure linearization is on 2023-06-20 07:41:10 -05:00
Lucas Scharenbroich
7b521c8473 Tweak noise channel and get APU channel select working 2023-06-19 10:15:52 -05:00
Lucas Scharenbroich
01d8029125 Change how to calculate DOC reg values for noise channel 2023-06-19 07:14:10 -05:00
Lucas Scharenbroich
ecb11df945 Add Noise channel hooks to ROM 2023-06-18 22:11:43 -05:00
Lucas Scharenbroich
29e2cfd007 Fix bnk bug in APU STATUS register 2023-06-18 21:54:24 -05:00
Lucas Scharenbroich
13cc1a807e Turn on all four channels at startup 2023-06-18 00:26:11 -05:00
Lucas Scharenbroich
a1261e8339 Optimization to avoid recalculating DOC frequencies when APU value does not change 2023-06-18 00:12:53 -05:00
Lucas Scharenbroich
bdb4006e22 APU fixed
* Fixed type that caused triangle linear counter to be ignored
 * Changed sweep to shift the current period, not the register value
 * Moved muting logic early to avoid setting DOC registers when not needed
2023-06-17 23:50:38 -05:00
Lucas Scharenbroich
8011f268a2 Merge branch 'master' into eight-bit-hal 2023-06-17 12:45:42 -05:00
Lucas Scharenbroich
d12bddae48 Revert 2023-06-17 12:43:19 -05:00
Lucas Scharenbroich
94d907fd09 Adjust width 2023-06-17 12:42:15 -05:00
Lucas Scharenbroich
96549b0c21 Add link to KFest video recording to README 2023-06-17 12:40:53 -05:00
Lucas Scharenbroich
8d7d4a8ec6 Add link to KFest video recording to README 2023-06-17 12:39:31 -05:00
Lucas Scharenbroich
28016b6780 Move error check outside of loop 2023-06-17 12:33:22 -05:00
Lucas Scharenbroich
e06724eb4a Minor cleanup 2023-06-17 12:29:40 -05:00
Lucas Scharenbroich
95490b4996 Remove dead variable 2023-06-17 12:28:53 -05:00
Lucas Scharenbroich
ae2cb8f71d Move area palette change after GTERender to avoid flicker of new color on old pixels 2023-06-16 15:40:49 -05:00
Lucas Scharenbroich
24cd424d7c Add triangle wave back in with counters 2023-06-16 08:18:02 -05:00
Lucas Scharenbroich
99184396fc Mostly full implementations of the pulse channels 2023-06-16 01:07:19 -05:00
Lucas Scharenbroich
60d566e78c Create APU simulator for debugging 2023-06-16 01:05:31 -05:00
Lucas Scharenbroich
361c7dae56 Tweak conversion from APU value to DOC register value 2023-06-12 11:09:21 -05:00
Lucas Scharenbroich
1035af010d First sounds from emulated APU 2023-06-11 12:00:52 -05:00
Lucas Scharenbroich
4f2c2aac0b Wired all APU access to emulation layer. No sound yet :( 2023-06-10 21:05:11 -05:00
Lucas Scharenbroich
ef581ab97b Fix rendering bug that cause flicker when two sprites shared a block row 2023-06-07 23:42:48 -05:00
Lucas Scharenbroich
b45d2e27bf Fix bad color in overworld table 2023-06-06 14:31:07 -05:00
Lucas Scharenbroich
c2b37fdb71 Fix water world palette table 2023-06-06 10:57:23 -05:00
Lucas Scharenbroich
a2a0d3af9d Refine palette handling 2023-06-06 08:01:40 -05:00