From d77b223e67dea0a7a40a9dd0f03bed3af630df42 Mon Sep 17 00:00:00 2001 From: sparky4 Date: Mon, 29 Jun 2015 02:49:10 -0500 Subject: [PATCH] wwww modified: 16/inpu.bat renamed: 16/inputest.c -> 16/src/inputest.c renamed: 16/16_in.h -> 16/src/lib/16_in.c renamed: 16/16_in.c -> 16/src/lib/16_in.h new file: 16/src/lib/lib_head.h new file: 16/src/lib/types.h --- 16/inpu.bat | 4 +- 16/{ => src}/inputest.c | 2 +- 16/{16_in.h => src/lib/16_in.c} | 2 +- 16/{16_in.c => src/lib/16_in.h} | 2 +- 16/src/lib/lib_head.h | 144 ++++++++++++++++++++++++++++++++ 16/src/lib/types.h | 37 ++++++++ 6 files changed, 186 insertions(+), 5 deletions(-) rename 16/{ => src}/inputest.c (95%) rename 16/{16_in.h => src/lib/16_in.c} (99%) rename 16/{16_in.c => src/lib/16_in.h} (96%) create mode 100644 16/src/lib/lib_head.h create mode 100644 16/src/lib/types.h diff --git a/16/inpu.bat b/16/inpu.bat index ba1e4ef1..d7e9313c 100644 --- a/16/inpu.bat +++ b/16/inpu.bat @@ -1,2 +1,2 @@ -wcc -0 -mc 16_in.c -wcl -mc -0 inputest.c 16_in.obj \ No newline at end of file +wcc -0 -mc src\lib\16_in.c +wcl -mc -0 -l=dos src\inputest.c 16_in.obj \ No newline at end of file diff --git a/16/inputest.c b/16/src/inputest.c similarity index 95% rename from 16/inputest.c rename to 16/src/inputest.c index da9a7ee3..5df1f39f 100644 --- a/16/inputest.c +++ b/16/src/inputest.c @@ -22,7 +22,7 @@ /* input test */ -#include "16_in.h" +#include "src/lib/16_in.h" void main(int argc, char *argv[]) diff --git a/16/16_in.h b/16/src/lib/16_in.c similarity index 99% rename from 16/16_in.h rename to 16/src/lib/16_in.c index 3a36fbb2..55afb211 100644 --- a/16/16_in.h +++ b/16/src/lib/16_in.c @@ -36,7 +36,7 @@ // DEBUG - there are more globals // -#include "16_in.h" +#include "src/lib/16_in.h" /* ============================================================================= diff --git a/16/16_in.c b/16/src/lib/16_in.h similarity index 96% rename from 16/16_in.c rename to 16/src/lib/16_in.h index 147f17e5..410831ad 100644 --- a/16/16_in.c +++ b/16/src/lib/16_in.h @@ -28,7 +28,7 @@ #define __16_IN__ #include -#include "../src/lib/lib_head.h" +#include "src/lib/lib_head.h" //++++#ifdef __DEBUG__ #define __DEBUG_InputMgr__ diff --git a/16/src/lib/lib_head.h b/16/src/lib/lib_head.h new file mode 100644 index 00000000..cf50054d --- /dev/null +++ b/16/src/lib/lib_head.h @@ -0,0 +1,144 @@ +/* Project 16 Source Code~ + * Copyright (C) 2012-2015 sparky4 & pngwen & andrius4669 + * + * This file is part of Project 16. + * + * Project 16 is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Project 16 is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see , or + * write to the Free Software Foundation, Inc., 51 Franklin Street, + * Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + +#ifndef _LIBHEAD_H_ +#define _LIBHEAD_H_ +#include +#include +#include +#include // just for wait +#include // just for wait +#include +#include +#include "src/lib/types.h" + +/* Control codes for all keys on the keyboard */ +//here temperarly +/* +#define KEY_A (0x1E) +#define KEY_B (0x30) +#define KEY_C (0x2E) +#define KEY_D (0x20) +#define KEY_E (0x12) +#define KEY_F (0x21) +#define KEY_G (0x22) +#define KEY_H (0x23) +#define KEY_I (0x17) +#define KEY_J (0x24) +#define KEY_K (0x25) +#define KEY_L (0x26) +#define KEY_M (0x32) +#define KEY_N (0x31) +#define KEY_O (0x18) +#define KEY_P (0x19) +#define KEY_Q (0x10) +#define KEY_R (0x13) +#define KEY_S (0x1F) +#define KEY_T (0x14) +#define KEY_U (0x16) +#define KEY_V (0x2F) +#define KEY_W (0x11) +#define KEY_X (0x2D) +#define KEY_Y (0x15) +#define KEY_Z (0x2C) +#define KEY_1 (0x02) +#define KEY_2 (0x03) +#define KEY_3 (0x04) +#define KEY_4 (0x05) +#define KEY_5 (0x06) +#define KEY_6 (0x07) +#define KEY_7 (0x08) +#define KEY_8 (0x09) +#define KEY_9 (0x0A) +#define KEY_0 (0x0B) +#define KEY_DASH (0x0C) // -_ +#define KEY_EQUAL (0x0D) // =+ +#define KEY_LBRACKET (0x1A) // [{ +#define KEY_RBRACKET (0x1B) // ]} +#define KEY_SEMICOLON (0x27) // ;: +#define KEY_RQUOTE (0x28) // '" +#define KEY_LQUOTE (0x29) // `~ +#define KEY_PERIOD (0x33) // .> +#define KEY_COMMA (0x34) // ,< +#define KEY_SLASH (0x35) // /? +#define KEY_BACKSLASH (0x2B) // \| +#define KEY_F1 (0x3B) +#define KEY_F2 (0x3C) +#define KEY_F3 (0x3D) +#define KEY_F4 (0x3E) +#define KEY_F5 (0x3F) +#define KEY_F6 (0x40) +#define KEY_F7 (0x41) +#define KEY_F8 (0x42) +#define KEY_F9 (0x43) +#define KEY_F10 (0x44) +#define KEY_ESC (0x01) +#define KEY_BACKSPACE (0x0E) +#define KEY_TAB (0x0F) +#define KEY_ENTER (0x1C) +#define KEY_CONTROL (0x1D) +#define KEY_LSHIFT (0x2A) +#define KEY_RSHIFT (0x36) +#define KEY_PRTSC (0x37) +#define KEY_ALT (0x38) +#define KEY_SPACE (0x39) +#define KEY_CAPSLOCK (0x3A) +#define KEY_NUMLOCK (0x45) +#define KEY_SCROLLLOCK (0x46) +#define KEY_HOME (0x47) +#define KEY_UP (0x48) +#define KEY_PGUP (0x49) +#define KEY_MINUS (0x4A) +#define KEY_LEFT (0x4B) +#define KEY_CENTER (0x4C) +#define KEY_RIGHT (0x4D) +#define KEY_PLUS (0x4E) +#define KEY_END (0x4F) +#define KEY_DOWN (0x50) +#define KEY_PGDOWN (0x51) +#define KEY_INS (0x52) +#define KEY_DEL (0x53) + +#define KEY_LWIN (0x73) +#define KEY_RWIN (0x74) +#define KEY_MENU (0x75) +*/ + +static dword far* clockdw= (dword far*) 0x046C; /* 18.2hz clock */ + +#define nil ((void *)0) + +#define peekb(segm,ofs) (*(byte far*)MK_FP((segm),(ofs))) +#define peekw(segm,ofs) (*(word far*)MK_FP((segm),(ofs))) +#define pokeb(segm,ofs,value) (peekb((segm),(ofs)) = (byte)(value)) +#define pokew(segm,ofs,value) (peekw((segm),(ofs)) = (word)(value)) + +typedef union REGPACK regs_t; +typedef enum {false,true} boolean; + +void wait(clock_t wait); +void* AllocateLargestFreeBlock(size_t* Size); +size_t GetFreeSize(void); +long int filesize(FILE *fp); +int US_CheckParm(char *parm,char **strings); + +#endif/*_LIBHEAD_H_*/ diff --git a/16/src/lib/types.h b/16/src/lib/types.h new file mode 100644 index 00000000..2055c20c --- /dev/null +++ b/16/src/lib/types.h @@ -0,0 +1,37 @@ +/* Project 16 Source Code~ + * Copyright (C) 2012-2015 sparky4 & pngwen & andrius4669 + * + * This file is part of Project 16. + * + * Project 16 is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Project 16 is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see , or + * write to the Free Software Foundation, Inc., 51 Franklin Street, + * Fifth Floor, Boston, MA 02110-1301 USA. + * + */ +/* + * Just some handy typedefs that make it easier to think about the low + * level code + */ + +#ifndef _TYPE_H_ +#define _TYPE_H_ + +typedef unsigned char byte; +typedef unsigned short word; +typedef unsigned long dword; +typedef signed char sbyte; +typedef signed short sword; +typedef signed long sdword; + +#endif/*_TYPE_H_*/ -- 2.39.2