reeder@reed.UUCP (Doug Reeder) (03/30/89)
Is the "date modified" information for a file only changed when the file is CLOSEd after being written to? Does ProDOS 8 set the user interrupt vector to its own interrupt routine any time after booting? What special precautions have to be taken when using mouse interrupts from the prodos interrupt procedure? When, if ever, during the interrupt response process are interrupts enabled? -- Doug Reeder USENET: ...!tektronix!reed!reeder Box 971 BITNET: reeder@reed.BITNET Imperial University from ARPA: tektronix!reed!reeder@berkeley.EDU Trantor Box 971 Reed College,Portland,OR 97202
mattd@Apple.COM (Matt Deatherage) (04/01/89)
In article <8903312337.AA29587@wpi> GREYELF@WPI.BITNET writes: >Yes, Prodos 8 sets up its own interrupt vector to its interrupt handling >routines on booting. As for special precautions, first allocate an >interrupt routine, activate the hardware, then CLI to enable CPU >recognition of the interrupts. > >Interrupts are only enabled after setting the hardware to generate them, >and issuing a CLI instruction to enable CPU recognition of interrupts. ACK! ACK! ACKI We officially frown on people who do that. CLI, that is. If someone needs interrupts *disabled*, that's just fine. That's reasonable. But most folks (*especially* low-level routines) should not be directly clearing the flag with a CLI instruction? Why? Because the person who called you might need interrupts disabled, and it's not reasonable to expect everyone calling a low-level routine to have to re-set the interrupt flag after any call to an external routine. What we recommend is that those who need to *disable* interrupts do so with the sequence PHP/SEI. When you no longer need interrupts disabled, use PLP. This disables interrupts when necessary, and returns the processor *to the previous interrupt state* when done. GS/OS and ProDOS 8 both keep interrupts enabled at system start time, and don't leave them disabled (since they generally use PHP/SEI/PLP) when unnecessary. So unless using DOS 3.3 (which is old enough not to deal with this problem), try not to specifically turn on interrupts, but rather just restore what was there before you disabled them. If you haven't disabled interrupts, assume they are enabled. >-- >Michael J Pender Jr Box 1942 c/o W.P.I. I wrote SHELL and Daemon, >greyelf@wpi.bitnet 100 Institute Rd. send bug reports, suggestions, >greyelf@wpi.wpi.com Worcester, Ma 01609 checks to me. ----------------------------------------------------------------------------- Matt Deatherage, Apple Computer, Inc. | "The opinions expressed in this tome Send PERSONAL mail ONLY (please) to: | should not be construed to imply that AppleLink PE: Matt DTS GEnie: AIIDTS | Apple Computer, Inc., or any of its CompuServe: 76703,3030 | subsidiaries, in whole or in part, Usenet: mattd@apple.com | have any opinion on any subject." UUCP: (other stuff)!ames!apple!mattd | "So there." -----------------------------------------------------------------------------