X-Git-Url: http://gitweb.hugovil.com/?a=blobdiff_plain;f=src%2Fcpu8051.h;h=f11122a89ef92369cf4be69499a8cea338927d3f;hb=ba7ff1a7a78b3aa7c2cad9bfce117256638938b1;hp=67e684f46d988e7fe3f64d3773151a39dc5c6d8a;hpb=a78a174393ff9c8dbc0d5212576507f25d7e9bf1;p=emu8051.git diff --git a/src/cpu8051.h b/src/cpu8051.h index 67e684f..f11122a 100644 --- a/src/cpu8051.h +++ b/src/cpu8051.h @@ -22,12 +22,18 @@ #ifndef CPU8051_H #define CPU8051_H 1 -typedef struct cpu8051_t -{ - unsigned int pc; - unsigned long clock; - int active_priority; -} cpu8051_t; +#include + +/* Maximum number of BreakPoints */ +#define MAXBP 32 + +struct cpu8051_t { + unsigned int pc; /* Program counter */ + unsigned long clock; + int active_priority; + int bp_count; + unsigned int bp[MAXBP]; /* List of breakpoints */ +}; /* Exported variables */ #undef _SCOPE_ @@ -37,36 +43,51 @@ typedef struct cpu8051_t # define _SCOPE_ extern #endif -_SCOPE_ cpu8051_t cpu8051; +_SCOPE_ struct cpu8051_t cpu8051; + +int +IsBreakpoint(unsigned int Address); + +void +ShowBreakpoints(void); + +void +SetBreakpoint(unsigned int Address); + +void +ClearBreakpoint(unsigned int Address); + +void +ToggleBreakpoint(unsigned int Address); void -cpu8051_init( void ); +cpu8051_init(void); void -cpu8051_Exec( void ); +cpu8051_Exec(void); void -cpu8051_Reset( void ); +cpu8051_Reset(void); void -cpu8051_WriteD( unsigned int Address, unsigned char Value ); +cpu8051_WriteD(unsigned int Address, unsigned char Value); void -cpu8051_WriteI( unsigned int Address, unsigned char Value ); +cpu8051_WriteI(unsigned int Address, unsigned char Value); void -cpu8051_WriteB( unsigned int BitAddress, unsigned char Value ); +cpu8051_WriteB(uint8_t bit_address, uint8_t value); unsigned char -cpu8051_ReadD( unsigned int Address ); +cpu8051_ReadD(unsigned int Address); unsigned char -cpu8051_ReadI( unsigned int Address ); +cpu8051_ReadI(unsigned int Address); unsigned char -cpu8051_ReadB( unsigned int BitAddress ); +cpu8051_ReadB(uint8_t bit_address); int -cpu8051_Disasm( unsigned int Address, char *Text ); +cpu8051_Disasm(unsigned int Address, char *Text); #endif /* CPU8051_H */