SIMH: Fix spelling errors in comments and strings
This commit is contained in:
parent
e7b2431f11
commit
0f6bcb9682
34 changed files with 1893 additions and 1893 deletions
|
@ -5,7 +5,7 @@ Theory of operation.
|
|||
Features.
|
||||
- Optional Use. Build with or without SIM_ASYNCH_IO defined and
|
||||
simulators will still build and perform correctly when run.
|
||||
Additionmally, a simulator built with SIM_ASYNCH_IO defined can
|
||||
Additionally, a simulator built with SIM_ASYNCH_IO defined can
|
||||
dynamically disable and reenable asynchronous operation with
|
||||
the scp commands SET NOASYNCH and SET ASYNCH respectively.
|
||||
- Consistent Save/Restore state. The state of a simulator saved
|
||||
|
@ -15,8 +15,8 @@ Features.
|
|||
- Optimal behavior/performance with simulator running with or
|
||||
without CPU idling enabled.
|
||||
- Consistent minimum instruction scheduling delays when operating
|
||||
with or without SIM_ASYNCH_IO. When SIM_ASYNCH_IO is emabled,
|
||||
any operation which would have been scheduled to occurr in 'n'
|
||||
with or without SIM_ASYNCH_IO. When SIM_ASYNCH_IO is enabled,
|
||||
any operation which would have been scheduled to occur in 'n'
|
||||
instructions will still occur (from the simulated computer's
|
||||
point of view) at least 'n' instructions after it was initiated.
|
||||
|
||||
|
@ -44,7 +44,7 @@ SimH Libraries which provide Asynch I/O support:
|
|||
|
||||
Requirements to use:
|
||||
The Simulator's instruction loop needs to be modified to include a single
|
||||
line which checks for asynchronouzly arrived events. The vax_cpu.c
|
||||
line which checks for asynchronously arrived events. The vax_cpu.c
|
||||
module added the following line indicated by >>>:
|
||||
|
||||
/* Main instruction loop */
|
||||
|
@ -202,7 +202,7 @@ revised to operate correctly, it may statically set the TMUF_NOASYNCH bit
|
|||
in its unit flags field.
|
||||
|
||||
Some devices will need a small amount of extra coding to leverage the
|
||||
Multiplexer Asynch I/O capabilties. Devices which require extra coding
|
||||
Multiplexer Asynch I/O capabilities. Devices which require extra coding
|
||||
have one or more of the following characteristics:
|
||||
- they poll for input data on a different unit (or units) than the unit
|
||||
which was provided when tmxr_attach was called.
|
||||
|
@ -242,7 +242,7 @@ sim_tmxr consumers:
|
|||
- SDS MUX devices = 2, units = 1/32, lines = 32, flagbits = 0, Untested Asynch
|
||||
- sim_console Good Asynch
|
||||
|
||||
Program Clock Devices to leverage Asynsh I/O
|
||||
Program Clock Devices to leverage Asynch I/O
|
||||
|
||||
simh's concept of time is calibrated by counting the number of
|
||||
instructions which the simulator can execute in a given amount of wall
|
||||
|
@ -296,7 +296,7 @@ happen under a combination of conditions:
|
|||
3) the multiplexer device schedules polling (co-scheduled) when not
|
||||
attached (such polling will never produce any input, so this is probably
|
||||
a bug).
|
||||
In prior simh versions support for clock co-scheduling was implmented
|
||||
In prior simh versions support for clock co-scheduling was implemented
|
||||
separately by each simulator, and usually was expressed by code of the form:
|
||||
sim_activate (uptr, clk_cosched (tmxr_poll));
|
||||
As a part of asynchronous timer support, the simulator framework has been
|
||||
|
|
|
@ -132,7 +132,7 @@ OSX (Snow Leopard)
|
|||
OSX Does NOT have native support for tun/tap interfaces. It also does not have native
|
||||
support for bridging.
|
||||
|
||||
Mattias Nissler has created tun/tap functionality available at http://tuntaposx,sourceforge.net/
|
||||
Mattias Nissler has created tun/tap functionality available at http://tuntaposx.sourceforge.net/
|
||||
|
||||
We'll punt on bridging for the sake of this example and move on to use a basic tap
|
||||
based internal network so a host and guest can communicate directly.
|
||||
|
@ -192,7 +192,7 @@ The simulator can use static IP addresses of 10.0.2.4 thru 10.0.2.14 with a
|
|||
netmask of 255.255.255.0 and a gateway of 10.0.2.2 and a nameserver of 10.0.2.3.
|
||||
If the simulated machine uses DHCP it will get the address 10.0.2.15. Various
|
||||
NAT based parameters can be configured on the attach command. HELP XQ ATTACH
|
||||
will provide useful information. Host to simulator connectivitiy can be
|
||||
will provide useful information. Host to simulator connectivity can be
|
||||
achieved for a simulator which gets its IP address via DHCP with the following
|
||||
command:
|
||||
|
||||
|
@ -208,7 +208,7 @@ to reach out to the Internet.
|
|||
Note: As mentioned above, NAT networking is specifically capable of providing
|
||||
TCP/IP connectivity. Only expect TCP and UDP traffic to pass through
|
||||
the interface. Do not expect ICMP traffic (ping mostly) to traverse
|
||||
the NAT boundary. This restriction is a conseqence of host platform
|
||||
the NAT boundary. This restriction is a consequence of host platform
|
||||
and network limitations regarding direct user mode code generating ICMP
|
||||
packets.
|
||||
|
||||
|
@ -345,7 +345,7 @@ Building on Linux, {Free|Net|Open}BSD, OS/X, Solaris, other *nix:
|
|||
ship with sufficiently recent versions of libpcap either
|
||||
automatically installed or available for installation as
|
||||
part of the distribution.
|
||||
The OS provided libpcap-dev components will be prefereable
|
||||
The OS provided libpcap-dev components will be preferable
|
||||
to a package built from www.tcpdump.org sources. This is
|
||||
due to the fact that various OS supplied packages will
|
||||
depend on the OS supplied libpcap. The improper build or
|
||||
|
@ -366,7 +366,7 @@ Building on Linux, {Free|Net|Open}BSD, OS/X, Solaris, other *nix:
|
|||
you want to force direct libpcap linking during a build you do so by
|
||||
typing 'make USE_NETWORK=1'. You must build with gcc to do this. There
|
||||
is no observable benefit to statically linking against libpcap. Support
|
||||
for statically linking libpcap ia deprecated on all platforms except
|
||||
for statically linking libpcap is deprecated on all platforms except
|
||||
Linux and OS X where it has already been removed.
|
||||
|
||||
4. Some platforms (HP-UX in particular) may not have vendor supplied libpcap
|
||||
|
@ -380,7 +380,7 @@ Building on Linux, {Free|Net|Open}BSD, OS/X, Solaris, other *nix:
|
|||
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
OpenVMS Alpha and OpenVMS Integrety (IA64) notes:
|
||||
OpenVMS Alpha and OpenVMS Integrity (IA64) notes:
|
||||
1. Ethernet support will only work on Alpha VMS 7.3-1 or later, which is
|
||||
when required VCI promiscuous mode support was added. Hobbyists can
|
||||
get the required version of VMS from the OpenVMS Alpha Hobbyist Kit 3.0.
|
||||
|
@ -413,7 +413,7 @@ OpenVMS Alpha and OpenVMS Integrety (IA64) notes:
|
|||
adapter prior trying to connect with SIMH, or the host may crash.
|
||||
The execlet is not written to create an I/O structure for the device.
|
||||
|
||||
Building on OpenVMS Alpha and OpenVMS Integrety (IA64):
|
||||
Building on OpenVMS Alpha and OpenVMS Integrity (IA64):
|
||||
The current descrip.mms file will build simulators capable of using
|
||||
Ethernet support with them automatically. These currently are: VAX,
|
||||
VAX780, and PDP11. The descrip.mms driven builds will also build the
|
||||
|
@ -505,7 +505,7 @@ Dave
|
|||
reading and writing is enabled
|
||||
07-Jul-11 MB VMS Pcap (from Mike Burke)
|
||||
- Fixed Alpha issues
|
||||
- Added OpenVMS Integrety support
|
||||
- Added OpenVMS Integrity support
|
||||
20-Apr-11 MP Fixed save/restore behavior
|
||||
12-Jan-11 DTH Added SHOW XU FILTERS modifier
|
||||
11-Jan-11 DTH Corrected DEUNA/DELUA SELFTEST command, enabling use by
|
||||
|
|
|
@ -96,7 +96,7 @@ if (NOT CMAKE_CONFIGURATION_TYPES)
|
|||
endif ()
|
||||
|
||||
# SIMH_SYSTEM_ID: Roughly analogous to the autoconf system triple. Used (almost exclusively)
|
||||
# as part of the depedencies' top-level directory name.
|
||||
# as part of the dependencies' top-level directory name.
|
||||
set(SIMH_SYSTEM_ID ${CMAKE_SYSTEM_NAME})
|
||||
string(REPLACE "." ";" version_list ${CMAKE_SYSTEM_VERSION})
|
||||
list(GET version_list 0 version_major)
|
||||
|
@ -163,9 +163,9 @@ if (NOT DEFINED MAC_UNIVERSAL)
|
|||
else ()
|
||||
set(MAC_UNIVERSAL_OPTVAL ${MAC_UNIVERSAL})
|
||||
if (MAC_UNIVERSAL_OPTVAL)
|
||||
message(STATUS "macOS unversal binaries WILL BE BUILT.")
|
||||
message(STATUS "macOS universal binaries WILL BE BUILT.")
|
||||
else ()
|
||||
message(STATUS "macOS unversal binaries NOT WILL BE BUILT.")
|
||||
message(STATUS "macOS universal binaries NOT WILL BE BUILT.")
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
|
@ -297,7 +297,7 @@ include(platform-quirks)
|
|||
|
||||
# Find packages, arrange for dependency download/compile/install:
|
||||
#
|
||||
# SIMH_BUILD_DEPS is the list of the dependecies' names, for pretty-printing.
|
||||
# SIMH_BUILD_DEPS is the list of the dependencies' names, for pretty-printing.
|
||||
# SIMH_DEP_TARGETS is the list of dependency targets' names that we'll actually build.
|
||||
|
||||
set(SIMH_BUILD_DEPS)
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
- [Why CMake?](#why-cmake)
|
||||
- [Before You Begin Building...](#before-you-begin-building)
|
||||
- [Toolchains and Tools](#toolchains-and-tools)
|
||||
- [Ninja: "failed recompaction: Permission denied"](#ninja-file-recompation-permission-denied)
|
||||
- [Ninja: "failed recompaction: Permission denied"](#ninja-file-recompaction-permission-denied)
|
||||
- [Windows XP-compatible/Server 2003 binaries](#windows-xp-compatibleserver-2003-binaries)
|
||||
- [Feature Libraries](#feature-libraries)
|
||||
- [Linux, macOS and MinGW-w64](#linux-macos-and-mingw-w64)
|
||||
|
@ -43,7 +43,7 @@ framework. A sample of the supported build environments include:
|
|||
- Unix Makefiles
|
||||
- [MinGW Makefiles][mingw64]
|
||||
- [Ninja][ninja]
|
||||
- macOS XCode
|
||||
- macOS Xcode
|
||||
- MS Visual Studio solutions (2015, 2017, 2019, 2022)
|
||||
- IDE build wrappers ([Sublime Text][sublime] and [CodeBlocks][codeblocks])
|
||||
|
||||
|
@ -189,7 +189,7 @@ to select a 32-bit target architecture and the `v141_xp` toolkit.
|
|||
|
||||
_VS2022_: Install the `v141_xp` tools
|
||||
|
||||
Start the Visual Studio Installler, whether this is a new VS2022 install or
|
||||
Start the Visual Studio Installer, whether this is a new VS2022 install or
|
||||
modifying an existing installation.
|
||||
|
||||
- New install
|
||||
|
@ -219,7 +219,7 @@ the [command line](#cmake-command-line) or [via the IDE](#xp-compatible-build-vi
|
|||
|
||||
_VS2019_: Install the `v141_xp` tools.
|
||||
|
||||
Start the Visual Studio Installler, whether this is a new VS2019 install or
|
||||
Start the Visual Studio Installer, whether this is a new VS2019 install or
|
||||
modifying an existing installation.
|
||||
|
||||
- New installation: Follow the VS 2022 "New install" instructions. The steps are
|
||||
|
@ -373,7 +373,7 @@ Setup and Usage:
|
|||
PS C:\...\vcpkg> cd ..\open-simh
|
||||
PS C:\...\open-simh>
|
||||
```
|
||||
Then set the `VCPKG_ROOT` environment variable to the `vcpkg` installaton directory.
|
||||
Then set the `VCPKG_ROOT` environment variable to the `vcpkg` installation directory.
|
||||
|
||||
[^1]: `vcpkg` does not support the `v141_xp` toolkit required to compile Windows
|
||||
XP binaries. Windows XP is a target platform that SIMH can hopefully deprecate
|
||||
|
@ -1033,11 +1033,11 @@ within the IDE. The walkthrough provides directions for VS 2022 and VS 2019.
|
|||
`x64-Release` configuration. And wait for reconfiguration to finish (again.)
|
||||
|
||||
5. Select `Build All` from the `Build` menu, or equivalently chord `Ctrl-Shift-B`
|
||||
on the keyboard, to start the dependecy feature library superbuild.
|
||||
on the keyboard, to start the dependency feature library superbuild.
|
||||
|
||||
- When all dependency feature libraries have been built, the build process
|
||||
__will__ unexpectedly terminate with a _"failed recompaction: Permission
|
||||
denied"_ error (see [this `ninja` note](#ninja-file-recompation-permission-denied).)
|
||||
denied"_ error (see [this `ninja` note](#ninja-file-recompaction-permission-denied).)
|
||||
|
||||
Choose `Delete Cache and Reconfigure` from the `Project` menu. This will
|
||||
cause CMake to reconfigure the project and detect the dependency feature
|
||||
|
@ -1141,7 +1141,7 @@ add_simulator(3b2
|
|||
TEST 3b2)
|
||||
```
|
||||
|
||||
`add_simulator` is relatively self explanitory:
|
||||
`add_simulator` is relatively self explanatory:
|
||||
|
||||
- The first argument is the simulator's executable name: `3b2`. This generates
|
||||
an executable named `3b2` on Unix platforms or `3b2.exe` on Windows.
|
||||
|
|
|
@ -99,7 +99,7 @@
|
|||
|
||||
#### CDC 1700 simulator from John Forecast
|
||||
|
||||
#### Hans-Åke Lund has implemented an SCELBI (SCientic-ELectronics-BIology) simulator.
|
||||
#### Hans-Åke Lund has implemented an SCELBI (SCientific-ELectronics-BIology) simulator.
|
||||
|
||||
#### IBM 650 simulator from Roberto Sancho Villa
|
||||
|
||||
|
@ -351,7 +351,7 @@ The EXPECT command now exists to provide a means of reacting to simulator output
|
|||
|
||||
#### Help
|
||||
|
||||
The built-in help system provides a heirarchical oriented help command interface.
|
||||
The built-in help system provides a hierarchical oriented help command interface.
|
||||
In addition, there is explicit support for per device help:
|
||||
|
||||
HELP dev
|
||||
|
@ -600,7 +600,7 @@ This link will return a file called simh-vms-pcap.zip which should be unpacked a
|
|||
$ unzip -a simh-vms-pcap.zip
|
||||
$ rename [.simh-vms-pcap]pcap-vms.dir []
|
||||
|
||||
The PCAP-VMS components are presumed (by the descript.mms file) to be
|
||||
The PCAP-VMS components are presumed (by the descrip.mms file) to be
|
||||
located in a directory at the same level as the directory containing the
|
||||
simh source files. For example, if these exist here:
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
:: If this procedure is not invoked from a Developer command prompt
|
||||
:: then the VS2008 tools are preferred if VS2008 is installed,
|
||||
:: otherwise the installed Visual Studio tools will be used
|
||||
:: prefering newer Visual Studio versions over older ones.
|
||||
:: preferring newer Visual Studio versions over older ones.
|
||||
::
|
||||
:: If this procedure is invoked from a Developer command prompt
|
||||
:: then the tool chain provided with the command prompt is used
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
# ECLIPSE Just Build The Data General Eclipse.
|
||||
# GRI Just Build The GRI Corporation GRI-909.
|
||||
# LGP Just Build The Royal-McBee LGP-30.
|
||||
# H316 Just Build The Honewell 316/516.
|
||||
# H316 Just Build The Honeywell 316/516.
|
||||
# HP2100 Just Build The Hewlett-Packard HP-2100.
|
||||
# HP3000 Just Build The Hewlett-Packard HP-3000.
|
||||
# I1401 Just Build The IBM 1401.
|
||||
|
|
6
helpx
6
helpx
|
@ -226,7 +226,7 @@ while( <STDIN> ) {
|
|||
next;
|
||||
} elsif ($tok eq 'word' && $val =~ /^fprint_(set|show|reg)_help(?:_ex)?$/) {
|
||||
my %alt = ( set => "\$Set commands",
|
||||
show => "\$Show commmands",
|
||||
show => "\$Show commands",
|
||||
reg => "\$Registers" );
|
||||
$b .= "/* Use \"$alt{$1}\" topic instead:\n";
|
||||
do {
|
||||
|
@ -272,7 +272,7 @@ while( <STDIN> ) {
|
|||
" The SET commands for the device will automagically display above\n"
|
||||
" this line. Add any special notes.\n"
|
||||
"2 OSNAME1\n"
|
||||
" Operating System-specif configuration details\n"
|
||||
" Operating System-specific configuration details\n"
|
||||
" If the device needs special configuration for a particular OS, a subtopic\n"
|
||||
" for each such OS goes here.\n"
|
||||
"2 Files\n"
|
||||
|
@ -299,7 +299,7 @@ while( <STDIN> ) {
|
|||
"1 Related Devices\n"
|
||||
" If devices are configured or used together, list the other devices here.\n"
|
||||
" E.G. The DEC KMC/DUP are two hardware devices that are closely related;\n"
|
||||
" The KMC controlls the DUP on behalf of the OS.\n"
|
||||
" The KMC controls the DUP on behalf of the OS.\n"
|
||||
|
||||
/* **** Your converted help text starts hare **** */
|
||||
|
||||
|
|
6
makefile
6
makefile
|
@ -56,7 +56,7 @@
|
|||
#
|
||||
# The default setup will fail simulator build(s) if the compile
|
||||
# produces any warnings. These should be cleaned up before new
|
||||
# or changd code is accepted into the code base. This option
|
||||
# or changed code is accepted into the code base. This option
|
||||
# can be overridden if GNU make is invoked with WARNINGS=ALLOWED
|
||||
# on the command line.
|
||||
#
|
||||
|
@ -1285,8 +1285,8 @@ else
|
|||
$(info ***********************************************************************)
|
||||
$(error .)
|
||||
else
|
||||
$(info ** date. For the most functional and stable features you shoud **)
|
||||
$(info ** Download the file: **)
|
||||
$(info ** date. For the most functional and stable features you should **)
|
||||
$(info ** download the file: **)
|
||||
$(info ** https://github.com/simh/windows-build/archive/windows-build.zip **)
|
||||
$(info ** Extract the windows-build-windows-build folder it contains to **)
|
||||
$(info ** $(abspath ..\) **)
|
||||
|
|
86
scp.c
86
scp.c
|
@ -449,7 +449,7 @@ t_bool sim_asynch_enabled = FALSE;
|
|||
#endif
|
||||
|
||||
/* The per-simulator init routine is a weak global that defaults to NULL
|
||||
The other per-simulator pointers can be overrriden by the init routine
|
||||
The other per-simulator pointers can be overridden by the init routine
|
||||
|
||||
WEAK void (*sim_vm_init) (void);
|
||||
|
||||
|
@ -1410,7 +1410,7 @@ static const char simh_help1[] =
|
|||
" RADIX-50 characters.\n"
|
||||
"5-F\n"
|
||||
" The -F switch causes duplicate successive lines of debug NOT to be\n"
|
||||
" summarized to reduce repetative noise from the debug data stream.\n"
|
||||
" summarized to reduce repetitive noise from the debug data stream.\n"
|
||||
"5-E\n"
|
||||
" The -E switch causes data blob output to also display the data as\n"
|
||||
" EBCDIC characters.\n"
|
||||
|
@ -1707,7 +1707,7 @@ static const char simh_help2[] =
|
|||
"+The input sequence \"%%%%\" represents a literal \"%%\". All other\n"
|
||||
"+character combinations are rendered literally.\n\n"
|
||||
"+Omitted parameters result in null-string substitutions.\n\n"
|
||||
"+Tokens preceeded and followed by %% characters are expanded as environment\n"
|
||||
"+Tokens preceded and followed by %% characters are expanded as environment\n"
|
||||
"+variables, and if an environment variable isn't found then it can be one of\n"
|
||||
"+several special variables:\n\n"
|
||||
"++%%DATE%% yyyy-mm-dd\n"
|
||||
|
@ -1747,10 +1747,10 @@ static const char simh_help2[] =
|
|||
"++%%SIM_OSTYPE%% The Operating System running the current simulator\n\n"
|
||||
"+Environment variable lookups are done first with the precise name between\n"
|
||||
"+the %% characters and if that fails, then the name between the %% characters\n"
|
||||
"+is upcased and a lookup of that valus is attempted.\n\n"
|
||||
"+is upcased and a lookup of that value is attempted.\n\n"
|
||||
"+The first Space delimited token on the line is extracted in uppercase and\n"
|
||||
"+then looked up as an environment variable. If found it the value is\n"
|
||||
"+supstituted for the original string before expanding everything else. If\n"
|
||||
"+substituted for the original string before expanding everything else. If\n"
|
||||
"+it is not found, then the original beginning token on the line is left\n"
|
||||
"+untouched.\n\n"
|
||||
"+Environment variable string substitution:\n\n"
|
||||
|
@ -1789,7 +1789,7 @@ static const char simh_help2[] =
|
|||
"++%%~nxI%% - expands the value of %%I%% to a file name and extension only\n\n"
|
||||
" In the above example above %%I%% can be replaced by other\n"
|
||||
" environment variables or numeric parameters to a DO command\n"
|
||||
" invokation.\n"
|
||||
" invocation.\n"
|
||||
" Examples:\n\n"
|
||||
"++sim> set env FNAME='xyzzy.ini'\n"
|
||||
"++sim> echo ~FNAME=%%~FNAME%%\n"
|
||||
|
@ -1804,7 +1804,7 @@ static const char simh_help2[] =
|
|||
"3GOTO\n"
|
||||
" Commands in a command file execute in sequence until either an error\n"
|
||||
" trap occurs (when a command completes with an error status), or when an\n"
|
||||
" explict request is made to start command execution elsewhere with the\n"
|
||||
" explicit request is made to start command execution elsewhere with the\n"
|
||||
" GOTO command:\n\n"
|
||||
"++GOTO <label>\n\n"
|
||||
" Labels are lines in a command file which the first non whitespace\n"
|
||||
|
@ -2081,7 +2081,7 @@ static const char simh_help2[] =
|
|||
"++\\e Sends the ASCII Escape character (Decimal value 27)\n"
|
||||
" as well as octal character values of the form:\n"
|
||||
"++\\n{n{n}} where each n is an octal digit (0-7)\n"
|
||||
" and hext character values of the form:\n"
|
||||
" and hex character values of the form:\n"
|
||||
"++\\xh{h} where each h is a hex digit (0-9A-Fa-f)\n"
|
||||
/***************** 80 character line width template *************************/
|
||||
#define HLP_SEND "*Commands Executing_Command_Files Injecting_Console_Input"
|
||||
|
@ -2142,7 +2142,7 @@ static const char simh_help2[] =
|
|||
"++\\e Sends the ASCII Escape character (Decimal value 27)\n"
|
||||
" as well as octal character values of the form:\n"
|
||||
"++\\n{n{n}} where each n is an octal digit (0-7)\n"
|
||||
" and hext character values of the form:\n"
|
||||
" and hex character values of the form:\n"
|
||||
"++\\xh{h} where each h is a hex digit (0-9A-Fa-f)\n"
|
||||
"4Switches\n"
|
||||
" Switches can be used to influence the behavior of SEND commands\n\n"
|
||||
|
@ -2241,7 +2241,7 @@ static const char simh_help2[] =
|
|||
"++\\e Expect the ASCII Escape character (Decimal value 27)\n"
|
||||
" as well as octal character values of the form:\n"
|
||||
"++\\n{n{n}} where each n is an octal digit (0-7)\n"
|
||||
" and hext character values of the form:\n"
|
||||
" and hex character values of the form:\n"
|
||||
"++\\xh{h} where each h is a hex digit (0-9A-Fa-f)\n"
|
||||
"4HaltAfter\n"
|
||||
" Specifies the number of %C which should be executed before\n"
|
||||
|
@ -2439,7 +2439,7 @@ static const char simh_help2[] =
|
|||
"++sim> SET SCP-PROCESS DEBUG=EXPEVAL - Expression Evaluation Activities\n"
|
||||
"3Debugging Do File Processing\n"
|
||||
" Debug output can be produced which will walk through the details\n"
|
||||
" involved during DO file proccessing. This output can, for example,\n"
|
||||
" involved during DO file processing. This output can, for example,\n"
|
||||
" be enabled as follows:\n\n"
|
||||
"++sim> SET DEBUG STDOUT\n"
|
||||
"++sim> SET SCP-PROCESS DEBUG=DO - Debug Output DO processing\n"
|
||||
|
@ -2496,7 +2496,7 @@ static const char simh_help2[] =
|
|||
" Many tests are capable of producing various amounts of debug output\n"
|
||||
" during their execution. The -d switch enables that output\n"
|
||||
"2File Tools\n"
|
||||
" Tools to manipulate file containers and to tranfer files/data into or\n"
|
||||
" Tools to manipulate file containers and to transfer files/data into or\n"
|
||||
" out of a simulated environment are provided.\n\n"
|
||||
" In general, these are tools natively found on the host operating system.\n"
|
||||
" They are explicitly supported directly from SCP to allow for platform\n"
|
||||
|
@ -2794,7 +2794,7 @@ if (*argv[0]) { /* sim name arg? */
|
|||
strlcpy (nbuf, argv[0], PATH_MAX + 2); /* copy sim name */
|
||||
if ((np = (char *)match_ext (nbuf, "EXE"))) /* remove .exe */
|
||||
*np = 0;
|
||||
np = strrchr (nbuf, '/'); /* stript path and try again in cwd */
|
||||
np = strrchr (nbuf, '/'); /* strip path and try again in cwd */
|
||||
if (np == NULL)
|
||||
np = strrchr (nbuf, '\\'); /* windows path separator */
|
||||
if (np == NULL)
|
||||
|
@ -2956,7 +2956,7 @@ if (docmdp) {
|
|||
strlcat (nbuf, ".ini\"", sizeof (nbuf)); /* add .ini" */
|
||||
stat = docmdp->action (-1, nbuf) & ~SCPE_NOMESSAGE; /* proc default cmd file */
|
||||
if (stat == SCPE_OPENERR) { /* didn't exist/can't open? */
|
||||
np = strrchr (nbuf, '/'); /* stript path and try again in cwd */
|
||||
np = strrchr (nbuf, '/'); /* strip path and try again in cwd */
|
||||
if (np == NULL)
|
||||
np = strrchr (nbuf, '\\'); /* windows path separator */
|
||||
if (np == NULL)
|
||||
|
@ -3054,7 +3054,7 @@ while (stat != SCPE_EXIT) { /* in case exit */
|
|||
}
|
||||
else
|
||||
stat = SCPE_UNK;
|
||||
stat_nomessage = stat & SCPE_NOMESSAGE; /* extract possible message supression flag */
|
||||
stat_nomessage = stat & SCPE_NOMESSAGE; /* extract possible message suppression flag */
|
||||
stat_nomessage = stat_nomessage || (!sim_show_message);/* Apply global suppression */
|
||||
stat = SCPE_BARE_STATUS(stat); /* remove possible flag */
|
||||
sim_last_cmd_stat = stat; /* save command error status */
|
||||
|
@ -4223,7 +4223,7 @@ do {
|
|||
stat = SCPE_UNK; /* bad cmd given */
|
||||
sim_debug (SIM_DBG_DO, &sim_scp_dev, "Command '%s', Result: 0x%X - %s\n", cmdp ? cmdp->name : "", stat, sim_error_text (stat));
|
||||
echo = sim_do_echo; /* Allow for SET VERIFY */
|
||||
stat_nomessage = stat & SCPE_NOMESSAGE; /* extract possible message supression flag */
|
||||
stat_nomessage = stat & SCPE_NOMESSAGE; /* extract possible message suppression flag */
|
||||
stat_nomessage = stat_nomessage || (!sim_show_message);/* Apply global suppression */
|
||||
stat = SCPE_BARE_STATUS(stat); /* remove possible flag */
|
||||
if (((stat != SCPE_OK) && (stat != SCPE_EXPECT)) ||
|
||||
|
@ -4380,7 +4380,7 @@ return result;
|
|||
}
|
||||
|
||||
/* Substitute_args - replace %n tokens in 'instr' with the do command's arguments
|
||||
and other enviroment variables
|
||||
and other environment variables
|
||||
|
||||
Calling sequence
|
||||
instr = input string
|
||||
|
@ -4389,14 +4389,14 @@ return result;
|
|||
|
||||
Token %0 expands to the command file name.
|
||||
Token %n (n being a single digit) expands to the n'th argument
|
||||
Tonen %* expands to the whole set of arguments (%1 ... %9)
|
||||
Token %* expands to the whole set of arguments (%1 ... %9)
|
||||
|
||||
The input sequence "%%" represents a literal "%". All other
|
||||
character combinations are rendered literally.
|
||||
|
||||
Omitted parameters result in null-string substitutions.
|
||||
|
||||
Tokens preceeded and followed by % characters are expanded as environment
|
||||
Tokens preceded and followed by % characters are expanded as environment
|
||||
variables, and if one isn't found then can be one of several special
|
||||
variables:
|
||||
%DATE% yyyy-mm-dd
|
||||
|
@ -4413,11 +4413,11 @@ return result;
|
|||
%SIM_MESSAGE% The message display status of the current Do command file
|
||||
Environment variable lookups are done first with the precise name between
|
||||
the % characters and if that fails, then the name between the % characters
|
||||
is upcased and a lookup of that valus is attempted.
|
||||
is upcased and a lookup of that value is attempted.
|
||||
|
||||
The first Space delimited token on the line is extracted in uppercase and
|
||||
then looked up as an environment variable. If found it the value is
|
||||
supstituted for the original string before expanding everything else. If
|
||||
substituted for the original string before expanding everything else. If
|
||||
it is not found, then the original beginning token on the line is left
|
||||
untouched.
|
||||
*/
|
||||
|
@ -5064,7 +5064,7 @@ if ((*optr != '"') && (*optr != '\'')) {
|
|||
ap = getenv (optr);
|
||||
if (!ap)
|
||||
return tptr;
|
||||
/* for legacy ASSERT/IF behavior give precidence to REGister names over Environment Variables */
|
||||
/* for legacy ASSERT/IF behavior give precedence to REGister names over Environment Variables */
|
||||
get_glyph (optr, optr, 0);
|
||||
rptr = find_reg (optr, &gptr, sim_dfdev);
|
||||
if (rptr)
|
||||
|
@ -5294,7 +5294,7 @@ return SCPE_OK;
|
|||
don't specify an explicit DELAY parameter. This default
|
||||
value is visible externally via an environment variable.
|
||||
String - must be quoted. Quotes may be either single or double but the
|
||||
opening anc closing quote characters must match. Within quotes
|
||||
opening and closing quote characters must match. Within quotes
|
||||
C style character escapes are allowed.
|
||||
The following character escapes are explicitly supported:
|
||||
\r Sends the ASCII Carriage Return character (Decimal value 13)
|
||||
|
@ -5310,7 +5310,7 @@ return SCPE_OK;
|
|||
\e Sends the ASCII Escape character (Decimal value 27)
|
||||
as well as octal character values of the form:
|
||||
\n{n{n}} where each n is an octal digit (0-7)
|
||||
and hext character values of the form:
|
||||
and hex character values of the form:
|
||||
\xh{h} where each h is a hex digit (0-9A-Fa-f)
|
||||
*/
|
||||
|
||||
|
@ -5888,7 +5888,7 @@ else {
|
|||
cbuf[str_size] = '\0';
|
||||
}
|
||||
else {
|
||||
if (sim_switches & SWMASK ('A')) { /* Arithmentic Expression Evaluation argument? */
|
||||
if (sim_switches & SWMASK ('A')) { /* Arithmetic Expression Evaluation argument? */
|
||||
t_svalue val;
|
||||
t_stat stat;
|
||||
const char *eptr = cptr;
|
||||
|
@ -7305,7 +7305,7 @@ fprint_show_help (st, dptr);
|
|||
return SCPE_OK;
|
||||
}
|
||||
|
||||
/* Show/change the current working directiory commands */
|
||||
/* Show/change the current working directory commands */
|
||||
|
||||
t_stat show_default (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, CONST char *cptr)
|
||||
{
|
||||
|
@ -10523,7 +10523,7 @@ return val;
|
|||
cptr = pointer to input string
|
||||
*lo = pointer to low result
|
||||
*hi = pointer to high result
|
||||
aradix = radix
|
||||
rdx = radix
|
||||
max = default high value
|
||||
term = terminating character, 0 if none
|
||||
Outputs:
|
||||
|
@ -10595,7 +10595,7 @@ return tptr;
|
|||
iptr = pointer to input string
|
||||
optr = pointer to output buffer
|
||||
the output buffer must be allocated by the caller
|
||||
and to avoid overrunat it must be at least as big
|
||||
and to avoid overrun it must be at least as big
|
||||
as the input string.
|
||||
|
||||
Outputs
|
||||
|
@ -10603,7 +10603,7 @@ return tptr;
|
|||
osize = size of the data in the optr buffer
|
||||
|
||||
The input string must be quoted. Quotes may be either single or
|
||||
double but the opening anc closing quote characters must match.
|
||||
double but the opening and closing quote characters must match.
|
||||
Within quotes C style character escapes are allowed.
|
||||
|
||||
The following character escapes are explicitly supported:
|
||||
|
@ -10620,7 +10620,7 @@ return tptr;
|
|||
\e ASCII Escape character (Decimal value 27)
|
||||
as well as octal character values of the form:
|
||||
\n{n{n}} where each n is an octal digit (0-7)
|
||||
and hext character values of the form:
|
||||
and hex character values of the form:
|
||||
\xh{h} where each h is a hex digit (0-9A-Fa-f)
|
||||
|
||||
*/
|
||||
|
@ -10743,7 +10743,7 @@ return SCPE_OK;
|
|||
\e ASCII Escape character (Decimal value 27)
|
||||
as well as octal character values of the form:
|
||||
\n{n{n}} where each n is an octal digit (0-7)
|
||||
and hext character values of the form:
|
||||
and hex character values of the form:
|
||||
\xh{h} where each h is a hex digit (0-9A-Fa-f)
|
||||
|
||||
*/
|
||||
|
@ -11074,7 +11074,7 @@ return NULL;
|
|||
cptr = pointer to input string
|
||||
Outputs:
|
||||
*sw = switch bit mask
|
||||
*mumber = numeric value
|
||||
*number = numeric value
|
||||
Return value: SW_ERROR if error
|
||||
SW_BITMASK if switch bitmask or not a switch
|
||||
SW_NUMBER if numeric
|
||||
|
@ -11140,7 +11140,7 @@ return cptr;
|
|||
opt = command options
|
||||
cptr = pointer to input string
|
||||
Outputs:
|
||||
ptr = pointer to next glypsh, NULL if error
|
||||
ptr = pointer to next glyphs, NULL if error
|
||||
*stat = error status
|
||||
*/
|
||||
|
||||
|
@ -11153,7 +11153,7 @@ DEVICE *tdptr;
|
|||
UNIT *tuptr;
|
||||
|
||||
sim_switches = 0; /* no switches */
|
||||
sim_switch_number = 0; /* no numberuc switch */
|
||||
sim_switch_number = 0; /* no number switch */
|
||||
sim_ofile = NULL; /* no output file */
|
||||
sim_schrptr = NULL; /* no search */
|
||||
sim_schaptr = NULL; /* no search */
|
||||
|
@ -12350,7 +12350,7 @@ return cnt;
|
|||
addr address of the breakpoint
|
||||
type types of breakpoints set on the address
|
||||
a bit mask representing letters A-Z
|
||||
cnt number of iterations before breakp is taken
|
||||
cnt number of iterations before breakpoint is taken
|
||||
action pointer command string to be executed
|
||||
when break is taken
|
||||
next list of other breakpoints with the same addr specifier
|
||||
|
@ -12411,7 +12411,7 @@ int32 lo, hi, p;
|
|||
BRKTAB *bp;
|
||||
|
||||
if (sim_brk_ent == 0) { /* table empty? */
|
||||
sim_brk_ins = 0; /* insrt at head */
|
||||
sim_brk_ins = 0; /* insert at head */
|
||||
return NULL; /* sch fails */
|
||||
}
|
||||
lo = 0; /* initial bounds */
|
||||
|
@ -12429,7 +12429,7 @@ do {
|
|||
else
|
||||
lo = p + 1; /* go up? p is lower */
|
||||
} while (lo <= hi);
|
||||
if (loc < bp->addr) /* insrt before or */
|
||||
if (loc < bp->addr) /* insert before or */
|
||||
sim_brk_ins = p;
|
||||
else
|
||||
sim_brk_ins = p + 1; /* after last sch */
|
||||
|
@ -12909,7 +12909,7 @@ return msg;
|
|||
|
||||
The package contains the following public routines:
|
||||
|
||||
sim_set_expect expect command parser and intializer
|
||||
sim_set_expect expect command parser and initializer
|
||||
sim_set_noexpect noexpect command parser
|
||||
sim_exp_init initialize an expect context
|
||||
sim_exp_set set or add an expect rule
|
||||
|
@ -12966,7 +12966,7 @@ if ((*cptr != '\0') && (*cptr != '"') && (*cptr != '\''))
|
|||
return sim_messagef (SCPE_ARG, "String must be quote delimited\n");
|
||||
cptr = get_glyph_quoted (cptr, gbuf, 0);
|
||||
|
||||
/* Hsndle a bare HALTAFTER=nnn command */
|
||||
/* Handle a bare HALTAFTER=nnn command */
|
||||
if ((gbuf[0] == '\0') && (*cptr == '\0') && after_set) {
|
||||
set_default_env_parameter (dev_name, "SIM_EXPECT_HALTAFTER", after);
|
||||
return SCPE_OK;
|
||||
|
@ -13105,7 +13105,7 @@ if (switches & EXP_TYP_REGEX) {
|
|||
else {
|
||||
if (switches & EXP_TYP_REGEX_I) {
|
||||
free (match_buf);
|
||||
return sim_messagef (SCPE_ARG, "Case independed matching is only valid for RegEx expect rules\n");
|
||||
return sim_messagef (SCPE_ARG, "Case independent matching is only valid for RegEx expect rules\n");
|
||||
}
|
||||
sim_data_trace(exp->dptr, exp->dptr->units, (const uint8 *)match, "", strlen(match)+1, "Expect Match String", exp->dbit);
|
||||
if (SCPE_OK != sim_decode_quoted_string (match, match_buf, &match_size)) {
|
||||
|
@ -13266,7 +13266,7 @@ EXPTAB *ep = NULL;
|
|||
int regex_checks = 0;
|
||||
char *tstr = NULL;
|
||||
|
||||
if ((!exp) || (!exp->rules)) /* Anying to check? */
|
||||
if ((!exp) || (!exp->rules)) /* Anything to check? */
|
||||
return SCPE_OK;
|
||||
|
||||
exp->buf[exp->buf_ins++] = data; /* Save new data */
|
||||
|
@ -13350,7 +13350,7 @@ for (i=0; i < exp->size; i++) {
|
|||
else {
|
||||
if (exp->buf_data < ep->size) /* Too little data to match yet? */
|
||||
continue; /* Yes, Try next one. */
|
||||
if (exp->buf_ins < ep->size) { /* Match might stradle end of buffer */
|
||||
if (exp->buf_ins < ep->size) { /* Match might straddle end of buffer */
|
||||
/*
|
||||
* First compare the newly deposited data at the beginning
|
||||
* of buffer with the end of the match string
|
||||
|
@ -16080,7 +16080,7 @@ MFlush (MFILE *f)
|
|||
f->pos = 0;
|
||||
}
|
||||
|
||||
/* FMwrite() returns 1 (TRUE) if all data was writting, 0 (FALSE) indicates
|
||||
/* FMwrite() returns 1 (TRUE) if all data was written, 0 (FALSE) indicates
|
||||
fewer than the requested number of bytes were written. N.B. this function
|
||||
is only called in one place and its return value isn't checked.*/
|
||||
static int
|
||||
|
|
2
scp.h
2
scp.h
|
@ -357,7 +357,7 @@ extern t_stat parse_sym (CONST char *cptr, t_addr addr, UNIT *uptr, t_value *val
|
|||
int32 sw);
|
||||
|
||||
/* The per-simulator init routine is a weak global that defaults to NULL
|
||||
The other per-simulator pointers can be overrriden by the init routine
|
||||
The other per-simulator pointers can be overridden by the init routine
|
||||
|
||||
extern void (*sim_vm_init) (void);
|
||||
|
||||
|
|
10
scp_help.h
10
scp_help.h
|
@ -95,7 +95,7 @@
|
|||
* Guidelines:
|
||||
* Help should be concise and easy to understand.
|
||||
*
|
||||
* The main topic should be short - less than a sceenful when presented with the
|
||||
* The main topic should be short - less than a screenful when presented with the
|
||||
* subtopic list.
|
||||
*
|
||||
* Keep line lengths to 76 columns or less.
|
||||
|
@ -126,7 +126,7 @@
|
|||
*
|
||||
* Related Devices - If devices are configured or used together, list the other devices here.
|
||||
* E.G. The DEC KMC/DUP are two hardware devices that are closely related;
|
||||
* The KMC controlls the DUP on behalf of the OS.
|
||||
* The KMC controls the DUP on behalf of the OS.
|
||||
*
|
||||
* This text can be created by any convenient means. It can be mechanically extracted from the device
|
||||
* source, read from a file, or simply entered as a string in the help routine. To facilitate the latter,
|
||||
|
@ -180,7 +180,7 @@
|
|||
*
|
||||
;****************************************************************************
|
||||
The Whizbang 100 is a DMA line printer controller used on the Whizbang 1000
|
||||
and Gurgle 1200 processor familes of the Obsolete Hardware Corporation.
|
||||
and Gurgle 1200 processor families of the Obsolete Hardware Corporation.
|
||||
1 Hardware Description
|
||||
The Whizbang 100 is specified to operate "any printer you and a friend can
|
||||
lift", and speeds up to 0.5 C.
|
||||
|
@ -205,7 +205,7 @@
|
|||
Bit 2 ejects the operator
|
||||
Bit 3 enables interrupts
|
||||
3 Print data register
|
||||
The print data register is thiry-seven bits wide, and accepts data in
|
||||
The print data register is thirty-seven bits wide, and accepts data in
|
||||
elephantcode, the precursor to Unicode. Paper advance is accomplished
|
||||
with the Rocket Return and Page Trampoline characters.
|
||||
1 Configuration
|
||||
|
@ -217,7 +217,7 @@
|
|||
+ SET WHIZBANG CODESET ASCII
|
||||
+ SET WHIZBANG CODESET ELEPHANTCODE
|
||||
|
||||
The VFU (carriage control tape) is specifed with
|
||||
The VFU (carriage control tape) is specified with
|
||||
+ SET WHIZBANG TAPE vfufile
|
||||
2 WOS
|
||||
Under WOS, the device will only work at LooneyBus slot 9
|
||||
|
|
22
sim_card.c
22
sim_card.c
|
@ -22,7 +22,7 @@
|
|||
This is the standard card reader.
|
||||
This is the standard card punch.
|
||||
|
||||
Input formats are accepted in a variaty of formats:
|
||||
Input formats are accepted in a variety of formats:
|
||||
Standard ASCII: one record per line.
|
||||
returns are ignored.
|
||||
tabs are expanded to modules 8 characters.
|
||||
|
@ -44,7 +44,7 @@
|
|||
Bits 5-0 are character.
|
||||
|
||||
CBN Format:
|
||||
Each record 160 charaters.
|
||||
Each record 160 characters.
|
||||
First char has bit 7 set. Rest set to 0.
|
||||
Bit 6 is odd parity.
|
||||
Bit 5-0 of first character are top 6 bits
|
||||
|
@ -60,7 +60,7 @@
|
|||
is not enough octal numbers to span a full card the remainder of the
|
||||
card will not be punched.
|
||||
|
||||
Also ~eor, will generate a 7/8/9 punch card. An ~eof will gernerate a
|
||||
Also ~eor, will generate a 7/8/9 punch card. An ~eof will generate a
|
||||
6/7/9 punch card, and a ~eoi will generate a 6/7/8/9 punch.
|
||||
|
||||
A single line of ~ will set the EOF flag when that card is read.
|
||||
|
@ -252,7 +252,7 @@ static const uint16 ascii_to_dec_029[128] = {
|
|||
|
||||
#if SIMH_EVER_USES_THIS
|
||||
/* This is a static const that isn't referenced in this code.
|
||||
* Kept for historical refernce.
|
||||
* Kept for historical reference.
|
||||
*/
|
||||
static const uint16 ascii_to_hol_ebcdic[128] = {
|
||||
/* Control */
|
||||
|
@ -434,7 +434,7 @@ static struct card_formats fmts[] = {
|
|||
|
||||
/* Conversion routines */
|
||||
|
||||
/* Convert BCD character into hollerith code */
|
||||
/* Convert BCD character into Hollerith code */
|
||||
uint16
|
||||
sim_bcd_to_hol(uint8 bcd) {
|
||||
uint16 hol;
|
||||
|
@ -479,7 +479,7 @@ sim_bcd_to_hol(uint8 bcd) {
|
|||
return hol;
|
||||
}
|
||||
|
||||
/* Returns the BCD of the hollerith code or 0x7f if error */
|
||||
/* Returns the BCD of the Hollerith code or 0x7f if error */
|
||||
uint8
|
||||
sim_hol_to_bcd(uint16 hol) {
|
||||
uint8 bcd;
|
||||
|
@ -529,7 +529,7 @@ sim_hol_to_bcd(uint16 hol) {
|
|||
return bcd;
|
||||
}
|
||||
|
||||
/* Convert EBCDIC character into hollerith code */
|
||||
/* Convert EBCDIC character into Hollerith code */
|
||||
uint16
|
||||
sim_ebcdic_to_hol(uint8 ebcdic) {
|
||||
return ebcdic_to_hol[ebcdic];
|
||||
|
@ -537,7 +537,7 @@ sim_ebcdic_to_hol(uint8 ebcdic) {
|
|||
|
||||
|
||||
|
||||
/* Returns the BCD of the hollerith code or 0x7f if error */
|
||||
/* Returns the BCD of the Hollerith code or 0x7f if error */
|
||||
uint16
|
||||
sim_hol_to_ebcdic(uint16 hol) {
|
||||
return hol_to_ebcdic[hol];
|
||||
|
@ -987,7 +987,7 @@ _sim_read_deck(UNIT * uptr, int eof)
|
|||
|
||||
buf.len = 0;
|
||||
buf.size = 0;
|
||||
buf.buffer[0] = 0; /* Initialize bufer to empty */
|
||||
buf.buffer[0] = 0; /* Initialize buffer to empty */
|
||||
|
||||
/* Slurp up current file */
|
||||
do {
|
||||
|
@ -1014,7 +1014,7 @@ _sim_read_deck(UNIT * uptr, int eof)
|
|||
sim_uname(uptr), uptr->filename, sim_error_text(r), cards);
|
||||
}
|
||||
data->hopper_cards++;
|
||||
/* Move data to start at begining of buffer */
|
||||
/* Move data to start at beginning of buffer */
|
||||
/* Data is moved down to simplify the decoding of one card */
|
||||
l = buf.len - buf.size;
|
||||
j = buf.size;
|
||||
|
@ -1059,7 +1059,7 @@ sim_punch_card(UNIT * uptr, uint16 image[80])
|
|||
/* Convert word record into column image */
|
||||
/* Check output type, if auto or text, try and convert record to bcd first */
|
||||
/* If failed and text report error and dump what we have */
|
||||
/* Else if binary or not convertable, dump as image */
|
||||
/* Else if binary or not convertible, dump as image */
|
||||
|
||||
/* Try to convert to text */
|
||||
uint8 out[512];
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
This is the standard card reader.
|
||||
This is the standard card punch.
|
||||
|
||||
Input formats are accepted in a variaty of formats:
|
||||
Input formats are accepted in a variety of formats:
|
||||
Standard ASCII: one record per line.
|
||||
returns are ignored.
|
||||
tabs are expanded to modules 8 characters.
|
||||
|
@ -44,7 +44,7 @@
|
|||
Bits 5-0 are character.
|
||||
|
||||
CBN Format:
|
||||
Each record 160 charaters.
|
||||
Each record 160 characters.
|
||||
First char has bit 7 set. Rest set to 0.
|
||||
Bit 6 is odd parity.
|
||||
Bit 5-0 of first character are top 6 bits
|
||||
|
@ -67,7 +67,7 @@
|
|||
is not enough octal numbers to span a full card the remainder of the
|
||||
card will not be punched.
|
||||
|
||||
Also ~eor, will generate a 7/8/9 punch card. An ~eof will gernerate a
|
||||
Also ~eor, will generate a 7/8/9 punch card. An ~eof will generate a
|
||||
6/7/9 punch card, and a ~eoi will generate a 6/7/8/9 punch.
|
||||
|
||||
A single line of ~ will set the EOF flag when that card is read.
|
||||
|
|
|
@ -158,7 +158,7 @@
|
|||
#define MIN(a,b) (((a) <= (b)) ? (a) : (b))
|
||||
#endif
|
||||
|
||||
/* Forward Declaraations of Platform specific routines */
|
||||
/* Forward declarations of platform specific routines */
|
||||
|
||||
static t_stat sim_os_poll_kbd (void);
|
||||
static t_bool sim_os_poll_kbd_ready (int ms_timeout);
|
||||
|
@ -325,7 +325,7 @@ static t_stat sim_con_detach (UNIT *uptr)
|
|||
return sim_set_notelnet (0, NULL);
|
||||
}
|
||||
|
||||
/* Forward declaratations */
|
||||
/* Forward declarations */
|
||||
|
||||
static t_stat sim_os_fd_isatty (int fd);
|
||||
|
||||
|
@ -878,7 +878,7 @@ return SCPE_OK;
|
|||
static t_stat _sim_rem_message (const char *cmd, t_stat stat)
|
||||
{
|
||||
CTAB *cmdp = NULL;
|
||||
t_stat stat_nomessage = stat & SCPE_NOMESSAGE; /* extract possible message supression flag */
|
||||
t_stat stat_nomessage = stat & SCPE_NOMESSAGE; /* extract possible message suppression flag */
|
||||
|
||||
cmdp = find_cmd (cmd);
|
||||
stat = SCPE_BARE_STATUS(stat); /* remove possible flag */
|
||||
|
@ -1879,7 +1879,7 @@ if (sim_rem_cmd_active_line != -1) {
|
|||
return SCPE_REMOTE; /* force sim_instr() to exit to process command */
|
||||
}
|
||||
else
|
||||
sim_activate_after(uptr, 100000); /* check again in 100 milliaeconds */
|
||||
sim_activate_after(uptr, 100000); /* check again in 100 milliseconds */
|
||||
if (sim_rem_master_was_enabled && !sim_rem_master_mode) { /* Transitioning out of master mode? */
|
||||
lp = &sim_rem_con_tmxr.ldsc[0];
|
||||
tmxr_linemsgf (lp, "Non Master Mode Session..."); /* report transition */
|
||||
|
@ -2092,7 +2092,7 @@ if (sim_rem_master_mode) {
|
|||
sim_activate (rem_con_data_unit, -1);
|
||||
stat = run_cmd (RU_GO, "");
|
||||
if (stat != SCPE_TTMO) {
|
||||
stat_nomessage = stat & SCPE_NOMESSAGE; /* extract possible message supression flag */
|
||||
stat_nomessage = stat & SCPE_NOMESSAGE; /* extract possible message suppression flag */
|
||||
stat = _sim_rem_message ("RUN", stat);
|
||||
}
|
||||
brk_action = sim_brk_replace_act (NULL);
|
||||
|
|
|
@ -212,7 +212,7 @@ extern "C" {
|
|||
|
||||
/* Length specific integer declarations */
|
||||
|
||||
/* Handle the special/unusual cases first with everything else leveraging stdints.h */
|
||||
/* Handle the special/unusual cases first with everything else leveraging stdint.h */
|
||||
#if defined (VMS)
|
||||
#include <ints.h>
|
||||
#elif defined(_MSC_VER) && (_MSC_VER < 1600)
|
||||
|
@ -224,7 +224,7 @@ typedef unsigned __int16 uint16;
|
|||
typedef unsigned __int32 uint32;
|
||||
#else
|
||||
/* All modern/standard compiler environments */
|
||||
/* any other environment needa a special case above */
|
||||
/* any other environment needs a special case above */
|
||||
#include <stdint.h>
|
||||
typedef int8_t int8;
|
||||
typedef int16_t int16;
|
||||
|
@ -435,7 +435,7 @@ typedef uint32 t_addr;
|
|||
#define SCPE_MAX_ERR (SCPE_BASE + 51) /* Maximum SCPE Error Value */
|
||||
#define SCPE_KFLAG 0x10000000 /* tti data flag */
|
||||
#define SCPE_BREAK 0x20000000 /* tti break flag */
|
||||
#define SCPE_NOMESSAGE 0x40000000 /* message display supression flag */
|
||||
#define SCPE_NOMESSAGE 0x40000000 /* message display suppression flag */
|
||||
#define SCPE_BARE_STATUS(stat) ((stat) & ~(SCPE_NOMESSAGE|SCPE_KFLAG|SCPE_BREAK))
|
||||
|
||||
/* Print value format codes */
|
||||
|
|
10
sim_disk.c
10
sim_disk.c
|
@ -28,7 +28,7 @@
|
|||
This is the place which hides processing of various disk formats,
|
||||
as well as OS-specific direct hardware access.
|
||||
|
||||
25-Jan-11 MP Initial Implemementation
|
||||
25-Jan-11 MP Initial Implementation
|
||||
|
||||
Public routines:
|
||||
|
||||
|
@ -276,7 +276,7 @@ return NULL;
|
|||
processing events for any unit. It is only called when an asynchronous
|
||||
thread has called sim_activate() to activate a unit. The job of this
|
||||
routine is to put the unit in proper condition to digest what may have
|
||||
occurred in the asynchrconous thread.
|
||||
occurred in the asynchronous thread.
|
||||
|
||||
Since disk processing only handles a single I/O at a time to a
|
||||
particular disk device (due to using stdio for the SimH Disk format
|
||||
|
@ -1302,7 +1302,7 @@ CheckSum1 = ODSChecksum (&Header, 255);
|
|||
if (CheckSum1 != *(((uint16 *)&Header)+255)) /* Verify Checksum on BITMAP.SYS file header */
|
||||
goto Return_Cleanup;
|
||||
Retr = (ODS2_Retreval *)(((uint16*)(&Header))+Header.fh2_b_mpoffset);
|
||||
/* The BitMap File has a single extent, which may be preceeded by a placement descriptor */
|
||||
/* The BitMap File has a single extent, which may be preceded by a placement descriptor */
|
||||
if (Retr->fm2_r_word0_bits.fm2_v_format == 0)
|
||||
Retr = (ODS2_Retreval *)(((uint16 *)Retr)+1); /* skip placement descriptor */
|
||||
switch (Retr->fm2_r_word0_bits.fm2_v_format)
|
||||
|
@ -3949,7 +3949,7 @@ if (strchr (openmode, 'r'))
|
|||
if (strchr (openmode, 'w') || strchr (openmode, '+'))
|
||||
DesiredAccess |= GENERIC_WRITE;
|
||||
/* SCP Command Line parsing replaces \\ with \ presuming this is an
|
||||
escape sequence. This only affecdts RAW device names and UNC paths.
|
||||
escape sequence. This only affects RAW device names and UNC paths.
|
||||
We handle the RAW device name case here by prepending paths beginning
|
||||
with \.\ with an extra \. */
|
||||
if ((!memcmp ("\\.\\", rawdevicename, 3)) ||
|
||||
|
@ -6604,7 +6604,7 @@ if (info->flag) { /* zap type */
|
|||
size_t sector_size = NtoHl (f->SectorSize);
|
||||
t_offset highwater = (((t_offset)NtoHl (f->Highwater[0])) << 32) | ((t_offset)NtoHl (f->Highwater[1]));
|
||||
|
||||
if (sector_size > 16384) /* arbitray upper limit */
|
||||
if (sector_size > 16384) /* arbitrary upper limit */
|
||||
sector_size = 16384;
|
||||
/* determine whole sectors in original container size */
|
||||
/* By default we chop off the disk footer and trailing */
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
the sale, use or other dealings in this Software without prior written
|
||||
authorization from Robert M Supnik and Mark Pizzolato.
|
||||
|
||||
25-Jan-11 MP Initial Implemementation
|
||||
25-Jan-11 MP Initial Implementation
|
||||
*/
|
||||
|
||||
#ifndef SIM_DISK_H_
|
||||
|
|
28
sim_ether.c
28
sim_ether.c
|
@ -208,7 +208,7 @@
|
|||
new TOE features are: LSO (Large Send Offload) and Jumbo packet
|
||||
fragmentation support. These features allow a simulated network
|
||||
device to support traffic when a host leverages a NIC's Large
|
||||
Send Offload capabilities to fregment and/or segment outgoing
|
||||
Send Offload capabilities to fragment and/or segment outgoing
|
||||
network traffic. Additionally a simulated network device can
|
||||
reasonably exist on a LAN which is configured to use Jumbo frames.
|
||||
21-May-10 MP Added functionality to fixup IP header checksums to accomodate
|
||||
|
@ -216,10 +216,10 @@
|
|||
enabled which is expected to implement the checksum computations
|
||||
in hardware. Since we catch packets before they arrive at the
|
||||
NIC the expected checksum insertions haven't been performed yet.
|
||||
This processing is only done for packets sent from the hoat to
|
||||
This processing is only done for packets sent from the host to
|
||||
the guest we're supporting. In general this will be a relatively
|
||||
small number of packets so it is done for all IP frame packets
|
||||
coming from the hoat to the guest. In order to make the
|
||||
coming from the host to the guest. In order to make the
|
||||
determination of packets specifically arriving from the host we
|
||||
need to know the hardware MAC address of the host NIC. Currently
|
||||
determining a NIC's MAC address is relatively easy on Windows.
|
||||
|
@ -323,7 +323,7 @@
|
|||
work on Red Hat 6.2-sparc and Debian 3.0r1-sparc.
|
||||
03-Mar-03 MP Changed logging to be consistent on stdout and sim_log
|
||||
01-Feb-03 MP Changed type of local variables in eth_packet_trace to
|
||||
conform to the interface needs of eth_mac_fmt wich produces
|
||||
conform to the interface needs of eth_mac_fmt which produces
|
||||
char data instead of unsigned char data. Suggested by the
|
||||
DECC compiler.
|
||||
15-Jan-03 DTH Corrected PacketGetAdapterNames parameter2 datatype
|
||||
|
@ -364,7 +364,7 @@
|
|||
24-Sep-02 DTH Finished eth_devices, eth_getname
|
||||
18-Sep-02 DTH Callbacks implemented
|
||||
13-Sep-02 DTH Basic packet read/write written
|
||||
20-Aug-02 DTH Created Sim_Ether for O/S independant ethernet implementation
|
||||
20-Aug-02 DTH Created Sim_Ether for O/S independent ethernet implementation
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -388,7 +388,7 @@ static void eth_get_nic_hw_addr(ETH_DEV* dev, const char *devname, int set_on);
|
|||
static const unsigned char framer_oui[3] = { 0xaa, 0x00, 0x03 };
|
||||
|
||||
/*============================================================================*/
|
||||
/* OS-independant ethernet routines */
|
||||
/* OS-independent ethernet routines */
|
||||
/*============================================================================*/
|
||||
|
||||
t_stat eth_mac_scan (ETH_MAC* mac, const char* strmac)
|
||||
|
@ -1577,7 +1577,7 @@ struct _PACKET_OID_DATA {
|
|||
uint32 Oid; ///< OID code. See the Microsoft DDK documentation or the file ntddndis.h
|
||||
///< for a complete list of valid codes.
|
||||
uint32 Length; ///< Length of the data field
|
||||
uint8 Data[1]; ///< variable-lenght field that contains the information passed to or received
|
||||
uint8 Data[1]; ///< variable-length field that contains the information passed to or received
|
||||
///< from the adapter.
|
||||
};
|
||||
typedef struct _PACKET_OID_DATA PACKET_OID_DATA, *PPACKET_OID_DATA;
|
||||
|
@ -1625,7 +1625,7 @@ static int pcap_mac_if_win32(const char *AdapterName, unsigned char MACAddress[6
|
|||
return -1;
|
||||
}
|
||||
|
||||
/* Allocate a buffer to get the MAC adress */
|
||||
/* Allocate a buffer to get the MAC address */
|
||||
|
||||
OidData = (PACKET_OID_DATA *)malloc(6 + sizeof(PACKET_OID_DATA));
|
||||
if (OidData == NULL) {
|
||||
|
@ -2179,7 +2179,7 @@ return NULL;
|
|||
|
||||
/* eth_set_async
|
||||
*
|
||||
* Turn on reciever processing which can be either asynchronous or polled
|
||||
* Turn on receiver processing which can be either asynchronous or polled
|
||||
*/
|
||||
t_stat eth_set_async (ETH_DEV *dev, int latency)
|
||||
{
|
||||
|
@ -2205,7 +2205,7 @@ return SCPE_OK;
|
|||
|
||||
/* eth_clr_async
|
||||
*
|
||||
* Turn off reciever processing
|
||||
* Turn off receiver processing
|
||||
*/
|
||||
t_stat eth_clr_async (ETH_DEV *dev)
|
||||
{
|
||||
|
@ -3128,7 +3128,7 @@ int write_queue_size = 1;
|
|||
/* make sure device exists */
|
||||
if ((!dev) || (dev->eth_api == ETH_API_NONE)) return SCPE_UNATT;
|
||||
|
||||
if (packet->len > sizeof (packet->msg)) /* packet ovesized? */
|
||||
if (packet->len > sizeof (packet->msg)) /* packet oversized? */
|
||||
return SCPE_IERR; /* that's no good! */
|
||||
|
||||
/* Get a buffer */
|
||||
|
@ -3434,7 +3434,7 @@ switch (IP->proto) {
|
|||
/* We don't do anything with the TCP checksum since we're going to resegment the TCP data below */
|
||||
break;
|
||||
default:
|
||||
++dev->jumbo_dropped; /* We onlt handle UDP, ICMP and TCP jumbo frames others are dropped */
|
||||
++dev->jumbo_dropped; /* We only handle UDP, ICMP and TCP jumbo frames others are dropped */
|
||||
return;
|
||||
}
|
||||
/* Reasonable Checksums are now in the jumbo packet, but we've got to actually */
|
||||
|
@ -3478,7 +3478,7 @@ switch (IP->proto) {
|
|||
we don't want to do this all the time for 2 reasons:
|
||||
1) sending through pcap involves kernel transitions and
|
||||
2) if the current system reflects sent packets, the
|
||||
recieving side will receive and process 2 copies of
|
||||
receiving side will receive and process 2 copies of
|
||||
any packets sent this way. */
|
||||
ETH_PACK pkt;
|
||||
|
||||
|
@ -3532,7 +3532,7 @@ switch (IP->proto) {
|
|||
we don't want to do this all the time for 2 reasons:
|
||||
1) sending through pcap involves kernel transitions and
|
||||
2) if the current system reflects sent packets, the
|
||||
recieving side will receive and process 2 copies of
|
||||
receiving side will receive and process 2 copies of
|
||||
any packets sent this way. */
|
||||
ETH_PACK pkt;
|
||||
|
||||
|
|
|
@ -82,7 +82,7 @@ extern "C" {
|
|||
#define USE_SETNONBLOCK 1
|
||||
#endif
|
||||
|
||||
/* cygwin dowsn't have the right features to use the threaded network I/O */
|
||||
/* cygwin doesn't have the right features to use the threaded network I/O */
|
||||
#if defined(__CYGWIN__) || defined(__ZAURUS__) // psco added check for Zaurus platform
|
||||
#define DONT_USE_READER_THREAD
|
||||
#endif
|
||||
|
@ -335,7 +335,7 @@ t_stat eth_open (ETH_DEV* dev, const char* name, /* open ethernet interfa
|
|||
DEVICE* dptr, uint32 dbit);
|
||||
t_stat eth_close (ETH_DEV* dev); /* close ethernet interface */
|
||||
t_stat eth_attach_help(FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, const char *cptr);
|
||||
t_stat eth_write (ETH_DEV* dev, ETH_PACK* packet, /* write sychronous packet; */
|
||||
t_stat eth_write (ETH_DEV* dev, ETH_PACK* packet, /* write synchronous packet; */
|
||||
ETH_PCALLBACK routine); /* callback when done */
|
||||
int eth_read (ETH_DEV* dev, ETH_PACK* packet, /* read single packet; */
|
||||
ETH_PCALLBACK routine); /* callback when done*/
|
||||
|
|
|
@ -576,7 +576,7 @@ static void _time_t_to_filetime (time_t ttime, FILETIME *filetime)
|
|||
{
|
||||
t_uint64 time64;
|
||||
|
||||
time64 = 134774; /* Days betwen Jan 1, 1601 and Jan 1, 1970 */
|
||||
time64 = 134774; /* Days between Jan 1, 1601 and Jan 1, 1970 */
|
||||
time64 *= 24; /* Hours */
|
||||
time64 *= 3600; /* Seconds */
|
||||
time64 += (t_uint64)ttime; /* include time_t seconds */
|
||||
|
@ -674,7 +674,7 @@ if (AlreadyExists) {
|
|||
else
|
||||
*((DWORD *)((*shmem)->shm_base)) = (DWORD)size; /* Save Size in first page */
|
||||
|
||||
*addr = ((char *)(*shmem)->shm_base + SysInfo.dwPageSize); /* Point to the second paget for data */
|
||||
*addr = ((char *)(*shmem)->shm_base + SysInfo.dwPageSize); /* Point to the second page for data */
|
||||
return SCPE_OK;
|
||||
}
|
||||
|
||||
|
@ -937,7 +937,7 @@ return FALSE;
|
|||
|
||||
#if defined(__VAX)
|
||||
/*
|
||||
* We privide a 'basic' snprintf, which 'might' overrun a buffer, but
|
||||
* We provide a 'basic' snprintf, which 'might' overrun a buffer, but
|
||||
* the actual use cases don't on other platforms and none of the callers
|
||||
* care about the function return value.
|
||||
*/
|
||||
|
|
|
@ -869,7 +869,7 @@ if (!simulator_panel) {
|
|||
close (0); close (1); close (2); /* make sure not to pass the open standard handles */
|
||||
if (dup (dup (open ("/dev/null", O_RDWR)))) {}; /* open standard handles to /dev/null */
|
||||
if (execlp (sim_path, sim_path, p->temp_config, NULL, NULL)) {
|
||||
perror ("execl");
|
||||
perror ("execlp");
|
||||
exit(errno);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -71,7 +71,7 @@ extern "C" {
|
|||
it could be merely the simulator name if the simulator binary
|
||||
is located in the current PATH.
|
||||
- The simulator binary must be built from the same version
|
||||
simh source code that the frontpanel API was acquired fron
|
||||
simh source code that the frontpanel API was acquired from
|
||||
(the API and the simh framework must speak the same language)
|
||||
|
||||
Note 2: - Configuration file specified should contain device setup
|
||||
|
@ -125,7 +125,7 @@ sim_panel_destroy (PANEL *panel);
|
|||
the simulator uses as internal state to implement the running
|
||||
simulator.
|
||||
|
||||
The registers that a particular frontpanel application mught need
|
||||
The registers that a particular frontpanel application might need
|
||||
access to are specified by the application when it calls:
|
||||
|
||||
sim_panel_add_register
|
||||
|
@ -499,7 +499,7 @@ sim_panel_get_history (PANEL *panel,
|
|||
sim_panel_device_debug_mode
|
||||
|
||||
device the device whose debug mode is to change
|
||||
set_untset 1 to set debug flags, 0 to clear debug flags
|
||||
set_unset 1 to set debug flags, 0 to clear debug flags
|
||||
mode_bits character string with different debug mode bits
|
||||
to enable or disable. An empty string will
|
||||
enable or disable all mode bits for the specified
|
||||
|
@ -580,7 +580,7 @@ void sim_panel_clear_error (void);
|
|||
|
||||
/**
|
||||
|
||||
The panek<->simulator wire protocol can be traced if protocol problems arise.
|
||||
The panel<->simulator wire protocol can be traced if protocol problems arise.
|
||||
|
||||
sim_panel_set_debug_mode - Specifies the debug detail to be recorded
|
||||
sim_panel_flush_debug - Flushes debug output to disk
|
||||
|
|
|
@ -672,7 +672,7 @@ t_stat sectWrite(DISK_INFO *myDisk,
|
|||
* does not involve changing the disk image size.)
|
||||
*
|
||||
* Any existing data on the disk image will be destroyed when Track 0, Head 0 is formatted.
|
||||
* At that time, the IMD file is truncated. So for the trackWrite to be used to sucessfully
|
||||
* At that time, the IMD file is truncated. So for the trackWrite to be used to successfully
|
||||
* format a disk image, then format program must format tracks starting with Cyl 0, Head 0,
|
||||
* and proceed sequentially through all tracks/heads on the disk.
|
||||
*
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
* sim_printf_fmts.h
|
||||
*
|
||||
* Cross-platform printf() formats for simh data types. Refactored out to
|
||||
* this header so that these formats are avaiable to more than SCP.
|
||||
* this header so that these formats are available to more than SCP.
|
||||
*
|
||||
* Author: B. Scott Michel
|
||||
*
|
||||
|
|
26
sim_rev.h
26
sim_rev.h
|
@ -46,7 +46,7 @@
|
|||
|
||||
/*
|
||||
SIM__GIT_COMMMIT_ID is undefined when working with an
|
||||
archive (zip file or tar ball). Use Git keyword subsitution
|
||||
archive (zip file or tar ball). Use Git keyword substitution
|
||||
to record the archive's commit id via the .gitattributes
|
||||
"export-subst".
|
||||
*/
|
||||
|
@ -55,7 +55,7 @@
|
|||
|
||||
/*
|
||||
The comment section below reflects the manual editing process which was in place
|
||||
prior to the use of the git source control system on at https://gihub.com/simh/simh
|
||||
prior to the use of the git source control system on at https://github.com/simh/simh
|
||||
|
||||
Details about all future fixes will be visible in the source control system's
|
||||
history.
|
||||
|
@ -229,7 +229,7 @@ patch date module(s) and fix(es)
|
|||
- fixed misuse of & instead of && in Ea_ch (Michael Bloom)
|
||||
|
||||
pdp1_stddev.c:
|
||||
- fixed unitialized variable in tty output service (Michael Bloom)
|
||||
- fixed uninitialized variable in tty output service (Michael Bloom)
|
||||
|
||||
pdp10_fe.c:
|
||||
- revised to use clock coscheduling
|
||||
|
@ -241,7 +241,7 @@ patch date module(s) and fix(es)
|
|||
- fixed Qbus interrupts to treat all IO devices (except clock) as BR4
|
||||
- fixed order of int_internal (Jordi Guillaumes i Pons)
|
||||
|
||||
ppd11_rf.c
|
||||
pdp11_rf.c
|
||||
- fixed bug in updating mem addr extension (Peter Schorn)
|
||||
|
||||
pdp11_rk.c:
|
||||
|
@ -284,7 +284,7 @@ patch date module(s) and fix(es)
|
|||
- Fixed loopback processing to correctly handle forward packets.
|
||||
- Fixed interrupt dispatch issue which caused delivered packets
|
||||
(in and out) to sometimes not interrupt the CPU after processing.
|
||||
- Fixed the SCP visibile SA registers to always display the
|
||||
- Fixed the SCP visible SA registers to always display the
|
||||
ROM mac address, even after it is changed by SET XQ MAC=.
|
||||
- Added changes so that the Console DELQA diagnostic (>>>TEST 82)
|
||||
will succeed.
|
||||
|
@ -303,7 +303,7 @@ patch date module(s) and fix(es)
|
|||
- Added SET XQ POLL=DISABLE (aka SET XQ POLL=0) to operate without
|
||||
polling for packet read completion.
|
||||
- Changed the sanity and id timer mechanisms to use a separate timer
|
||||
unit so that transmit and recieve activities can be dealt with
|
||||
unit so that transmit and receive activities can be dealt with
|
||||
by the normal xq_svc routine.
|
||||
Dynamically determine the timer polling rate based on the
|
||||
calibrated tmr_poll and clk_tps values of the simulator.
|
||||
|
@ -342,7 +342,7 @@ patch date module(s) and fix(es)
|
|||
- revised to use clock coscheduling and to fix perpetual CAF bug
|
||||
|
||||
pdp8_ttx.c:
|
||||
- revised to use clock cosheduling
|
||||
- revised to use clock coscheduling
|
||||
|
||||
pdp8_sys.c:
|
||||
- added link to FPP
|
||||
|
@ -423,7 +423,7 @@ patch date module(s) and fix(es)
|
|||
- Moved non-existent memory checks to WritePW
|
||||
- Fixed mp_dms_jmp to accept lower bound, check write protection
|
||||
- Corrected DMS violation register set conditions
|
||||
- Refefined ABORT to pass address, moved def to hp2100_cpu.h
|
||||
- Redefined ABORT to pass address, moved def to hp2100_cpu.h
|
||||
- Combined dms and dms_io routines
|
||||
- JSB to 0/1 with W5 out and fence = 0 erroneously causes MP abort
|
||||
- Unified I/O slot dispatch by adding DIBs for CPU, MP, and DMA
|
||||
|
@ -827,7 +827,7 @@ patch date module(s) and fix(es)
|
|||
- fixed to set "mux_rchp" when a line break is received
|
||||
- fixed incorrect "odd_par" table values
|
||||
- reversed test in "RCV_PAR" to return "LIL_PAR" on odd parity
|
||||
- rixed mux reset (ioCRS) to clear port parameters
|
||||
- fixed mux reset (ioCRS) to clear port parameters
|
||||
- fixed to use PUT_DCH instead of PUT_CCH for data channel status
|
||||
- added DIAG/TERM modifiers to implement diagnostic mode
|
||||
|
||||
|
@ -1167,7 +1167,7 @@ patch date module(s) and fix(es)
|
|||
- fixed POLYD, POLYG to not exit prematurely if arg = 0
|
||||
- fixed POLYD, POLYG to do full 64b multiply
|
||||
- fixed POLYF, POLYD, POLYG to remove truncation on add
|
||||
- fixed POLYF, POLYD, POLYG to mask mul reslt to 31b/63b/63b
|
||||
- fixed POLYF, POLYD, POLYG to mask mul result to 31b/63b/63b
|
||||
- fixed fp add routine to test for zero via fraction
|
||||
to support "denormal" argument from POLYF, POLYD, POLYG
|
||||
- fixed bug in 32b floating multiply routine
|
||||
|
@ -1183,7 +1183,7 @@ patch date module(s) and fix(es)
|
|||
- fixed ACBH to set cc's on result
|
||||
- fixed POLYH to set R3 correctly
|
||||
- fixed POLYH to not exit prematurely if arg = 0
|
||||
- fixed POLYH to mask mul reslt to 127b
|
||||
- fixed POLYH to mask mul result to 127b
|
||||
- fixed fp add routine to test for zero via fraction
|
||||
to support "denormal" argument from POLYH
|
||||
- fixed EMODH to concatenate 15b of 16b extension
|
||||
|
@ -1868,7 +1868,7 @@ patch date module(s) and fix(es)
|
|||
|
||||
pdp1_drm.c:
|
||||
- added parallel drum support
|
||||
- fixed bug in serial drum instructin decoding
|
||||
- fixed bug in serial drum instruction decoding
|
||||
|
||||
pdp1_sys.c: added parallel drum support, mnemonics
|
||||
|
||||
|
@ -2469,7 +2469,7 @@ patch date module(s) and fix(es)
|
|||
- fixed RTS SP, don't increment restored SP
|
||||
- fixed TSTSET, write dst | 1 rather than prev R0 | 1
|
||||
- fixed DIV, set N=0,Z=1 on div by zero (J11, 11/70)
|
||||
- fixed DIV, set set N=Z=0 on overfow (J11, 11/70)
|
||||
- fixed DIV, set set N=Z=0 on overflow (J11, 11/70)
|
||||
- fixed ASH, ASHC, count = -32 used implementation-
|
||||
dependent 32 bit right shift
|
||||
- fixed illegal instruction test to detect 000010
|
||||
|
|
10
sim_scsi.c
10
sim_scsi.c
|
@ -71,7 +71,7 @@
|
|||
#define KEY_ILLREQ 5 /* illegal request */
|
||||
#define KEY_PROT 7 /* data protect */
|
||||
#define KEY_BLANK 8 /* blank check */
|
||||
#define KEY_M_ILI 0x20 /* incorrent length indicator */
|
||||
#define KEY_M_ILI 0x20 /* incorrect length indicator */
|
||||
|
||||
/* Additional sense codes */
|
||||
|
||||
|
@ -428,11 +428,11 @@ else {
|
|||
}
|
||||
#endif
|
||||
if (dev->removeable)
|
||||
bus->buf[bus->buf_b++] = 0x80; /* removeable */
|
||||
bus->buf[bus->buf_b++] = 0x80; /* removable */
|
||||
else
|
||||
bus->buf[bus->buf_b++] = 0; /* fixed */
|
||||
bus->buf[bus->buf_b++] = dev->scsiver; /* versions */
|
||||
bus->buf[bus->buf_b++] = dev->scsiver; /* respose data format */
|
||||
bus->buf[bus->buf_b++] = dev->scsiver; /* response data format */
|
||||
bus->buf[bus->buf_b++] = 31; /* additional length */
|
||||
bus->buf[bus->buf_b++] = 0; /* reserved */
|
||||
bus->buf[bus->buf_b++] = 0; /* reserved */
|
||||
|
@ -639,7 +639,7 @@ if ((pc == 0x4) || (pc == 0x3F)) {
|
|||
bus->buf[bus->buf_b++] = 0x4; /* landing zone cyl (15:8) */
|
||||
bus->buf[bus->buf_b++] = 0; /* landing zone cyl (7:0) */
|
||||
bus->buf[bus->buf_b++] = 0; /* reserved, RPL */
|
||||
bus->buf[bus->buf_b++] = 0; /* rotational offet */
|
||||
bus->buf[bus->buf_b++] = 0; /* rotational offset */
|
||||
bus->buf[bus->buf_b++] = 0; /* reserved */
|
||||
bus->buf[bus->buf_b++] = 0x1C; /* medium rotation rate (15:8) */
|
||||
bus->buf[bus->buf_b++] = 0x20; /* medium rotation rate (7:0) */
|
||||
|
@ -1782,7 +1782,7 @@ t_stat scsi_attach (UNIT *uptr, CONST char *cptr)
|
|||
return scsi_attach_ex (uptr, cptr, NULL);
|
||||
}
|
||||
|
||||
/* Dettach device */
|
||||
/* Detach device */
|
||||
|
||||
t_stat scsi_detach (UNIT *uptr)
|
||||
{
|
||||
|
|
|
@ -536,7 +536,7 @@ if (RegOpenKeyExA(HKEY_LOCAL_MACHINE, "HARDWARE\\DEVICEMAP\\SERIALCOMM", 0, KEY_
|
|||
else
|
||||
break;
|
||||
}
|
||||
/* Besure to clear the working entry before trying again */
|
||||
/* Be sure to clear the working entry before trying again */
|
||||
memset(list[ports].name, 0, sizeof(list[ports].name));
|
||||
memset(list[ports].desc, 0, sizeof(list[ports].desc));
|
||||
dwValueNameSize = sizeof(list[ports].desc);
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
15-Oct-12 MP Added definitions needed to detect possible tcp
|
||||
connect failures
|
||||
25-Sep-12 MP Reworked for RFC3493 interfaces supporting IPv6 and IPv4
|
||||
04-Jun-08 RMS Addes sim_create_sock, for IBM 1130
|
||||
04-Jun-08 RMS Added sim_create_sock, for IBM 1130
|
||||
14-Apr-05 RMS Added WSAEINPROGRESS (from Tim Riker)
|
||||
20-Aug-04 HV Added missing definition for OS/2 (from Holger Veit)
|
||||
22-Oct-03 MP Changed WIN32 winsock include to use winsock2.h to
|
||||
|
|
24
sim_tape.c
24
sim_tape.c
|
@ -781,7 +781,7 @@ switch (MT_GET_FMT (uptr)) {
|
|||
if (uptr->recsize == 0)
|
||||
uptr->recsize = 512;
|
||||
if ((statb.st_size % uptr->recsize) != 0) {
|
||||
r = sim_messagef (SCPE_ARG, "Binary file data is not a multiple of the specifyed record size (%d)\n", (int)uptr->recsize);
|
||||
r = sim_messagef (SCPE_ARG, "Binary file data is not a multiple of the specified record size (%d)\n", (int)uptr->recsize);
|
||||
fclose (f);
|
||||
break;
|
||||
}
|
||||
|
@ -810,7 +810,7 @@ switch (MT_GET_FMT (uptr)) {
|
|||
tape->block_size = uptr->recsize;
|
||||
block = (uint8 *)calloc (1, tape->block_size + 3);
|
||||
while (!feof (f) && !error) {
|
||||
/* fgest() read size is int, cast accordingly. */
|
||||
/* fgets() read size is int, cast accordingly. */
|
||||
if (fgets ((char *)block, (int) (tape->block_size + 3), f)) {
|
||||
size_t len = strlen ((char *)block);
|
||||
|
||||
|
@ -1083,7 +1083,7 @@ fprintf (st, " accessible directly as files on the tape.\n\n");
|
|||
fprintf (st, " FIXED format will present the contents of a file (text or binary) as\n");
|
||||
fprintf (st, " fixed sized records/blocks with ascii text data optionally converted\n");
|
||||
fprintf (st, " to EBCDIC.\n\n");
|
||||
fprintf (st, " DOS11 format will present the contents of a file preceeded by a DOS11\n");
|
||||
fprintf (st, " DOS11 format will present the contents of a file preceded by a DOS11\n");
|
||||
fprintf (st, " 14-byte header. All files will be owned by [1,1], have a default\n");
|
||||
fprintf (st, " protection of <233> and a date in the range 1972 - 1999 with the\n");
|
||||
fprintf (st, " month/day layout as the current year. The file name on the tape\n");
|
||||
|
@ -2870,7 +2870,7 @@ if (ctx == NULL) /* if not properly attac
|
|||
return sim_messagef (SCPE_IERR, "Bad Attach\n"); /* that's a problem */
|
||||
sim_debug_unit (ctx->dbit, uptr, "sim_tape_sprecsf(unit=%d, count=%d)\n", (int)(uptr-ctx->dptr->units), count);
|
||||
|
||||
while (*skipped < count) { /* loopo */
|
||||
while (*skipped < count) { /* loop */
|
||||
st = sim_tape_sprecf (uptr, &tbc); /* spc rec */
|
||||
if (st != MTSE_OK)
|
||||
return st;
|
||||
|
@ -2967,7 +2967,7 @@ if (ctx == NULL) /* if not properly attac
|
|||
return sim_messagef (SCPE_IERR, "Bad Attach\n"); /* that's a problem */
|
||||
sim_debug_unit (ctx->dbit, uptr, "sim_tape_sprecsr(unit=%d, count=%d)\n", (int)(uptr-ctx->dptr->units), count);
|
||||
|
||||
while (*skipped < count) { /* loopo */
|
||||
while (*skipped < count) { /* loop */
|
||||
st = sim_tape_sprecr (uptr, &tbc); /* spc rec rev */
|
||||
if (st != MTSE_OK)
|
||||
return st;
|
||||
|
@ -3028,7 +3028,7 @@ if (check_leot) {
|
|||
}
|
||||
*skipped = 0;
|
||||
*recsskipped = 0;
|
||||
while (*skipped < count) { /* loopo */
|
||||
while (*skipped < count) { /* loop */
|
||||
while (1) {
|
||||
st = sim_tape_sprecsf (uptr, 0x1ffffff, &filerecsskipped);/* spc recs */
|
||||
*recsskipped += filerecsskipped;
|
||||
|
@ -3134,7 +3134,7 @@ if (ctx == NULL) /* if not properly attac
|
|||
return sim_messagef (SCPE_IERR, "Bad Attach\n"); /* that's a problem */
|
||||
sim_debug_unit (ctx->dbit, uptr, "sim_tape_spfilebyrecr(unit=%d, count=%d)\n", (int)(uptr-ctx->dptr->units), count);
|
||||
|
||||
while (*skipped < count) { /* loopo */
|
||||
while (*skipped < count) { /* loop */
|
||||
while (1) {
|
||||
st = sim_tape_sprecsr (uptr, 0x1ffffff, &filerecsskipped);/* spc recs rev */
|
||||
*recsskipped += filerecsskipped;
|
||||
|
@ -3250,7 +3250,7 @@ if (flags & MTPOS_M_OBJ) {
|
|||
uint32 skipped;
|
||||
uint32 objsremaining = objs;
|
||||
|
||||
while (*objectsskipped < objs) { /* loopo */
|
||||
while (*objectsskipped < objs) { /* loop */
|
||||
if (flags & MTPOS_M_REV) /* reverse? */
|
||||
r = sim_tape_sprecsr (uptr, objsremaining, &skipped);
|
||||
else
|
||||
|
@ -3456,7 +3456,7 @@ if (((last_bc != TPC_EOM) &&
|
|||
if (tpos > tape_size)
|
||||
sim_debug_unit (MTSE_DBG_STR, uptr, "tpc_map: ERROR next record position %" T_ADDR_FMT "u beyond EOT: %" T_ADDR_FMT "u\n", tpos, tape_size);
|
||||
if (objc == countmap[0])
|
||||
sim_debug_unit (MTSE_DBG_STR, uptr, "tpc_map: ERROR tape cnly contains tape marks\n");
|
||||
sim_debug_unit (MTSE_DBG_STR, uptr, "tpc_map: ERROR tape only contains tape marks\n");
|
||||
free (countmap);
|
||||
free (recbuf);
|
||||
return 0;
|
||||
|
@ -3582,7 +3582,7 @@ while (r == SCPE_OK) {
|
|||
break;
|
||||
}
|
||||
if (0 != memcmp (buf_f, buf_r, bc_f)) {
|
||||
sim_printf ("%d byte record contents differ when read forward amd backwards start from position %" T_ADDR_FMT "u\n", bc_f, pos_f);
|
||||
sim_printf ("%d byte record contents differ when read forward and backwards start from position %" T_ADDR_FMT "u\n", bc_f, pos_f);
|
||||
r = MTSE_RECE;
|
||||
break;
|
||||
}
|
||||
|
@ -4565,7 +4565,7 @@ static void ansi_fill_text_buffer (FILE *f, char *buf, size_t buf_size, size_t r
|
|||
move_size = rec_size;
|
||||
else
|
||||
move_size = buf_size - offset;
|
||||
/* We've got a line that stradles a block boundary */
|
||||
/* We've got a line that straddles a block boundary */
|
||||
memcpy (buf + offset, tmp, move_size);
|
||||
offset += move_size;
|
||||
if (offset == buf_size) {
|
||||
|
@ -5010,7 +5010,7 @@ while (!feof (f) && !error) {
|
|||
size_t runt = 0;
|
||||
|
||||
data_read = fread (block, 1, tape->block_size, f);
|
||||
if (max_record_size > 0) /* always will be true but XCode thinks otherwise */
|
||||
if (max_record_size > 0) /* always will be true but Xcode thinks otherwise */
|
||||
runt = data_read % max_record_size; /* data_read (=0) % anypositivenumber == 0 */
|
||||
/* Pad short records with zeros */
|
||||
if (runt > 0) {
|
||||
|
|
16
sim_timer.c
16
sim_timer.c
|
@ -914,7 +914,7 @@ if (sim_calb_tmr != tmr) {
|
|||
new_rtime = sim_os_msec (); /* wall time */
|
||||
if (!sim_signaled_int_char &&
|
||||
((new_rtime - sim_last_poll_kbd_time) > 500)) {
|
||||
sim_debug (DBG_CAL, &sim_timer_dev, "sim_rtcn_calb(tmr=%d) gratuitious keyboard poll after %d msecs\n", tmr, (int)(new_rtime - sim_last_poll_kbd_time));
|
||||
sim_debug (DBG_CAL, &sim_timer_dev, "sim_rtcn_calb(tmr=%d) gratuitous keyboard poll after %d msecs\n", tmr, (int)(new_rtime - sim_last_poll_kbd_time));
|
||||
(void)sim_poll_kbd ();
|
||||
}
|
||||
++rtc->calibrations; /* count calibrations */
|
||||
|
@ -1025,7 +1025,7 @@ for (itmr=0; itmr<=SIM_NTIMERS; itmr++) {
|
|||
if ((itmr != tmr) && (irtc->hz != 0))
|
||||
irtc->currd = (rtc->currd * ticksper) / irtc->hz;
|
||||
}
|
||||
AIO_SET_INTERRUPT_LATENCY(rtc->currd * ticksper); /* set interrrupt latency */
|
||||
AIO_SET_INTERRUPT_LATENCY(rtc->currd * ticksper); /* set interrupt latency */
|
||||
return rtc->currd;
|
||||
}
|
||||
|
||||
|
@ -1641,7 +1641,7 @@ act_cyc = act_ms * sim_idle_cyc_ms;
|
|||
if (cyc_since_idle > sim_idle_cyc_sleep)
|
||||
act_cyc -= sim_idle_cyc_sleep / 2; /* account for half an interval's worth of cycles */
|
||||
else
|
||||
act_cyc -= (int32)cyc_since_idle; /* acount for cycles executed */
|
||||
act_cyc -= (int32)cyc_since_idle; /* account for cycles executed */
|
||||
sim_interval = sim_interval - act_cyc; /* count down sim_interval to reflect idle period */
|
||||
sim_idle_end_time = sim_gtime(); /* save idle completed time */
|
||||
if (sim_clock_queue == QUEUE_LIST_END)
|
||||
|
@ -1906,7 +1906,7 @@ switch (sim_throt_state) {
|
|||
(int)delta_ms, delta_inst, sim_vm_interval_units);
|
||||
sim_throt_wait = (int32)(delta_inst * SIM_THROT_WMUL);
|
||||
sim_throt_inst_start = sim_gtime();
|
||||
sim_idle_ms_sleep (sim_idle_rate_ms); /* start on a tick boundart to calibrate */
|
||||
sim_idle_ms_sleep (sim_idle_rate_ms); /* start on a tick boundary to calibrate */
|
||||
sim_throt_ms_start = sim_os_msec ();
|
||||
}
|
||||
else { /* long enough */
|
||||
|
@ -2050,7 +2050,7 @@ static void _sim_timer_adjust_cal(void)
|
|||
}
|
||||
}
|
||||
|
||||
/* Clock assist activites */
|
||||
/* Clock assist activities */
|
||||
t_stat sim_timer_tick_svc (UNIT *uptr)
|
||||
{
|
||||
int32 tmr = (int32)(uptr-sim_timer_units);
|
||||
|
@ -2396,7 +2396,7 @@ return NULL;
|
|||
standard devices or possibly when a clock device exists but its
|
||||
use is optional.
|
||||
|
||||
Additonally, when a host system has a natural clock tick (
|
||||
Additionally, when a host system has a natural clock tick (
|
||||
or minimal sleep time) which is greater than the tick size that
|
||||
a simulator wants to run a clock at, we run this clock at the
|
||||
rate implied by the host system's minimal sleep time or 50Hz.
|
||||
|
@ -3315,9 +3315,9 @@ return result; /* Not found. */
|
|||
|
||||
The default calibration determines a way to limit activities
|
||||
to 1Mhz for each call to sim_rom_read_with_delay(). If a
|
||||
simulator needs a different delay factor, the 1 Mhz initial
|
||||
simulator needs a different delay factor, the 1 MHz initial
|
||||
value can be queried with sim_get_rom_delay_factor() and the
|
||||
result can be adjusted as nessary and the operating delay
|
||||
result can be adjusted as necessary and the operating delay
|
||||
can be set with sim_set_rom_delay_factor().
|
||||
*/
|
||||
|
||||
|
|
30
sim_tmxr.c
30
sim_tmxr.c
|
@ -68,7 +68,7 @@
|
|||
tmxr_detach_ln - reset line and close per line listener and outgoing destination
|
||||
tmxr_getc_ln - get character for line
|
||||
tmxr_get_packet_ln - get packet from line
|
||||
tmxr_get_packet_ln_ex - get packet from line with separater byte
|
||||
tmxr_get_packet_ln_ex - get packet from line with separator byte
|
||||
tmxr_poll_rx - poll receive
|
||||
tmxr_putc_ln - put character for line
|
||||
tmxr_put_packet_ln - put packet on line
|
||||
|
@ -224,7 +224,7 @@
|
|||
|
||||
sim> attach MUX Line=2,port{;notelnet}|{;nomessage}
|
||||
|
||||
Direct computer to computer connections (Virutal Null Modem cables) may
|
||||
Direct computer to computer connections (Virtual Null Modem cables) may
|
||||
be established using the telnet protocol or via raw tcp sockets.
|
||||
|
||||
sim> attach MUX Line=2,Connect=host:port{;notelnet}
|
||||
|
@ -374,7 +374,7 @@
|
|||
#define TN_NAOCRD 10 /* Output Carriage-Return Disposition */
|
||||
#define TN_NAOHTS 11 /* Output Horizontal Tab Stops */
|
||||
#define TN_NAOHTD 12 /* Output Horizontal Tab Stop Disposition */
|
||||
#define TN_NAOFFD 13 /* Output Forfeed Disposition */
|
||||
#define TN_NAOFFD 13 /* Output Formfeed Disposition */
|
||||
#define TN_NAOVTS 14 /* Output Vertical Tab Stop */
|
||||
#define TN_NAOVTD 15 /* Output Vertical Tab Stop Disposition */
|
||||
#define TN_NAOLFD 16 /* Output Linefeed Disposition */
|
||||
|
@ -1079,7 +1079,7 @@ if (mp->last_poll_time == 0) { /* first poll initializa
|
|||
UNIT *uptr = mp->uptr;
|
||||
|
||||
if (!uptr) /* Attached ? */
|
||||
return -1; /* No connections are possinle! */
|
||||
return -1; /* No connections are possible! */
|
||||
|
||||
uptr->tmxr = (void *)mp; /* Connect UNIT to TMXR */
|
||||
uptr->dynflags |= UNIT_TM_POLL; /* Tag as polling unit */
|
||||
|
@ -1356,7 +1356,7 @@ for (i = 0; i < mp->lines; i++) { /* check each line in se
|
|||
if (lp->connecting) {
|
||||
snprintf (msg, sizeof (msg) -1, "tmxr_poll_conn() - aborting outgoing line connection attempt to: %s", lp->destination);
|
||||
tmxr_debug_connect_line (lp, msg);
|
||||
sim_close_sock (lp->connecting); /* abort our as yet unconnnected socket */
|
||||
sim_close_sock (lp->connecting); /* abort our as yet unconnected socket */
|
||||
lp->connecting = 0;
|
||||
}
|
||||
}
|
||||
|
@ -1556,7 +1556,7 @@ return tmxr_clear_modem_control_passthru_state (mp, TRUE);
|
|||
|
||||
3 This API will only change the state of the modem control processing
|
||||
of this library if there are no listening ports, serial ports or
|
||||
outgoing connecctions associated with the specified multiplexer
|
||||
outgoing connections associated with the specified multiplexer
|
||||
|
||||
*/
|
||||
t_stat tmxr_clear_modem_control_passthru (TMXR *mp)
|
||||
|
@ -2493,7 +2493,7 @@ if ((lp->conn && (TXBUF_AVAIL(lp) > 1)) || /* connected and room fo
|
|||
|
||||
sim_oline = NULL; /* save output socket */
|
||||
fputc (chr, lp->txlog); /* log to actual file */
|
||||
sim_oline = save_oline; /* resture output socket */
|
||||
sim_oline = save_oline; /* restore 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? */
|
||||
|
@ -2515,12 +2515,12 @@ return SCPE_STALL; /* char not sent */
|
|||
*lp = pointer to line descriptor
|
||||
*buf = pointer to packet data
|
||||
size = size of packet
|
||||
frame_char = inter-packet franing character (0 means no frame character)
|
||||
frame_char = inter-packet framing character (0 means no frame character)
|
||||
|
||||
Outputs:
|
||||
status = ok, connection lost, or stall
|
||||
|
||||
Implementation notea:
|
||||
Implementation notes:
|
||||
|
||||
1. If the line is not connected, SCPE_LOST is returned.
|
||||
2. If prior packet transmission still in progress, SCPE_STALL is
|
||||
|
@ -4451,7 +4451,7 @@ if (r != SCPE_OK) /* error? */
|
|||
return r;
|
||||
uptr->filename = tmxr_mux_attach_string (uptr->filename, mp);/* save */
|
||||
if (uptr->filename == NULL) /* avoid dangling NULL pointer */
|
||||
uptr->filename = (char *)calloc (1, 1); /* provide an emptry string */
|
||||
uptr->filename = (char *)calloc (1, 1); /* provide an empty string */
|
||||
uptr->flags = uptr->flags | UNIT_ATT; /* no more errors */
|
||||
uptr->tmxr = (void *)mp;
|
||||
if ((mp->lines > 1) ||
|
||||
|
@ -4850,7 +4850,7 @@ if (!(uptr->dynflags & UNIT_TM_POLL))
|
|||
sooner = _tmxr_activate_delay (uptr, 0x7FFFFFFF);
|
||||
if (sooner != 0x7FFFFFFF) {
|
||||
if (sooner < 0) {
|
||||
sim_debug (TIMER_DBG_MUX, &sim_timer_dev, "tmxr_activate_after() - scheduling %s for %u usecs produced overflow interval %d instructions, sceduling for %d instructions\n", sim_uname (uptr), usecs_walltime, sooner, 0x7FFFFFFF);
|
||||
sim_debug (TIMER_DBG_MUX, &sim_timer_dev, "tmxr_activate_after() - scheduling %s for %u usecs produced overflow interval %d instructions, scheduling for %d instructions\n", sim_uname (uptr), usecs_walltime, sooner, 0x7FFFFFFF);
|
||||
sooner = _tmxr_activate_delay (uptr, 0x7FFFFFFF); /* Breakpoint here on unexpected value */
|
||||
}
|
||||
sim_debug (TIMER_DBG_MUX, &sim_timer_dev, "tmxr_activate_after() - scheduling %s after %d instructions rather than %u usecs\n", sim_uname (uptr), sooner, usecs_walltime);
|
||||
|
@ -5134,7 +5134,7 @@ else {
|
|||
fprintf (st, "while processing the list, the end is reached the connection will be\n");
|
||||
fprintf (st, "rejected.\n\n");
|
||||
}
|
||||
fprintf (st, "Direct computer to computer connections (Virutal Null Modem cables) may\n");
|
||||
fprintf (st, "Direct computer to computer connections (Virtual Null Modem cables) may\n");
|
||||
fprintf (st, "be established using the telnet protocol or via raw tcp sockets.\n\n");
|
||||
fprintf (st, " sim> ATTACH %s Line=n,Connect=host:port{;notelnet}|{;nomessage}\n\n", dptr->name);
|
||||
fprintf (st, "Computer to computer virtual connections can be one way (as illustrated\n");
|
||||
|
@ -5636,7 +5636,7 @@ idx = 0; /* initialize the index
|
|||
|
||||
while (*cptr != '\0') { /* while characters remain in the command string */
|
||||
if (strncasecmp (cptr, "ALL;", 4) == 0) { /* if the parameter is "ALL" */
|
||||
if ((val != 0) || ((idx > 0) && (idx <= max))) /* then if some lines are restrictied or unspecified */
|
||||
if ((val != 0) || ((idx > 0) && (idx <= max))) /* then if some lines are restricted or unspecified */
|
||||
for (line = (uint32)min; line <= (uint32)max; line++)/* then fill them in sequentially */
|
||||
if (set [line] == FALSE) /* setting each unspecified line */
|
||||
list [idx++] = line; /* into the line order */
|
||||
|
@ -5816,7 +5816,7 @@ t_stat tmxr_show_sync (FILE* st, UNIT* uptr, int32 val, CONST void *desc)
|
|||
fprintf(st, " network support not available in simulator\n");
|
||||
else
|
||||
if (number == 0)
|
||||
fprintf(st, " no dddcmp synchronous link devices are available\n");
|
||||
fprintf(st, " no ddcmp synchronous link devices are available\n");
|
||||
else {
|
||||
int i;
|
||||
for (i=0; i<number; i++) {
|
||||
|
@ -5870,7 +5870,7 @@ static struct {
|
|||
{TN_NAOCRD, "TN_NAOCRD"}, /* Output Carriage-Return Disposition */
|
||||
{TN_NAOHTS, "TN_NAOHTS"}, /* Output Horizontal Tab Stops */
|
||||
{TN_NAOHTD, "TN_NAOHTD"}, /* Output Horizontal Tab Stop Disposition */
|
||||
{TN_NAOFFD, "TN_NAOFFD"}, /* Output Forfeed Disposition */
|
||||
{TN_NAOFFD, "TN_NAOFFD"}, /* Output Formfeed Disposition */
|
||||
{TN_NAOVTS, "TN_NAOVTS"}, /* Output Vertical Tab Stop */
|
||||
{TN_NAOVTD, "TN_NAOVTD"}, /* Output Vertical Tab Stop Disposition */
|
||||
{TN_NAOLFD, "TN_NAOLFD"}, /* Output Linefeed Disposition */
|
||||
|
|
|
@ -96,7 +96,7 @@ typedef struct SERPORT *SERHANDLE;
|
|||
#define TMUF_NOASYNCH (1u << TMUF_V_NOASYNCH) /* This flag can be defined */
|
||||
/* statically in a unit's flag field */
|
||||
/* This will disable the unit from */
|
||||
/* supporting asynchronmous mux behaviors */
|
||||
/* supporting asynchronous mux behaviors */
|
||||
/* Receive line speed limits */
|
||||
|
||||
#define TMLN_SPD_50_BPS 200000 /* usec per character */
|
||||
|
|
|
@ -641,7 +641,7 @@ int i, n;
|
|||
if (vid_gamepad_inited++)
|
||||
return;
|
||||
|
||||
/* Chech that the SDL_GameControllerFromInstanceID function is
|
||||
/* Check that the SDL_GameControllerFromInstanceID function is
|
||||
available at run time. */
|
||||
SDL_GetVersion(&ver);
|
||||
vid_gamepad_ok = (ver.major > 2 ||
|
||||
|
@ -2778,7 +2778,7 @@ while (SDL_PushEvent (&user_event) < 0)
|
|||
#else
|
||||
vid_beep_event ();
|
||||
#endif
|
||||
SDL_Delay (vid_beep_duration + 100);/* Wait for sound to finnish */
|
||||
SDL_Delay (vid_beep_duration + 100);/* Wait for sound to finish */
|
||||
}
|
||||
|
||||
#else /* !(defined(USE_SIM_VIDEO) && defined(HAVE_LIBSDL)) */
|
||||
|
|
Loading…
Add table
Reference in a new issue