| 692 | } |
| 693 | |
| 694 | static void ide_set_features (struct ide_hdf *ide) |
| 695 | { |
| 696 | if (ide->ata_level < 0) { |
| 697 | ide_fail(ide); |
| 698 | return; |
| 699 | } |
| 700 | |
| 701 | int type = ide->regs.ide_nsector >> 3; |
| 702 | int mode = ide->regs.ide_nsector & 7; |
| 703 | |
| 704 | write_log (_T("IDE%d set features %02X (%02X)\n"), ide->num, ide->regs.ide_feat, ide->regs.ide_nsector); |
| 705 | switch (ide->regs.ide_feat) |
| 706 | { |
| 707 | // 8-bit mode |
| 708 | case 1: |
| 709 | ide->mode_8bit = true; |
| 710 | ide_interrupt(ide); |
| 711 | break; |
| 712 | case 0x81: |
| 713 | ide->mode_8bit = false; |
| 714 | ide_interrupt(ide); |
| 715 | break; |
| 716 | // write cache |
| 717 | case 2: |
| 718 | case 0x82: |
| 719 | ide_interrupt(ide); |
| 720 | break; |
| 721 | default: |
| 722 | ide_fail (ide); |
| 723 | break; |
| 724 | } |
| 725 | } |
| 726 | |
| 727 | static void get_lbachs (struct ide_hdf *ide, uae_u64 *lbap, unsigned int *cyl, unsigned int *head, unsigned int *sec) |
| 728 | { |
no test coverage detected