summary |
tags |
clone url |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
2c3059b)
SCCS-vsn: sys/vax/uba/tm.c 4.7
#include "tm.h"
#if NTM > 0
/*
* TM tape driver
*/
#include "tm.h"
#if NTM > 0
/*
* TM tape driver
*/
+#define DELAY(N) { register int d; d = N; while (--d > 0); }
#include "../h/param.h"
#include "../h/buf.h"
#include "../h/dir.h"
#include "../h/param.h"
#include "../h/buf.h"
#include "../h/dir.h"
struct mtop mtop;
struct mtget mtget;
/* we depend of the values and order of the MT codes here */
struct mtop mtop;
struct mtget mtget;
/* we depend of the values and order of the MT codes here */
- static tmops[] = {WEOF, SFORW, SREV, SFORW, SREV, REW, OFFL};
+ static tmops[] = {WEOF, SFORW, SREV, SFORW, SREV, REW, OFFL, NOP};
switch(cmd) {
case MTIOCTOP: /* tape operation */
switch(cmd) {
case MTIOCTOP: /* tape operation */
callcount = 1;
fcount = mtop.mt_count;
break;
callcount = 1;
fcount = mtop.mt_count;
break;
- case MTREW: case MTOFFL:
+ case MTREW: case MTOFFL: case MTNOP:
callcount = 1;
fcount = 1;
break;
callcount = 1;
fcount = 1;
break;
- TMPHYS->tmcs = DCLR | GO;
#if VAX==780
up->uba_cr = ADINIT;
up->uba_cr = IFS|BRIE|USEFIE|SUEFIE;
while ((up->uba_cnfgr & UBIC) == 0)
;
#endif
#if VAX==780
up->uba_cr = ADINIT;
up->uba_cr = IFS|BRIE|USEFIE|SUEFIE;
while ((up->uba_cnfgr & UBIC) == 0)
;
#endif
+ DELAY(1000000);
+ twait();
+ TMPHYS->tmcs = DCLR | GO;
while (num > 0) {
blk = num > DBSIZE ? DBSIZE : num;
tmdwrite(start, blk);
while (num > 0) {
blk = num > DBSIZE ? DBSIZE : num;
tmdwrite(start, blk);
*io = 0;
TMPHYS->tmbc = -(num*NBPG);
TMPHYS->tmba = 0;
*io = 0;
TMPHYS->tmbc = -(num*NBPG);
TMPHYS->tmba = 0;
- TMPHYS->tmcs = WCOM | GO | D800;
+ TMPHYS->tmcs = WCOM | GO;
- TMPHYS->tmcs = WEOF | GO | D800;
+ TMPHYS->tmcs = WEOF | GO;