Fixed VAX8600 simulator boot from console without an attach disk to report a useful error instead of crashing
This commit is contained in:
parent
e0225c336a
commit
1936f7ff75
1 changed files with 12 additions and 0 deletions
|
@ -1098,6 +1098,12 @@ switch (rlcs_state) {
|
||||||
case RL_READ:
|
case RL_READ:
|
||||||
if ((cso_csr & CSR_DONE) == 0) { /* buf ready? */
|
if ((cso_csr & CSR_DONE) == 0) { /* buf ready? */
|
||||||
if (rlcs_bcnt == 0) { /* read in whole block */
|
if (rlcs_bcnt == 0) { /* read in whole block */
|
||||||
|
if ((uptr->flags & UNIT_ATT) == 0) { /* Attached? */
|
||||||
|
cso_csr = cso_csr | CSR_DONE | /* error */
|
||||||
|
(RLST_HDERR << STXCS_V_STS);
|
||||||
|
rlcs_state = RL_IDLE; /* now idle */
|
||||||
|
break;
|
||||||
|
}
|
||||||
da = STXCS_GETDA(cso_csr) * 512; /* get byte offset */
|
da = STXCS_GETDA(cso_csr) * 512; /* get byte offset */
|
||||||
if (sim_fseek (uptr->fileref, da, SEEK_SET))
|
if (sim_fseek (uptr->fileref, da, SEEK_SET))
|
||||||
return SCPE_IOERR;
|
return SCPE_IOERR;
|
||||||
|
@ -1124,6 +1130,12 @@ switch (rlcs_state) {
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case RL_WRITE:
|
case RL_WRITE:
|
||||||
|
if ((uptr->flags & UNIT_ATT) == 0) { /* Attached? */
|
||||||
|
cso_csr = cso_csr | CSR_DONE | /* error */
|
||||||
|
(RLST_HDERR << STXCS_V_STS);
|
||||||
|
rlcs_state = RL_IDLE; /* now idle */
|
||||||
|
break;
|
||||||
|
}
|
||||||
if (rlcs_bcnt < RL_NUMBY) { /* more data to buffer? */
|
if (rlcs_bcnt < RL_NUMBY) { /* more data to buffer? */
|
||||||
cso_csr = cso_csr | CSR_DONE | /* continue */
|
cso_csr = cso_csr | CSR_DONE | /* continue */
|
||||||
(RLST_CONT << STXCS_V_STS);
|
(RLST_CONT << STXCS_V_STS);
|
||||||
|
|
Loading…
Add table
Reference in a new issue