mirror of
https://github.com/simh/simh.git
synced 2026-05-05 07:23:34 +00:00
Notes For V3.6-0
The save/restore format has been updated to improve its reliability. As a result, save files prior to release 3.0 are no longer supported. The text documentation files are obsolete and are no longer included with the distribution. Up-to-date PDF documentation files are available on the SimH web site. 1. New Features 1.1 3.6-0 1.1.1 Most magnetic tapes - Added support for limiting tape capacity to a particular size in MB 1.1.2 IBM 7090/7094 - First release 1.1.3 VAX-11/780 - Added FLOAD command, loads system file from console floppy disk 1.1.4 VAX, VAX-11/780, and PDP-11 - Added card reader support (from John Dundas) 1.1.5 PDP-11 - Added instruction history 2. Bugs Fixed Please see the revision history on http://simh.trailing-edge.com or in the source module sim_rev.h.
This commit is contained in:
committed by
Mark Pizzolato
parent
a12e4a1c39
commit
dc871fa631
@@ -1,6 +1,6 @@
|
||||
/* pdp18b_mt.c: 18b PDP magnetic tape simulator
|
||||
|
||||
Copyright (c) 1993-2005, Robert M Supnik
|
||||
Copyright (c) 1993-2006, Robert M Supnik
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the "Software"),
|
||||
@@ -26,6 +26,7 @@
|
||||
mt (PDP-9) TC59 magtape
|
||||
(PDP-15) TC59D magtape
|
||||
|
||||
16-Feb-06 RMS Added tape capacity checking
|
||||
16-Aug-05 RMS Fixed C++ declaration and cast problems
|
||||
18-Mar-05 RMS Added attached test to detach routine
|
||||
14-Jan-04 RMS Revised IO device call interface
|
||||
@@ -186,6 +187,8 @@ MTAB mt_mod[] = {
|
||||
{ MTUF_WLK, MTUF_WLK, "write locked", "LOCKED", NULL },
|
||||
{ MTAB_XTD|MTAB_VUN, 0, "FORMAT", "FORMAT",
|
||||
&sim_tape_set_fmt, &sim_tape_show_fmt, NULL },
|
||||
{ MTAB_XTD|MTAB_VUN, 0, "CAPACITY", "CAPACITY",
|
||||
&sim_tape_set_capac, &sim_tape_show_capac, NULL },
|
||||
{ MTAB_XTD|MTAB_VDV, 0, "DEVNO", "DEVNO",
|
||||
&set_devno, &show_devno, NULL },
|
||||
{ 0 }
|
||||
@@ -263,6 +266,7 @@ t_stat mt_svc (UNIT *uptr)
|
||||
int32 c, c1, c2, c3, f, i, p, u;
|
||||
int32 wc, xma;
|
||||
t_mtrlnt tbc, cbc;
|
||||
t_bool passed_eot;
|
||||
t_stat st, r = SCPE_OK;
|
||||
|
||||
u = (int32) (uptr - mt_dev.units); /* get unit number */
|
||||
@@ -283,6 +287,7 @@ if ((uptr->flags & UNIT_ATT) == 0) { /* if not attached */
|
||||
return IORETURN (mt_stopioe, SCPE_UNATT);
|
||||
}
|
||||
|
||||
passed_eot = sim_tape_eot (uptr); /* passed EOT? */
|
||||
switch (f) { /* case on function */
|
||||
|
||||
case FN_READ: /* read */
|
||||
@@ -362,7 +367,7 @@ switch (f) { /* case on function */
|
||||
r = mt_map_err (uptr, st); /* map error */
|
||||
break;
|
||||
}
|
||||
} while (M[MT_WC] != 0);
|
||||
} while ((M[MT_WC] != 0) && (passed_eot || !sim_tape_eot (uptr)));
|
||||
break;
|
||||
|
||||
case FN_SPACER: /* space reverse */
|
||||
@@ -376,6 +381,8 @@ switch (f) { /* case on function */
|
||||
break;
|
||||
} /* end case */
|
||||
|
||||
if (!passed_eot && sim_tape_eot (uptr)) /* just passed EOT? */
|
||||
uptr->USTAT = uptr->USTAT | STA_EOT;
|
||||
mt_updcsta (uptr, STA_DON); /* set done */
|
||||
if (mt_log) printf ("MT%d: fnc=%d done, ma=%o, wc=%o, sta=%o]\n",
|
||||
u, f, M[MT_CA], M[MT_WC], mt_sta);
|
||||
|
||||
Reference in New Issue
Block a user