Tue Jul 13 20:31:31 1993 Bob Amstadt (bob at pooh) * [global.c] Completed global memory pool API Sun Jul 11 16:59:52 1993 Alexandre Julliard * [message.c] [user.c] [user.spec] [windows.h] Added emulation of Windows message queue. Thu Jul 8 19:29:27 1993 Bob Amstadt (bob at pooh) * [build.c] Original by Bob Amstadt * [callback.c] Original by Bob Amstadt, updates by Alexandre Julliard * [dump.c] Original by Bob Amstadt * [global.c] Original by Bob Amstadt * [heap.c] Original by Bob Amstadt * [kernel.c] Original by Bob Amstadt * [ldt.c] Original by Bob Amstadt * [ldtlib.c] Original by Bob Amstadt * [relay.c] Original by Bob Amstadt * [resource.c] Original by Bob Amstadt, updates by Alexandre Juliard * [selector.c] Original by Bob Amstadt, updates by Eric Youngdale * [user.c] Original by Bob Amstadt * [wine.c] Original by Bob Amstadt, updates by Eric Youngdale and Alexandre Julliard * [wintcl.c] Original by Regents of the University of California, updates by Peter MacDonald and Alexandre Julliard * [callback.h] Original by Bob Amstadt * [dlls.h] Original by Bob Amstadt * [heap.h] Original by Bob Amstadt * [neexe.h] Original by Bob Amstadt * [prototypes.h] Original by Bob Amstadt, updates by Eric Youngdale * [segmem.h] Original by Bob Amstadt * [tkInt.h] Original by Regents of the University of California * [windows.h] Original by Peter MacDonald, updates by Alexandre Julliard and Bob Amstadt * [wine.h] Original by Eric Youngdale * [kernel.spec] Original by Bob Amstadt, updates by Alexandre Julliard * [gdi.spec] Original by Bob Amstadt, updates by Alexandre Julliard * [shell.spec] Original by Bob Amstadt * [unixlib.spec] Original by Bob Amstadt * [user.spec] Original by Bob Amstadt, updates by Alexandre Julliard * [win87em.spec] Original by Bob Amstadt * [Windows.tcl] Original by Peter MacDonald, updates by Alexandre Julliard * [build-spec.txt] Original by Bob Amstadt * [if1632.S] Original by Bob Amstadt, updates by Eric Youngdale
98 lines
2 KiB
C
98 lines
2 KiB
C
static char RCSId[] = "$Id: kernel.c,v 1.2 1993/07/04 04:04:21 root Exp root $";
|
|
static char Copyright[] = "Copyright Robert J. Amstadt, 1993";
|
|
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include "prototypes.h"
|
|
|
|
extern unsigned short *Stack16Frame;
|
|
|
|
/**********************************************************************
|
|
* KERNEL_LockSegment
|
|
*/
|
|
int
|
|
KERNEL_LockSegment(int segment)
|
|
{
|
|
if (segment == -1)
|
|
segment = *(Stack16Frame + 6);
|
|
|
|
#ifdef RELAY_DEBUG
|
|
printf("LockSegment: segment %x\n", segment);
|
|
#endif
|
|
|
|
return segment;
|
|
}
|
|
|
|
/**********************************************************************
|
|
* KERNEL_UnlockSegment
|
|
*/
|
|
int
|
|
KERNEL_UnlockSegment(int segment)
|
|
{
|
|
if (segment == -1)
|
|
segment = *(Stack16Frame + 6);
|
|
|
|
#ifdef RELAY_DEBUG
|
|
printf("UnlockSegment: segment %x\n", segment);
|
|
#endif
|
|
|
|
return segment;
|
|
}
|
|
|
|
/**********************************************************************
|
|
* KERNEL_WaitEvent
|
|
*/
|
|
int
|
|
KERNEL_WaitEvent(int task)
|
|
{
|
|
#ifdef RELAY_DEBUG
|
|
printf("WaitEvent: task %d\n", task);
|
|
#endif
|
|
return 0;
|
|
}
|
|
/**********************************************************************
|
|
* KERNEL_GetModuleFileName
|
|
*/
|
|
int
|
|
KERNEL_GetModuleFileName(int module, char *filename, int bytes)
|
|
{
|
|
#ifdef RELAY_DEBUG
|
|
printf("GetModuleFileName: module %d, filename %x, bytes %d\n",
|
|
module, filename, bytes);
|
|
#endif
|
|
|
|
strcpy(filename, "TEST.EXE");
|
|
|
|
return strlen(filename);
|
|
}
|
|
|
|
/**********************************************************************
|
|
* KERNEL_DOS3Call
|
|
*/
|
|
int
|
|
KERNEL_DOS3Call(int ax, int cx, int dx, int bx, int sp, int bp,
|
|
int si, int di, int ds, int es)
|
|
{
|
|
switch ((ax >> 8) & 0xff)
|
|
{
|
|
case 0x30:
|
|
return 0x0303;
|
|
|
|
case 0x25:
|
|
case 0x35:
|
|
return 0;
|
|
|
|
case 0x4c:
|
|
exit(ax & 0xff);
|
|
|
|
default:
|
|
fprintf(stderr, "DOS: AX %04x, BX %04x, CX %04x, DX %04x\n",
|
|
ax, bx, cx, dx);
|
|
fprintf(stderr, " SP %04x, BP %04x, SI %04x, DI %04x\n",
|
|
sp, bp, si, di);
|
|
fprintf(stderr, " DS %04x, ES %04x\n",
|
|
ds, es);
|
|
}
|
|
|
|
return 0;
|
|
}
|