Title: | Atari ST, TT, & Falcon |
Notice: | Please read note 1.0 and its replies before posting! |
Moderator: | FUNYET::ANDERSON |
Created: | Mon Apr 04 1988 |
Last Modified: | Tue May 06 1997 |
Last Successful Update: | Fri Jun 06 1997 |
Number of topics: | 1433 |
Total number of notes: | 10312 |
Help! In an attempt to write MIDI software, I've got to the point where I need to use interrupts. I have the Personal Pascal Language, and Tackle Box which describes the interrups levels, etc. I did the following, and got the 'STACK OVERUNS HEAP' box, at which point my system was hung. Decided to use system timer A Used GET_PROC_ADDR to get routine address of a small routine that just writelns('Interupt acknowledged). (returned in MYADDR) called XBTIMER(0,1,2000,myaddr) System was hung at this point... Is anybody out there familiar with programming using interrupts on the ST (preferably in pascal, as I don't have/know C well) Thanks in advance, _John_
T.R | Title | User | Personal Name | Date | Lines |
---|---|---|---|---|---|
284.1 | Turn off stack checking. | BOLT::BAILEY | Constants aren't. Variables don't. | Wed Dec 14 1988 15:39 | 15 |
You must turn off stack checking for the code which is your interrupt handler, because you are executing on the supervisor stack, instead of the user stack. The stack is usually checked on the entrance to each procedure. In Modula-2, you usually do this with a compiler control comment, like (* $S- *). There should be something comparable in Personal Pascal. Also, you may have to get it to generate non-standard procedure entry code. Again, in my version of Modula, there is a compiler control which tells the compiler to generate NO procedure entry code for the following procedure. Steph |