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