--- xmil/pccore.h 2004/08/05 16:47:26 1.4 +++ xmil/pccore.h 2009/03/23 15:02:25 1.21 @@ -1,40 +1,53 @@ 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 fddequip; + + UINT8 DISPSYNC; + UINT8 RASTER; + UINT8 skipline; + UINT16 skiplight; +#if !defined(DISABLE_SOUND) UINT16 samplingrate; UINT16 delayms; +#if defined(SUPPORT_TURBOZ) || defined(SUPPORT_OPM) + UINT8 vol_fm; +#endif + UINT8 vol_ssg; UINT8 MOTOR; UINT8 MOTORVOL; +#endif +#if defined(SUPPORT_TURBOZ) || defined(SUPPORT_OPM) + UINT8 SOUND_SW; +#endif + 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; +#if !defined(FIX_Z80A) + UINT32 baseclock; + UINT multiple; + UINT32 realclock; +#endif UINT8 ROM_TYPE; UINT8 DIP_SW; UINT8 SOUND_SW; } PCCORE; +typedef struct { + SINT32 syncclock; + SINT32 framebaseclock; /* by 4MHz */ + UINT8 vsync; + UINT8 drawframe; + UINT8 soundrenewal; +} CORESTAT; + enum { DIPSW_RESOLUTE = 0x01, DIPSW_BOOTMEDIA = 0x04 @@ -47,28 +60,21 @@ extern "C" { extern const OEMCHAR xmilversion[]; -extern XMILCFG xmilcfg; -extern PCCORE pccore; -extern BYTE *RAM0r; -extern BYTE *RAM0w; -extern DWORD h_cntbase; - -extern BYTE mMAIN[0x10000]; -extern BYTE mBIOS[0x8000]; -extern BYTE mBANK[16][0x8000]; - -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); +extern XMILCFG xmilcfg; +extern PCCORE pccore; +extern CORESTAT corestat; + +#if !defined(MAINFRAMES_OLD) +void neitem_mainframes(UINT id); +#else +void neitem_disp(UINT id); +void neitem_vsync(UINT id); +#endif void pccore_initialize(void); void pccore_reset(void); void pccore_deinitialize(void); +void pccore_exec(BRESULT draw); #ifdef __cplusplus }