Index: sys/arch/x68k/stand/libsa/chdsk.c =================================================================== RCS file: /cvsroot/src/sys/arch/x68k/stand/libsa/chdsk.c,v retrieving revision 1.2 diff -u -r1.2 chdsk.c --- sys/arch/x68k/stand/libsa/chdsk.c 12 Jan 2009 07:56:31 -0000 1.2 +++ sys/arch/x68k/stand/libsa/chdsk.c 17 Jul 2010 10:38:24 -0000 @@ -40,6 +40,23 @@ struct fd_softc *sc = f->f_devdata; int unit = (0x90 + sc->unit) << 8; +#define USE_TWO_DRIVES +#if defined(USE_TWO_DRIVES) + /* unlock #0 */ + IOCS_B_DRVCHK(unit, 3); + + /* next drive (toggle #0 and #1) */ + sc->unit = 1 - sc->unit; + unit = (0x90 + sc->unit) << 8; + + /* prompt #1 */ + IOCS_B_DRVCHK(unit, 4); + /* poll for medium #1 */ + while ((IOCS_B_DRVCHK(unit, 0) & 2) == 0) + awaitkey_1sec(); + /* lock #1 */ + IOCS_B_DRVCHK(unit, 2); +#else /* unlock */ IOCS_B_DRVCHK(unit, 3); /* eject */ @@ -52,6 +69,7 @@ awaitkey_1sec(); /* lock */ IOCS_B_DRVCHK(unit, 2); +#endif /* USE_TWO_DRVIES */ } return 0;