--- np2/bios/sxsibios.c 2004/02/13 08:01:12 1.10 +++ np2/bios/sxsibios.c 2004/03/04 16:58:57 1.12 @@ -47,28 +47,28 @@ static REG8 sxsi_pos(UINT type, SXSIDEV static REG8 sxsibios_write(UINT type, SXSIDEV sxsi) { REG8 ret; - UINT32 addr; UINT size; long pos; + UINT32 addr; UINT r; BYTE work[1024]; - addr = (CPU_ES << 4) + CPU_BP; size = CPU_BX; if (!size) { size = 0x10000; } ret = sxsi_pos(type, sxsi, &pos); if (!ret) { + addr = (CPU_ES << 4) + CPU_BP; while(size) { r = min(size, sxsi->size); - i286_memx_read(addr, work, r); + MEML_READ(addr, work, r); ret = sxsi_write(CPU_AL, pos, work, r); if (ret >= 0x20) { break; } - size -= r; addr += r; + size -= r; pos++; } } @@ -78,28 +78,28 @@ static REG8 sxsibios_write(UINT type, SX static REG8 sxsibios_read(UINT type, SXSIDEV sxsi) { REG8 ret; - UINT32 addr; UINT size; long pos; + UINT32 addr; UINT r; BYTE work[1024]; - addr = (CPU_ES << 4) + CPU_BP; size = CPU_BX; if (!size) { size = 0x10000; } ret = sxsi_pos(type, sxsi, &pos); if (!ret) { + 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_memx_write(addr, work, r); - size -= r; + MEML_WRITE(addr, work, r); addr += r; + size -= r; pos++; } }