There are two separate running contexts that provide video capabilities:
1) Video event processing threads created on the fly as needed
2) Video events must be run in the context of the initial thread in
a process. In this context simulation and SCP runs in a created
thread and when video activities are enabled needed activities
are passed back to the primary thread to be handled.
As mentioned in #873, there didn't appear to be a problem at runtime,
but the formal definition suggests SDL_InitSubSystem and its cleanup
should be called. It is likely that, as a vestige of SDL 1.2,
SDL_OpenAudio is doing this under the covers. No harm adding it.
- Avoid building a published version with uncommitted files in the
working directory
- Confirm existence of remote named origin and fetch master branch
- Add automatic force to push remote Win32-Development-Binaries
repo when resetting the binary directory
As reported in #865
When instruction execution is stopped, forced mux output rate limiting
can't leverage instruction execution rate to time inter-character delays.
A direct sleep is used but that has a minimal granularity measured in
milliseconds. The prior default for a non speed controlled line was 10ms
sleep between character output. This has been changed to 1ms which
is reasonable for most situations. Meanwhile, since the remote console
facility uses TMXR, and it has the reasonable ability to generate output
when instructions are not being executed, this is better but not perfect.
All interesting simh host platforms have long supported libSDL2
functionality which wasn't the case when sim_video was initially
implemented. The mixed API set significantly complicates maintaining
and extending sim_video, hence this explicit effort to remove
the vestiges of the old libSDL API.
- when the file ends on a block boundary, the block count was
off by one.
- always use the max_record_size in ANSI labels independent of
the ansi-type.
The paradigm of using a "weak" linker reference to find what was
previously the vm_init_routine() doesn't work reliably on all compile
environments supported by the simulators. This has been reported
in #794 and it came up again in #862. This change assures that
it will not come up again AND it reliably solves the problem with
Visual Studio compilers (and linker) that randomly chooses whether
to have the desired effect or not.
Of the 82 simulators which are currently part of simh, only these
three used the sim_vm_init() interface, so removing it had relatively
minor impact.
The STEP command was inadvertently allowed to be parsed in non-master
mode connections, but it didn't actually work. It has now been removed
from the generic remote console command table.
This was illuminated as of the discussion in #854