Previous 15994 Revisions Next

r7350 Sunday 14th February, 2010 at 10:43:25 UTC by Robbbert
[TRS80] Implemented motor control feedback to the disk controller, fixes Model 3 and 4 disk boot, and fixes Model I directory listing.
[src/mess/machine]trs80.c

src/mess/machine/trs80.c
r7349r7350
642642   }
643643
644644   wd17xx_dden_w(trs80_fdc, !BIT(data, 7));
645
646   /* CLEAR_LINE means to turn motors on */
647   floppy_mon_w(floppy_get_device(space->machine, 0), (data & 0x0f) ? CLEAR_LINE : ASSERT_LINE);
648   floppy_mon_w(floppy_get_device(space->machine, 1), (data & 0x0f) ? CLEAR_LINE : ASSERT_LINE);
649   floppy_mon_w(floppy_get_device(space->machine, 2), (data & 0x0f) ? CLEAR_LINE : ASSERT_LINE);
650   floppy_mon_w(floppy_get_device(space->machine, 3), (data & 0x0f) ? CLEAR_LINE : ASSERT_LINE);
645651}
646652
647653WRITE8_HANDLER( sys80_f8_w )
r7349r7350
903909   }
904910
905911   if (drive > 3)
912   {   /* Turn motors off */
913      floppy_mon_w(floppy_get_device(space->machine, 0), ASSERT_LINE);
914      floppy_mon_w(floppy_get_device(space->machine, 1), ASSERT_LINE);
915      floppy_mon_w(floppy_get_device(space->machine, 2), ASSERT_LINE);
916      floppy_mon_w(floppy_get_device(space->machine, 3), ASSERT_LINE);
906917      return;
918   }
907919
908920   wd17xx_set_drive(trs80_fdc,drive);
909921   wd17xx_set_side(trs80_fdc,head);
910922
923   /* Turn motors on */
924   floppy_mon_w(floppy_get_device(space->machine, 0), CLEAR_LINE);
925   floppy_mon_w(floppy_get_device(space->machine, 1), CLEAR_LINE);
926   floppy_mon_w(floppy_get_device(space->machine, 2), CLEAR_LINE);
927   floppy_mon_w(floppy_get_device(space->machine, 3), CLEAR_LINE);
911928}
912929
913930/*************************************

Previous 15994 Revisions Next


© 1998-2018 The MESS Team