|
|
| version 1.1.1.1, 2003/10/16 17:57:52 | version 1.4, 2003/11/12 00:55:38 |
|---|---|
| Line 4 | Line 4 |
| #include "compiler.h" | #include "compiler.h" |
| #include "dosio.h" | |
| #include "i286.h" | |
| #include "pccore.h" | #include "pccore.h" |
| #include "iocore.h" | #include "iocore.h" |
| #include "fddfile.h" | #include "fddfile.h" |
| Line 74 void fdcbusy_error7(NEVENTITEM item) { | Line 72 void fdcbusy_error7(NEVENTITEM item) { |
| } | } |
| } | } |
| #if 0 // ↑イベントは残しとく... | |
| static void fdcderay_error7(SINT16 ms) { // ver0.27 | static void fdcderay_error7(SINT16 ms) { // ver0.27 |
| fdc.busy = 1; | fdc.busy = 1; |
| Line 81 static void fdcderay_error7(SINT16 ms) { | Line 80 static void fdcderay_error7(SINT16 ms) { |
| fdc.status &= ~FDCSTAT_RQM; | fdc.status &= ~FDCSTAT_RQM; |
| nevent_setbyms(NEVENT_FDCBUSY, ms, fdcbusy_error7, NEVENT_ABSOLUTE); | nevent_setbyms(NEVENT_FDCBUSY, ms, fdcbusy_error7, NEVENT_ABSOLUTE); |
| } | } |
| #endif | |
| // ---------------------------------------------------------------------- | // ---------------------------------------------------------------------- |
| Line 352 static void readsector(void) { | Line 352 static void readsector(void) { |
| fdcsend_error7(); | fdcsend_error7(); |
| return; | return; |
| } | } |
| fdc.event = FDCEVENT_BUFSEND2; | fdc.event = FDCEVENT_BUFSEND2; |
| fdc.bufp = 0; | fdc.bufp = 0; |
| #if 1 // ver0.27 ?? | #if 1 // ver0.27 ?? |
| Line 467 static void FDC_ReadID(void) { // | Line 468 static void FDC_ReadID(void) { // |
| switch(fdc.event) { | switch(fdc.event) { |
| case FDCEVENT_CMDRECV: | case FDCEVENT_CMDRECV: |
| fdc.mf = fdc.cmd & 0x40; | |
| get_hdus(); | get_hdus(); |
| if (fdd_readid() == SUCCESS) { | |
| fdcsend_success7(); | |
| } | |
| else { | |
| fdc.stat[fdc.us] = fdc.us | (fdc.hd << 2) | | |
| FDCRLT_IC0 | FDCRLT_MA; | |
| fdcsend_error7(); | |
| } | |
| break; | break; |
| } | } |
| } | } |
| Line 586 static const FDCOPE FDC_Ope[0x20] = { | Line 596 static const FDCOPE FDC_Ope[0x20] = { |
| FDC_Recalibrate, | FDC_Recalibrate, |
| FDC_SenceintStatus, | FDC_SenceintStatus, |
| FDC_WriteData, | FDC_WriteData, |
| FDC_Invalid, // FDC_ReadID, | FDC_ReadID, |
| FDC_Invalid, | FDC_Invalid, |
| FDC_ReadData, | FDC_ReadData, |
| FDC_WriteID, | FDC_WriteID, |
| Line 704 BYTE DMACCALL fdc_DataRegRead(void) { | Line 714 BYTE DMACCALL fdc_DataRegRead(void) { |
| static void IOOUTCALL fdc_o92(UINT port, BYTE dat) { | static void IOOUTCALL fdc_o92(UINT port, BYTE dat) { |
| // TRACEOUT(("fdc out %x %x", port, dat)); | |
| CTRL_FDMEDIA = DISKTYPE_2HD; | CTRL_FDMEDIA = DISKTYPE_2HD; |
| if ((fdc.status & (FDCSTAT_RQM | FDCSTAT_DIO)) == FDCSTAT_RQM) { | if ((fdc.status & (FDCSTAT_RQM | FDCSTAT_DIO)) == FDCSTAT_RQM) { |
| fdc_DataRegWrite(dat); | fdc_DataRegWrite(dat); |
| Line 713 static void IOOUTCALL fdc_o92(UINT port, | Line 724 static void IOOUTCALL fdc_o92(UINT port, |
| static void IOOUTCALL fdc_o94(UINT port, BYTE dat) { | static void IOOUTCALL fdc_o94(UINT port, BYTE dat) { |
| // TRACEOUT(("fdc out %x %x", port, dat)); | |
| CTRL_FDMEDIA = DISKTYPE_2HD; | CTRL_FDMEDIA = DISKTYPE_2HD; |
| if ((fdc.ctrlreg ^ dat) & 0x10) { | if ((fdc.ctrlreg ^ dat) & 0x10) { |
| fdcstatusreset(); | fdcstatusreset(); |
| Line 725 static void IOOUTCALL fdc_o94(UINT port, | Line 737 static void IOOUTCALL fdc_o94(UINT port, |
| static BYTE IOINPCALL fdc_i90(UINT port) { | static BYTE IOINPCALL fdc_i90(UINT port) { |
| // TRACEOUT(("fdc in %x %x", port, fdc.status)); | |
| CTRL_FDMEDIA = DISKTYPE_2HD; | CTRL_FDMEDIA = DISKTYPE_2HD; |
| (void)port; | (void)port; |
| Line 744 static BYTE IOINPCALL fdc_i92(UINT port) | Line 757 static BYTE IOINPCALL fdc_i92(UINT port) |
| ret = fdc.lastdata; | ret = fdc.lastdata; |
| } | } |
| (void)port; | (void)port; |
| // TRACEOUT(("fdc in %x %x", port, ret)); | |
| return(ret); | return(ret); |
| } | } |