1
0
mirror of https://github.com/open-simh/simh.git synced 2026-01-25 19:57:36 +00:00

Notes For V3.2-2

RESTRICTION: The PDP-15 FPP is only partially debugged.  Do NOT
enable this feature for normal operations.
RESTRICTION: The HP DS disk is not debugged.  DO NOT enable this
feature under any circumstances.

1. New Features in 3.2-2

None

2. Bugs Fixed in 3.2-2

2.1 SCP

- Fixed problem ATTACHing to read-only files (found by John Dundas)
- Fixed problems in Windows terminal code (found by Dave Bryan)
- Fixed problem in big-endian reads (reported by Scott Bailey)

2.2 GRI-909

- Updated MSR to include SOV
- Updated EAO to include additional functions

2.2 HP2100 (from Dave Bryan)

- Generalized control character handling for console terminal

2.3 VAX

- Fixed bad block initialization routine
This commit is contained in:
Bob Supnik
2004-07-17 11:55:00 -07:00
committed by Mark Pizzolato
parent e2ba672610
commit 2688f2d26e
11 changed files with 193 additions and 97 deletions

View File

@@ -23,6 +23,7 @@
be used in advertising or otherwise to promote the sale, use or other dealings
in this Software without prior written authorization from Robert M Supnik.
14-Jul-04 RMS Revised Windows console code (from Dave Bryan)
28-May-04 RMS Added SET/SHOW CONSOLE
RMS Added break, delete character maps
02-Jan-04 RMS Removed timer routines, added Telnet console routines
@@ -467,32 +468,40 @@ return SCPE_OK;
#elif defined (_WIN32)
#include <conio.h>
#include <fcntl.h>
#include <io.h>
#include <windows.h>
#include <signal.h>
static volatile int sim_win_ctlc = 0;
void win_handler (int sig)
{
sim_win_ctlc = 1;
return;
}
#define RAW_MODE 0
static HANDLE std_input;
static DWORD saved_mode;
t_stat sim_ttinit (void)
{
std_input = GetStdHandle (STD_INPUT_HANDLE);
if ((std_input == INVALID_HANDLE_VALUE) ||
!GetConsoleMode (std_input, &saved_mode)) return SCPE_TTYERR;
return SCPE_OK;
}
t_stat sim_ttrun (void)
{
if (signal (SIGINT, win_handler) == SIG_ERR) return SCPE_SIGERR;
if (!GetConsoleMode(std_input, &saved_mode) ||
!SetConsoleMode(std_input, RAW_MODE)) return SCPE_TTYERR;
if (sim_log) {
fflush (sim_log);
setmode (_fileno (sim_log), _O_BINARY); }
SetThreadPriority (GetCurrentThread(), THREAD_PRIORITY_BELOW_NORMAL);
return SCPE_OK;
}
t_stat sim_ttcmd (void)
{
if (sim_log) {
fflush (sim_log);
_setmode (_fileno (sim_log), _O_TEXT); }
SetThreadPriority (GetCurrentThread(), THREAD_PRIORITY_NORMAL);
if (!SetConsoleMode(std_input, saved_mode)) return SCPE_TTYERR;
return SCPE_OK;
}
@@ -505,10 +514,6 @@ t_stat sim_os_poll_kbd (void)
{
int c;
if (sim_win_ctlc) {
sim_win_ctlc = 0;
signal (SIGINT, win_handler);
return 003 | SCPE_KFLAG; }
if (!_kbhit ()) return SCPE_OK;
c = _getch ();
if ((c & 0177) == sim_del_char) c = 0177;