27 Commits

Author SHA1 Message Date
af1887e0a6 feat: schedule audio sampling on scheduler
DMA sound in games like Pokemon Emerald, Chobits, Love Hina, and Kirby:
Nightmare in Dream Land sound great save for conerns about resampling
2022-10-21 05:12:36 -03:00
c03c142b14 feat: implement ARM read open bus 2022-10-21 05:12:35 -03:00
e69f4cfafe chore: tick scheduler on memory access 2022-10-21 05:12:33 -03:00
b6d2084c96 chore: run zigfmt 2022-10-21 05:12:32 -03:00
2d16e4a4e6 chore: move DMA and Timers from io to bus 2022-10-21 05:12:28 -03:00
9dcecc0d58 fix: move code in scheduler to ppu 2022-10-21 05:12:27 -03:00
e3e45cd129 feat: implement Timers 2022-10-21 05:12:26 -03:00
6723bfb364 feat: improve DMA Transfer support 2022-10-21 05:12:25 -03:00
d30a4d7ee5 feat: implement Hblank and Vcount Interrupts
Also implemented unique behaviour when writing to IF
2022-10-21 05:12:22 -03:00
fab6d4c2a2 chore: give DISPCNT DISPSTAT and VCOUNT to PPU struct 2022-10-21 05:12:20 -03:00
603e4b6fdf chore: make use of scoped logging 2022-10-21 05:12:18 -03:00
8e383d55d7 chore: refactor GBA Display Timings
This change should reflect that the Hblank bit of DISPSTAT is toggled on all scanlines
while also ensuring that the Vblank bit is set on all Vblank scanlines
2022-10-21 05:12:03 -03:00
15dc4ce03a chore(io): DISPSTAT bits 3 and 4 better match GBATEK documentation 2022-10-21 05:11:52 -03:00
357211a4cc chore: remove premature inlines 2022-10-21 05:11:52 -03:00
c4c4332485 chore: add FPS counter 2022-10-21 05:11:51 -03:00
2cec8d9f70 chore: improve code clarity 2022-10-21 05:11:51 -03:00
8348d7c4bc feat(ppu): improve timings + implement BG mode 3 bitmap 2022-10-21 05:11:51 -03:00
036b861b05 chore: code cleanup 2022-10-21 05:11:50 -03:00
880546468c chore(bus): refactor bus.zig 2022-10-21 05:11:50 -03:00
ee4fcd926b fix: by convention deinit() should not take pointers to self 2022-10-21 05:11:49 -03:00
9d1229fe0c feat: implement PPU Timings in Scheduler 2022-10-21 05:11:49 -03:00
d54c8df7b3 feat(sched): add HBlank and VBlank events to the scheduler 2022-10-21 05:11:49 -03:00
da7300a78c chore: remove all memory leaks 2022-10-21 05:11:47 -03:00
cbcc6282df feat(bus): add Io Struct
Also, add more information to all panic messages
2022-10-21 05:11:46 -03:00
614ac4a262 chore: rename consturctors to fit convention 2022-10-21 05:11:45 -03:00
c98e8d384a chore: conform to zig style guides 2022-10-21 05:11:44 -03:00
5b3b81e4dc Initial Commit 2021-12-29 15:09:00 -06:00