The submodule was pointing at a private-SSH URL instead of the public
github URL for dmd_core. This commit fixes that.
It also reverts the last change to dmd_core, which apparently introduced
a bug.
The screen refresh callback was creating a cairo surface and calling
cairo_paint() directly, when it should not have been. Instead, it now
simply calls gtk_widget_queue_draw() to request that the drawing
callback do the work it needs to do.
This change passes the user environment to the forked shell.
Additionally, the maximum number of steps allowed per loop has been
increased from 250000 to 350000. I will continue to experiment with
this for best performance.
It was possible for the code to attempt to run up to 10,000,000
simulated steps each time through the main simulation loop. This was
much too many simulated steps, and could result in starving the other
GTK threads of resources.
This change drops that maximum value way way down to 150,000 steps. This
should guarantee that the GTK tick callback can always complete in a
timely fashion and not steal resources from the other threads, while
still giving excellent CPU performance.
This change does away with the old pthread code that used to run the CPU in a
separate thread. Now all execution is dispatched by the main GTK animation loop
via gtk_widget_add_tick_callback(). CPU steps and IO polling are now governed
by the GDK Frame Clock.
This change adds support for connecting to physical or virtual serial
ports with the "--device" flag. Additionally, the "--verbose" flag can
be used to log each character sent and received to stdout.
Man page has been updated.
This change removes the built-in telnet capability in favor of allowing
the user to run an arbitrary shell command, essentially turning the
DMD5620 emulator into a local terminal emulator.
The options to specify host and port have been removed. In their place,
an option to supply a shell command to execute has been added. If it
is not supplied, the user's default login shell will be used.
A second option has been added to allow the user to specify whether
backspace generates ^H (the default), or ^? (DEL).
A rudimentary manpage has been added.