mirror of
https://github.com/simh/simh.git
synced 2026-02-11 18:46:08 +00:00
SDS: Simplify MT operation check.
The SDS tape unit can't do write reverse (no magtape tape can, afaik). So instead of testing for a particular write subop, the code just tests that the write was done in BCD mode. This is closer to how the hardware works.
This commit is contained in:
committed by
Mark Pizzolato
parent
a429739622
commit
59067579dd
@@ -428,9 +428,9 @@ if (dev & DEV_MTS) { /* erase? */
|
|||||||
st = sim_tape_errecr (uptr, mt_bptr);
|
st = sim_tape_errecr (uptr, mt_bptr);
|
||||||
else st = sim_tape_errecf (uptr, mt_bptr); /* no, forward */
|
else st = sim_tape_errecf (uptr, mt_bptr); /* no, forward */
|
||||||
}
|
}
|
||||||
else {
|
else { /* can't be reverse */
|
||||||
if ((mt_bptr == 1) && (mtxb[0] == 017) && /* wr eof? */
|
if ((mt_bptr == 1) && (mtxb[0] == 017) && /* 1 char BCD write */
|
||||||
((mt_inst & 01670) == 00050))
|
(!(mt_inst & CHC_BIN))) /* of 017B? */
|
||||||
st = sim_tape_wrtmk (uptr); /* write tape mark */
|
st = sim_tape_wrtmk (uptr); /* write tape mark */
|
||||||
else st = sim_tape_wrrecf (uptr, mtxb, mt_bptr); /* write record */
|
else st = sim_tape_wrrecf (uptr, mtxb, mt_bptr); /* write record */
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user