|
|
| version 1.16, 2005/02/07 14:46:07 | version 1.18, 2005/05/20 13:59:46 |
|---|---|
| Line 62 static REG8 sxsibios_write(UINT type, SX | Line 62 static REG8 sxsibios_write(UINT type, SX |
| addr = (CPU_ES << 4) + CPU_BP; | addr = (CPU_ES << 4) + CPU_BP; |
| while(size) { | while(size) { |
| r = min(size, sxsi->size); | r = min(size, sxsi->size); |
| MEML_READ(addr, work, r); | MEML_READS(addr, work, r); |
| ret = sxsi_write(CPU_AL, pos, work, r); | ret = sxsi_write(CPU_AL, pos, work, r); |
| if (ret >= 0x20) { | if (ret >= 0x20) { |
| break; | break; |
| Line 97 static REG8 sxsibios_read(UINT type, SXS | Line 97 static REG8 sxsibios_read(UINT type, SXS |
| if (ret >= 0x20) { | if (ret >= 0x20) { |
| break; | break; |
| } | } |
| MEML_WRITE(addr, work, r); | MEML_WRITES(addr, work, r); |
| addr += r; | addr += r; |
| size -= r; | size -= r; |
| pos++; | pos++; |
| Line 174 static REG8 sasibios_init(UINT type, SXS | Line 174 static REG8 sasibios_init(UINT type, SXS |
| diskequip &= 0xf0ff; | diskequip &= 0xf0ff; |
| for (i=0x00, bit=0x0100; i<0x02; i++, bit<<=1) { | for (i=0x00, bit=0x0100; i<0x02; i++, bit<<=1) { |
| sxsi = sxsi_getptr(i); | sxsi = sxsi_getptr(i); |
| if ((sxsi) && (sxsi->fname[0])) { | if ((sxsi) && (sxsi->flag & SXSIFLAG_READY)) { |
| diskequip |= bit; | diskequip |= bit; |
| } | } |
| } | } |
| Line 187 static REG8 sasibios_init(UINT type, SXS | Line 187 static REG8 sasibios_init(UINT type, SXS |
| static REG8 sasibios_sense(UINT type, SXSIDEV sxsi) { | static REG8 sasibios_sense(UINT type, SXSIDEV sxsi) { |
| if (type == SXSIBIOS_SASI) { | if (type == SXSIBIOS_SASI) { |
| return((REG8)((sxsi->type >> 8) & 7)); | return((REG8)(sxsi->mediatype & 7)); |
| } | } |
| else { | else { |
| if (CPU_AH == 0x84) { | if (CPU_AH == 0x84) { |
| Line 283 static REG8 scsibios_init(UINT type, SXS | Line 283 static REG8 scsibios_init(UINT type, SXS |
| ZeroMemory(&mem[0x00460], 0x20); | ZeroMemory(&mem[0x00460], 0x20); |
| for (i=0, bit=1; i<4; i++, bit<<=1) { | for (i=0, bit=1; i<4; i++, bit<<=1) { |
| sxsi = sxsi_getptr((REG8)(0x20 + i)); | sxsi = sxsi_getptr((REG8)(0x20 + i)); |
| if ((sxsi) && (sxsi->fname[0])) { | if ((sxsi) && (sxsi->flag & SXSIFLAG_READY)) { |
| mem[MEMB_DISK_EQUIPS] |= bit; | mem[MEMB_DISK_EQUIPS] |= bit; |
| scsibios_set(i, sxsi->sectors, sxsi->surfaces, | scsibios_set(i, sxsi->sectors, sxsi->surfaces, |
| sxsi->cylinders, sxsi->size, TRUE); | sxsi->cylinders, sxsi->size, TRUE); |
| Line 432 static void reg_load(UINT seg, UINT off) | Line 432 static void reg_load(UINT seg, UINT off) |
| B1BREG r; | B1BREG r; |
| MEML_READSTR(seg, off, &r, sizeof(r)); | MEMR_READS(seg, off, &r, sizeof(r)); |
| CPU_FLAGL = MEML_READ8(seg, off + 0x16); | CPU_FLAGL = MEMR_READ8(seg, off + 0x16); |
| CPU_AX = LOADINTELWORD(r.r_ax); | CPU_AX = LOADINTELWORD(r.r_ax); |
| CPU_BX = LOADINTELWORD(r.r_bx); | CPU_BX = LOADINTELWORD(r.r_bx); |
| CPU_CX = LOADINTELWORD(r.r_cx); | CPU_CX = LOADINTELWORD(r.r_cx); |
| Line 458 static void reg_store(UINT seg, UINT off | Line 458 static void reg_store(UINT seg, UINT off |
| STOREINTELWORD(r.r_di, CPU_DI); | STOREINTELWORD(r.r_di, CPU_DI); |
| STOREINTELWORD(r.r_si, CPU_SI); | STOREINTELWORD(r.r_si, CPU_SI); |
| STOREINTELWORD(r.r_ds, CPU_DS); | STOREINTELWORD(r.r_ds, CPU_DS); |
| MEML_WRITESTR(seg, off, &r, sizeof(r)); | MEMR_WRITES(seg, off, &r, sizeof(r)); |
| MEML_WRITE8(seg, off + 0x16, CPU_FLAGL); | MEMR_WRITE8(seg, off + 0x16, CPU_FLAGL); |
| } | } |
| #endif | #endif |