home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Computer Club Elmshorn Atari PD
/
CCE_PD.iso
/
pc
/
0600
/
CCE_0636.ZIP
/
CCE_0636
/
GEMLIB
/
GMLIBS30.ZOO
/
vdiqgdos.c
< prev
next >
Wrap
C/C++ Source or Header
|
1992-01-29
|
1KB
|
74 lines
/*
* vqgdos - enquire if GDOS is loaded or not
* (The source I got it from says, that this is the
* Atari official method)
*
* ++fgth ridderbusch.pad@nixdorf.com
*/
#ifdef __DEF_ALL__
#define L_vq_gdos
#define L_vq_vgdos
#endif /* __DEF_ALL__ */
#ifdef L_vq_gdos
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;
}
#endif /* L_vq_gdos */
#ifdef L_vq_vgdos
/*
* 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;
}
#endif /* L_vq_vgdos */