*
*/
+#if !defined(__LARGE__) && !defined(__COMPACT__) && !defined(__HUGE__)
+#error Invalid memory model for compiling project 16
+#endif
+
+#if !defined(__i86__) && defined(__i386__)
+#error i8088 only
+#endif
+
#ifndef _LIBHEAD_H_
#define _LIBHEAD_H_
#include <i86.h>
#include <conio.h> // just for wait
#include <time.h> // just for wait
#include <stdlib.h>
+#include <malloc.h>
#include <ctype.h>
+#include <unistd.h>\r
+#include <fcntl.h>\r
+#include <sys/stat.h>
+#include <mem.h>
+#include <alloca.h>
+#include "src/lib/nyan/kitten.h"
#include "src/lib/types.h"
+struct list {
+ struct list __based(__self) *next;
+ int value;
+};
+
/* Control codes for all keys on the keyboard */
//here temperarly
/*
*/
static dword far* clockdw= (dword far*) 0x046C; /* 18.2hz clock */
-
-#define nil ((void *)0)
+//static dword clockdw=0;
+extern int profilehandle,debughandle; //make it into game global
#define __DEBUG__
+//#define _SEGU(__p) ((unsigned)((unsigned long)(void __huge*)(__p) >> 16))
+
+#define nil ((void *)0)
+
#define peekb(segm,ofs) (*(byte far*)MK_FP((segm),(ofs)))\r
#define peekw(segm,ofs) (*(word far*)MK_FP((segm),(ofs)))\r
#define pokeb(segm,ofs,value) (peekb((segm),(ofs)) = (byte)(value))\r
#define pokew(segm,ofs,value) (peekw((segm),(ofs)) = (word)(value))\r
typedef union REGPACK regs_t;
+//typedef struct SREGS sregs_t;
+//sregs_t sregs;
typedef enum {false,true} boolean;
+//I hope this is correct!
+typedef void __based(__self) * memptr;
+//typedef sregs.w.es * memptr
+//typedef __segment * memptr;
+//typedef fenp.op_ptr_seg * memptr;
+typedef struct
+{\r
+ int old_mode; //old video mode before game!
+ word frames_per_second;
+ clock_t t;
+} global_game_variables_t;\r
+/* local function */\r
void wait(clock_t wait);
-void* AllocateLargestFreeBlock(size_t* Size);
+void __near* LargestFreeBlock(size_t* Size);
+size_t _coreleft(void);
+void far* LargestFarFreeBlock(size_t* Size);
+size_t _farcoreleft(void);
+void huge* LargestHugeFreeBlock(size_t* Size);
+size_t _hugecoreleft(void);
+//void __based(__self)* LargestBasedFreeBlock(size_t* Size);
+//size_t _basedcoreleft(void);
size_t GetFreeSize(void);
+size_t GetFarFreeSize(void);
+size_t GetNearFreeSize(void);
long int filesize(FILE *fp);
+void print_normal_entry(char *text, dword total, dword used, dword free);
+void convert(const char *format, dword num);
+void heapdump(void);
+void heapstat(int heap_status);
int US_CheckParm(char *parm,char **strings);
+extern void CA_OpenDebug (void);\r
+extern void CA_CloseDebug (void);
+
#endif/*_LIBHEAD_H_*/