From eadb1eda9fd91f5e7e0f09e7b32d380a3ff25e17 Mon Sep 17 00:00:00 2001 From: Yoshihiro Takahashi Date: Tue, 9 Nov 2004 14:10:18 +0000 Subject: [PATCH] Fixed fd related tools on pc98. Submitted by: Watanabe Kazuhiro --- sys/sys/fdcio.h | 24 ++++++++++++++++++++++++ usr.sbin/fdread/fdutil.c | 39 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 63 insertions(+) diff --git a/sys/sys/fdcio.h b/sys/sys/fdcio.h index d1b4568ffdbb..2c596ebc7430 100644 --- a/sys/sys/fdcio.h +++ b/sys/sys/fdcio.h @@ -180,6 +180,29 @@ enum fd_drivetype { * XXX: but the kernel needs some of them for proper defaults and it would * XXX: should have been done 20 years ago to make sense. */ +#ifdef PC98 +#define FDF_3_1722 21,2,0xFF,0x04,82,0,2,2,0x0C,2,0,FL_MFM +#define FDF_3_1476 18,2,0xFF,0x1B,82,0,2,2,0x54,1,0,FL_MFM +#define FDF_3_1440 18,2,0xFF,0x1B,80,0,2,2,0x54,1,0,FL_MFM +#define FDF_3_1200 15,2,0xFF,0x1B,80,0,0,2,0x54,1,0,FL_MFM +#define FDF_3_820 10,2,0xFF,0x10,82,0,1,2,0x30,1,0,FL_MFM +#define FDF_3_800 10,2,0xFF,0x10,80,0,1,2,0x30,1,0,FL_MFM +#define FDF_3_720 9,2,0xFF,0x20,80,0,1,2,0x50,1,0,FL_MFM +#define FDF_3_360 9,2,0xFF,0x20,40,0,1,2,0x50,1,0,FL_MFM|FL_2STEP +#define FDF_3_640 8,2,0xFF,0x2A,80,0,1,2,0x50,1,0,FL_MFM +#define FDF_3_1230 8,3,0xFF,0x35,77,0,0,2,0x74,1,0,FL_MFM +#define FDF_3_1280 8,3,0xFF,0x35,80,0,0,2,0x74,1,0,FL_MFM +#define FDF_3_1480 9,3,0xFF,0x35,82,0,0,2,0x47,1,0,FL_MFM +#define FDF_3_1640 10,3,0xFF,0x1B,82,0,2,2,0x54,1,0,FL_MFM +#define FDF_5_1200 15,2,0xFF,0x1B,80,0,0,2,0x54,1,0,FL_MFM +#define FDF_5_820 10,2,0xFF,0x10,82,0,1,2,0x30,1,0,FL_MFM +#define FDF_5_800 10,2,0xFF,0x10,80,0,1,2,0x30,1,0,FL_MFM +#define FDF_5_720 9,2,0xFF,0x20,80,0,1,2,0x50,1,0,FL_MFM +#define FDF_5_360 9,2,0xFF,0x20,40,0,1,2,0x50,1,0,FL_MFM|FL_2STEP +#define FDF_5_640 8,2,0xFF,0x2A,80,0,1,2,0x50,1,0,FL_MFM +#define FDF_5_1230 8,3,0xFF,0x35,77,0,0,2,0x74,1,0,FL_MFM +#define FDF_5_1280 8,3,0xFF,0x35,80,0,0,2,0x74,1,0,FL_MFM +#else /* PC98 */ #define FDF_3_2880 36,2,0xFF,0x1B,80,0,FDC_1MBPS,002,0x4C,1,1,FL_MFM|FL_PERPND #define FDF_3_1722 21,2,0xFF,0x04,82,0,FDC_500KBPS,2,0x0C,2,0,FL_MFM #define FDF_3_1476 18,2,0xFF,0x1B,82,0,FDC_500KBPS,2,0x6C,1,0,FL_MFM @@ -198,5 +221,6 @@ enum fd_drivetype { #define FDF_5_640 8,2,0xFF,0x2A,80,0,FDC_300KBPS,2,0x50,1,0,FL_MFM #define FDF_5_360 9,2,0xFF,0x23,40,0,FDC_300KBPS,2,0x50,1,0,FL_MFM /* XXX: 0x2a ? */ +#endif #endif /* !_MACHINE_IOCTL_FD_H_ */ diff --git a/usr.sbin/fdread/fdutil.c b/usr.sbin/fdread/fdutil.c index 0b6c38f3170e..1f6617fb9fcb 100644 --- a/usr.sbin/fdread/fdutil.c +++ b/usr.sbin/fdread/fdutil.c @@ -106,6 +106,28 @@ static struct fd_type fd_types_288m[] = { }; static struct fd_type fd_types_144m[] = { +#ifdef PC98 +#if 0 + { FDF_3_1722 }, + { FDF_3_1476 }, +#endif + { FDF_3_1440 }, + { FDF_3_1200 }, +#if 0 + { FDF_3_820 }, + { FDF_3_800 }, +#endif + { FDF_3_720 }, + { FDF_3_360 }, + { FDF_3_640 }, + { FDF_3_1230 }, +#if 0 + { FDF_3_1280 }, + { FDF_3_1480 }, + { FDF_3_1640 }, +#endif + { 0 } +#else { FDF_3_1722 }, { FDF_3_1476 }, { FDF_3_1440 }, @@ -114,9 +136,25 @@ static struct fd_type fd_types_144m[] = { { FDF_3_800 }, { FDF_3_720 }, { 0 } +#endif }; static struct fd_type fd_types_12m[] = { +#ifdef PC98 + { FDF_5_1200 }, +#if 0 + { FDF_5_820 }, + { FDF_5_800 }, +#endif + { FDF_5_720 }, + { FDF_5_360 }, + { FDF_5_640 }, + { FDF_5_1230 }, +#if 0 + { FDF_5_1280 }, +#endif + { 0 } +#else { FDF_5_1200 }, { FDF_5_1230 }, { FDF_5_1480 }, @@ -127,6 +165,7 @@ static struct fd_type fd_types_12m[] = { { FDF_5_360 | FL_2STEP }, { FDF_5_640 }, { 0 } +#endif }; static struct fd_type fd_types_720k[] =