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:
Bob Supnik 2018-05-23 15:52:08 -07:00 committed by Mark Pizzolato
parent d725954568
commit ef94dcbe93

View file

@ -427,9 +427,9 @@ if (dev & DEV_MTS) { /* erase? */
st = sim_tape_errecr (uptr, mt_bptr);
else st = sim_tape_errecf (uptr, mt_bptr); /* no, forward */
}
else {
if ((mt_bptr == 1) && (mtxb[0] == 017) && /* wr eof? */
((mt_inst & 01670) == 00050))
else { /* can't be reverse */
if ((mt_bptr == 1) && (mtxb[0] == 017) && /* 1 char BCD write */
(!(mt_inst & CHC_BIN))) /* of 017B? */
st = sim_tape_wrtmk (uptr); /* write tape mark */
else st = sim_tape_wrrecf (uptr, mtxb, mt_bptr); /* write record */
}