src/mess/drivers/xerox820.c
| r4905 | r4906 | |
| 11 | 11 | |
| 12 | 12 | TODO: |
| 13 | 13 | |
| 14 | | - floppy |
| 15 | 14 | - add xtals.h |
| 16 | 15 | - baud A/B (COM8116 chip) |
| 17 | 16 | - type in Monitor v1.0 from manual |
| r4905 | r4906 | |
| 360 | 359 | |
| 361 | 360 | 0 _DVSEL1 drive select 1 |
| 362 | 361 | 1 _DVSEL2 drive select 2 |
| 363 | | 2 side select |
| 362 | 2 _DVSEL3 side select |
| 364 | 363 | 3 |
| 365 | 364 | 4 |
| 366 | 365 | 5 |
| r4905 | r4906 | |
| 372 | 371 | xerox820_state *state = device->machine->driver_data; |
| 373 | 372 | |
| 374 | 373 | /* drive select */ |
| 375 | | wd17xx_set_drive(state->wd1771, data & 0x03); |
| 374 | if (BIT(data, 0)) wd17xx_set_drive(state->wd1771, 0); |
| 375 | if (BIT(data, 1)) wd17xx_set_drive(state->wd1771, 1); |
| 376 | 376 | |
| 377 | 377 | floppy_drive_set_motor_state(get_floppy_image(device->machine, 0), 1); |
| 378 | 378 | floppy_drive_set_motor_state(get_floppy_image(device->machine, 1), 1); |
| r4905 | r4906 | |
| 710 | 710 | switch (image_length(image)) |
| 711 | 711 | { |
| 712 | 712 | case 77*1*26*128: // 250K 8" SSSD |
| 713 | | basicdsk_set_geometry(image, 77, 1, 26, 128, 0, 0, FALSE); |
| 713 | basicdsk_set_geometry(image, 77, 1, 26, 128, 1, 0, FALSE); |
| 714 | 714 | state->_8n5 = 1; |
| 715 | 715 | state->dsdd = 0; |
| 716 | 716 | return INIT_PASS; |
| 717 | 717 | |
| 718 | 718 | case 77*1*26*256: // 500K 8" SSDD |
| 719 | | basicdsk_set_geometry(image, 77, 1, 26, 256, 0, 0, FALSE); |
| 719 | basicdsk_set_geometry(image, 77, 1, 26, 256, 1, 0, FALSE); |
| 720 | 720 | state->_8n5 = 1; |
| 721 | 721 | state->dsdd = 0; |
| 722 | 722 | return INIT_PASS; |