home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.sys.atari.st.tech
- Path: sparky!uunet!Cadence.COM!cadence.com!bammi
- From: bammi@acae127.cadence.com (Jwahar R. Bammi)
- Subject: Re: Detecting GDOS presence
- In-Reply-To: hartlenk@newton.ccs.tuns.ca's message of Wed, 19 Aug 1992 00:56:21 GMT
- Message-ID: <BAMMI.92Aug26113011@acae127.cadence.com>
- Sender: usenet@Cadence.COM (Usenet News)
- Nntp-Posting-Host: acae127
- Organization: Cadence Design Systems
- References: <1992Aug19.005621.8575@newton.ccs.tuns.ca>
- Date: Fri, 14 Aug 1992 03:46:11 GMT
- Lines: 72
-
- In article <1992Aug19.005621.8575@newton.ccs.tuns.ca> hartlenk@newton.ccs.tuns.ca (Kenneth W Hartlen) writes:
-
- > Lattice C v5.x provides a Lattice specific VDI function called
- > vq_gdos() which returns 0 if GDOS is not loaded and non-zero if
- > GDOS is loaded.
- >
- > The description says "This function does not have an official
- > name but uses an Atari approved method for determining the
- > presence of GDOS." Anyone know what the "approved method" is so
- > GDOS presence can be checked from Heat & Serve/Sozobon C?
-
- i seem to recall seeing an atari document that used the same name:
- here is what i have from the gcc gemlib: it should be easy to adapt to
- whatever: ( __MSHORT__ is defined when compiling for 16 bit integers)
-
- int
- vq_gdos(void)
- {
- register int retvalue __asm__("d0");
-
- #ifdef __MSHORT__
- __asm__ volatile
- (" movw #-2,d0
- trap #2
- cmpw #-2,d0
- sne d0
- extw d0"
- : "=r"(retvalue) /* output */
- : /* no input */
- : "d0", "d1", "d2", "a0", "a1", "a2" /* clobbered regs */
- );
- #else
- __asm__ volatile
- (" movw #-2,d0
- trap #2
- cmpw #-2,d0
- sne d0
- extw d0
- extl d0"
- : "=r"(retvalue) /* output */
- : /* no input */
- : "d0", "d1", "d2", "a0", "a1", "a2" /* clobbered regs */
- );
- #endif
-
- return retvalue;
- }
-
- /*
- * return type of GDOS
- * -2L no GDOS installed
- * 0x5F46534DL '_FSM' gdos
- * 0x5F464E54L '_FNT' gdos
- */
- unsigned long vq_vgdos(void)
- {
- register unsigned long ret __asm__("d0");
- __asm__ volatile ("
- movq #-2,d0
- trap #2"
- : "=r"(ret)
- :
- : "d0", "d1", "d2", "a0", "a1", "a2" );
- return ret;
- }
-
- --
- --
- bang: uunet!cadence!bammi jwahar r. bammi
- domain: bammi@cadence.com
- GEnie: J.Bammi
- CIS: 71515,155
-