|
886b9abf3d
|
fix: force align reads/writes in memory bus rather than in CPU
|
2022-10-21 05:12:32 -03:00 |
|
|
c3ae727ed1
|
fix: improve perf of instructions w/ rotr
|
2022-10-21 05:12:28 -03:00 |
|
|
68b0601a42
|
chore: replace unnecessarily complex sign extension implementation
|
2022-10-21 05:12:24 -03:00 |
|
|
603e4b6fdf
|
chore: make use of scoped logging
|
2022-10-21 05:12:18 -03:00 |
|
|
599a1f2973
|
chore: remove TODOs and some useless imports
|
2022-10-21 05:12:18 -03:00 |
|
|
67a785cc22
|
fix(cpu): force align thumb and arm block data transfers
|
2022-10-21 05:12:18 -03:00 |
|
|
4eb3842606
|
feat: pass arm.gba
|
2022-10-21 05:12:17 -03:00 |
|
|
1ee8b51b2b
|
chore: reimplement ARM LDM/STM
|
2022-10-21 05:12:17 -03:00 |
|
|
130310e5cc
|
chore: improve arm ldm/stm
|
2022-10-21 05:12:17 -03:00 |
|
|
e933d7e5c7
|
fix(cpu): force-align SWP reads and writes
|
2022-10-21 05:12:17 -03:00 |
|
|
44e8b5b882
|
fix: force-align ARM STRH reads
|
2022-10-21 05:12:17 -03:00 |
|
|
28361e8b7d
|
fix: implement the same LDRSH logic as THUMB LDRSH
|
2022-10-21 05:12:16 -03:00 |
|
|
75921d6413
|
fix: PC is 12 ahead when it is rd in str and strb
|
2022-10-21 05:12:16 -03:00 |
|
|
17226d8f75
|
fix: listen to my past self
By deleting this line I go from test 234 to test 355 in arm.gba
|
2022-10-21 05:12:16 -03:00 |
|
|
8006ca31e6
|
chore: remove unnecessary @as calls
|
2022-10-21 05:12:16 -03:00 |
|
|
271f42cf0e
|
feat: rename ARM and THUMB SWI functions
|
2022-10-21 05:12:13 -03:00 |
|
|
01e15584da
|
chore: group THUMB and select ARM instructions together (same file)
|
2022-10-21 05:12:13 -03:00 |
|
|
b4e0682801
|
fix(cpu): allow for select values to overflow
FuzzARM found these operations which panicked, when they should
have overflowed. These are now fixed
n = 8000
|
2022-10-21 05:12:12 -03:00 |
|
|
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 |
|
|
443520ecae
|
chore: more detailed panic message
|
2022-10-21 05:12:09 -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 |
|
|
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 |
|
|
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 |
|