--- np2/fdd/sxsi.h 2004/01/26 14:49:14 1.4 +++ np2/fdd/sxsi.h 2005/02/12 12:40:39 1.10 @@ -1,8 +1,15 @@ +#if defined(SUPPORT_SCSI) enum { SASIHDD_MAX = 2, SCSIHDD_MAX = 4 }; +#else +enum { + SASIHDD_MAX = 2, + SCSIHDD_MAX = 0 +}; +#endif enum { SXSITYPE_NONE = 0x0000, @@ -31,44 +38,44 @@ typedef struct { } SASIHDD; typedef struct { - BYTE cylinders[2]; + UINT8 cylinders[2]; } THDHDR; typedef struct { - BYTE dummy[4]; - BYTE hddtype[4]; - BYTE headersize[4]; - BYTE hddsize[4]; - BYTE sectorsize[4]; - BYTE sectors[4]; - BYTE surfaces[4]; - BYTE cylinders[4]; -} HDIHDR; - -typedef struct { char sig[16]; char comment[0x100]; - BYTE headersize[4]; - BYTE cylinders[4]; - BYTE surfaces[2]; - BYTE sectors[2]; - BYTE sectorsize[2]; - BYTE reserved[0xe2]; + UINT8 headersize[4]; + UINT8 cylinders[4]; + UINT8 surfaces[2]; + UINT8 sectors[2]; + UINT8 sectorsize[2]; + UINT8 reserved[0xe2]; } NHDHDR; typedef struct { + UINT8 dummy[4]; + UINT8 hddtype[4]; + UINT8 headersize[4]; + UINT8 hddsize[4]; + UINT8 sectorsize[4]; + UINT8 sectors[4]; + UINT8 surfaces[4]; + UINT8 cylinders[4]; +} HDIHDR; + +typedef struct { char sig[3]; char ver[4]; char delimita; char comment[128]; - BYTE padding1[4]; - BYTE mbsize[2]; - BYTE sectorsize[2]; - BYTE sectors; - BYTE surfaces; - BYTE cylinders[2]; - BYTE totals[4]; - BYTE padding2[0x44]; + UINT8 padding1[4]; + UINT8 mbsize[2]; + UINT8 sectorsize[2]; + UINT8 sectors; + UINT8 surfaces; + UINT8 cylinders[2]; + UINT8 totals[4]; + UINT8 padding2[0x44]; } VHDHDR; typedef struct { @@ -80,7 +87,7 @@ typedef struct { UINT16 type; UINT32 headersize; long fh; - char fname[MAX_PATH]; + OEMCHAR fname[MAX_PATH]; } _SXSIDEV, *SXSIDEV; @@ -95,15 +102,19 @@ extern const SASIHDD sasihdd[7]; void sxsi_initialize(void); SXSIDEV sxsi_getptr(REG8 drv); -const char *sxsi_getname(REG8 drv); -BOOL sxsi_hddopen(REG8 drv, const char *file); +const OEMCHAR *sxsi_getname(REG8 drv); +BRESULT sxsi_hddopen(REG8 drv, const OEMCHAR *file); void sxsi_open(void); void sxsi_flash(void); void sxsi_trash(void); -REG8 sxsi_read(REG8 drv, long pos, BYTE *buf, UINT size); -REG8 sxsi_write(REG8 drv, long pos, const BYTE *buf, UINT size); +BOOL sxsi_issasi(void); +BOOL sxsi_isscsi(void); +BOOL sxsi_iside(void); + +REG8 sxsi_read(REG8 drv, long pos, UINT8 *buf, UINT size); +REG8 sxsi_write(REG8 drv, long pos, const UINT8 *buf, UINT size); REG8 sxsi_format(REG8 drv, long pos); #ifdef __cplusplus