mirror of
https://github.com/simh/simh.git
synced 2026-01-25 19:56:25 +00:00
Merge with v3.9-0-rc2 first pass
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
/* pdp1_cpu.c: PDP-1 CPU simulator
|
||||
|
||||
Copyright (c) 1993-2008, Robert M. Supnik
|
||||
Copyright (c) 1993-2012, 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,10 +25,11 @@
|
||||
|
||||
cpu PDP-1 central processor
|
||||
|
||||
30-May-07 RMS Fixed typo in SBS clear (from Norm Lastovica)
|
||||
210Mar-12 RMS Fixed & vs && in Ea_ch (Michael Bloom)
|
||||
30-May-07 RMS Fixed typo in SBS clear (Norm Lastovica)
|
||||
28-Dec-06 RMS Added 16-channel SBS support, PDP-1D support
|
||||
28-Jun-06 RMS Fixed bugs in MUS and DIV
|
||||
22-Sep-05 RMS Fixed declarations (from Sterling Garwood)
|
||||
22-Sep-05 RMS Fixed declarations (Sterling Garwood)
|
||||
16-Aug-05 RMS Fixed C++ declaration and cast problems
|
||||
09-Nov-04 RMS Added instruction history
|
||||
07-Sep-03 RMS Added additional explanation on I/O simulation
|
||||
@@ -1406,7 +1407,7 @@ else { /* multi-level */
|
||||
return STOP_IND;
|
||||
} /* end else !extm */
|
||||
if (IR & IA) { /* automatic mode? */
|
||||
if (rm & !sbs_act & ((MB & 0607777) == 0607777)) /* page cross? */
|
||||
if (rm && !sbs_act && ((MB & 0607777) == 0607777)) /* page cross? */
|
||||
return set_rmv (RTB_CHR);
|
||||
MB = inc_bp (MB); /* incr byte ptr */
|
||||
Write (); /* rewrite */
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* pdp1_stddev.c: PDP-1 standard devices
|
||||
|
||||
Copyright (c) 1993-2008, Robert M. Supnik
|
||||
Copyright (c) 1993-2012, 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"),
|
||||
@@ -28,16 +28,17 @@
|
||||
tti keyboard
|
||||
tto teleprinter
|
||||
|
||||
21-Mar-12 RMS Fixed unitialized variable in tto_svc (Michael Bloom)
|
||||
21-Dec-06 RMS Added 16-channel sequence break support
|
||||
29-Oct-03 RMS Added PTR FIODEC-to-ASCII translation (from Phil Budne)
|
||||
29-Oct-03 RMS Added PTR FIODEC-to-ASCII translation (Phil Budne)
|
||||
07-Sep-03 RMS Changed ioc to ios
|
||||
30-Aug-03 RMS Revised PTR to conform to Maintenance Manual;
|
||||
added deadlock prevention on errors
|
||||
23-Jul-03 RMS Revised to detect I/O wait hang
|
||||
25-Apr-03 RMS Revised for extended file support
|
||||
22-Dec-02 RMS Added break support
|
||||
29-Nov-02 RMS Fixed output flag initialization (found by Derek Peschel)
|
||||
21-Nov-02 RMS Changed typewriter to half duplex (found by Derek Peschel)
|
||||
29-Nov-02 RMS Fixed output flag initialization (Derek Peschel)
|
||||
21-Nov-02 RMS Changed typewriter to half duplex (Derek Peschel)
|
||||
06-Oct-02 RMS Revised for V2.10
|
||||
30-May-02 RMS Widened POS to 32b
|
||||
29-Nov-01 RMS Added read only unit support
|
||||
@@ -591,7 +592,6 @@ return SCPE_OK;
|
||||
|
||||
t_stat tto_svc (UNIT *uptr)
|
||||
{
|
||||
int32 c;
|
||||
t_stat r;
|
||||
|
||||
if (tty_buf == FIODEC_UC) /* upper case? */
|
||||
@@ -599,11 +599,16 @@ if (tty_buf == FIODEC_UC) /* upper case? */
|
||||
else if (tty_buf == FIODEC_LC) /* lower case? */
|
||||
tty_uc = 0;
|
||||
else {
|
||||
int32 c;
|
||||
c = fiodec_to_ascii[tty_buf | tty_uc]; /* translate */
|
||||
if (c && ((r = sim_putchar_s (c)) != SCPE_OK)) { /* output; error? */
|
||||
sim_activate (uptr, uptr->wait); /* retry */
|
||||
return ((r == SCPE_STALL)? SCPE_OK: r);
|
||||
}
|
||||
if (c == '\r') { /* cr? add lf */
|
||||
sim_putchar ('\n');
|
||||
uptr->pos = uptr->pos + 1;
|
||||
}
|
||||
}
|
||||
if (cpls & CPLS_TTO) { /* completion pulse? */
|
||||
ios = 1; /* restart */
|
||||
@@ -612,10 +617,6 @@ if (cpls & CPLS_TTO) { /* completion pulse? */
|
||||
iosta = iosta | IOS_TTO; /* set flag */
|
||||
dev_req_int (tto_sbs); /* req interrupt */
|
||||
uptr->pos = uptr->pos + 1;
|
||||
if (c == '\r') { /* cr? add lf */
|
||||
sim_putchar ('\n');
|
||||
uptr->pos = uptr->pos + 1;
|
||||
}
|
||||
return SCPE_OK;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user