Implement Instruction Pipeline #3

Merged
paoda merged 20 commits from pipeline into main 2022-10-17 19:42:42 +00:00
Owner
No description provided.
paoda added 20 commits 2022-10-13 03:36:28 +00:00
b3ada64e64 feat: implement basic pipeline
passes arm.gba, thumb.gb and armwrestler, fails in actual games
TODO: run FuzzARM debug specific titles
72a63eeb98 chore: instantly refill the pipeline on flush
I believe this to be necessary in order to get hardware interrupts
working.

thumb.gba test 108 fails but I'm committing anyways (despite the
regression) because this is kind of rebase/merge hell and I have
something that at least sort of works rn
3cf1bf54e9 fix: reimpl THUMB.5 instructions
pipeline branch now passes arm.gba and thumb.gba again

(TODO: Stop rewriting my commits away)
e4451738b5 fix: advance r15, even when the pipeline is reloaded from the scheduler
The PC would fall behind whenever an IRQ was called because the pipeline
was reloaded (+8 to PC), however that was never actually done by any code

Now, the PC is always incremented when the pipeline is reloaded
d3514b14f3 fix: resolve timing regressions
make sure to use fetch timings when fetching instructions
paoda merged commit f38c840d32 into main 2022-10-17 19:42:42 +00:00
paoda changed title from Draft: Implement Instruction Pipeline to Implement Instruction Pipeline 2022-10-17 19:42:56 +00:00
paoda deleted branch pipeline 2022-10-17 19:43:00 +00:00
Sign in to join this conversation.
No reviewers
No Label
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: paoda/zba#3
No description provided.