|
|
| version 1.2, 2004/08/05 04:53:15 | version 1.3, 2004/08/09 04:47:53 |
|---|---|
| Line 168 void IOOUTCALL fdc_o(UINT port, REG8 val | Line 168 void IOOUTCALL fdc_o(UINT port, REG8 val |
| break; | break; |
| case 0xc: // リードアドレス | case 0xc: // リードアドレス |
| fdc.crc_off = 0; | fdc.s.bufpos = 0; |
| fdc.s.bufsize = 0; | |
| fdcdummyread = 2; | fdcdummyread = 2; |
| if (fdc.motor) { // ver0.25 | if (fdc.motor) { // ver0.25 |
| if (dma.DMA_ENBL) { | if (dma.DMA_ENBL) { |
| Line 178 void IOOUTCALL fdc_o(UINT port, REG8 val | Line 179 void IOOUTCALL fdc_o(UINT port, REG8 val |
| { | { |
| FDDFILE fdd = fddfile + fdc.drv; | FDDFILE fdd = fddfile + fdc.drv; |
| switch(fdd->type) { | switch(fdd->type) { |
| case DISKTYPE_NOTREADY: | |
| break; | |
| case DISKTYPE_BETA: | case DISKTYPE_BETA: |
| fdd_crc_2d(); | fdd2d_crc(fdd); |
| break; | break; |
| case DISKTYPE_D88: | case DISKTYPE_D88: |
| default: | default: |
| fdd_crc_d88(); | fddd88_crc(fdd); |
| break; | break; |
| } | } |
| } | } |
| Line 384 static short last_off; | Line 382 static short last_off; |
| inc_off(); | inc_off(); |
| } | } |
| else if (cmd == 0x0c) { // リード・アドレス | else if (cmd == 0x0c) { // リード・アドレス |
| if (fdc.crc_off < 6) { // ver0.25 | if (fdc.s.bufpos < 6) { |
| fdc.data = fdc.crc_dat[fdc.crc_off]; | fdc.data = fdc.s.buffer[fdc.s.bufpos]; |
| if (fdcdummyread) { // ver0.25 | if (fdcdummyread) { |
| fdcdummyread--; | fdcdummyread--; |
| } | } |
| else { | else { |
| fdc.crc_off++; | fdc.s.bufpos++; |
| } | } |
| } | } |
| } | } |
| Line 406 static short last_off; | Line 404 static short last_off; |
| // break; | // break; |
| case 0xe: // 1.6M | case 0xe: // 1.6M |
| fdc.media = 1; | fdc.s.media = DISKTYPE_2HD; |
| return(0xff); | return(0xff); |
| case 0xf: // 500K/1M | case 0xf: // 500K/1M |
| fdc.media = 0; | fdc.s.media = DISKTYPE_2D; |
| return(0xff); | return(0xff); |
| } | } |
| return(0); | return(0); |