GRI, I1401, I7094, ID16, ID32, LGP, NOVA: Change a few tabs to spaces which had crept in over time.
This commit is contained in:
parent
9ad2f9bb12
commit
30d2db2abe
13 changed files with 160 additions and 164 deletions
|
@ -434,11 +434,11 @@ while (reason == 0) { /* loop until halted */
|
|||
for (i = 15; i >= 0; i--) {
|
||||
if ((t >> i) & 1)
|
||||
break;
|
||||
}
|
||||
}
|
||||
if ((i < 0) || ((vec = vec_map[i]) < 0)) { /* undefined? */
|
||||
reason = STOP_ILLINT; /* stop */
|
||||
break;
|
||||
}
|
||||
}
|
||||
dev_done = dev_done & ~INT_ON; /* int off */
|
||||
M[vec] = SC; /* save SC */
|
||||
SC = vec + 1; /* new SC */
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
22-May-06 RMS Fixed format error in CPU history (Peter Schorn)
|
||||
06-Mar-06 RMS Fixed bug in divide (Van Snyder)
|
||||
22-Sep-05 RMS Fixed declarations (Sterling Garwood)
|
||||
01-Sep-05 RMS Removed error stops in MCE
|
||||
01-Sep-05 RMS Removed error stops in MCE
|
||||
16-Aug-05 RMS Fixed C++ declaration and cast problems
|
||||
02-Jun-05 RMS Fixed SSB-SSG clearing on RESET
|
||||
(Ralph Reinke)
|
||||
|
|
|
@ -299,7 +299,7 @@ if (ilnt > 2) { /* A address? */
|
|||
fprintf (of, " %%%c%c", bcd2ascii (val[2], use_h),
|
||||
bcd2ascii (val[3], sw));
|
||||
else fprint_addr (of, &val[1]);
|
||||
}
|
||||
}
|
||||
if (ilnt > 5) /* B address? */
|
||||
fprint_addr (of, &val[4]);
|
||||
if ((ilnt == 2) || (ilnt == 5) || (ilnt >= 8)) /* d character? */
|
||||
|
@ -383,7 +383,7 @@ if ((sw & SWMASK ('C')) || (sw & SWMASK ('S')) || (*cptr == wmch) ||
|
|||
wm_seen = 0;
|
||||
}
|
||||
else val[i++] = t;
|
||||
}
|
||||
}
|
||||
if ((i == 0) || wm_seen)
|
||||
return SCPE_ARG;
|
||||
return -(i - 1);
|
||||
|
|
|
@ -33,34 +33,34 @@
|
|||
*
|
||||
***********************************************************************/
|
||||
|
||||
#define IBSYSSYM '$' /* Marks end of object file */
|
||||
#define WORDPERREC 5 /* Object words per record */
|
||||
#define LOADADDR 0200 /* Default load address */
|
||||
#define OBJRECLEN 80 /* Object record length */
|
||||
#define CHARWORD 12 /* Characters per word */
|
||||
#define IBSYSSYM '$' /* Marks end of object file */
|
||||
#define WORDPERREC 5 /* Object words per record */
|
||||
#define LOADADDR 0200 /* Default load address */
|
||||
#define OBJRECLEN 80 /* Object record length */
|
||||
#define CHARWORD 12 /* Characters per word */
|
||||
|
||||
/*
|
||||
** Object tags
|
||||
*/
|
||||
|
||||
#define IDT_TAG '0' /* 0SSSSSS0LLLLL */
|
||||
#define ABSENTRY_TAG '1' /* 10000000AAAAA */
|
||||
#define RELENTRY_TAG '2' /* 20000000RRRRR */
|
||||
#define ABSEXTRN_TAG '3' /* 3SSSSSS0AAAAA */
|
||||
#define RELEXTRN_TAG '4' /* 4SSSSSS0RRRRR */
|
||||
#define ABSGLOBAL_TAG '5' /* 5SSSSSS0AAAAA */
|
||||
#define RELGLOBAL_TAG '6' /* 6SSSSSS0RRRRR */
|
||||
#define ABSORG_TAG '7' /* 70000000AAAAA */
|
||||
#define RELORG_TAG '8' /* 80000000RRRRR */
|
||||
#define ABSDATA_TAG '9' /* 9AAAAAAAAAAAA */
|
||||
#define RELADDR_TAG 'A' /* AAAAAAAARRRRR */
|
||||
#define RELDECR_TAG 'B' /* BARRRRRAAAAAA */
|
||||
#define RELBOTH_TAG 'C' /* CARRRRRARRRRR */
|
||||
#define BSS_TAG 'D' /* D0000000PPPPP */
|
||||
#define ABSXFER_TAG 'E' /* E0000000RRRRR */
|
||||
#define RELXFER_TAG 'F' /* F0000000RRRRR */
|
||||
#define EVEN_TAG 'G' /* G0000000RRRRR */
|
||||
#define FAPCOMMON_TAG 'H' /* H0000000AAAAA */
|
||||
#define IDT_TAG '0' /* 0SSSSSS0LLLLL */
|
||||
#define ABSENTRY_TAG '1' /* 10000000AAAAA */
|
||||
#define RELENTRY_TAG '2' /* 20000000RRRRR */
|
||||
#define ABSEXTRN_TAG '3' /* 3SSSSSS0AAAAA */
|
||||
#define RELEXTRN_TAG '4' /* 4SSSSSS0RRRRR */
|
||||
#define ABSGLOBAL_TAG '5' /* 5SSSSSS0AAAAA */
|
||||
#define RELGLOBAL_TAG '6' /* 6SSSSSS0RRRRR */
|
||||
#define ABSORG_TAG '7' /* 70000000AAAAA */
|
||||
#define RELORG_TAG '8' /* 80000000RRRRR */
|
||||
#define ABSDATA_TAG '9' /* 9AAAAAAAAAAAA */
|
||||
#define RELADDR_TAG 'A' /* AAAAAAAARRRRR */
|
||||
#define RELDECR_TAG 'B' /* BARRRRRAAAAAA */
|
||||
#define RELBOTH_TAG 'C' /* CARRRRRARRRRR */
|
||||
#define BSS_TAG 'D' /* D0000000PPPPP */
|
||||
#define ABSXFER_TAG 'E' /* E0000000RRRRR */
|
||||
#define RELXFER_TAG 'F' /* F0000000RRRRR */
|
||||
#define EVEN_TAG 'G' /* G0000000RRRRR */
|
||||
#define FAPCOMMON_TAG 'H' /* H0000000AAAAA */
|
||||
|
||||
/* Where:
|
||||
* SSSSSS - Symbol
|
||||
|
@ -115,96 +115,92 @@ binloader (FILE *fd, char *file, int loadpt)
|
|||
char *op = inbuf;
|
||||
int i;
|
||||
|
||||
if (*op == IBSYSSYM) /* End of object marker */
|
||||
if (*op == IBSYSSYM) /* End of object marker */
|
||||
break;
|
||||
|
||||
for (i = 0; i < WORDPERREC; i++)
|
||||
{
|
||||
char otag;
|
||||
char item[16];
|
||||
t_uint64 ldata;
|
||||
char otag;
|
||||
char item[16];
|
||||
t_uint64 ldata;
|
||||
|
||||
otag = *op++;
|
||||
if (otag == ' ')
|
||||
otag = *op++;
|
||||
if (otag == ' ')
|
||||
break;
|
||||
strncpy (item, op, CHARWORD);
|
||||
item[CHARWORD] = '\0';
|
||||
#ifdef WIN32
|
||||
sscanf (item, "%I64o", &ldata);
|
||||
#else
|
||||
sscanf (item, "%llo", &ldata);
|
||||
#endif
|
||||
strncpy (item, op, CHARWORD);
|
||||
item[CHARWORD] = '\0';
|
||||
sscanf (item, "%" LL_FMT "o", &ldata);
|
||||
|
||||
#ifdef DEBUGLOADER
|
||||
fprintf (lfd, "loadaddr = %05o, curraddr = %05o\n",
|
||||
loadaddr, curraddr);
|
||||
fprintf (lfd, " otag = %c, item = %s\n", otag, item);
|
||||
fprintf (lfd, " ldata = %12.12o\n", ldata);
|
||||
fprintf (lfd, "loadaddr = %05o, curraddr = %05o\n",
|
||||
loadaddr, curraddr);
|
||||
fprintf (lfd, " otag = %c, item = %s\n", otag, item);
|
||||
fprintf (lfd, " ldata = %12.12o\n", ldata);
|
||||
#endif
|
||||
|
||||
switch (otag)
|
||||
{
|
||||
case IDT_TAG:
|
||||
break;
|
||||
switch (otag)
|
||||
{
|
||||
case IDT_TAG:
|
||||
break;
|
||||
|
||||
case ABSORG_TAG:
|
||||
curraddr = loadaddr = (int32) ldata & AMASK;
|
||||
break;
|
||||
case ABSORG_TAG:
|
||||
curraddr = loadaddr = (int32) ldata & AMASK;
|
||||
break;
|
||||
|
||||
case RELORG_TAG:
|
||||
curraddr = (int32) (ldata + loadaddr) & AMASK;
|
||||
break;
|
||||
case RELORG_TAG:
|
||||
curraddr = (int32) (ldata + loadaddr) & AMASK;
|
||||
break;
|
||||
|
||||
case BSS_TAG:
|
||||
curraddr = (int32) (curraddr + ldata) & AMASK;
|
||||
break;
|
||||
case BSS_TAG:
|
||||
curraddr = (int32) (curraddr + ldata) & AMASK;
|
||||
break;
|
||||
|
||||
case RELBOTH_TAG:
|
||||
ldata = ldata + loadaddr + (loadaddr << INST_V_DEC);
|
||||
goto STORE;
|
||||
case RELBOTH_TAG:
|
||||
ldata = ldata + loadaddr + (loadaddr << INST_V_DEC);
|
||||
goto STORE;
|
||||
|
||||
case RELDECR_TAG:
|
||||
ldata = ldata + (loadaddr << INST_V_DEC);
|
||||
goto STORE;
|
||||
case RELDECR_TAG:
|
||||
ldata = ldata + (loadaddr << INST_V_DEC);
|
||||
goto STORE;
|
||||
|
||||
case RELADDR_TAG:
|
||||
ldata = ldata + loadaddr;
|
||||
case RELADDR_TAG:
|
||||
ldata = ldata + loadaddr;
|
||||
|
||||
case ABSDATA_TAG:
|
||||
STORE:
|
||||
case ABSDATA_TAG:
|
||||
STORE:
|
||||
#ifdef DEBUGLOADER
|
||||
fprintf (lfd, " M[%05o] = %12.12o\n", curraddr, ldata);
|
||||
fprintf (lfd, " M[%05o] = %12.12o\n", curraddr, ldata);
|
||||
#endif
|
||||
M[curraddr] = ldata & DMASK;
|
||||
curraddr++;
|
||||
break;
|
||||
M[curraddr] = ldata & DMASK;
|
||||
curraddr++;
|
||||
break;
|
||||
|
||||
case ABSXFER_TAG:
|
||||
transfer = TRUE;
|
||||
case ABSENTRY_TAG:
|
||||
PC = (uint32) ldata & AMASK;
|
||||
case ABSXFER_TAG:
|
||||
transfer = TRUE;
|
||||
case ABSENTRY_TAG:
|
||||
PC = (uint32) ldata & AMASK;
|
||||
#ifdef DEBUGLOADER
|
||||
fprintf (lfd, " PC = %05o\n", PC);
|
||||
fprintf (lfd, " PC = %05o\n", PC);
|
||||
#endif
|
||||
if (transfer)
|
||||
if (transfer)
|
||||
goto GOSTART;
|
||||
break;
|
||||
break;
|
||||
|
||||
case RELXFER_TAG:
|
||||
transfer = TRUE;
|
||||
case RELENTRY_TAG:
|
||||
ldata = (ldata + loadaddr) & AMASK;
|
||||
PC = (uint32) ldata & AMASK;
|
||||
case RELXFER_TAG:
|
||||
transfer = TRUE;
|
||||
case RELENTRY_TAG:
|
||||
ldata = (ldata + loadaddr) & AMASK;
|
||||
PC = (uint32) ldata & AMASK;
|
||||
#ifdef DEBUGLOADER
|
||||
fprintf (lfd, " PC = %05o\n", PC);
|
||||
fprintf (lfd, " PC = %05o\n", PC);
|
||||
#endif
|
||||
if (transfer)
|
||||
if (transfer)
|
||||
goto GOSTART;
|
||||
break;
|
||||
break;
|
||||
|
||||
default: ;
|
||||
}
|
||||
op += CHARWORD;
|
||||
default: ;
|
||||
}
|
||||
op += CHARWORD;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -181,8 +181,8 @@ typedef struct {
|
|||
#define INST_M_TAG 07
|
||||
#define INST_V_ADDR 0
|
||||
#define INST_M_ADDR 077777
|
||||
#define INST_V_4B 0
|
||||
#define INST_M_4B 017
|
||||
#define INST_V_4B 0
|
||||
#define INST_M_4B 017
|
||||
|
||||
#define GET_OPD(x) ((uint32) (((x) >> INST_V_OPD) & INST_M_OPD))
|
||||
#define GET_DEC(x) ((uint32) (((x) >> INST_V_DEC) & INST_M_DEC))
|
||||
|
|
|
@ -657,7 +657,7 @@ while (reason == 0) { /* loop until halted */
|
|||
if (sim_brk_summ && sim_brk_test (PC, SWMASK ('E'))) { /* breakpoint? */
|
||||
reason = STOP_IBKPT; /* stop simulation */
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
sim_interval = sim_interval - 1;
|
||||
|
||||
|
@ -1635,7 +1635,7 @@ do {
|
|||
if (DEV_ACC (dev)) { /* dev exist? */
|
||||
by = ReadB ((vec + CCB16_IOC) & VAMASK);/* read OC byte */
|
||||
dev_tab[dev] (dev, IO_OC, by); /* send to dev */
|
||||
}
|
||||
}
|
||||
break; /* and exit */
|
||||
}
|
||||
}
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
28-Apr-07 RMS Removed clock initialization
|
||||
27-Oct-06 RMS Added idle support
|
||||
Removed separate PASLA clock
|
||||
09-Mar-06 RMS Added 8 register bank support for 8/32
|
||||
09-Mar-06 RMS Added 8 register bank support for 8/32
|
||||
06-Feb-06 RMS Fixed bug in DH (Mark Hittinger)
|
||||
22-Sep-05 RMS Fixed declarations (Sterling Garwood)
|
||||
16-Aug-05 RMS Fixed C++ declaration and cast problems
|
||||
|
@ -2285,7 +2285,7 @@ if ((sw & SWMASK ('V')) && (PSW & PSW_REL)) {
|
|||
int32 cc = RelocT (addr, MAC_BASE, P, &addr);
|
||||
if (cc & (CC_C | CC_V))
|
||||
return SCPE_NXM;
|
||||
}
|
||||
}
|
||||
if (addr >= MEMSIZE)
|
||||
return SCPE_NXM;
|
||||
if (vptr != NULL)
|
||||
|
@ -2301,7 +2301,7 @@ if ((sw & SWMASK ('V')) && (PSW & PSW_REL)) {
|
|||
int32 cc = RelocT (addr, MAC_BASE, P, &addr);
|
||||
if (cc & (CC_C | CC_V))
|
||||
return SCPE_NXM;
|
||||
}
|
||||
}
|
||||
if (addr >= MEMSIZE)
|
||||
return SCPE_NXM;
|
||||
IOWriteH (addr, val);
|
||||
|
|
|
@ -496,9 +496,9 @@ uint32 dtype = GET_DTYPE (uptr->flags); /* get drive type */
|
|||
|
||||
if (((uptr->flags & UNIT_ATT) == 0) || /* not attached? */
|
||||
((uptr->flags & UNIT_WPRT) && (dp_cmd == CMC_WR))) {
|
||||
dp_done (STC_DTE); /* error, done */
|
||||
return TRUE;
|
||||
}
|
||||
dp_done (STC_DTE); /* error, done */
|
||||
return TRUE;
|
||||
}
|
||||
hd = GET_SRF (dp_hdsc); /* get head */
|
||||
sc = GET_SEC (dp_hdsc); /* get sector */
|
||||
if (dp_cyl != (uint32) uptr->CYL) { /* wrong cylinder? */
|
||||
|
|
|
@ -227,7 +227,7 @@ switch (op) { /* case IO op */
|
|||
fd_sta = fd_sta | STA_BSY; /* set busy */
|
||||
}
|
||||
else fd_bptr = 0; /* just wrap */
|
||||
}
|
||||
}
|
||||
if ((ctab[fnc] & C_RD) && fd_arm) /* if rd & arm, */
|
||||
SET_INT (v_FD); /* interrupt */
|
||||
return fd_db; /* return buf */
|
||||
|
@ -367,7 +367,7 @@ switch (fnc) { /* case on function */
|
|||
if ((uptr->flags & UNIT_BUF) == 0) { /* not attached? */
|
||||
fd_es[u][0] = fd_es[u][0] | ES0_FLT; /* set err */
|
||||
fd_es[u][1] = fd_es[u][1] | ES1_NRDY;
|
||||
}
|
||||
}
|
||||
for (i = 0; i < ES_SIZE; i++) /* copy to buf */
|
||||
fdxb[i] = fd_es[u][i];
|
||||
for (i = ES_SIZE; i < FD_NUMBY; i++)
|
||||
|
@ -378,7 +378,7 @@ switch (fnc) { /* case on function */
|
|||
if ((uptr->flags & UNIT_BUF) == 0) { /* not attached? */
|
||||
fd_done (u, STA_ERR, ES0_ERR | ES0_FLT, ES1_NRDY);
|
||||
return SCPE_OK;
|
||||
}
|
||||
}
|
||||
for (i = 0; i < FD_NUMBY; i++) fdxb[i] = 0; /* clr buf */
|
||||
tk = GET_TRK (uptr->LRN); /* get track */
|
||||
sc = GET_SEC (uptr->LRN); /* get sector */
|
||||
|
|
|
@ -560,7 +560,7 @@ if (uptr->FNC & CMC_DRV) { /* drive cmd? */
|
|||
}
|
||||
} /* end else p1 */
|
||||
return SCPE_OK; /* end if drv */
|
||||
}
|
||||
}
|
||||
|
||||
switch (uptr->FNC & CMC_MASK) { /* case on func */
|
||||
|
||||
|
@ -692,7 +692,7 @@ uint32 hd, sc, sa;
|
|||
uint32 dtype = GET_DTYPE (uptr->flags); /* get drive type */
|
||||
|
||||
if ((uptr->flags & UNIT_ATT) == 0) { /* not attached? */
|
||||
idc_done (STC_DTE); /* error, done */
|
||||
idc_done (STC_DTE); /* error, done */
|
||||
return TRUE;
|
||||
}
|
||||
if ((uptr->flags & UNIT_WPRT) && (uptr->FNC == CMC_WR)) {
|
||||
|
|
|
@ -527,7 +527,7 @@ if (newln < PAS_ENAB) {
|
|||
if (pas_ldsc[i].conn) {
|
||||
tmxr_linemsg (&pas_ldsc[i], "\r\nOperator disconnected line\r\n");
|
||||
tmxr_reset_ln (&pas_ldsc[i]); /* reset line */
|
||||
}
|
||||
}
|
||||
pasl_unit[i].flags = pasl_unit[i].flags | UNIT_DIS;
|
||||
pas_reset_ln (i);
|
||||
}
|
||||
|
|
|
@ -293,7 +293,7 @@ if (uptr && (uptr != &cpu_unit)) /* must be CPU */
|
|||
return SCPE_ARG;
|
||||
if ((sw & SWMASK ('M')) && /* symbolic decode? */
|
||||
((inst & ~(SIGN|I_OP|I_EA)) == 0)) {
|
||||
op = I_GETOP (inst);
|
||||
op = I_GETOP (inst);
|
||||
ea = I_GETEA (inst);
|
||||
if (inst & SIGN)
|
||||
fputc ('-', of);
|
||||
|
|
112
NOVA/nova_dkp.c
112
NOVA/nova_dkp.c
|
@ -148,7 +148,7 @@
|
|||
|
||||
/* (Warning: no sector or surface masking is done!) */
|
||||
|
||||
#define DKP_UPDATE_USSC( type, count, surf, sect ) \
|
||||
#define DKP_UPDATE_USSC( type, count, surf, sect ) \
|
||||
dkp_ussc = (dkp_ussc & USSC_UNIT) \
|
||||
| ((dkp_ussc + count) & USSC_M_COUNT) \
|
||||
| ((drv_tab[dtype].newf)? \
|
||||
|
@ -344,7 +344,7 @@ int32 dkp_swait = 100; /* seek latency */
|
|||
int32 dkp_rwait = 100; /* rotate latency */
|
||||
int32 dkp_diagmode = 0; /* diagnostic mode */
|
||||
|
||||
int32 dkp_trace = 0 ;
|
||||
int32 dkp_trace = 0 ;
|
||||
|
||||
DEVICE dkp_dev;
|
||||
int32 dkp (int32 pulse, int32 code, int32 AC);
|
||||
|
@ -526,7 +526,7 @@ if ( DKP_TRACE(0) )
|
|||
switch (code) { /* decode IR<5:7> */
|
||||
|
||||
case ioDIA: /* DIA */
|
||||
dkp_sta = dkp_sta & (~STA_DRDY) ; /* keep error flags */
|
||||
dkp_sta = dkp_sta & (~STA_DRDY) ; /* keep error flags */
|
||||
if (uptr->flags & UNIT_ATT) /* update ready */
|
||||
dkp_sta = dkp_sta | STA_DRDY;
|
||||
if (uptr->CYL >= drv_tab[dtype].cyl)
|
||||
|
@ -543,10 +543,10 @@ switch (code) { /* decode IR<5:7> */
|
|||
dkp_fccy = AC; /* save cmd, cyl */
|
||||
dkp_sta = dkp_sta & ~(AC & FCCY_FLAGS);
|
||||
}
|
||||
DEV_CLR_DONE( INT_DKP ) ; /* assume done flags 0 */
|
||||
if ( dkp_sta & STA_DFLGS ) /* done flags = 0? */
|
||||
DEV_SET_DONE( INT_DKP ) ; /* nope - set done */
|
||||
DEV_UPDATE_INTR ; /* update intr */
|
||||
DEV_CLR_DONE( INT_DKP ); /* assume done flags 0 */
|
||||
if ( dkp_sta & STA_DFLGS ) /* done flags = 0? */
|
||||
DEV_SET_DONE( INT_DKP ); /* nope - set done */
|
||||
DEV_UPDATE_INTR; /* update intr */
|
||||
break;
|
||||
|
||||
case ioDIB: /* DIB */
|
||||
|
@ -569,18 +569,18 @@ switch (code) { /* decode IR<5:7> */
|
|||
break;
|
||||
|
||||
case ioDOC: /* DOC */
|
||||
if ((dev_busy & INT_DKP) == 0) /* if device is not busy */
|
||||
dkp_ussc = AC ; /* save unit, sect */
|
||||
if (((dtype == TYPE_6099) || /* (BKR: don't forget 6097) */
|
||||
if ((dev_busy & INT_DKP) == 0) /* if device is not busy */
|
||||
dkp_ussc = AC ; /* save unit, sect */
|
||||
if (((dtype == TYPE_6099) || /* (BKR: don't forget 6097) */
|
||||
(dtype == TYPE_6097) || /* for 6099 and 6103 */
|
||||
(dtype == TYPE_6103)) && /* if data<0> set, */
|
||||
(AC & 010000) )
|
||||
dkp_diagmode = 1; /* set diagnostic mode */
|
||||
dkp_diagmode = 1; /* set diagnostic mode */
|
||||
break;
|
||||
} /* end switch code */
|
||||
|
||||
u = GET_UNIT(dkp_ussc); /* update current unit */
|
||||
uptr = dkp_dev.units + u ; /* select unit */
|
||||
uptr = dkp_dev.units + u ; /* select unit */
|
||||
dtype = GET_DTYPE (uptr->flags); /* get drive type */
|
||||
|
||||
if ( DKP_TRACE(0) )
|
||||
|
@ -606,7 +606,7 @@ switch (pulse) { /* decode IR<8:9> */
|
|||
dkp_ussc = 010003;
|
||||
}
|
||||
else { /* normal mode ... */
|
||||
if (dkp_go (pulse)) /* do command */
|
||||
if (dkp_go (pulse)) /* do command */
|
||||
break ; /* break if no error */
|
||||
}
|
||||
DEV_CLR_BUSY( INT_DKP ) ; /* clear busy */
|
||||
|
@ -645,7 +645,7 @@ switch (pulse) { /* decode IR<8:9> */
|
|||
break; /* no error - do not set done and status */
|
||||
}
|
||||
|
||||
DEV_SET_DONE( INT_DKP ) ; /* set done */
|
||||
DEV_SET_DONE( INT_DKP ) ; /* set done */
|
||||
DEV_UPDATE_INTR ; /* update ints */
|
||||
dkp_sta = dkp_sta | (STA_SKDN0 >> u); /* set controller seek done */
|
||||
break;
|
||||
|
@ -661,8 +661,8 @@ return rval;
|
|||
|
||||
t_stat dkp_go ( int32 pulse )
|
||||
{
|
||||
UNIT * uptr;
|
||||
int32 oldCyl, u, dtype;
|
||||
UNIT * uptr;
|
||||
int32 oldCyl, u, dtype;
|
||||
|
||||
dkp_sta = dkp_sta & ~STA_EFLGS; /* clear errors */
|
||||
u = GET_UNIT (dkp_ussc); /* get unit number */
|
||||
|
@ -686,38 +686,38 @@ uptr->FUNC = GET_CMD (dkp_fccy, dtype) ; /* save command */
|
|||
uptr->CYL = GET_CYL (dkp_fccy, dtype) ;
|
||||
|
||||
if ( DKP_TRACE(1) )
|
||||
{
|
||||
int32 xSect ;
|
||||
int32 xSurf ;
|
||||
int32 xCyl ;
|
||||
int32 xCnt ;
|
||||
{
|
||||
int32 xSect ;
|
||||
int32 xSurf ;
|
||||
int32 xCyl ;
|
||||
int32 xCnt ;
|
||||
|
||||
xSect = GET_SECT(dkp_ussc, dtype) ;
|
||||
xSurf = GET_SURF(dkp_ussc, dtype) ;
|
||||
xCyl = GET_CYL (dkp_fccy, dtype) ;
|
||||
xCnt = 16 - (GET_COUNT(dkp_ussc)) ;
|
||||
xSect = GET_SECT(dkp_ussc, dtype) ;
|
||||
xSurf = GET_SURF(dkp_ussc, dtype) ;
|
||||
xCyl = GET_CYL (dkp_fccy, dtype) ;
|
||||
xCnt = 16 - (GET_COUNT(dkp_ussc)) ;
|
||||
|
||||
fprintf( DKP_TRACE_FP,
|
||||
" [%s:%c %-5s: %3d / %2d / %2d %2d %06o ] \r\n",
|
||||
"DKP",
|
||||
(char) (u + '0'),
|
||||
((uptr->FUNC == FCCY_READ) ?
|
||||
"read"
|
||||
: ((uptr->FUNC == FCCY_WRITE) ?
|
||||
"write"
|
||||
: ((uptr->FUNC == FCCY_SEEK) ?
|
||||
"seek"
|
||||
: "<?>"
|
||||
)
|
||||
)
|
||||
),
|
||||
(unsigned) xCyl,
|
||||
(unsigned) xSurf,
|
||||
(unsigned) xSect,
|
||||
(unsigned) (16 - xCnt),
|
||||
(unsigned) (dkp_ma & 0xFFFF) /* show all 16-bits in case DCH B */
|
||||
) ;
|
||||
}
|
||||
fprintf( DKP_TRACE_FP,
|
||||
" [%s:%c %-5s: %3d / %2d / %2d %2d %06o ] \r\n",
|
||||
"DKP",
|
||||
(char) (u + '0'),
|
||||
((uptr->FUNC == FCCY_READ) ?
|
||||
"read"
|
||||
: ((uptr->FUNC == FCCY_WRITE) ?
|
||||
"write"
|
||||
: ((uptr->FUNC == FCCY_SEEK) ?
|
||||
"seek"
|
||||
: "<?>"
|
||||
)
|
||||
)
|
||||
),
|
||||
(unsigned) xCyl,
|
||||
(unsigned) xSurf,
|
||||
(unsigned) xSect,
|
||||
(unsigned) (16 - xCnt),
|
||||
(unsigned) (dkp_ma & 0xFFFF) /* show all 16-bits in case DCH B */
|
||||
) ;
|
||||
}
|
||||
|
||||
|
||||
switch (uptr->FUNC) { /* decode command */
|
||||
|
@ -727,7 +727,7 @@ switch (uptr->FUNC) { /* decode command */
|
|||
if (((uptr->flags & UNIT_ATT) == 0) || /* not attached? */
|
||||
((uptr->flags & UNIT_WPRT) && (uptr->FUNC == FCCY_WRITE)))
|
||||
{
|
||||
dkp_sta = dkp_sta | STA_DONE | STA_ERR; /* error */
|
||||
dkp_sta = dkp_sta | STA_DONE | STA_ERR; /* error */
|
||||
}
|
||||
else if ( uptr->CYL >= drv_tab[dtype].cyl ) /* bad cylinder */
|
||||
{
|
||||
|
@ -736,7 +736,7 @@ switch (uptr->FUNC) { /* decode command */
|
|||
else if ( GET_SURF(dkp_ussc, dtype) >= drv_tab[dtype].surf ) /* bad surface */
|
||||
{
|
||||
dkp_sta = dkp_sta | STA_DONE | STA_ERR | STA_UNS; /* older drives may not even do this... */
|
||||
/* dkp_sta = dkp_sta | STA_DONE | STA_ERR | STA_XCY ; /- newer disks give this error */
|
||||
/* dkp_sta = dkp_sta | STA_DONE | STA_ERR | STA_XCY ; /- newer disks give this error */
|
||||
}
|
||||
else if ( GET_SECT(dkp_ussc, dtype) >= drv_tab[dtype].sect ) /* or bad sector? */
|
||||
{
|
||||
|
@ -811,7 +811,7 @@ u = uptr - dkp_dev.units; /* get unit number */
|
|||
if (uptr->FUNC == FCCY_SEEK) { /* seek? */
|
||||
if ( ! (uptr->flags & UNIT_ATT) ) /* not attached? */
|
||||
{
|
||||
dkp_sta = dkp_sta | STA_DONE | STA_ERR; /* error (changed during queue time?) */
|
||||
dkp_sta = dkp_sta | STA_DONE | STA_ERR; /* error (changed during queue time?) */
|
||||
}
|
||||
else if ( uptr->CYL >= drv_tab[dtype].cyl ) /* bad cylinder? */
|
||||
{
|
||||
|
@ -838,7 +838,7 @@ if (uptr->FUNC == FCCY_SEEK) { /* seek? */
|
|||
if (((uptr->flags & UNIT_ATT) == 0) || /* not attached? */
|
||||
((uptr->flags & UNIT_WPRT) && (uptr->FUNC == FCCY_WRITE)))
|
||||
{
|
||||
dkp_sta = dkp_sta | STA_DONE | STA_ERR; /* error */
|
||||
dkp_sta = dkp_sta | STA_DONE | STA_ERR; /* error */
|
||||
}
|
||||
else if ( uptr->CYL >= drv_tab[dtype].cyl ) /* bad cylinder */
|
||||
{
|
||||
|
@ -856,7 +856,7 @@ else if ( GET_SURF(dkp_ussc, dtype) >= drv_tab[dtype].surf ) /* bad surface */
|
|||
}
|
||||
else if ( GET_SECT(dkp_ussc, dtype) >= drv_tab[dtype].sect ) /* or bad sector? */
|
||||
{
|
||||
/* dkp_sta = dkp_sta | STA_DONE | STA_ERR | STA_UNS; /- older DG drives do not even give error(!), but we do */
|
||||
/* dkp_sta = dkp_sta | STA_DONE | STA_ERR | STA_UNS; /- older DG drives do not even give error(!), but we do */
|
||||
dkp_sta = dkp_sta | STA_DONE | STA_ERR | STA_XCY ; /* newer disks give this error */
|
||||
}
|
||||
else {
|
||||
|
@ -937,8 +937,8 @@ do {
|
|||
}
|
||||
|
||||
newsect = GET_SECT (dkp_ussc, dtype) + 1 ; /* update next sector */
|
||||
newsurf = GET_SURF (dkp_ussc, dtype) ; /* and next head */
|
||||
/* (count set below) */
|
||||
newsurf = GET_SURF (dkp_ussc, dtype) ; /* and next head */
|
||||
/* (count set below) */
|
||||
DKP_UPDATE_USSC( type, 1, newsurf, newsect )
|
||||
} /* end read/write loop */
|
||||
|
||||
|
@ -973,9 +973,9 @@ t_stat dkp_reset (DEVICE *dptr)
|
|||
int32 u;
|
||||
UNIT *uptr;
|
||||
|
||||
DEV_CLR_BUSY( INT_DKP ) ; /* clear busy */
|
||||
DEV_CLR_DONE( INT_DKP ) ; /* clear done */
|
||||
DEV_UPDATE_INTR ; /* update ints */
|
||||
DEV_CLR_BUSY( INT_DKP ) ; /* clear busy */
|
||||
DEV_CLR_DONE( INT_DKP ) ; /* clear done */
|
||||
DEV_UPDATE_INTR ; /* update ints */
|
||||
dkp_fccy = dkp_ussc = dkp_ma = dkp_sta = 0; /* clear registers */
|
||||
dkp_diagmode = 0; /* clear diagnostic mode */
|
||||
dkp_map = 0;
|
||||
|
|
Loading…
Add table
Reference in a new issue