87 Commits

Author SHA1 Message Date
f6c8d7ca07 chore: stub CPU HALTing 2022-02-17 00:27:34 -04:00
8ab7a178c1 chore(cpu): reimplement bank switching logic 2022-02-12 04:33:32 -04:00
783706193b fix: properly decode format 11 instructions 2022-02-12 03:13:38 -04:00
ee27053db3 chore: remove TODOs and some useless imports 2022-02-06 19:07:23 -04:00
7441dd151c fix: improper condition check and initialization of register 2022-02-06 18:41:16 -04:00
2842345111 chore: remove unnecessary @as calls 2022-02-05 21:01:39 -04:00
b4d20fb264 chore: refactor ARMv4 decoding 2022-02-05 13:46:55 -04:00
746158043d chore: add more debug information to CPU panic method 2022-02-05 13:46:24 -04:00
25300c8a9f chore: give more descriptive panic messages when changing mode fails 2022-02-04 16:54:57 -04:00
27d0ba8c7e chore: clean up THUMB instruction decoding 2022-02-04 15:57:46 -04:00
b233981a34 feat: rename ARM and THUMB SWI functions 2022-02-04 04:34:47 -04:00
1b8db0c427 chore: group THUMB and select ARM instructions together (same file) 2022-02-04 04:18:20 -04:00
6ab4610a81 fix(cpu): properly decode format 7 and 8 2022-02-03 01:29:18 -04:00
027e4fb57b feat(cpu): implement THUMB format 17 2022-02-02 22:31:08 -04:00
1378c809e6 feat(cpu): implement THUMB format11 2022-02-02 22:30:46 -04:00
99492a6782 chore: progress towards passing ldr/str thumb in armwrestler 2022-02-02 21:14:46 -04:00
045c98de1f chore: use if-else when decoding THUMB instructions 2022-02-02 18:48:47 -04:00
d95efa5b12 feat: implement LDM/STM behaviour when S is set 2022-02-02 16:12:47 -04:00
30bad76e44 feat(cpu): decode and implement all necessary ARM CPU instructions 2022-02-02 12:06:41 -04:00
c34c2ee6eb feat(cpu): implement ARM SWP and SWPB 2022-02-02 08:44:33 -04:00
48017b45f5 feat(cpu): Implement Multiply Long ARM instructions 2022-02-01 22:09:38 -04:00
a80600156d feat(cpu): implement format 18 THUMB instructions 2022-02-01 19:12:01 -04:00
0d7600ed7a chore: more detailed panic message 2022-02-01 19:11:56 -04:00
ca41f6a85c feat(cpu): implement format 10 THUMB instructions 2022-02-01 17:56:11 -04:00
dd632975f8 fix(cpu): properly decode multiply instructions 2022-01-30 02:16:12 -04:00
a459d4b433 feat(cpu): implement ARM multiply instructions 2022-01-30 02:04:24 -04:00
8d1df7ae43 fix(cpu): properly decode ldm stm thumb instructions 2022-01-30 01:12:34 -04:00
6ffaf12804 fix(cpu): properly decode THUMB PUSH and POP at comptime 2022-01-30 00:16:13 -04:00
e18f10126e feat(cpu): implement thumb push / pop and stub format 13 thumb instrs 2022-01-29 23:22:10 -04:00
0598ba402d feat(cpu): implement THUMB format 9 loads / stores 2022-01-29 22:34:40 -04:00
00058f6094 feat(cpu): implement THUMB ldmia stmia 2022-01-29 21:10:14 -04:00
2dde47318c chore: implement THUMB format 4 instructions 2022-01-29 20:42:13 -04:00
e0acabf050 chore: relocate barrel_shifter zig file 2022-01-29 18:52:16 -04:00
599e068c7e feat(cpu): implement format2 THUMB instructions 2022-01-29 18:46:27 -04:00
4ca65caef0 feat(cpu): implement format19 THUMB instructions 2022-01-29 18:25:50 -04:00
0c49bf2288 chore: account for THUMB BL instruction when mimicking mGBA logs 2022-01-29 18:14:00 -04:00
44dbdba48c feat(cpu): implement format16 THUMB instructions 2022-01-29 17:44:04 -04:00
d85e0c8d05 feat(cpu): implement format 1 THUMB instructions 2022-01-29 17:29:30 -04:00
cfbd292edc feat(cpu): implement format 6 THUMB instructions 2022-01-29 01:18:41 -04:00
19359f7ee4 chore: mark indexing methods as inline 2022-01-28 17:11:29 -04:00
24f0922f86 feat: create emulator thread 2022-01-28 16:33:38 -04:00
b1cc985230 chore: disable logging by default 2022-01-25 18:20:30 -04:00
e5c8f0ce07 chore: revert fastboot changes 2022-01-25 18:20:01 -04:00
fbc5b309b0 chore: binary logging + file logging + DP chanes + fastBoot changes 2022-01-25 18:18:52 -04:00
540fbf739a chore: rename skipBios to fastBoot 2022-01-25 11:15:17 -04:00
0546b1c308 chore: set correct values for select banked registers on fast boot 2022-01-25 11:14:15 -04:00
997dc1314c feat(cpu): implement SWI 2022-01-25 10:34:21 -04:00
bf36a23722 feat(cpu): implement banked registers 2022-01-19 07:29:49 -04:00
fc5a3460dd fix(cpu): improve MRS and MSR instructions 2022-01-18 20:17:00 -04:00
2a416fb2c6 feat(cpu): implement format 12 thumb instructions 2022-01-17 10:07:50 -04:00