Commit Graph

207 Commits

Author SHA1 Message Date
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
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
eb548343a7 Fix offset calc 2023-06-26 13:19:12 -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
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
Lucas Scharenbroich
d36e221080 Fix bowser flame init 2023-06-05 17:46:23 -05:00
Lucas Scharenbroich
552f32f917 Add more swizzle tables 2023-06-03 09:07:49 -05:00
Lucas Scharenbroich
5acd964917 Update palette based on AreaType 2023-06-02 21:55:55 -05:00
Lucas Scharenbroich
91454c9481 Move sprite blitter totally into app code 2023-06-02 15:56:13 -05:00
Lucas Scharenbroich
377ac1f788 Fix bad PPU attribute calculation 2023-06-02 08:16:00 -05:00
Lucas Scharenbroich
2c1b7567ec Fix comment typos 2023-06-02 08:15:43 -05:00
Lucas Scharenbroich
459bc645be Swizzle support 2023-06-02 00:37:14 -05:00
Lucas Scharenbroich
0715efa684 Check the background disable bit when rendering 2023-05-28 07:54:55 -05:00
Lucas Scharenbroich
cc36fcc0f8 Refix abs addr in rom 2023-05-27 08:23:18 -05:00
Lucas Scharenbroich
9560591642 Fix a few more abs addr locations 2023-05-26 12:42:15 -05:00
Lucas Scharenbroich
5e157072fa Adjust x-coordinate sprite cutoff 2023-05-26 12:41:49 -05:00
Lucas Scharenbroich
f8cd5c5a6c Fix typo in bowser setup 2023-05-26 08:04:07 -05:00
Lucas Scharenbroich
22f43a42de Add collision fixes 2023-05-25 08:03:20 -05:00
Lucas Scharenbroich
584f3b5ce5 Fix coin blocks 2023-05-24 20:59:12 -05:00
Lucas Scharenbroich
361e814fd0 Fixed title screen. Verified all of World 1 renders correctly 2023-05-24 14:44:15 -05:00
Lucas Scharenbroich
aa684ef58c Fresh rom2 that does not have the RenderArea bug 2023-05-24 14:31:49 -05:00
Lucas Scharenbroich
6c5bf4e494 Fix lakitu spawn bug and vine setup issue 2023-05-24 10:50:17 -05:00