1.1 --- a/src/wd2010.h Sat Nov 17 22:15:23 2012 +0000 1.2 +++ b/src/wd2010.h Sat Nov 17 22:26:53 2012 +0000 1.3 @@ -8,16 +8,16 @@ 1.4 1.5 /// WD2010 registers 1.6 typedef enum { 1.7 - WD2010_REG_ERROR = 1, ///< Error register 1.8 - WD2010_REG_WRITE_PRECOMP_CYLINDER = 1, ///< Write precompensation cylinder 1.9 - ///< register 1.10 - WD2010_REG_SECTOR_COUNT = 2, ///< Sector count register 1.11 - WD2010_REG_SECTOR_NUMBER = 3, ///< Sector number register 1.12 - WD2010_REG_CYLINDER_LOW = 4, ///< Low byte of cylinder 1.13 - WD2010_REG_CYLINDER_HIGH = 5, ///< High byte of cylinder 1.14 - WD2010_REG_SDH = 6, ///< Sector size, drive, and head 1.15 - WD2010_REG_STATUS = 7, ///< Status register 1.16 - WD2010_REG_COMMAND = 7, ///< Command register 1.17 + WD2010_REG_ERROR = 1, ///< Error register 1.18 + WD2010_REG_WRITE_PRECOMP_CYLINDER = 1, ///< Write precompensation cylinder register 1.19 + WD2010_REG_SECTOR_COUNT = 2, ///< Sector count register 1.20 + WD2010_REG_SECTOR_NUMBER = 3, ///< Sector number register 1.21 + WD2010_REG_CYLINDER_LOW = 4, ///< Low byte of cylinder 1.22 + WD2010_REG_CYLINDER_HIGH = 5, ///< High byte of cylinder 1.23 + WD2010_REG_SDH = 6, ///< Sector size, drive, and head 1.24 + WD2010_REG_STATUS = 7, ///< Status register 1.25 + WD2010_REG_COMMAND = 7, ///< Command register 1.26 + UNIXPC_REG_MCR2 = 255 ///< UNIX-PC MCR2 register (special!) 1.27 } WD2010_REG; 1.28 1.29 /// WD2010 emulator error codes 1.30 @@ -42,6 +42,8 @@ 1.31 uint8_t cylinder_high_reg, cylinder_low_reg; 1.32 // SDH register (sets sector size, drive number, and head number) 1.33 uint8_t sdh; 1.34 + // MCR2 register (LSB is HDSEL3 - head select bit 3) 1.35 + bool mcr2_hdsel3, mcr2_ddrive1; 1.36 // Sector number and count registers 1.37 int sector_number, sector_count; 1.38 // Last command has the multiple sector flag set?