--- xmil/pccore.h 2004/08/05 16:47:26 1.4 +++ xmil/pccore.h 2004/08/12 17:57:36 1.13 @@ -1,40 +1,48 @@ 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; 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 { + RASTER_CLOCK = 250 +}; + enum { DIPSW_RESOLUTE = 0x01, DIPSW_BOOTMEDIA = 0x04 @@ -47,28 +55,27 @@ 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; +extern XMILCFG xmilcfg; +extern PCCORE pccore; +extern CORESTAT corestat; +extern BYTE *RAM0r; +extern BYTE *RAM0w; + +extern UINT8 mMAIN[0x10000]; +extern UINT8 mBIOS[0x8000]; +#if defined(SUPPORT_BANKMEM) +extern UINT8 mBANK[16][0x8000]; +#endif -// BYTE reset_x1(BYTE ROM_TYPE, BYTE SOUND_SW, BYTE DIP_SW); -void x1r_exec(void); +UINT pccore_getraster(UINT *h); +void neitem_disp(UINT id); +void neitem_vsync(UINT id); void pccore_initialize(void); void pccore_reset(void); void pccore_deinitialize(void); +void pccore_exec(BRESULT draw); #ifdef __cplusplus }