Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!usc!henry.jpl.nasa.gov!elroy.jpl.nasa.gov!hacgate!ashtate!dbase!awd From: awd@dbase.UUCP (Alastair Dallas) Newsgroups: comp.databases Subject: Re: dbase on two systems Summary: Consider a parent/child TSR-type process Message-ID: <318@dbase.UUCP> Date: 6 Dec 89 19:12:38 GMT References: <33026@ucbvax.BERKELEY.EDU> Organization: Ashton Tate Devlopment Center Glendale, Calif. Lines: 39 I'm not clear on exactly what you're trying to do here; if you'd care to be more specific, perhaps I could offer more specific help. For instance, by 'wand' do you mean 'bar code reader'? 'light pen'? One way to do things that are too complicated for LOAD and CALL bin files is to write a driver program such as: main() { patch INT 0x63 (or some unused number) exec("dbase"); unpatch INT 0x63 } isr63() { switch (the contents of reg al) { case 0: /* init */ case 1: /* read wand */ case 2: /* beep wand */ ...etc... } } Then, your wand can generate interrupts which leave data structures around for your isr63() code to read. You can then set up a LOAD/CALL bin file that executes an INT 63. Having separately LOADed modules to patch and unpatch the interrupt makes it likely that you'll exit dBASE without unpatching. Hope it helps. /alastair/