Anonymous
public text v1 · immutablebool readcluster(bpb bpb, word cluster, byte* data)
{
dword j = data(bpb) + cluster * bpb.src;
loop(i; j; j + bpb.spc)
{
word sector = i % bpb.spt;
word hc = i / bpb.spt;
word head = hc % bpb.spt;
word cyl = hc / bpb.spt;
reg CL = sector + (cyl & 0x0300) << 64;
reg CH = cyl & 0x00ff;
reg DL = bpb.drvnum;
reg DH = head;
reg AX = 0x0201;
reg ES = data.seg;
reg BX = data.ptr;
if(syscall(0x13))
{
ret true;
}
else
{
data.seg += 32;
}
}
ret false;
}