home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Atari FTP
/
ATARI_FTP_0693.zip
/
ATARI_FTP_0693
/
Mint
/
mntlib25.zoo
/
linea.c
< prev
next >
Wrap
C/C++ Source or Header
|
1992-10-01
|
4KB
|
213 lines
/*
* function form of linea bindings
* ++jrb
*/
#define __NO_INLINE__
#include <linea.h>
void linea0()
{
__asm__ volatile
("
.word 0xA000;
movl a0,%0;
movl a1,%1;
movl a2,%2"
: "=g"(__aline), "=g"(__fonts), "=g"(__funcs) /* outputs */
: /* inputs */
: "d0", "d1", "d2", "a0", "a1", "a2" /* clobbered regs */
);
}
void linea1()
{
__asm__ volatile
("
.word 0xA001"
: /* outputs */
: /* inputs */
: "d0", "d1", "d2", "a0", "a1", "a2" /* clobbered regs */
);
}
int linea2()
{
__asm__ volatile
("
.word 0xA002"
: /* outputs */
: /* inputs */
: "d0", "d1", "d2", "a0", "a1", "a2" /* clobbered regs */
);
}
void linea3()
{
__asm__ volatile
("
.word 0xA003"
: /* outputs */
: /* inputs */
: "d0", "d1", "d2", "a0", "a1", "a2" /* clobbered regs */
);
}
void linea4()
{
__asm__ volatile
("
.word 0xA004"
: /* outputs */
: /* inputs */
: "d0", "d1", "d2", "a0", "a1", "a2" /* clobbered regs */
);
}
void linea5()
{
__asm__ volatile
("
.word 0xA005"
: /* outputs */
: /* inputs */
: "d0", "d1", "d2", "a0", "a1", "a2" /* clobbered regs */
);
}
void linea6()
{
__asm__ volatile
("
.word 0xA006"
: /* outputs */
: /* inputs */
: "d0", "d1", "d2", "a0", "a1", "a2" /* clobbered regs */
);
}
void linea7(BBPB *P)
{
__asm__ volatile
("
movml d2/a2/a6, sp@-;
movl %0,a6;
.word 0xA007;
movml sp@+,d2/a2/a6"
: /* outputs */
: "r"(P) /* inputs */
: "d0", "d1", "a0", "a1" /* clobbered regs */
);
}
void linea8()
{
__asm__ volatile
("
.word 0xA008"
: /* outputs */
: /* inputs */
: "d0", "d1", "d2", "a0", "a1", "a2" /* clobbered regs */
);
}
void linea9()
{
__asm__ volatile
("
.word 0xA009"
: /* outputs */
: /* inputs */
: "d0", "d1", "d2", "a0", "a1", "a2" /* clobbered regs */
);
}
void lineaa()
{
__asm__ volatile
("
.word 0xA00A"
: /* outputs */
: /* inputs */
: "d0", "d1", "d2", "a0", "a1", "a2" /* clobbered regs */
);
}
void lineab()
{
__asm__ volatile
("
.word 0xA00B"
: /* outputs */
: /* inputs */
: "d0", "d1", "d2", "a0", "a1", "a2" /* clobbered regs */
);
}
void lineac(void *P)
{
__asm__ volatile
("
movl %0,a2;
movl a6,sp@-;
.word 0xA00C;
movl sp@+,a6"
: /* outputs */
: "g"(P) /* inputs */
: "d0", "d1", "d2", "a0", "a1", "a2" /* clobbered regs */
);
}
void linead(int x, int y, SFORM * sd, void *ss)
{
__asm__ volatile
("
movw %0,d0;
movw %1,d1;
movl %2,a0;
movl %3,a2;
movl a6,sp@-;
.word 0xA00D;
movl sp@+,a6"
: /* outputs */
: "g"((short)x), "g"((short)y), "g"(sd), "g"(ss) /* inputs */
: "d0", "d1", "d2", "a0", "a1", "a2" /* clobbered regs */
);
}
void lineae()
{
__asm__ volatile
("
.word 0xA00E"
: /* outputs */
: /* inputs */
: "d0", "d1", "d2", "a0", "a1", "a2" /* clobbered regs */
);
}
void lineaf()
{
__asm__ volatile
("
.word 0xA00F"
: /* outputs */
: /* inputs */
: "d0", "d1", "d2", "a0", "a1", "a2" /* clobbered regs */
);
}