--- np2/cbus/scsicmd.c 2005/02/07 14:46:08 1.5 +++ np2/cbus/scsicmd.c 2005/05/20 13:59:46 1.8 @@ -75,7 +75,7 @@ REG8 scsicmd_select(REG8 id) { return(0x42); } sxsi = sxsi_getptr((REG8)(0x20 + id)); - if ((sxsi) && (sxsi->type)) { + if ((sxsi) && (sxsi->flag & SXSIFLAG_READY)) { scsiio.phase = SCSIPH_COMMAND; return(0x8a); // Transfer CommandÍ×µá } @@ -92,7 +92,7 @@ REG8 scsicmd_transfer(REG8 id, UINT8 *cd } sxsi = sxsi_getptr((REG8)(0x20 + id)); - if ((sxsi == NULL) || (sxsi->type == 0)) { + if ((sxsi == NULL) || (!(sxsi->flag & SXSIFLAG_READY))) { return(0x42); } @@ -127,7 +127,7 @@ static REG8 scsicmd_cmd(REG8 id) { return(0x42); } sxsi = sxsi_getptr((REG8)(0x20 + id)); - if ((sxsi == NULL) || (sxsi->type == 0)) { + if ((sxsi == NULL) || (!(sxsi->flag & SXSIFLAG_READY))) { return(0x42); } switch(scsiio.cmd[0]) { @@ -144,7 +144,7 @@ static REG8 scsicmd_cmd(REG8 id) { return(0xff); } -BOOL scsicmd_send(void) { +BRESULT scsicmd_send(void) { switch(scsiio.phase) { case SCSIPH_COMMAND: @@ -168,14 +168,14 @@ static REG8 bios1bc_seltrans(REG8 id) { UINT8 cdb[16]; REG8 ret; - MEML_READSTR(CPU_DS, CPU_DX, cdb, 16); + MEMR_READS(CPU_DS, CPU_DX, cdb, 16); scsiio.reg[SCSICTR_TARGETLUN] = cdb[0]; if ((cdb[1] & 0x0c) == 0x08) { // OUT - MEML_READSTR(CPU_ES, CPU_BX, scsiio.data, CPU_CX); + MEMR_READS(CPU_ES, CPU_BX, scsiio.data, CPU_CX); } ret = scsicmd_transfer(id, cdb + 4); if ((cdb[1] & 0x0c) == 0x04) { // IN - MEML_WRITESTR(CPU_ES, CPU_BX, scsiio.data, CPU_CX); + MEMR_WRITES(CPU_ES, CPU_BX, scsiio.data, CPU_CX); } return(ret); } @@ -194,7 +194,7 @@ void scsicmd_bios(void) { return; } - flag = MEML_READ8(CPU_SS, CPU_SP+4) & 0xbe; + flag = MEMR_READ8(CPU_SS, CPU_SP+4) & 0xbe; ret = mem[0x0483]; cmd = CPU_AH & 0x1f; dstid = CPU_AL & 7; @@ -236,13 +236,13 @@ void scsicmd_bios(void) { else { switch(cmd) { case 0x19: // Data In - MEML_WRITESTR(CPU_ES, CPU_BX, scsiio.data, CPU_CX); + MEMR_WRITES(CPU_ES, CPU_BX, scsiio.data, CPU_CX); scsiio.phase = SCSIPH_STATUS; stat = 0x8b; break; case 0x1a: // Transfer command - MEML_READSTR(CPU_ES, CPU_BX, scsiio.cmd, 12); + MEMR_READS(CPU_ES, CPU_BX, scsiio.cmd, 12); stat = scsicmd_cmd(dstid); break; @@ -273,7 +273,7 @@ void scsicmd_bios(void) { ret &= 0x7f; } CPU_AH = ret; - MEML_WRITE8(CPU_SS, CPU_SP + 4, flag); + MEMR_WRITE8(CPU_SS, CPU_SP + 4, flag); } #endif