Tek4010
Tek4010 copied to clipboard
Building on Windows with Cygwin/CygwinX
I've build Tek4010 on a Windows 10 system with Cygwin/CygwinX. For compiling a small change in tube.c was necessary, because FIONREAD is defined in another header file than under Linux:
... ... #include <pwd.h>
#ifdef` CYGWIN #include <sys/socket.h> #endif
#include "main.h" ... ...
Here are screenshots from Tek4010 running with my virtual z80pack machines. The option -autoClear is a real nice addon and allows much easier usage of the terminal from a CP/M system.
The define is <_ _ C Y G W I N _ _>, can't get it formatted properly.
This sounds very interesting. I know that many users would want to use tek4010 with Windows. If
- Performance is good
- Installation can be handled by not very experienced users then we should provide the details in this repo. This could either be a built version or a description of how to build, install and use it. What are your thoughts?
Performance is good, not a issue.
Not very experienced Windows users likeley won't be happy with this, because the whole usage is more like working on a Linux command line terminal. Cygwin just provides a POSIX compatible environment on Windows systems, so that POSIX applications can be build and used.
For building of course I had to install libgtk3-devel, same as on Linux systems. For running the package procps is needed, it provides pgrep/pkill. And dbus is needed too, GTK seems to use the Freedesktop message bus system. I just launched it with dbus-launch, should be added somewhere to the X11 startup scripts probably.
IMHO this is usable for anyone with Linux experience only, who just has a Windows 10 machine handy and uses Cygwin anyway on the machine.
Did not notice any dependencies in the notes: where are pgrep/pkill and dbus used? I do not have a use case but @mintty and @larsbrinkhoff were discussing creating a tek library which could be used to implement Tek emulation in the Cygwin mintty terminal emulator on Windows like xterm: mintty already supports Regis Sixel graphics, Unicode including Emojis, and various formats of graphics backgrounds. Does not take a lot of effort to patch this project for Cygwin packaging nor would it to add proper Raspbian, Debian, Ubuntu packaging.
In tube.c pkill is executed in system(), which fails if the package is not installed. I don't know where the GTK stuff launches the dbus daemon, it fails if dbus is not installed.
@mintty said: "The tube_quit function would not be used in such an integration case anyway, no problem." I am currently looking at what I need to be able to package this properly for Cygwin ITP, and perhaps also Raspbian/Ubuntu/Debian ITP, as that is where it was built for.