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

integrate updated DCPU implementation with Entitas #9

Open
icarroll opened this issue Jul 7, 2017 · 1 comment
Open

integrate updated DCPU implementation with Entitas #9

icarroll opened this issue Jul 7, 2017 · 1 comment
Assignees

Comments

@icarroll
Copy link

icarroll commented Jul 7, 2017

No description provided.

@icarroll
Copy link
Author

  • each DCPU and peripheral entity will have an interrupt queue component
  • any peripheral with an interrupt in its queue will be run by that peripheral's system at the next tick
  • peripheral entities that need to do additional processing or counting elapsed time will have an arrangement with their systems such as a GO flag component
  • DCPU entity will have a GO flag component that can be used by peripherals (such as the disk drive) to stop the DCPU from executing until the requested blocking operation is complete
  • in general, peripherals will service interrupts in their queue regardless of whether they have a GO flag
  • my (Octa9on/icarroll) reading of the spec is that while a long hardware interrupt is being executed (blocking disk read for example), no other interrupts are serviced
    • this could cause problems with running background processes (like making sure the ship flies straight), so perhaps we should implement different behavior

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

No branches or pull requests

2 participants