holly@tut.cis.ohio-state.edu (Joe Hollingsworth) (01/30/89)
Some time ago (within the last few months), someone posted a message about the intra applications communications area to either this newswgroup, or to comp.binaries.ibm.pc. The message contained some assembly code to read/write the ICA. I've lost that message and would like to have it now. Does anybody have it laying around? Could you send it to me? On the otherhand, can someone tell me how to get at the ICA from MSC? Thanks, Joe Joe Hollingsworth Computer and Information Science @ OSU holly@cis.ohio-state.edu or ...!{att,pyramid,killer}!cis.ohio-state.edu!holly
ajw@donk.UUCP (ajw) (01/31/89)
In article <32985@tut.cis.ohio-state.edu>, holly@tut.cis.ohio-state.edu (Joe Hollingsworth) writes: > > On the otherhand, can someone tell me how to get at the ICA from MSC? > > Thanks, > Joe > > Joe Hollingsworth Computer and Information Science @ OSU > holly@cis.ohio-state.edu or ...!{att,pyramid,killer}!cis.ohio-state.edu!holly #include <dos.h> char far *ICAptr; FP_SEG(ICAptr) = 0; FP_OFF(ICAptr) = 0x4F0; *ICAptr = <a byte>; *(ICAptr + 1) = <another byte>... Note that ICAptr is a far pointer, so you can't just call strcpy(), or whatever, unless you're prepared to make your entire program large model. -- Alan Waldock, just offering individual opinions while happening to work at Intel Corp, M/S HF2-37, 5200 NE Elam Young Pkwy, Hillsboro, Oregon 97124-6497 ajw@aus.hf.intel.com ...uunet!littlei!intelhf!aus!ajw "Live malloc or die"
simon@ms.uky.edu (Simon Gales) (01/31/89)
In article <242@donk.UUCP> ajw@donk.UUCP (ajw) writes: >In article <32985@tut.cis.ohio-state.edu>, holly@tut.cis.ohio-state.edu (Joe Hollingsworth) writes: >> On the otherhand, can someone tell me how to get at the ICA from MSC? > > #include <dos.h> > char far *ICAptr; > > FP_SEG(ICAptr) = 0; > FP_OFF(ICAptr) = 0x4F0; > How large is this area? Does DOS ever touch it? Any warnings before I go and use it? Is this place set up by the BIOS or by DOS? -- /------------------------------------------------------------------------\ Simon Gales@University of Ky {rutgers, uunet}!ukma!simon - simon@ms.uky.edu - simon@UKMA.BITNET
dmt@mtunb.ATT.COM (Dave Tutelman) (01/31/89)
Answers from Norton's book, p.58: In article <10997@s.ms.uky.edu> simon@ms.uky.edu (Simon Gales) writes: > >How large is this area? 16 bytes. (not much. Enough for a few pointers perhaps.) >Does DOS ever touch it? No, but some applications do. Norton cites IBM Async Comm, Volkswriter, and TimeMark. >Any warnings before I go and use it? Note that the name is INTRA-application, not INTER-application. It's intended to be used by multiple executables in THE SAME application. Don't count on long-term stability of the data; when you run another app, it may change the data. In fact, Norton recommends including a signature and checksum to assure its integrity. I see some limitations to this strategy: - There's very little room for it. - If you restrict yourself to ONLY a single running of one application, you're only vulnerable to apps that use the data area on an interrupt (say, a TSR). I know of no such apps, BUT if they existed.... - ...you'd have to disable interrupts to maintain the checksum/read-data pair as an incorruptible atomic unit. >Is this place set up by the BIOS or by DOS? It's at the end of the BIOS data area. +---------------------------------------------------------------+ | Dave Tutelman | | Physical - AT&T Bell Labs - Lincroft, NJ | | Logical - ...att!mtunb!dmt | | Audible - (201) 576 2442 | +---------------------------------------------------------------+
ajw@donk.UUCP (ajw) (02/01/89)
In article <10997@s.ms.uky.edu>, simon@ms.uky.edu (Simon Gales) writes: [asking about the Intra-Application Communications Area] > How large is this area? Does DOS ever touch it? Any warnings before I > go and use it? Is this place set up by the BIOS or by DOS? > > -- > /------------------------------------------------------------------------\ > Simon Gales@University of Ky > {rutgers, uunet}!ukma!simon - simon@ms.uky.edu - simon@UKMA.BITNET The ICA is sixteen bytes long (4F0-4FF). DOS doesn't touch it. In "Programmers Guide to the PC", Norton lists "some versions of IBM's Asynchronous Communications, Lifetree's Volkswriter, and [his] TimeMark" as programs known to use the area. I dare say that there are some TSR's out there that fool around with it too; evaluate in your own environment, and all that. As to whether it's a DOS or BIOS area - well, it's in the 400-block which is pretty much a BIOS control information repository; however, if you use an operating system other than DOS, there's no guarantee that it will leave this area free unless it says it does... -- Alan Waldock, just offering individual opinions while happening to work at Intel Corp, M/S HF2-37, 5200 NE Elam Young Pkwy, Hillsboro, Oregon 97124-6497 ajw@aus.hf.intel.com ...uunet!littlei!intelhf!aus!ajw "Live malloc or die"