--- np2/x11/np2.h 2003/11/23 12:45:43 1.2 +++ np2/x11/np2.h 2007/01/12 19:09:58 1.15 @@ -1,3 +1,10 @@ +#ifndef NP2_X11_NP2_H__ +#define NP2_X11_NP2_H__ + +#include + +#include "joymng.h" + typedef struct { BYTE port; BYTE def_en; @@ -21,14 +28,18 @@ typedef struct { BYTE DISPCLK; BYTE KEYBOARD; - BYTE F12COPY; + BYTE F12KEY; BYTE MOUSE_SW; BYTE JOYPAD1; BYTE JOYPAD2; - BYTE JOY1BTN[4]; + BYTE JOY1BTN[JOY_NBUTTON]; + BYTE JOYAXISMAP[2][JOY_NAXIS]; + BYTE JOYBTNMAP[2][JOY_NBUTTON]; + char JOYDEV[2][MAX_PATH]; COMCFG mpu; + COMCFG com[3]; BYTE confirm; @@ -37,7 +48,9 @@ typedef struct { BYTE statsave; BYTE toolwin; BYTE keydisp; + BYTE softkbd; BYTE hostdrv_write; + BYTE jastsnd; BYTE I286SAVE; BYTE snddrv; @@ -47,9 +60,9 @@ typedef struct { BYTE mouse_move_ratio; - char toolkit[32]; - BYTE disablemmx; + BYTE drawinterp; + BYTE F11KEY; } NP2OSCFG; @@ -66,12 +79,19 @@ enum { MMXFLAG_NOTSUPPORT = 2 }; +enum { + INTERP_NEAREST = 0, + INTERP_TILES = 1, + INTERP_BILINEAR = 2, + INTERP_HYPER = 3 +}; + #ifdef __cplusplus extern "C" { #endif /* np2.c */ -extern BOOL np2running; +extern volatile sig_atomic_t np2running; extern NP2OSCFG np2oscfg; extern BYTE scrnmode; @@ -82,12 +102,15 @@ extern UINT framemax; extern BOOL s98logging; extern int s98log_count; +extern int verbose; extern char hddfolder[MAX_PATH]; extern char fddfolder[MAX_PATH]; extern char bmpfilefolder[MAX_PATH]; extern char modulefile[MAX_PATH]; extern char statpath[MAX_PATH]; +extern char fontname[1024]; +extern char fontfilename[MAX_PATH]; int flagload(const char* ext, const char* title, BOOL force); int flagsave(const char* ext); @@ -96,8 +119,9 @@ void flagdelete(const char* ext); void changescreen(BYTE newmode); void framereset(UINT cnt); void processwait(UINT cnt); +int mainloop(void *); -#if defined(__GNUC__) && (defined(i386) || defined(__i386__)) +#if defined(GCC_CPU_ARCH_IA32) extern int mmxflag; int havemmx(void); #endif @@ -105,3 +129,5 @@ int havemmx(void); #ifdef __cplusplus } #endif + +#endif /* NP2_X11_NP2_H__ */