71 Commits

Author SHA1 Message Date
8d32d9788e chore: reimplement object rendering
TODO: implement affine sprites
2022-10-21 05:12:48 -03:00
b18f488b01 chore: small changes to normal background drawing code 2022-10-21 05:12:48 -03:00
4b4242df2a feat: implement affine backgrounds 2022-10-21 05:12:48 -03:00
02fee16561 fix: replace affine bg register bitfields with signed integers 2022-10-21 05:12:48 -03:00
bf8521eb5e chore: use stdlib endian-aware integer read/write functions 2022-10-21 05:12:47 -03:00
9134456229 chore: simplify 4bpp palette code 2022-10-21 05:12:45 -03:00
0ef71ecb49 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-10-21 05:12:45 -03:00
2664f5cf20 chore: improve APU accuracy + scheduler refactoring 2022-10-21 05:12:43 -03:00
29ee225c1f feat: stub Affine BG registers 2022-10-21 05:12:43 -03:00
ff6d2517be fix: resolve out-of-bounds error with 8bpp tall / horizontal sprites
Boot ROM is now enabled by default as well
2022-10-21 05:12:43 -03:00
b97b66927f feat: implement double buffering 2022-10-21 05:12:42 -03:00
570ff8536c chore: resolve incorrect memory mirror in VRAM
+ stub GPIO registers on ROM Write
2022-10-21 05:12:41 -03:00
a102d68e99 chore: define affine sprite attributes 2022-10-21 05:12:41 -03:00
61483b93e8 feat: stub mode 1 and 2 2022-10-21 05:12:40 -03:00
192d7645eb feat: implement mode 5
I wonder which obscure game makes heavy use of this mode
2022-10-21 05:12:40 -03:00
e690f88cda chore: misc improvements 2022-10-21 05:12:37 -03:00
c03c142b14 feat: implement ARM read open bus 2022-10-21 05:12:35 -03:00
a92989ed24 chore: remove magic numbers 2022-10-21 05:12:35 -03:00
27ad8772ea feat: pass jsmolka memory.gba 2022-10-21 05:12:34 -03:00
135987745c chore: ignore instead of logging errors for perf reasons 2022-10-21 05:12:34 -03:00
e69f4cfafe chore: tick scheduler on memory access 2022-10-21 05:12:33 -03:00
601e717850 chore: reimplement bus read/writes 2022-10-21 05:12:33 -03:00
677eecad41 chore: rewrite read/write methods for remainig Bus devices 2022-10-21 05:12:32 -03:00
74b6fa2ecc chore: mirror VRAM 2022-10-21 05:12:31 -03:00
effb6315e9 chore: write generic read/write for VRAM 2022-10-21 05:12:31 -03:00
242627199b chore: properly deallocate OAM buffer 2022-10-21 05:12:29 -03:00
20f39176c6 feat: minor performance improvements 2022-10-21 05:12:29 -03:00
ed792d71d3 feat: switch from BGR555 to RGBA8888 2022-10-21 05:12:28 -03:00
9dcecc0d58 fix: move code in scheduler to ppu 2022-10-21 05:12:27 -03:00
74cda6a1d0 fix: resolve relative sprite priority issues 2022-10-21 05:12:27 -03:00
15191aedca fix: implement sprite coord overflow behaviour 2022-10-21 05:12:26 -03:00
63486f13f2 fix: resolve issues with sprite mirroring 2022-10-21 05:12:25 -03:00
17455e40d1 feat: Implement MVP of Mode 0 Sprites 2022-10-21 05:12:25 -03:00
d54e593276 chore: clean up io 2022-10-21 05:12:25 -03:00
c6a544a824 feat: fix tile flipping issue 2022-10-21 05:12:25 -03:00
e3ae3635bc chore: add some type definitions for sprites 2022-10-21 05:12:25 -03:00
12c628e82c chore(ppu): resolve integer overflow regression 2022-10-21 05:12:24 -03:00
5f9abf69d3 feat(ppu): implement bg priority and transparency 2022-10-21 05:12:24 -03:00
02d2ff3e0c fix: palette id is a u16 not a u8 2022-10-21 05:12:24 -03:00
6d253cc74e feat(ppu): implement transparency + backdrop in mode 0 2022-10-21 05:12:23 -03:00
50dc31447d fix: resolve integer overflow in BG0 Drawing 2022-10-21 05:12:22 -03:00
f19b42baf3 chore: correct logic errors in map size 1 and 3 2022-10-21 05:12:21 -03:00
4405fa6bbf feat: implement hofs and vofs on io bus 2022-10-21 05:12:21 -03:00
e2b2bf882a feat: implement scrolling 2022-10-21 05:12:21 -03:00
08e4eb1bf1 feat: add support for multiple BGs in Mode 0 2022-10-21 05:12:20 -03:00
f4b176a813 feat: document mode 0 2022-10-21 05:12:20 -03:00
efc7d817db feat: Mode 0 MVP 2022-10-21 05:12:20 -03:00
1b17b1eb0c chore: use zig slices for fun 2022-10-21 05:12:20 -03:00
fab6d4c2a2 chore: give DISPCNT DISPSTAT and VCOUNT to PPU struct 2022-10-21 05:12:20 -03:00
dfd0d064de feat: implement BG Scrolling Registers 2022-10-21 05:12:19 -03:00