xtrs is a Radio Shack TRS-80 Model I/III/4/4P emulator for Unix and the X Window System. xtrs emulator includes lower case, the real time clock, hi-res graphics, serial port, parallel printer, mouse, cassette, sound and music output (requires OSS), 5" and 8" floppy disk drives in single and double density, and even hard disk drives.
The emulated floppy and hard disk file formats are compatible with the popular MSDOS-based emulators by Jeff Vavasour, Matthew Reed, and David Keil, and (if you choose a capable enough file format), all features of the original TRS-80 floppy disk controller are emulated. Under Linux, physical floppy disk drives are also supported. Physical cassettes can be read and written too. The user interface is a bit spartan, but it gets the job done.
What's New in This Release: [ read full changelog ]
· Fixed gcc warnings.
· Some small cleanups to reset and power-on.
· Added a workaround to a current X bug that made F11 repeat infinitely. See http://bugs.freedesktop.org/show_bug.cgi?id=21454.
· Added a keybinding help window contributed by Branden Robinson. Press F11 to see the help.
· Fixed one more spot that was assuming "char" is signed by default.
· Changed mem_read() to automatically mod the address by 0xffff. Requiring callers to take care of that was ugly and error prone. A bug report from Kevin P. Rauch alerted me to the fact that at least one caller to mem_read_word() wasn't doing it, causing segfaults.
· Added patch from Branden Robinson so that extra Enter events synthesized by the X unclutter app (or potentially other X apps, I guess) don't cause xtrs to lose track of whether to reenble X key repeat when the cursor leaves the xtrs window.
· Added patch from Joe Peterson and Ulrich Mueller that makes NEWDOS/80 boot up knowing the date and time, similar to the existing feature for LDOS.
· Added assignment to a volatile to the delay/autodelay loop. Without this some compilers will optimize the loop into nothingness, so it fails to delay. Thanks to Ulrich Mueller and Joe Peterson.
· Fixed a bug I introduced in 4.9b, where the KBWAIT feature would stop working after F7, F9, or F10 was pressed. Thanks to Joe Peterson for a bug report and analysis.
· Deleted all SIGIO code. The code was a kludge to begin with and it no longer worked with current X libraries and Linux kernels, causing xtrs to hang. It was also reported to cause hangs when xtrs was compiled for Windows using Cygwin. Thanks to Howard Pepper, Dennis Lovelady, Arumin Nueckel, Christopher Currie, and Joe Peterson for bug reports.
· Replaced "Last modified" lines in source files with RCS $Id$ keywords. It's been years since I've had the DEC SRC macros that update these lines loaded in my emacs, so they don't stay up to date. And I've kept the file history in RCS for even more years.