mirror of
https://github.com/simh/simh.git
synced 2026-02-19 13:56:42 +00:00
Notes For V3.7
1. New Features 1.1 3.7-0 1.1.1 SCP - Added SET THROTTLE and SET NOTHROTTLE commands to regulate simulator execution rate and host resource utilization. - Added idle support (based on work by Mark Pizzolato). - Added -e to control error processing in nested DO commands (from Dave Bryan). 1.1.2 HP2100 - Added Double Integer instructions, 1000-F CPU, and Floating Point Processor (from Dave Bryan). - Added 2114 and 2115 CPUs, 12607B and 12578A DMA controllers, and 21xx binary loader protection (from Dave Bryan). 1.1.3 Interdata - Added SET IDLE and SET NOIDLE commands to idle the simulator in wait state. 1.1.4 PDP-11 - Added SET IDLE and SET NOIDLE commands to idle the simulator in wait state (WAIT instruction executed). - Added TA11/TU60 cassette support. 1.1.5 PDP-8 - Added SET IDLE and SET NOIDLE commands to idle the simulator in wait state (keyboard poll loop or jump-to-self). - Added TA8E/TU60 cassette support. 1.1.6 PDP-1 - Added support for 16-channel sequence break system. - Added support for PDP-1D extended features and timesharing clock. - Added support for Type 630 data communications subsystem. 1.1.6 PDP-4/7/9/15 - Added SET IDLE and SET NOIDLE commands to idle the simulator in wait state (keyboard poll loop or jump-to-self). 1.1.7 VAX, VAX780 - Added SET IDLE and SET NOIDLE commands to idle the simulator in wait state (more than 200 cycles at IPL's 0, 1, or 3 in kernel mode). 1.1.8 PDP-10 - Added SET IDLE and SET NOIDLE commands to idle the simulator in wait state (operating system dependent). - Added CD20 (CD11) support. 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
56a7d31770
commit
3cb7c60d5d
@@ -1,6 +1,6 @@
|
||||
/* pdp11_ta.c: PDP-11 cassette tape simulator
|
||||
|
||||
Copyright (c) 2006, Robert M Supnik
|
||||
Copyright (c) 2007, 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"),
|
||||
@@ -25,6 +25,8 @@
|
||||
|
||||
ta TA11/TU60 cassette tape
|
||||
|
||||
06-Aug-07 RMS Foward op at BOT skips initial file gap
|
||||
|
||||
Magnetic tapes are represented as a series of variable records
|
||||
of the form:
|
||||
|
||||
@@ -43,7 +45,9 @@
|
||||
rather than file marks. If the controller spaces or reads into a file
|
||||
gap and then reverses direction, the file gap is not seen again. This
|
||||
is in contrast to magnetic tapes, where the file mark is a character
|
||||
sequence and is seen again if direction is reversed.
|
||||
sequence and is seen again if direction is reversed. In addition,
|
||||
cassettes have an initial file gap which is automatically skipped on
|
||||
forward operations from beginning of tape.
|
||||
*/
|
||||
|
||||
#include "pdp11_defs.h"
|
||||
@@ -278,11 +282,19 @@ else {
|
||||
}
|
||||
ta_cs &= ~TACS_BEOT; /* tape in motion */
|
||||
uptr->FNC = fnc; /* save function */
|
||||
if ((fnc != TACS_REW) && !(flg & OP_WRI)) { /* read cmd? */
|
||||
if ((fnc != TACS_REW) && !(flg & OP_WRI)) { /* spc/read cmd? */
|
||||
t_mtrlnt t;
|
||||
t_stat st;
|
||||
uptr->UST = flg & UST_REV; /* save direction */
|
||||
if (sim_tape_bot (uptr) && (flg & OP_FWD)) { /* spc/read fwd bot? */
|
||||
st = sim_tape_rdrecf (uptr, ta_xb, &t, TA_MAXFR); /* skip file gap */
|
||||
if (st != MTSE_TMK) /* not there? */
|
||||
sim_tape_rewind (uptr); /* restore tap pos */
|
||||
else old_ust = 0; /* defang next */
|
||||
}
|
||||
if ((old_ust ^ uptr->UST) == (UST_REV|UST_GAP)) { /* reverse in gap? */
|
||||
t_mtrlnt t; /* skip file mark */
|
||||
if (uptr->UST) sim_tape_rdrecr (uptr, ta_xb, &t, TA_MAXFR);
|
||||
if (uptr->UST) /* skip file gap */
|
||||
sim_tape_rdrecr (uptr, ta_xb, &t, TA_MAXFR);
|
||||
else sim_tape_rdrecf (uptr, ta_xb, &t, TA_MAXFR);
|
||||
if (DEBUG_PRS (ta_dev)) fprintf (sim_deb,
|
||||
">>TA skip gap: op=%o, old_sta = %o, pos=%d\n",
|
||||
|
||||
Reference in New Issue
Block a user