PDP11, Most VAX: Improve rewind time for TQ device
Make the rewind time vary based on tape position.
This commit is contained in:
parent
f700346ea9
commit
bd45a9c45f
1 changed files with 5 additions and 1 deletions
|
@ -1210,7 +1210,11 @@ if ((uptr = tq_getucb (lu))) { /* unit exist? */
|
||||||
uptr->cpkt = pkt; /* op in progress */
|
uptr->cpkt = pkt; /* op in progress */
|
||||||
if ((tq_pkt[pkt].d[CMD_MOD] & MD_RWD) && /* rewind? */
|
if ((tq_pkt[pkt].d[CMD_MOD] & MD_RWD) && /* rewind? */
|
||||||
(!(tq_pkt[pkt].d[CMD_MOD] & MD_IMM))) { /* !immediate? */
|
(!(tq_pkt[pkt].d[CMD_MOD] & MD_IMM))) { /* !immediate? */
|
||||||
sim_activate_after (uptr, tq_rwtime); /* use 2 sec rewind execute time */
|
double walltime = (tq_rwtime - 100);
|
||||||
|
|
||||||
|
if (uptr->hwmark)
|
||||||
|
walltime *= ((double)uptr->pos)/uptr->hwmark;
|
||||||
|
sim_activate_after_d (uptr, 100 + walltime);/* use scaled 2 sec rewind execute time */
|
||||||
}
|
}
|
||||||
else { /* otherwise */
|
else { /* otherwise */
|
||||||
uptr->iostarttime = sim_grtime();
|
uptr->iostarttime = sim_grtime();
|
||||||
|
|
Loading…
Add table
Reference in a new issue