|
|
| version 1.7, 2005/03/05 06:02:28 | version 1.8, 2005/05/20 13:59:46 |
|---|---|
| Line 168 static REG8 bios1bc_seltrans(REG8 id) { | Line 168 static REG8 bios1bc_seltrans(REG8 id) { |
| UINT8 cdb[16]; | UINT8 cdb[16]; |
| REG8 ret; | REG8 ret; |
| MEML_READSTR(CPU_DS, CPU_DX, cdb, 16); | MEMR_READS(CPU_DS, CPU_DX, cdb, 16); |
| scsiio.reg[SCSICTR_TARGETLUN] = cdb[0]; | scsiio.reg[SCSICTR_TARGETLUN] = cdb[0]; |
| if ((cdb[1] & 0x0c) == 0x08) { // OUT | 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); | ret = scsicmd_transfer(id, cdb + 4); |
| if ((cdb[1] & 0x0c) == 0x04) { // IN | 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); | return(ret); |
| } | } |
| Line 194 void scsicmd_bios(void) { | Line 194 void scsicmd_bios(void) { |
| return; | return; |
| } | } |
| flag = MEML_READ8(CPU_SS, CPU_SP+4) & 0xbe; | flag = MEMR_READ8(CPU_SS, CPU_SP+4) & 0xbe; |
| ret = mem[0x0483]; | ret = mem[0x0483]; |
| cmd = CPU_AH & 0x1f; | cmd = CPU_AH & 0x1f; |
| dstid = CPU_AL & 7; | dstid = CPU_AL & 7; |
| Line 236 void scsicmd_bios(void) { | Line 236 void scsicmd_bios(void) { |
| else { | else { |
| switch(cmd) { | switch(cmd) { |
| case 0x19: // Data In | 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; | scsiio.phase = SCSIPH_STATUS; |
| stat = 0x8b; | stat = 0x8b; |
| break; | break; |
| case 0x1a: // Transfer command | 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); | stat = scsicmd_cmd(dstid); |
| break; | break; |
| Line 273 void scsicmd_bios(void) { | Line 273 void scsicmd_bios(void) { |
| ret &= 0x7f; | ret &= 0x7f; |
| } | } |
| CPU_AH = ret; | CPU_AH = ret; |
| MEML_WRITE8(CPU_SS, CPU_SP + 4, flag); | MEMR_WRITE8(CPU_SS, CPU_SP + 4, flag); |
| } | } |
| #endif | #endif |