PDP11: Fix rounding up sector count computation

Fix #412, #424
This commit is contained in:
Mark Pizzolato 2017-04-13 20:42:47 -07:00
parent cd8e9eb5da
commit 8c5305c857

View file

@ -1176,7 +1176,7 @@ switch (fnc) { /* case on function */
}
} /* end if wr */
else if (uptr->FNC == FNC_READ) { /* read? */
err = sim_disk_rdsect (uptr, da/HK_NUMWD, (uint8 *)hkxb, &sectsread, (wc + (HK_NUMWD - 1)) & ~(HK_NUMWD - 1)/HK_NUMWD);
err = sim_disk_rdsect (uptr, da/HK_NUMWD, (uint8 *)hkxb, &sectsread, ((wc + (HK_NUMWD - 1)) & ~(HK_NUMWD - 1))/HK_NUMWD);
if ((err == SCPE_OK) &&
(sectsread != ((wc + (HK_NUMWD - 1)) & ~(HK_NUMWD - 1)/HK_NUMWD)))
err = -1;
@ -1196,7 +1196,7 @@ switch (fnc) { /* case on function */
}
} /* end if read */
else { /* wchk */
err = sim_disk_rdsect (uptr, da/HK_NUMWD, (uint8 *)hkxb, &sectsread, (wc + (HK_NUMWD - 1)) & ~(HK_NUMWD - 1)/HK_NUMWD);
err = sim_disk_rdsect (uptr, da/HK_NUMWD, (uint8 *)hkxb, &sectsread, ((wc + (HK_NUMWD - 1)) & ~(HK_NUMWD - 1))/HK_NUMWD);
sim_disk_data_trace (uptr, (uint8 *)hkxb, da/HK_NUMWD, sectsread*HK_NUMWD*sizeof(*hkxb), "sim_disk_rdsect", HKDEB_DAT & dptr->dctrl, HKDEB_OPS);
awc = wc;
for (wc = 0; wc < awc; wc++) { /* loop thru buf */