trunk/src/emu/machine/wozfdc.c
| r31967 | r31968 | |
| 68 | 68 | |
| 69 | 69 | timer = timer_alloc(0); |
| 70 | 70 | 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)); |
| 71 | 96 | } |
| 72 | 97 | |
| 73 | 98 | void wozfdc_device::device_reset() |
| r31967 | r31968 | |
| 92 | 117 | { |
| 93 | 118 | floppy_image_device *newflop = NULL; |
| 94 | 119 | |
| 95 | | if (!enable1) |
| 120 | if ((!enable1) || (!external_io_select)) |
| 96 | 121 | { |
| 97 | 122 | newflop = floppy0->get_device(); |
| 98 | 123 | } |
| r31967 | r31968 | |
| 235 | 260 | break; |
| 236 | 261 | } |
| 237 | 262 | 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 | } |
| 244 | 270 | floppy = floppy0->get_device(); |
| 245 | 271 | if(active) { |
| 246 | 272 | floppy->mon_w(false); |
| r31967 | r31968 | |
| 249 | 275 | } |
| 250 | 276 | break; |
| 251 | 277 | case 0xb: |
| 278 | external_io_select = true; |
| 252 | 279 | if (!external_drive_select) |
| 253 | 280 | { |
| 254 | 281 | if (floppy != floppy1->get_device()) |