mirror of
https://github.com/Oibaf66/uae-wii.git
synced 2024-11-25 20:16:54 +01:00
67 lines
1.1 KiB
C
67 lines
1.1 KiB
C
|
|
||
|
#define __NOLIBBASE__
|
||
|
#include <proto/exec.h>
|
||
|
#include <proto/dos.h>
|
||
|
|
||
|
#define OUTBUFSIZE 1000
|
||
|
|
||
|
long (*UaeConf) (...);
|
||
|
|
||
|
struct Library *SysBase;
|
||
|
struct Library *DOSBase;
|
||
|
|
||
|
char outbuf[OUTBUFSIZE+1];
|
||
|
|
||
|
__saveds long start (register __a0 param,register __d0 paramlen)
|
||
|
{
|
||
|
long rc = 20;
|
||
|
long index;
|
||
|
BPTR out;
|
||
|
char *s;
|
||
|
BOOL brk = FALSE;
|
||
|
|
||
|
UaeConf = (void *) 0xf0ff60;
|
||
|
|
||
|
SysBase = *((struct Library **)4);
|
||
|
|
||
|
if (DOSBase = OpenLibrary ("dos.library",0))
|
||
|
{
|
||
|
out = Output();
|
||
|
|
||
|
if (*((ULONG *)UaeConf))
|
||
|
{
|
||
|
index = -1;
|
||
|
|
||
|
do {
|
||
|
outbuf[0] = 0;
|
||
|
rc = UaeConf (82,index,param,paramlen,outbuf,OUTBUFSIZE);
|
||
|
|
||
|
if (outbuf[0] && out)
|
||
|
{
|
||
|
for (s = outbuf; *s; s++);
|
||
|
*s++ = '\n';
|
||
|
Write (out,outbuf,s - outbuf);
|
||
|
}
|
||
|
|
||
|
index++;
|
||
|
if (SetSignal(0,0) & SIGBREAKF_CTRL_C)
|
||
|
brk = TRUE;
|
||
|
} while (!brk && rc < 0);
|
||
|
|
||
|
if (brk && out)
|
||
|
{
|
||
|
Write (out,"*** Break\n",10);
|
||
|
rc = 10;
|
||
|
}
|
||
|
|
||
|
}
|
||
|
else
|
||
|
if (out)
|
||
|
Write (out,"Your version of WinUAE is too old\n",34);
|
||
|
|
||
|
CloseLibrary (DOSBase);
|
||
|
}
|
||
|
|
||
|
return (rc);
|
||
|
}
|