1
0
mirror of https://github.com/rcornwell/sims.git synced 2026-04-03 04:19:08 +00:00

SCP: Update SCP to current.

This commit is contained in:
Richard Cornwell
2020-06-03 21:46:23 -04:00
parent 39acb0fa86
commit 34b111bc2c
6 changed files with 21 additions and 4 deletions

View File

@@ -257,7 +257,7 @@ void delta (uint16 inst)
int delta = inst & 01777;
if (inst & 01000)
delta |= -1 << 10;
delta |= ~0u << 10;
switch (inst & 014000) {
case 000000:

View File

@@ -36,6 +36,10 @@
# simulators without networking support, invoking GNU make with
# NONETWORK=1 will do the trick.
#
# By default, video support is enabled if the SDL/SDL2 development
# headers and libraries are available. To force a build without video
# support, invoke GNU make with NOVIDEO=1.
#
# The default build will build compiler optimized binaries.
# If debugging is desired, then GNU make can be invoked with
# DEBUG=1 on the command line.
@@ -145,6 +149,10 @@ endif
ifneq ($(NONETWORK),)
NETWORK_USEFUL =
endif
# ... or without video support
ifneq ($(NOVIDEO),)
VIDEO_USEFUL =
endif
find_exe = $(abspath $(strip $(firstword $(foreach dir,$(strip $(subst :, ,${PATH})),$(wildcard $(dir)/$(1))))))
find_lib = $(abspath $(strip $(firstword $(foreach dir,$(strip ${LIBPATH}),$(wildcard $(dir)/lib$(1).${LIBEXT})))))
find_include = $(abspath $(strip $(firstword $(foreach dir,$(strip ${INCPATH}),$(wildcard $(dir)/$(1).h)))))

View File

@@ -2007,6 +2007,13 @@ sprintf(cmdbuf, "BUFFERED=%d", bufsize);
return tmxr_open_master (&sim_rem_con_tmxr, cmdbuf); /* open master socket */
}
t_bool sim_is_remote_console_master_line (void *lp)
{
return sim_rem_master_mode && /* master mode */
(((TMLN *)lp) >= sim_rem_con_tmxr.ldsc) && /* And it is one of the Remote Console Lines */
(((TMLN *)lp) < sim_rem_con_tmxr.ldsc + sim_rem_con_tmxr.lines);
}
/* Enable or disable Remote Console master mode */
/* In master mode, commands are subsequently processed from the

View File

@@ -126,6 +126,7 @@ int32 sim_tt_inpcvt (int32 c, uint32 mode);
int32 sim_tt_outcvt (int32 c, uint32 mode);
t_stat sim_tt_settabs (UNIT *uptr, int32 val, CONST char *cptr, void *desc);
t_stat sim_tt_showtabs (FILE *st, UNIT *uptr, int32 val, CONST void *desc);
t_bool sim_is_remote_console_master_line (void *lp);
extern int32 sim_rem_cmd_active_line; /* command in progress on line # */

View File

@@ -381,7 +381,7 @@ t_stat ethq_destroy(ETH_QUE* que); /* release FIFO queue */
const char *eth_capabilities(void);
t_stat sim_ether_test (DEVICE *dptr); /* unit test routine */
#if !defined(SIM_TEST_INIT) /* Need stubs for test APIs */
#if !defined(SIM_TEST_INIT) /* Need stubs for test APIs */
#define SIM_TEST_INIT
#define SIM_TEST(xxx)
#endif

View File

@@ -2205,11 +2205,12 @@ if ((lp->txbfd && !lp->notelnet) || (TXBUF_AVAIL(lp) > 1)) {/* room for char (+
sim_oline = save_oline; /* resture output socket */
}
sim_exp_check (&lp->expect, chr); /* process expect rules as needed */
if (!sim_is_running) { /* attach message or other non simulation time message? */
if (!sim_is_running && /* attach message or other non simulation time message? */
!sim_is_remote_console_master_line (lp)) {
tmxr_send_buffered_data (lp); /* put data on wire */
sim_os_ms_sleep(((lp->txbps) && (lp->txdeltausecs > 1000)) ? /* rate limiting output slower than 1000 cps */
(lp->txdeltausecs - 1000) / 1000 :
10); /* wait an approximate character delay */
1); /* wait an approximate character delay */
}
return SCPE_OK; /* char sent */
}