--- xmil/pccore.h 2004/08/05 16:47:26 1.4 +++ xmil/pccore.h 2004/08/11 13:53:53 1.10 @@ -1,40 +1,44 @@ typedef struct { - UINT8 KEY_MODE; - UINT8 SOUND_SW; - UINT8 SKIP_LINE; - UINT8 NOWAIT; - UINT8 DRAW_SKIP; UINT8 ROM_TYPE; UINT8 CPU8MHz; UINT8 DIP_SW; + UINT8 DISPSYNC; + UINT8 RASTER; + UINT8 skipline; + UINT16 skiplight; + UINT16 samplingrate; UINT16 delayms; + UINT8 SOUND_SW; UINT8 MOTOR; UINT8 MOTORVOL; + UINT8 MOUSE_SW; + UINT8 KEY_MODE; UINT8 BTN_RAPID; UINT8 BTN_MODE; - - UINT8 LINEDEPTH; - UINT8 BLKLIGHT; - - UINT8 TEXTMODE; - UINT8 TEXT400L; - UINT8 LINETEXT; - - UINT8 DISPSYNC; - UINT8 MOUSE_SW; } XMILCFG; typedef struct { - UINT16 HSYNC_CLK; + UINT32 baseclock; + UINT multiple; + UINT32 realclock; + UINT8 ROM_TYPE; UINT8 DIP_SW; UINT8 SOUND_SW; } PCCORE; +typedef struct { + UINT tl; + UINT vl; + UINT8 vsync; + UINT8 drawframe; + UINT8 soundrenewal; +} CORESTAT; + enum { DIPSW_RESOLUTE = 0x01, DIPSW_BOOTMEDIA = 0x04 @@ -47,28 +51,28 @@ extern "C" { extern const OEMCHAR xmilversion[]; -extern XMILCFG xmilcfg; -extern PCCORE pccore; -extern BYTE *RAM0r; -extern BYTE *RAM0w; -extern DWORD h_cntbase; +extern XMILCFG xmilcfg; +extern PCCORE pccore; +extern CORESTAT corestat; +extern BYTE *RAM0r; +extern BYTE *RAM0w; extern BYTE mMAIN[0x10000]; extern BYTE mBIOS[0x8000]; +#if defined(SUPPORT_BANKMEM) extern BYTE mBANK[16][0x8000]; +#endif -extern BRESULT soundrenewal; - -#define h_cnt Z80_ICOUNT -extern WORD v_cnt; - -// BYTE reset_x1(BYTE ROM_TYPE, BYTE SOUND_SW, BYTE DIP_SW); -void x1r_exec(void); +void nvitem_raster(UINT id); +UINT pccore_getraster(UINT *h); +void nvitem_vdisp(UINT id); +void nvitem_vsync(UINT id); void pccore_initialize(void); void pccore_reset(void); void pccore_deinitialize(void); +void pccore_exec(BRESULT draw); #ifdef __cplusplus }