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

New semantics of our interrupt devices #136

Open
sy2002 opened this issue Sep 15, 2020 · 4 comments
Open

New semantics of our interrupt devices #136

sy2002 opened this issue Sep 15, 2020 · 4 comments
Assignees
Labels

Comments

@sy2002
Copy link
Owner

sy2002 commented Sep 15, 2020

  • We need to document these semantics somewhere (possible interrupt device documentation, best practice programming, ...)
  • One new best practice is, to set the ISR to the own RTI before disabling an interrupt.
  • The timer will be disabled if any of the two registers prescaler or timer is zero.
  • The VGA scanline interrupt will be disabled, if bit 15 of the scanline register is set.
  • Test programs (timer test, fancy, ...) need to be adjusted
  • Emulator needs to be adjusted
  • sysdef.asm (and comments within sysdef.asm)?
  • Others?
@sy2002 sy2002 added the V1.7 label Sep 15, 2020
MJoergen added a commit that referenced this issue Sep 17, 2020
The VGA scanline interrupt will be disabled, if bit 15 of the scanline
register is set.

See Issue #136.
sy2002 added a commit that referenced this issue Sep 17, 2020
@sy2002
Copy link
Owner Author

sy2002 commented Sep 17, 2020

We must not forget to adjust the assembler and C test programs to adhere to these new semantics and to our new ISR best practices. I adjusted test_programs/fancy.asm but all the others are still adhering to the old semantics.

@sy2002
Copy link
Owner Author

sy2002 commented Sep 19, 2020

We also must not forget to adjust all assembler and C test programs to activate interrupts at first because interrupts are now disabled by default (see #139 (comment))

@MJoergen
Copy link
Collaborator

I suggest the Monitor enables global interrupt.

@sy2002
Copy link
Owner Author

sy2002 commented Sep 19, 2020

@MJoergen Can you take this one and finalize it? The remaining TODOs as far as I oversee them correctly are:

  • Hardware: Adjust the VGA to the new semantics
  • Hardware: Adjust the timer module to the new semantics and also adjust the comments in the two file's headers as they describe the old semantics
  • Make sure the Monitor enables the global interrupt
  • Adjust fancy to the new semantics
  • Adjust all other interrupt test and demo programs in assembler and in C

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

No branches or pull requests

3 participants