[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference 7.286::atarist

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

284.0. "Any interrupt experts?" by MRSVAX::MISKINIS () Wed Nov 02 1988 02:27

    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.RTitleUserPersonal
Name
DateLines
284.1Turn off stack checking.BOLT::BAILEYConstants aren't. Variables don't.Wed Dec 14 1988 18:3915
    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