Commit Graph

76 Commits

Author SHA1 Message Date
Rekai Nyangadzayi Musuka 01e15584da chore: group THUMB and select ARM instructions together (same file) 2022-10-21 05:12:13 -03:00
Rekai Nyangadzayi Musuka 3e786d02ac fix(cpu): properly decode format 7 and 8 2022-10-21 05:12:12 -03:00
Rekai Nyangadzayi Musuka e6a0eab667 feat(cpu): implement THUMB format 17 2022-10-21 05:12:12 -03:00
Rekai Nyangadzayi Musuka 523b9d2736 feat(cpu): implement THUMB format11 2022-10-21 05:12:12 -03:00
Rekai Nyangadzayi Musuka c37546d273 chore: progress towards passing ldr/str thumb in armwrestler 2022-10-21 05:12:11 -03:00
Rekai Nyangadzayi Musuka 152dafbdf7 chore: use if-else when decoding THUMB instructions 2022-10-21 05:12:10 -03:00
Rekai Nyangadzayi Musuka 85e0924669 feat: implement LDM/STM behaviour when S is set 2022-10-21 05:12:10 -03:00
Rekai Nyangadzayi Musuka 696cc1b359 feat(cpu): decode and implement all necessary ARM CPU instructions 2022-10-21 05:12:10 -03:00
Rekai Nyangadzayi Musuka 151de2eab4 feat(cpu): implement ARM SWP and SWPB 2022-10-21 05:12:10 -03:00
Rekai Nyangadzayi Musuka da681c946e feat(cpu): Implement Multiply Long ARM instructions 2022-10-21 05:12:09 -03:00
Rekai Nyangadzayi Musuka 7013389288 feat(cpu): implement format 18 THUMB instructions 2022-10-21 05:12:09 -03:00
Rekai Nyangadzayi Musuka 443520ecae chore: more detailed panic message 2022-10-21 05:12:09 -03:00
Rekai Nyangadzayi Musuka 96d7285111 feat(cpu): implement format 10 THUMB instructions 2022-10-21 05:12:08 -03:00
Rekai Nyangadzayi Musuka e1fec48a0e fix(cpu): properly decode multiply instructions 2022-10-21 05:12:07 -03:00
Rekai Nyangadzayi Musuka 0778ee8dd7 feat(cpu): implement ARM multiply instructions 2022-10-21 05:12:07 -03:00
Rekai Nyangadzayi Musuka eabf787305 fix(cpu): properly decode ldm stm thumb instructions 2022-10-21 05:12:07 -03:00
Rekai Nyangadzayi Musuka 980e4ff5dd fix(cpu): properly decode THUMB PUSH and POP at comptime 2022-10-21 05:12:06 -03:00
Rekai Nyangadzayi Musuka d6ed071bc6 feat(cpu): implement thumb push / pop and stub format 13 thumb instrs 2022-10-21 05:12:06 -03:00
Rekai Nyangadzayi Musuka a3d53d40fb feat(cpu): implement THUMB format 9 loads / stores 2022-10-21 05:12:06 -03:00
Rekai Nyangadzayi Musuka b9a81baa47 feat(cpu): implement THUMB ldmia stmia 2022-10-21 05:12:06 -03:00
Rekai Nyangadzayi Musuka 97b236225e chore: implement THUMB format 4 instructions 2022-10-21 05:12:05 -03:00
Rekai Nyangadzayi Musuka 2643504eb5 chore: relocate barrel_shifter zig file 2022-10-21 05:12:05 -03:00
Rekai Nyangadzayi Musuka f7518d1bab feat(cpu): implement format2 THUMB instructions 2022-10-21 05:12:05 -03:00
Rekai Nyangadzayi Musuka 800ca798cd feat(cpu): implement format19 THUMB instructions 2022-10-21 05:12:05 -03:00
Rekai Nyangadzayi Musuka d714ffb4f9 chore: account for THUMB BL instruction when mimicking mGBA logs 2022-10-21 05:12:04 -03:00
Rekai Nyangadzayi Musuka 7bc186a03c feat(cpu): implement format16 THUMB instructions 2022-10-21 05:12:04 -03:00
Rekai Nyangadzayi Musuka b94b87d186 feat(cpu): implement format 1 THUMB instructions 2022-10-21 05:12:04 -03:00
Rekai Nyangadzayi Musuka 93922b65e3 feat(cpu): implement format 6 THUMB instructions 2022-10-21 05:12:04 -03:00
Rekai Nyangadzayi Musuka 464479b986 chore: mark indexing methods as inline 2022-10-21 05:12:03 -03:00
Rekai Nyangadzayi Musuka de1c84914c feat: create emulator thread 2022-10-21 05:12:03 -03:00
Rekai Nyangadzayi Musuka 8e7766e694 chore: disable logging by default 2022-10-21 05:12:03 -03:00
Rekai Nyangadzayi Musuka 4858dbc5dc chore: revert fastboot changes 2022-10-21 05:12:03 -03:00
Rekai Nyangadzayi Musuka c4e131b92d chore: binary logging + file logging + DP chanes + fastBoot changes 2022-10-21 05:12:02 -03:00
Rekai Nyangadzayi Musuka 2e54be76d6 chore: rename skipBios to fastBoot 2022-10-21 05:12:02 -03:00
Rekai Nyangadzayi Musuka 7914268702 chore: set correct values for select banked registers on fast boot 2022-10-21 05:12:02 -03:00
Rekai Nyangadzayi Musuka 4bdb85834c feat(cpu): implement SWI 2022-10-21 05:12:02 -03:00
Rekai Nyangadzayi Musuka eb632056a2 feat(cpu): implement banked registers 2022-10-21 05:12:01 -03:00
Rekai Nyangadzayi Musuka fbc9de0335 fix(cpu): improve MRS and MSR instructions 2022-10-21 05:12:01 -03:00
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