Commit Graph

597 Commits

Author SHA1 Message Date
Rekai Nyangadzayi Musuka 601b0b2aae feat: handle all I/O when using Cult-Of-GBA BIOS 2022-06-18 17:50:11 -03:00
Rekai Nyangadzayi Musuka 3becd790cf chore: 32-bit reads for PSG audio 2022-06-18 17:35:52 -03:00
Rekai Nyangadzayi Musuka 460f8308a7 chore: implement more than just 1 cycle per mem access 2022-06-16 22:35:42 -03:00
Rekai Nyangadzayi Musuka cc8c1c1e21 fix: implement register reads for Yoshi's Island 2022-06-16 02:32:31 -03:00
Rekai Nyangadzayi Musuka f5e401a4ee fix: reimplement DMA ticking 2022-06-16 01:46:37 -03:00
Rekai Nyangadzayi Musuka dba8873f76 chore(cpu): add inline fn isHalted() 2022-06-16 00:49:37 -03:00
Rekai Nyangadzayi Musuka db08edbdb9 chore: attempt to debug Rhythm Heaven 2022-06-16 00:03:51 -03:00
Rekai Nyangadzayi Musuka 35dba63b94 fix: impl BG?{X,Y} RefPoint write behaviour outside of Vblank
With this fix Mode 7-like games now properly render their backgrounds
2022-06-15 01:34:34 -03:00
Rekai Nyangadzayi Musuka a753912cb5 chore: change priority of some logs 2022-06-15 01:18:45 -03:00
Rekai Nyangadzayi Musuka 7441af9582 chore: mess with debug statements + mask APU I/O reads 2022-06-15 01:08:43 -03:00
Rekai Nyangadzayi Musuka 708f64035f chore: move timer, apu and dma i/o addr matching outside of io.zig 2022-06-15 00:05:36 -03:00
Rekai Nyangadzayi Musuka e4bbd33a49 chore: separate render code for affine sprites 2022-06-04 20:07:20 -03:00
Rekai Nyangadzayi Musuka 25d13722f7 chore: reimplement object rendering
TODO: implement affine sprites
2022-06-04 13:55:31 -03:00
Rekai Nyangadzayi Musuka 4eb0d469b3 chore: small changes to normal background drawing code 2022-06-04 10:21:03 -03:00
Rekai Nyangadzayi Musuka ce2271100b feat: implement affine backgrounds 2022-06-04 09:49:34 -03:00
Rekai Nyangadzayi Musuka e226a59a2f chore: stub 8-bit window registers 2022-06-04 09:48:59 -03:00
Rekai Nyangadzayi Musuka 7ff5f3b8e7 chore: remove code that pretends to remove DC offset 2022-06-04 09:47:58 -03:00
Rekai Nyangadzayi Musuka b6f5517c89 fix: replace affine bg register bitfields with signed integers 2022-06-03 19:26:52 -03:00
Rekai Nyangadzayi Musuka 2dc3864dca chore: use stdlib endian-aware integer read/write functions 2022-06-03 13:26:55 -03:00
Rekai Nyangadzayi Musuka deff74d804 chore: update zig version in README.md 2022-05-28 15:28:52 -03:00
Rekai Nyangadzayi Musuka 4f93f3e454 chore: update SDL.zig 2022-05-28 15:25:37 -03:00
Rekai Nyangadzayi Musuka 38afb567b9 chore: misc style improvements 2022-05-27 22:09:15 -03:00
Rekai Nyangadzayi Musuka 4006888629 chore: rename method in FpsTracker 2022-05-27 21:50:16 -03:00
Rekai Nyangadzayi Musuka e7faa9713b chore: update README.md 2022-05-27 21:27:19 -03:00
Rekai Nyangadzayi Musuka 413ff02ad9 fix(backup): resolve banking issue in flash impl 2022-05-27 21:17:50 -03:00
Rekai Nyangadzayi Musuka 517ed7a835 chore: remove awful ptr casts in backup.zig and bios.zig 2022-05-27 20:24:09 -03:00
Rekai Nyangadzayi Musuka d4bc1f2cd0 feat: pass jsmolka's bios.gba 2022-05-27 20:08:09 -03:00
Rekai Nyangadzayi Musuka c6ce810afe fix: play right samples in right channel 2022-05-27 18:47:34 -03:00
Rekai Nyangadzayi Musuka 1170673447 fix: resolve issue when handling event sooner than expected 2022-05-26 17:11:02 -03:00
Rekai Nyangadzayi Musuka c007bf4d8e fix: remove DC offset from audio output 2022-05-26 17:10:10 -03:00
Rekai Nyangadzayi Musuka 697ec46cf1 chore: add debug keybinds for scheduler capacity + event count 2022-05-25 15:13:57 -03:00
Rekai Nyangadzayi Musuka 41ee32b118 perf: don't check scheduler every iteration of runFrame loop
~20fps gain in Pokemon Emerald, nice
2022-05-25 14:17:44 -03:00
Rekai Nyangadzayi Musuka 8f5d054195 chore: simplify 4bpp palette code 2022-05-25 10:10:57 -03:00
Rekai Nyangadzayi Musuka c907552864 perf: convert BGR555 to RGBA8888 at compile-time, access w/ lookup table
Compile speed isn't slowed down by that much + there's a ~20fps gain in
Pokemon emerald, though this isn't anything exact
2022-05-24 13:55:50 -03:00
Rekai Nyangadzayi Musuka ff3f79801c chore: modify type signature of util.sext 2022-05-23 14:48:52 -03:00
Rekai Nyangadzayi Musuka f130d1991c chore: cleanup main 2022-05-23 12:50:01 -03:00
Rekai Nyangadzayi Musuka 24a8905c29 chore: emu audio sync code to emu.zig 2022-05-23 12:05:57 -03:00
Rekai Nyangadzayi Musuka e70fe73899 chore: redo apu sampling 2022-05-23 11:25:28 -03:00
Rekai Nyangadzayi Musuka a2d2a84850 chore: implement apu u16 reads 2022-05-21 15:09:32 -03:00
Rekai Nyangadzayi Musuka 109561310e fix: clean up frequency timer implementations 2022-05-21 14:21:50 -03:00
Rekai Nyangadzayi Musuka 5164aa961d Revert "fix: resolve off-by-one errors when scheduling freq timer expirations"
This reverts commit c9b0030b4b.
2022-05-21 13:46:46 -03:00
Rekai Nyangadzayi Musuka c9b0030b4b fix: resolve off-by-one errors when scheduling freq timer expirations 2022-05-21 13:34:14 -03:00
Rekai Nyangadzayi Musuka af2ad6c924 chore: improve APU accuracy + scheduler refactoring 2022-05-20 16:01:12 -03:00
Rekai Nyangadzayi Musuka e7777737b3 chore: update SDL.zig 2022-05-20 12:34:22 -03:00
Rekai Nyangadzayi Musuka c40cc2ba30 feat: stub Affine BG registers 2022-05-18 15:50:40 -03:00
Rekai Nyangadzayi Musuka 8dddb865cc fix: resolve out-of-bounds error with 8bpp tall / horizontal sprites
Boot ROM is now enabled by default as well
2022-05-17 12:16:30 -03:00
Rekai Nyangadzayi Musuka 2e821ab79c chore: improve audio accuracy 2022-05-17 11:28:05 -03:00
Rekai Nyangadzayi Musuka a667269d26 chore: reintroduce thread sleeping + simplify fps counter 2022-05-17 08:55:23 -03:00
Rekai Nyangadzayi Musuka daf977ef06 feat: implement double buffering 2022-05-17 06:53:37 -03:00
Rekai Nyangadzayi Musuka 660c8a2d62 chore: clean up DMA code 2022-05-05 22:36:11 -03:00