93 Commits

Author SHA1 Message Date
7dbd2fc556 fix(cpu): account for rn in rlist in block data transfer 2022-10-21 05:12:10 -03:00
85e0924669 feat: implement LDM/STM behaviour when S is set 2022-10-21 05:12:10 -03:00
97919f646d feat(cpu): Pass all LDR/STR ARMwrestler tests 2022-10-21 05:12:10 -03:00
151de2eab4 feat(cpu): implement ARM SWP and SWPB 2022-10-21 05:12:10 -03:00
da681c946e feat(cpu): Implement Multiply Long ARM instructions 2022-10-21 05:12:09 -03:00
7013389288 feat(cpu): implement format 18 THUMB instructions 2022-10-21 05:12:09 -03:00
443520ecae chore: more detailed panic message 2022-10-21 05:12:09 -03:00
96d7285111 feat(cpu): implement format 10 THUMB instructions 2022-10-21 05:12:08 -03:00
7e6fc44191 feat(cpu): implement SWP 2022-10-21 05:12:08 -03:00
9cb4ebaa7f fix(cpu): perform MUL with u64s, throw away upper 32 bits 2022-10-21 05:12:08 -03:00
e1fec48a0e fix(cpu): properly decode multiply instructions 2022-10-21 05:12:07 -03:00
0778ee8dd7 feat(cpu): implement ARM multiply instructions 2022-10-21 05:12:07 -03:00
980e4ff5dd fix(cpu): properly decode THUMB PUSH and POP at comptime 2022-10-21 05:12:06 -03:00
1ac193c506 fix(cpu): don't ignore 11th bit of THUMB BL offset 2022-10-21 05:12:06 -03:00
d6ed071bc6 feat(cpu): implement thumb push / pop and stub format 13 thumb instrs 2022-10-21 05:12:06 -03:00
a3d53d40fb feat(cpu): implement THUMB format 9 loads / stores 2022-10-21 05:12:06 -03:00
a17dfbe41f fix(cpu): resolve issues with unexpected PC value in THUMB 2022-10-21 05:12:06 -03:00
b9a81baa47 feat(cpu): implement THUMB ldmia stmia 2022-10-21 05:12:06 -03:00
97b236225e chore: implement THUMB format 4 instructions 2022-10-21 05:12:05 -03:00
8113146b86 chore: dedup code in THUMB instructions 2022-10-21 05:12:05 -03:00
e6625113db chore: refactor and genericize ARM data processing calculations 2022-10-21 05:12:05 -03:00
2643504eb5 chore: relocate barrel_shifter zig file 2022-10-21 05:12:05 -03:00
f7518d1bab feat(cpu): implement format2 THUMB instructions 2022-10-21 05:12:05 -03:00
800ca798cd feat(cpu): implement format19 THUMB instructions 2022-10-21 05:12:05 -03:00
7bc186a03c feat(cpu): implement format16 THUMB instructions 2022-10-21 05:12:04 -03:00
b94b87d186 feat(cpu): implement format 1 THUMB instructions 2022-10-21 05:12:04 -03:00
93922b65e3 feat(cpu): implement format 6 THUMB instructions 2022-10-21 05:12:04 -03:00
c4e131b92d chore: binary logging + file logging + DP chanes + fastBoot changes 2022-10-21 05:12:02 -03:00
4bdb85834c feat(cpu): implement SWI 2022-10-21 05:12:02 -03:00
8bb7ea6be6 fix(cpu): interim solution to weird program counter behaviour on illegal tst instruction 2022-10-21 05:12:01 -03:00
60a1f7fa99 chore(cpu): implement behaviour for undefined test instruction 2022-10-21 05:12:01 -03:00
b3b8182f85 fix(cpu): fix PC offset when barrel shifter and bit 4 of DP is set 2022-10-21 05:12:01 -03:00
56e660714c fix(cpu): implement S set + rd == 15 case for data processing 2022-10-21 05:12:01 -03:00
eb632056a2 feat(cpu): implement banked registers 2022-10-21 05:12:01 -03:00
fbc9de0335 fix(cpu): improve MRS and MSR instructions 2022-10-21 05:12:01 -03:00
5c7539cd26 feat(cpu): implement CMN 2022-10-21 05:12:00 -03:00
7c20e5fdb5 fix(barrel_shifter): fix PC being 1 word ahead in barrel shifter 2022-10-21 05:12:00 -03:00
f79e7126ee feat(cpu): Implement RSC 2022-10-21 05:12:00 -03:00
15e92bc6af feat(cpu): implement RSB 2022-10-21 05:12:00 -03:00
47fc96fe00 feat(cpu): implement BIC 2022-10-21 05:12:00 -03:00
4ac5ad42c6 feat(cpu): implement EOR 2022-10-21 05:12:00 -03:00
c93153672f feat(cpu): implement ADD 2022-10-21 05:11:59 -03:00
a46dd448f4 feat(cpu): implement fix for ADC and implement SBC 2022-10-21 05:11:59 -03:00
01f75112ce chore(barrel_shifter): remove panic from ASR 2022-10-21 05:11:59 -03:00
051b98bc02 fix(barrel_shifter): should not modify cpsr when amount == 0 2022-10-21 05:11:59 -03:00
5d0bc1b335 chore(cpu): refactor the barrel shifter once again 2022-10-21 05:11:59 -03:00
43d011538e feat(cpu): implement ADC
ADC interacting w/ the Barrel Shifter is not working though
2022-10-21 05:11:59 -03:00
f3ad5e90ff feat(cpu): implement RRX for Barrel Shifter 2022-10-21 05:11:58 -03:00
9b867c02e0 feat(cpu): implement SUB in THUMB format 3 2022-10-21 05:11:58 -03:00
2ba09868ba feat(cpu): implement ARM SUB in data processing 2022-10-21 05:11:58 -03:00