1
0
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:
Bob Supnik
2006-05-27 11:34:00 -07:00
committed by Mark Pizzolato
parent a12e4a1c39
commit dc871fa631
106 changed files with 15439 additions and 17517 deletions

View File

@@ -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);