X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=debugger%2Fmcs51%2Fsimi.h;h=69cd4f1aa5a812c5f47f33299c6cf35a3e660213;hb=HEAD;hp=9e1f8c3481b1a76e417044c9107df905c9e8f784;hpb=b09af35f2f1cde7649d3ac4a6f5d2af6d97895a0;p=fw%2Fsdcc diff --git a/debugger/mcs51/simi.h b/debugger/mcs51/simi.h index 9e1f8c34..69cd4f1a 100644 --- a/debugger/mcs51/simi.h +++ b/debugger/mcs51/simi.h @@ -1,38 +1,72 @@ /*------------------------------------------------------------------------- simi.h - Header file for simulator interaction - - Written By - Sandeep Dutta . sandeep.dutta@usa.net (1999) + Written By - Sandeep Dutta . sandeep.dutta@usa.net (1999) This program 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 2, or (at your option) any later version. - + This program 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, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - + In other words, you are welcome to use, share and improve this program. You are forbidden to forbid anyone else to use, share and improve - what you give them. Help stamp out software-hoarding! + what you give them. Help stamp out software-hoarding! -------------------------------------------------------------------------*/ #ifndef SIMI_H #define SIMI_H +#ifdef _WIN32 +/* ugly hack to prevent the incusion of objidl.h */ +#ifdef __MINGW32__ +#define _OLE2_H +#elif defined _MSC_VER +#define _OLE2_H_ +#endif +#include +#endif + #define MAX_SIM_BUFF 8*1024 -#define SIMNAME "s51" + +#define MAX_CACHE_SIZE 4096 +/* number of cache */ +#define IMEM_CACHE 0 +#define XMEM_CACHE 1 +#define SREG_CACHE 2 +#define CMEM_CACHE 3 +#define NMEM_CACHE 4 +/* special index */ +#define BIT_CACHE 5 + +typedef struct _memcache +{ + int addr; + int size; + char buffer[MAX_CACHE_SIZE]; +} memcache_t; + +//#define SIMNAME "s51" +#ifdef _WIN32 +extern SOCKET sock; +#else +extern int sock; +#endif extern char simactive; void openSimulator (char **,int); -void waitForSim (); +void waitForSim(int timeout_ms, char *expect); void closeSimulator (); void sendSim(char *); char *simResponse(); +void simSetPC (unsigned int); +unsigned int simGetPC (void); void simSetBP (unsigned int); void simClearBP (unsigned int); void simLoadFile(char *); @@ -40,5 +74,5 @@ void simReset (); char *simRegs() ; unsigned int simGoTillBp (unsigned int); unsigned long simGetValue (unsigned int ,char , int ); - +int simSetValue (unsigned int ,char , int, unsigned long ); #endif