--- np2/cbus/sasiio.c 2004/01/28 23:36:13 1.5 +++ np2/cbus/sasiio.c 2005/02/12 12:40:38 1.9 @@ -43,7 +43,7 @@ enum { _SASIIO sasiio; -static BOOL sasiseek(void) { +static BRESULT sasiseek(void) { SXSIDEV sxsi; @@ -59,7 +59,7 @@ static BOOL sasiseek(void) { return(SUCCESS); } -static BOOL sasiflash(void) { +static BRESULT sasiflash(void) { SXSIDEV sxsi; @@ -145,10 +145,10 @@ static void checkcmd(void) { sasiio.phase = SASIPHASE_SENSE; sasiio.senspos = 0; sasiio.sens[0] = sasiio.error; - sasiio.sens[1] = (BYTE)((sasiio.unit << 5) + + sasiio.sens[1] = (UINT8)((sasiio.unit << 5) + ((sasiio.sector >> 16) & 0x1f)); - sasiio.sens[2] = (BYTE)(sasiio.sector >> 8); - sasiio.sens[3] = (BYTE)sasiio.sector; + sasiio.sens[2] = (UINT8)(sasiio.sector >> 8); + sasiio.sens[3] = (UINT8)sasiio.sector; sasiio.error = 0x00; sasiio.stat = 0x00; break; @@ -311,7 +311,7 @@ static void IOOUTCALL sasiio_o80(UINT po case SASIPHASE_CMD: // TRACEOUT(("sasi cmd = %.2x", dat)); - sasiio.cmd[sasiio.cmdpos] = (BYTE)dat; + sasiio.cmd[sasiio.cmdpos] = (UINT8)dat; sasiio.cmdpos++; if (sasiio.cmdpos >= 6) { checkcmd(); @@ -337,7 +337,7 @@ static void IOOUTCALL sasiio_o82(UINT po UINT8 oldocr; oldocr = sasiio.ocr; - sasiio.ocr = (BYTE)dat; + sasiio.ocr = (UINT8)dat; if ((oldocr & SASIOCR_RST) && (!(dat & SASIOCR_RST))) { sasiio.phase = SASIPHASE_FREE; @@ -449,7 +449,8 @@ void sasiio_reset(void) { if (pccore.hddif & PCHDD_SASI) { dmac_attach(DMADEV_SASI, SASI_DMACH); - fh = file_open_rb_c("sasi.rom"); + CPU_RAM_D000 &= ~(1 << 0); + fh = file_open_rb_c(OEMTEXT("sasi.rom")); r = 0; if (fh != FILEH_INVALID) { r = file_read(fh, mem + 0xd0000, 0x1000);