Commit Graph

38 Commits

Author SHA1 Message Date
Rekai Nyangadzayi Musuka daad98bbfe feat(cpu): implement format 12 thumb instructions 2022-10-21 05:11:57 -03:00
Rekai Nyangadzayi Musuka 96d21f27a5 feat(cpu): implement THUMB format 5 instructions 2022-10-21 05:11:57 -03:00
Rekai Nyangadzayi Musuka 793110f315 chore: mgba log now supports printing THUMB instructions 2022-10-21 05:11:57 -03:00
Rekai Nyangadzayi Musuka 5ed5c5d52d feat(cpu): implement like 1 THUMB instruction 2022-10-21 05:11:57 -03:00
Rekai Nyangadzayi Musuka 01385ee46b chore: distinguish between undefined ARM and THUMB instr 2022-10-21 05:11:57 -03:00
Rekai Nyangadzayi Musuka 0eba3aca1f chore(cpu): lay groundwork for THUMB instruction decoding and execution 2022-10-21 05:11:57 -03:00
Rekai Nyangadzayi Musuka 83a5370196 chore(cpu): refactor ARM functions to make room for THUMB 2022-10-21 05:11:56 -03:00
Rekai Nyangadzayi Musuka b0b6247f06 fix(cpu): fix conditions for GT cond 2022-10-21 05:11:56 -03:00
Rekai Nyangadzayi Musuka 97b933d9ea feat(cpu): implement branch and exchange
If I want to continue with armwrestler, I'll have to implement
THUMB instructions now
2022-10-21 05:11:56 -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 527bd2889e feat(cpu): implement LDM/STM 2022-10-21 05:11:53 -03:00
Rekai Nyangadzayi Musuka 357211a4cc chore: remove premature inlines 2022-10-21 05:11:52 -03:00
Rekai Nyangadzayi Musuka 2cec8d9f70 chore: improve code clarity 2022-10-21 05:11:51 -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 d54c8df7b3 feat(sched): add HBlank and VBlank events to the scheduler 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 44424e0687 chore: comment-out logging by default 2022-10-21 05:11:48 -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
Rekai Nyangadzayi Musuka c6de540c8a feat(cpu): implement skipBios method 2022-10-21 05:11:46 -03:00
Rekai Nyangadzayi Musuka cbcc6282df feat(bus): add Io Struct
Also, add more information to all panic messages
2022-10-21 05:11:46 -03:00
Rekai Nyangadzayi Musuka 614ac4a262 chore: rename consturctors to fit convention 2022-10-21 05:11:45 -03:00
Rekai Nyangadzayi Musuka 80d49e03d6 chore: move bitfield library to lib director
I'd presonally prefer to use a git submodule here but It doesn't quite
seem like git submodules are possible for individual files. I'll have to
check with FlorenceOS every once and a while to ensure that there are no
lingering soundness issues with the library.

Thanks to @N00byEdge for this wonderful library!
2022-10-21 05:11:45 -03:00
Rekai Nyangadzayi Musuka 7016fcdb79 chore: use bitfield library 2022-10-21 05:11:45 -03:00
Rekai Nyangadzayi Musuka f030889d6c feat(bus): emu is now able to read from user-provided BIOS 2022-10-21 05:11:45 -03:00
Rekai Nyangadzayi Musuka d50aff30c9 feat(bus): implement Gameboy Advance MMIO 2022-10-21 05:11:45 -03:00
Rekai Nyangadzayi Musuka d660babecd fix(cpu): purposely overflow when calculating PC during branch 2022-10-21 05:11:44 -03:00
Rekai Nyangadzayi Musuka cb06c20864 feat(cpu): implement condition field behaviour 2022-10-21 05:11:44 -03:00
Rekai Nyangadzayi Musuka c98e8d384a chore: conform to zig style guides 2022-10-21 05:11:44 -03:00
Rekai Nyangadzayi Musuka 446eeba094 chore: run zig fmt 2022-10-21 05:11:44 -03:00
Rekai Nyangadzayi Musuka e841bf44ca chore(cpu): iron out some false assumptions 2022-10-21 05:11:44 -03:00
Rekai Nyangadzayi Musuka 1991bd8525 feat: implement LDR STR 2022-10-21 05:11:44 -03:00
Rekai Nyangadzayi Musuka 6c6d7d463d chore: run zig fmt 2022-10-21 05:11:43 -03:00
Rekai Nyangadzayi Musuka 5b3b81e4dc Initial Commit 2021-12-29 15:09:00 -06:00