Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Synchronisation #11

Open
Daft-Freak opened this issue Sep 17, 2023 · 0 comments
Open

Synchronisation #11

Daft-Freak opened this issue Sep 17, 2023 · 0 comments

Comments

@Daft-Freak
Copy link
Owner

DERP has mostly inherited the "lazy updates" from DaftBoy(Advance) with the addition of the handling of multiple clocks. This worked fine there with one "master" CPU, two peripherals that don't interact with each other and DMA that doesn't run at the same time as the CPU.

The same does not apply to the RP2040. Two CPUs that should run in parallel... and then DMA, which is itself two bus masters. Plus most of the peripherals need to sync on IO.

Currently there's enough sync for many things to work but occasionally something will get updated in the wrong order and cause an uh "time travel" problem. Another problem is the possibility for too much recursion when peripherals try to update each other. Need to come up with some plan to improve this (without syncing too much for perf reasons)... some kind of scheduling or something? 🤷

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant