--- np2/bios/sxsibios.c 2004/03/04 15:20:13 1.11 +++ np2/bios/sxsibios.c 2004/03/12 18:19:57 1.14 @@ -49,7 +49,7 @@ static REG8 sxsibios_write(UINT type, SX REG8 ret; UINT size; long pos; - UINT bp; + UINT32 addr; UINT r; BYTE work[1024]; @@ -59,16 +59,16 @@ static REG8 sxsibios_write(UINT type, SX } ret = sxsi_pos(type, sxsi, &pos); if (!ret) { - bp = CPU_BP; + addr = (CPU_ES << 4) + CPU_BP; while(size) { r = min(size, sxsi->size); - i286_memstr_read(CPU_ES, bp, work, r); + MEML_READ(addr, work, r); ret = sxsi_write(CPU_AL, pos, work, r); if (ret >= 0x20) { break; } + addr += r; size -= r; - bp += r; pos++; } } @@ -80,7 +80,7 @@ static REG8 sxsibios_read(UINT type, SXS REG8 ret; UINT size; long pos; - UINT bp; + UINT32 addr; UINT r; BYTE work[1024]; @@ -90,16 +90,16 @@ static REG8 sxsibios_read(UINT type, SXS } ret = sxsi_pos(type, sxsi, &pos); if (!ret) { - bp = CPU_BP; + addr = (CPU_ES << 4) + CPU_BP; while(size) { r = min(size, sxsi->size); ret = sxsi_read(CPU_AL, pos, work, r); if (ret >= 0x20) { break; } - i286_memstr_write(CPU_ES, bp, work, r); + MEML_WRITE(addr, work, r); + addr += r; size -= r; - bp += r; pos++; } } @@ -432,8 +432,8 @@ static void reg_load(UINT seg, UINT off) B1BREG r; - i286_memstr_read(seg, off, &r, sizeof(r)); - CPU_FLAGL = i286_membyte_read(seg, off + 0x16); + MEML_READSTR(seg, off, &r, sizeof(r)); + CPU_FLAGL = MEML_READ8(seg, off + 0x16); CPU_AX = LOADINTELWORD(r.r_ax); CPU_BX = LOADINTELWORD(r.r_bx); CPU_CX = LOADINTELWORD(r.r_cx); @@ -458,8 +458,8 @@ static void reg_store(UINT seg, UINT off STOREINTELWORD(r.r_di, CPU_DI); STOREINTELWORD(r.r_si, CPU_SI); STOREINTELWORD(r.r_ds, CPU_DS); - i286_memstr_write(seg, off, &r, sizeof(r)); - i286_membyte_write(seg, off + 0x16, CPU_FLAGL); + MEML_WRITESTR(seg, off, &r, sizeof(r)); + MEML_WRITE8(seg, off + 0x16, CPU_FLAGL); } #endif