1.9 -- date?

* Added a hard disk emulation driver, xtrshard/dct.  It basically uses
the plain file I/O emts, but I added minor variants of open and close to
allow the names to be relative to -diskdir and keep rebooting from causing
file descriptor leaks.  Renamed mkfloppy to mkdisk and added support for
making an empty hard disk.  Hard disk format is compatible with Matthew
Reed's emulators; thanks to Matthew for supplying documentation on his
format.

* Distinguished between fatal and nonfatal errors.  Now an unimplemented
opcode is a nonfatal error.  It's treated as a no-op.

* Added the raw code bytes to disassembler printout. Fixed bugs in
disassembling ld (ix+dd),nn and ld (iy+dd),nn.  Corrected disassembly
of rlca and rrca.

* Fixed a fatal bug in emt_lseek.  Added emt_ftruncate.  Fixed portability
bug in emt_open that affected import/cmd and export/cmd.  Added disk
change count on emt_misc.

* "next" in debugger now will step over RSTs.  Note this won't work
right with the funny RST 8 calling convention in the Model I/III Basic 
ROM, which puts a 1-byte argument after the instruction.

* Added import, export, and settime for Model 4 TRSDOS/LDOS 6.

* Fixed problems compiling trs_disk.c on some Linux versions.

1.8 -- Mon Dec  1 16:00:52 PST 1997  Tim Mann <mann@pa.dec.com>

* Moved queueing of keys to after the translation from X keysyms to
TRS-80 keyboard transitions.  This lets shift transitions that are
forced by other keystrokes (where X and TRS-80 keyboards have opposite
shift states to get the same character) be queued separately and thus
separated in time from the basic key transitions.  This separation is
required by the Montezuma CP/M keyboard driver, which sometimes misses
a shift transition if another transition occurs at exactly the same instant.

* Bug fix: an FDC restore command was erroneously zeroing the sector
register instead of just the track register.  Montezuma CP/M tickled this
bug.

* Bug fix to mem_bank from Roland Gerlach.  Switching banks in the
low-order half of the address space was switching in the wrong memory.
Montezuma CP/M tickled this bug and crashed.

* Removed use of pre-POSIX signal code; thanks to Al Petrofsky.

* Added the delayed_intrq_kludge in more cases in trs_disk.c.  This fixes
additional problems with SuperUtility and Trakcess that I didn't notice
earlier.  Also fixed some problems with error handling on real floppies.

1.0.tpm1 to 1.7 -- Tim Mann <mann@pa.dec.com>

* Added floppy disk emulation, timer interrupt emulation, a kludge to
import and export data to the host system, Model III mode, Model 4 mode, a
rewrite of the keyboard handling, support for most of the undocumented
Z-80 instructions, and a bunch of bug fixes and minor improvements.

* Fixed bugs in the instructions rrc, inc ix, inc iy, sra, and neg.  I
didn't notice the sra bug until I tried to get Model III mode working;
the Model III LDOS disk driver uses it.  The neg bug was keeping the
break key from working right under LDOS in xtrs-1.3 and earlier.

* Got the emulator running both Linux and Digital Unix.  Now it might
have minor problems elsewhere, on less ANSI- and POSIX-compliant
systems.

* Fixed two bugs in the disassembler.  The ld (bc),a instruction was
erroneously disassembled as ld bc,a, and instructions that start "dd
cb" or "fd cb" were not disassembled; for example: bit 7,(iy+03h).

* Fixed some bugs in emulated cassettes.  Formerly if you tried to
append more stuff to an emulated cassette, it would smash whatever was
already there.  If you tried to read from a cassette with nothing on
it, it would lock up so hard that even the emulated boot button
wouldn't work.  Now at least the boot button works.

* SIGIO is now used in a much safer way than before, and the emulator
will work without it if needed.

* Reworked the keyboard support substantially.  A full state vector is
now kept, including all 64 possible TRS-80 keys.  Key queueing is now
always used, and a "stretching" feature prevents the emulated keyboard
state from changing too often, to avoid losing keystrokes.  Keyboard
response is quite snappy and reliable now.  I added enough key
mappings that it should be possible to do about everything you could
do with a real TRS-80 keyboard (and more than on a Model I, because
modern keyboards have N-key rollover).  More key mappings are easily
added by changing tables; there is very little special-case code.

* Did some work on the KBWAIT feature, which tries to avoid burning
host CPU cycles when the emulated program is sitting in a loop polling
the keyboard.  It now works in a lot more cases.

* More accurate character bitmaps are now used, contributed by Al
Petrofsky.  The Model I bitmaps are still not the real ones, which
used a 5x7 matrix, not 7x8.

* The halt instruction is now emulated correctly.  Formerly it caused xtrs
to exit.

1.0 -- David Gingold and Alec Wolman

* Initial release.  Emulated a TRS-80 Model I with 48K of RAM, cassette
drive, and uppercase-only screen.  See README.
