Previous 199869 Revisions Next

r31968 Sunday 7th September, 2014 at 14:06:26 UTC by R. Belmont
(MESS) apple3: Further improvements to drive select (nw)
[src/emu/machine]wozfdc.c wozfdc.h

trunk/src/emu/machine/wozfdc.c
r31967r31968
6868
6969   timer = timer_alloc(0);
7070   delay_timer = timer_alloc(1);
71
72   save_item(NAME(last_6502_write));
73   save_item(NAME(mode_write));
74   save_item(NAME(mode_load));
75   save_item(NAME(active));
76   save_item(NAME(phases));
77   save_item(NAME(external_io_select));
78   save_item(NAME(cur_lss.tm));
79   save_item(NAME(cur_lss.cycles));
80   save_item(NAME(cur_lss.data_reg));
81   save_item(NAME(cur_lss.address));
82   save_item(NAME(cur_lss.write_start_time));
83//   save_item(NAME(cur_lss.write_buffer));
84   save_item(NAME(cur_lss.write_position));
85   save_item(NAME(cur_lss.write_line_active));
86   save_item(NAME(predicted_lss.tm));
87   save_item(NAME(predicted_lss.cycles));
88   save_item(NAME(predicted_lss.data_reg));
89   save_item(NAME(predicted_lss.address));
90   save_item(NAME(predicted_lss.write_start_time));
91//   save_item(NAME(predicted_lss.write_buffer));
92   save_item(NAME(predicted_lss.write_position));
93   save_item(NAME(predicted_lss.write_line_active));
94   save_item(NAME(drvsel));
95   save_item(NAME(enable1));
7196}
7297
7398void wozfdc_device::device_reset()
r31967r31968
92117{
93118   floppy_image_device *newflop = NULL;
94119
95   if (!enable1)
120   if ((!enable1) || (!external_io_select))
96121   {
97122      newflop = floppy0->get_device();
98123   }
r31967r31968
235260            break;
236261         }
237262         break;
238      case 0xa:
239         if(floppy != floppy0->get_device()) {
240            if(active) {
241               lss_sync();
242               floppy->mon_w(true);
243            }
263         case 0xa:
264            external_io_select = false;
265            if(floppy != floppy0->get_device()) {
266               if(active) {
267                  lss_sync();
268                  floppy->mon_w(true);
269               }
244270            floppy = floppy0->get_device();
245271            if(active) {
246272               floppy->mon_w(false);
r31967r31968
249275         }
250276         break;
251277      case 0xb:
278         external_io_select = true;
252279         if (!external_drive_select)
253280         {
254281            if (floppy != floppy1->get_device())
trunk/src/emu/machine/wozfdc.h
r31967r31968
6666   UINT8 phases;
6767   emu_timer *timer, *delay_timer;
6868   bool external_drive_select;
69   bool external_io_select;
6970
7071   lss cur_lss, predicted_lss;
7172

Previous 199869 Revisions Next


© 1997-2024 The MAME Team