Path: utzoo!utgpu!news-server.csri.toronto.edu!rutgers!cs.utexas.edu!swrinde!zaphod.mps.ohio-state.edu!rpi!ispd-newsserver!hoffmann From: hoffmann@acl.kodak.com (marty hoffmann) Newsgroups: comp.sys.amiga.programmer Subject: Need a helping hand(ler) Message-ID: <1991Jan31.133838.22329@ssd.kodak.com> Date: 31 Jan 91 13:38:38 GMT Sender: news@ssd.kodak.com Distribution: usa Organization: Eastman Kodak Lines: 31 Originator: hoffmann@acl I'm trying to write a handler for the input device under 1.3, but I can't seem to get the system to ever call it. I'm using a very old version of the ROM Kernal Manual as a guide, and I've done the following: - created a port - created an io request (giving it the port) - initialized three fields of an Interrupt structure (is_Code, is_Data, and ..._ln_Pri (priority 51)) - opened the input device (giving it the request) - initialized the io request for an ..._ADDHANDLER (the io_Command and io_Data(?) fields) - called DoIO() The code pointed to by is_Code is a little assembler routine which moves the the two arguments (A0 and A1?) onto the stack and then JSR's to my handler written in C. After the call, it adds #8 to A7 and returns (this is just like it shows in my copy of the ROM Kernal manual -- page 3-113 I think). Anyway, the creates, open, and DoIO all return OK status, but it appears that my handler never gets called (the handler simply increments a global variable in the program and returns the event list untouched -- the global variable never appears to change). When my program exits (and tries to cleanup the mess created above) it's GURU city. Am I missing anything obvious? Anything obscure? Thanks in advance, MRH