|
|
| version 1.6, 2004/03/23 04:45:03 | version 1.10, 2005/03/05 06:02:28 |
|---|---|
| Line 43 enum { | Line 43 enum { |
| _SASIIO sasiio; | _SASIIO sasiio; |
| static BOOL sasiseek(void) { | static BRESULT sasiseek(void) { |
| SXSIDEV sxsi; | SXSIDEV sxsi; |
| Line 59 static BOOL sasiseek(void) { | Line 59 static BOOL sasiseek(void) { |
| return(SUCCESS); | return(SUCCESS); |
| } | } |
| static BOOL sasiflash(void) { | static BRESULT sasiflash(void) { |
| SXSIDEV sxsi; | SXSIDEV sxsi; |
| Line 145 static void checkcmd(void) { | Line 145 static void checkcmd(void) { |
| sasiio.phase = SASIPHASE_SENSE; | sasiio.phase = SASIPHASE_SENSE; |
| sasiio.senspos = 0; | sasiio.senspos = 0; |
| sasiio.sens[0] = sasiio.error; | sasiio.sens[0] = sasiio.error; |
| sasiio.sens[1] = (BYTE)((sasiio.unit << 5) + | sasiio.sens[1] = (UINT8)((sasiio.unit << 5) + |
| ((sasiio.sector >> 16) & 0x1f)); | ((sasiio.sector >> 16) & 0x1f)); |
| sasiio.sens[2] = (BYTE)(sasiio.sector >> 8); | sasiio.sens[2] = (UINT8)(sasiio.sector >> 8); |
| sasiio.sens[3] = (BYTE)sasiio.sector; | sasiio.sens[3] = (UINT8)sasiio.sector; |
| sasiio.error = 0x00; | sasiio.error = 0x00; |
| sasiio.stat = 0x00; | sasiio.stat = 0x00; |
| break; | break; |
| Line 311 static void IOOUTCALL sasiio_o80(UINT po | Line 311 static void IOOUTCALL sasiio_o80(UINT po |
| case SASIPHASE_CMD: | case SASIPHASE_CMD: |
| // TRACEOUT(("sasi cmd = %.2x", dat)); | // TRACEOUT(("sasi cmd = %.2x", dat)); |
| sasiio.cmd[sasiio.cmdpos] = (BYTE)dat; | sasiio.cmd[sasiio.cmdpos] = (UINT8)dat; |
| sasiio.cmdpos++; | sasiio.cmdpos++; |
| if (sasiio.cmdpos >= 6) { | if (sasiio.cmdpos >= 6) { |
| checkcmd(); | checkcmd(); |
| Line 337 static void IOOUTCALL sasiio_o82(UINT po | Line 337 static void IOOUTCALL sasiio_o82(UINT po |
| UINT8 oldocr; | UINT8 oldocr; |
| oldocr = sasiio.ocr; | oldocr = sasiio.ocr; |
| sasiio.ocr = (BYTE)dat; | sasiio.ocr = (UINT8)dat; |
| if ((oldocr & SASIOCR_RST) && (!(dat & SASIOCR_RST))) { | if ((oldocr & SASIOCR_RST) && (!(dat & SASIOCR_RST))) { |
| sasiio.phase = SASIPHASE_FREE; | sasiio.phase = SASIPHASE_FREE; |
| Line 419 static REG8 IOINPCALL sasiio_i82(UINT po | Line 419 static REG8 IOINPCALL sasiio_i82(UINT po |
| else { | else { |
| ret = 0; | ret = 0; |
| sxsi = sxsi_getptr(0x00); // SASI-1 | sxsi = sxsi_getptr(0x00); // SASI-1 |
| if ((sxsi) && ((sxsi->type & SXSITYPE_IFMASK) == SXSITYPE_SASI)) { | if (sxsi) { |
| ret |= (sxsi->type >> (8 - 3)) & 0x38; | ret |= (sxsi->mediatype & 7) << 3; |
| } | } |
| else { | else { |
| ret |= 0x38; | ret |= (7 << 3); |
| } | } |
| sxsi = sxsi_getptr(0x01); // SASI-2 | sxsi = sxsi_getptr(0x01); // SASI-2 |
| if ((sxsi) && ((sxsi->type & SXSITYPE_IFMASK) == SXSITYPE_SASI)) { | if (sxsi) { |
| ret |= (sxsi->type >> 8) & 7; | ret |= (sxsi->mediatype & 7); |
| } | } |
| else { | else { |
| ret |= 7; | ret |= 7; |
| Line 450 void sasiio_reset(void) { | Line 450 void sasiio_reset(void) { |
| dmac_attach(DMADEV_SASI, SASI_DMACH); | dmac_attach(DMADEV_SASI, SASI_DMACH); |
| CPU_RAM_D000 &= ~(1 << 0); | CPU_RAM_D000 &= ~(1 << 0); |
| fh = file_open_rb_c("sasi.rom"); | fh = file_open_rb_c(OEMTEXT("sasi.rom")); |
| r = 0; | r = 0; |
| if (fh != FILEH_INVALID) { | if (fh != FILEH_INVALID) { |
| r = file_read(fh, mem + 0xd0000, 0x1000); | r = file_read(fh, mem + 0xd0000, 0x1000); |