Commit Graph

57 Commits

Author SHA1 Message Date
Rekai Nyangadzayi Musuka 41558c9103 feat: implement mode 5
I wonder which obscure game makes heavy use of this mode
2022-05-01 18:10:52 -03:00
Rekai Nyangadzayi Musuka 9cce4d9859 chore: misc improvements 2022-04-21 10:15:52 -03:00
Rekai Nyangadzayi Musuka 9b9b6c0d6f feat: implement ARM read open bus 2022-04-13 23:28:14 -03:00
Rekai Nyangadzayi Musuka dfe94fb931 chore: remove magic numbers 2022-04-13 21:39:35 -03:00
Rekai Nyangadzayi Musuka 2c763e9772 feat: pass jsmolka memory.gba 2022-04-11 22:52:17 -03:00
Rekai Nyangadzayi Musuka ad1f5ea8b8 chore: ignore instead of logging errors for perf reasons 2022-04-10 23:10:06 -03:00
Rekai Nyangadzayi Musuka c100d64fcb chore: tick scheduler on memory access 2022-04-09 19:43:27 -03:00
Rekai Nyangadzayi Musuka 80e714e2eb chore: reimplement bus read/writes 2022-04-08 16:48:43 -03:00
Rekai Nyangadzayi Musuka aac01b0bfe chore: rewrite read/write methods for remainig Bus devices 2022-04-08 02:08:26 -03:00
Rekai Nyangadzayi Musuka 5310c12669 chore: mirror VRAM 2022-04-08 01:10:12 -03:00
Rekai Nyangadzayi Musuka 9b9de11e0c chore: write generic read/write for VRAM 2022-04-08 00:44:52 -03:00
Rekai Nyangadzayi Musuka da4bb17782 chore: properly deallocate OAM buffer 2022-03-22 11:41:17 -03:00
Rekai Nyangadzayi Musuka 1901a471e4 feat: minor performance improvements 2022-03-18 09:49:49 -03:00
Rekai Nyangadzayi Musuka 3d61c0dba4 feat: switch from BGR555 to RGBA8888 2022-03-18 07:52:54 -03:00
Rekai Nyangadzayi Musuka 48679fa4ca fix: move code in scheduler to ppu 2022-03-15 08:09:07 -03:00
Rekai Nyangadzayi Musuka 5579643d65 fix: resolve relative sprite priority issues 2022-03-15 00:37:29 -03:00
Rekai Nyangadzayi Musuka cb10dfbdfd fix: implement sprite coord overflow behaviour 2022-03-12 03:46:41 -04:00
Rekai Nyangadzayi Musuka 0c50ef1e6d fix: resolve issues with sprite mirroring 2022-03-11 23:52:56 -04:00
Rekai Nyangadzayi Musuka 05e67da181 feat: Implement MVP of Mode 0 Sprites 2022-03-11 01:43:47 -04:00
Rekai Nyangadzayi Musuka f1df3d6615 chore: clean up io 2022-03-04 22:55:04 -04:00
Rekai Nyangadzayi Musuka c5b4b51ae0 feat: fix tile flipping issue 2022-03-03 03:08:35 -04:00
Rekai Nyangadzayi Musuka 2e4854c2ff chore: add some type definitions for sprites 2022-03-03 02:10:33 -04:00
Rekai Nyangadzayi Musuka dccd00782b chore(ppu): resolve integer overflow regression 2022-03-02 23:15:10 -04:00
Rekai Nyangadzayi Musuka 3d8c944bcc feat(ppu): implement bg priority and transparency 2022-03-02 01:39:05 -04:00
Rekai Nyangadzayi Musuka 97de5d1a96 fix: palette id is a u16 not a u8 2022-02-28 17:32:10 -04:00
Rekai Nyangadzayi Musuka b65f833b28 feat(ppu): implement transparency + backdrop in mode 0 2022-02-26 18:33:16 -06:00
Rekai Nyangadzayi Musuka e426f2459e fix: resolve integer overflow in BG0 Drawing 2022-02-19 06:55:30 -04:00
Rekai Nyangadzayi Musuka 07343efdf3 chore: correct logic errors in map size 1 and 3 2022-02-16 23:49:08 -04:00
Rekai Nyangadzayi Musuka 034f2e8d1d feat: implement hofs and vofs on io bus 2022-02-16 04:29:04 -04:00
Rekai Nyangadzayi Musuka d275a4890f feat: implement scrolling 2022-02-16 03:37:25 -04:00
Rekai Nyangadzayi Musuka ce97a52868 feat: add support for multiple BGs in Mode 0 2022-02-16 03:27:06 -04:00
Rekai Nyangadzayi Musuka d2d4667f7b feat: document mode 0 2022-02-16 03:05:19 -04:00
Rekai Nyangadzayi Musuka 5835b509e4 feat: Mode 0 MVP 2022-02-16 02:27:15 -04:00
Rekai Nyangadzayi Musuka 338122ed43 chore: use zig slices for fun 2022-02-13 05:28:56 -04:00
Rekai Nyangadzayi Musuka e5a76a3c02 chore: give DISPCNT DISPSTAT and VCOUNT to PPU struct 2022-02-13 04:28:15 -04:00
Rekai Nyangadzayi Musuka ec25a9aae4 feat: implement BG Scrolling Registers 2022-02-13 04:04:10 -04:00
Rekai Nyangadzayi Musuka aca7fc9a60 feat: implement OAM 2022-02-13 02:30:02 -04:00
Rekai Nyangadzayi Musuka 78080b4682 fix: zero initialize all allocated memory 2022-02-05 15:54:53 -04:00
Rekai Nyangadzayi Musuka 6c7934be70 fix: resolve off by n * 2 when accessing Palette during BG Mode 4 2022-02-01 22:56:53 -04:00
Rekai Nyangadzayi Musuka f6e4b4931f chore: don't panic on unsupported BG mode 2022-01-30 02:43:11 -04:00
Rekai Nyangadzayi Musuka 8c248ffb11 chore: zero-initialize VRAM 2022-01-30 02:39:16 -04:00
Rekai Nyangadzayi Musuka 769c67b9d4 chore: remove some magic constants 2022-01-12 00:46:20 -04:00
Rekai Nyangadzayi Musuka fd5006b29d fix(ppu): properly access Mode 4 palette 2022-01-10 07:23:54 -04:00
Rekai Nyangadzayi Musuka 7c5d2d2389 feat(ppu): implement Mode 4
Implementation is not tested. Pending on LDM and STM so that I can
run beeg.gba
2022-01-10 03:35:24 -04:00
Rekai Nyangadzayi Musuka 0d4c850218 chore: remove premature inlines 2022-01-10 01:24:14 -04:00
Rekai Nyangadzayi Musuka c54145ce3c chore: improve code clarity 2022-01-09 23:34:33 -04:00
Rekai Nyangadzayi Musuka ead6d1ce49 feat(ppu): improve timings + implement BG mode 3 bitmap 2022-01-09 22:16:34 -04:00
Rekai Nyangadzayi Musuka 581285a434 fix: allocate framebuf on heap 2022-01-08 20:30:57 -04:00
Rekai Nyangadzayi Musuka 8fb666624f fix(ppu): deallocate palette RAM on cleanup 2022-01-07 22:27:08 -04:00
Rekai Nyangadzayi Musuka 568c374131 chore: code cleanup 2022-01-07 20:00:42 -04:00