Commit Graph

373 Commits

Author SHA1 Message Date
Rekai Nyangadzayi Musuka f51e1d3154 fix(cpu): account for r15 in LDR and STR instructions 2022-10-21 05:11:55 -03:00
Rekai Nyangadzayi Musuka a21f94569f fix(cpu): flip two branches in PSR Transfer execution 2022-10-21 05:11:55 -03:00
Rekai Nyangadzayi Musuka b9255bffe7 feat(cpu): implement MSR and MRS 2022-10-21 05:11:55 -03:00
Rekai Nyangadzayi Musuka e1f8400343 feat(cpu): stub PSR Transfer instructions 2022-10-21 05:11:55 -03:00
Rekai Nyangadzayi Musuka 52493831cc chore(io): implement IE and IME 2022-10-21 05:11:54 -03:00
Rekai Nyangadzayi Musuka 00ba7afac4 chore: remove some magic constants 2022-10-21 05:11:54 -03:00
Rekai Nyangadzayi Musuka c703352ac3 Merge branch 'main' of ssh://musuka.dev:2222/paoda/zba 2022-10-21 05:11:54 -03:00
Rekai Nyangadzayi Musuka 97e663febf fix(bus): remove accidental recursion 2022-10-21 05:11:54 -03:00
Rekai Nyangadzayi Musuka 3891b54f42 chore: ignores for building on windows 2022-10-21 05:11:54 -03:00
Rekai Nyangadzayi Musuka 9a5959e46c fix(cpu): write results of ORR to destination register 2022-10-21 05:11:54 -03:00
Rekai Nyangadzayi Musuka 780c717409 feat(cpu): implement TEQ 2022-10-21 05:11:53 -03:00
Rekai Nyangadzayi Musuka 34c6df344d feat(cpu): Implement ORR 2022-10-21 05:11:53 -03:00
Rekai Nyangadzayi Musuka 670347d4a0 feat(bus): implement IWRAM and EWRAM 2022-10-21 05:11:53 -03:00
Rekai Nyangadzayi Musuka e0c4b3b407 fix(ppu): properly access Mode 4 palette 2022-10-21 05:11:53 -03:00
Rekai Nyangadzayi Musuka cffffab8ea feat(cpu): refactor LDM/STM 2022-10-21 05:11:53 -03:00
Rekai Nyangadzayi Musuka 527bd2889e feat(cpu): implement LDM/STM 2022-10-21 05:11:53 -03:00
Rekai Nyangadzayi Musuka 15dc4ce03a chore(io): DISPSTAT bits 3 and 4 better match GBATEK documentation 2022-10-21 05:11:52 -03:00
Rekai Nyangadzayi Musuka 4f629227ab fix(cpu): fix off-by-word bug in BL 2022-10-21 05:11:52 -03:00
Rekai Nyangadzayi Musuka caa799853e feat(bus): have VCOUNT be addressable on the bus 2022-10-21 05:11:52 -03:00
Rekai Nyangadzayi Musuka 3590215d33 feat(ppu): implement Mode 4
Implementation is not tested. Pending on LDM and STM so that I can
run beeg.gba
2022-10-21 05:11:52 -03:00
Rekai Nyangadzayi Musuka d6aafc61bd chore(io): rename some io bitfield fields 2022-10-21 05:11:52 -03:00
Rekai Nyangadzayi Musuka 357211a4cc chore: remove premature inlines 2022-10-21 05:11:52 -03:00
Rekai Nyangadzayi Musuka c4c4332485 chore: add FPS counter 2022-10-21 05:11:51 -03:00
Rekai Nyangadzayi Musuka 2cec8d9f70 chore: improve code clarity 2022-10-21 05:11:51 -03:00
Rekai Nyangadzayi Musuka 8348d7c4bc feat(ppu): improve timings + implement BG mode 3 bitmap 2022-10-21 05:11:51 -03:00
Rekai Nyangadzayi Musuka c33068d831 fix: allocate framebuf on heap 2022-10-21 05:11:51 -03:00
Rekai Nyangadzayi Musuka f28b963f9d chore: add code for heap alloc of white texture 2022-10-21 05:11:51 -03:00
Rekai Nyangadzayi Musuka 7fc77f993f chore(gui): switch from RGBA8888 to BGR5555 to match BG Mode 3 2022-10-21 05:11:51 -03:00
Rekai Nyangadzayi Musuka 0e0b21d8c3 feat: draw white texture using SDL2 2022-10-21 05:11:50 -03:00
Rekai Nyangadzayi Musuka f3ad0eb3aa fix(ppu): deallocate palette RAM on cleanup 2022-10-21 05:11:50 -03:00
Rekai Nyangadzayi Musuka 036b861b05 chore: code cleanup 2022-10-21 05:11:50 -03:00
Rekai Nyangadzayi Musuka 880546468c chore(bus): refactor bus.zig 2022-10-21 05:11:50 -03:00
Rekai Nyangadzayi Musuka 1a9c9ba4cb chore: refactor instruction exec code 2022-10-21 05:11:50 -03:00
Rekai Nyangadzayi Musuka a9e7140a88 chore(io): alias @This() to Self in io.zig 2022-10-21 05:11:50 -03:00
Rekai Nyangadzayi Musuka 808633deb7 chore: refactor bios.zig and pak.zig 2022-10-21 05:11:49 -03:00
Rekai Nyangadzayi Musuka ee4fcd926b fix: by convention deinit() should not take pointers to self 2022-10-21 05:11:49 -03:00
Rekai Nyangadzayi Musuka 9d1229fe0c feat: implement PPU Timings in Scheduler 2022-10-21 05:11:49 -03:00
Rekai Nyangadzayi Musuka d54c8df7b3 feat(sched): add HBlank and VBlank events to the scheduler 2022-10-21 05:11:49 -03:00
Rekai Nyangadzayi Musuka d495f5b4c5 feat: implement S (when rd != 15) for several data processing instructions 2022-10-21 05:11:49 -03:00
Rekai Nyangadzayi Musuka 788bef188d feat: implement dedicated Barrel Shifter SHL and SHR 2022-10-21 05:11:49 -03:00
Rekai Nyangadzayi Musuka bff9be03cc chore: stub TST 2022-10-21 05:11:48 -03:00
Rekai Nyangadzayi Musuka 44424e0687 chore: comment-out logging by default 2022-10-21 05:11:48 -03:00
Rekai Nyangadzayi Musuka 4b43dcd256 fix(cpu): improve LDR/STR write-back logic 2022-10-21 05:11:48 -03:00
Rekai Nyangadzayi Musuka 47805fb60c feat(bus): implement Palette RAM and DISPSTAT 2022-10-21 05:11:48 -03:00
Rekai Nyangadzayi Musuka abe2fc431e fix(bus): restrict Game ROM and VRAM to a 16-bit bus 2022-10-21 05:11:48 -03:00
Rekai Nyangadzayi Musuka 46c694d95a fix(cpu): properly implement SUB/CMP CSPSR carry bit condition 2022-10-21 05:11:48 -03:00
Rekai Nyangadzayi Musuka faced77161 fix(cpu): resolve reversed if statement + write back on W = 0 2022-10-21 05:11:47 -03:00
Rekai Nyangadzayi Musuka 32f0b9d71c chore: add mgba compatible (minus disasm) log function 2022-10-21 05:11:47 -03:00
Rekai Nyangadzayi Musuka bbdcc0a8c2 chore: rename CPSR u32 from val to raw 2022-10-21 05:11:47 -03:00
Rekai Nyangadzayi Musuka 67bf975034 chore: remove print statements 2022-10-21 05:11:47 -03:00