Virtual TI-89/92(+) v1.01
Written by Rusty Wagner

Requirements
* A Pentium or better running Windows 95 or higher, or Windows NT 5.0
  or higher
* DirectInput (Windows NT 4 does NOT have DirectInput.  A workaround will
  be included in a later version.)

This emulator will run ROMs from the TI-89, TI-92, TI-92 II, and/or TI-92
Plus calculators.

Features:
* ROM versions are automatically detected
* Switch between ROM versions without restarting the emulator
* Archive memory support for TI-89 and TI-92 Plus
* Send files to the calculator
* Use a TI Graph-link cable to connect to a real TI-89 or TI-92
* Save and load the state of the calculator.  Any changes to the Flash ROM
  (i.e. archived variables) will be included in the state.
* 4-level and 7-level grayscale support
* Bitmap of the calculator with clickable buttons
* On the TI-89, the letter keys are aliased to produce their respective
  letters.  No need to press the Alpha key, just type.
* A full-featured graphical debugger
        * Code disassembly pane.  ROM call addresses are replaced by the
          name of the ROM function (TI-89 and TI-92 Plus only).
        * Code breakpoints.  Does not modify memory, so they are completely
          transparent.
        * Data breakpoints can be set on a single byte, word, or dword, or
          a range of addresses.
        * Set a breakpoint on entry to an assembly program automatically
        * View and change the value of the registers
        * Hexadecimal memory view/edit pane with search capability
        * Handle pane which lists all allocated handles.  Allows user to
          jump directly to the start of the handle within either the
          disassembly pane or the memory pane.
        * Real time updates to the LCD, even with grayscale
        * Log reads/writes to memory or changes to individual bits


This emulator requires a ROM image from your real TI-89 or TI-92(+).  I will
not send you any ROMs.  If you have a TI-92, several dumping programs are
available at www.ticalc.org.  If you have a TI-89 or TI-92 Plus, you can
use the built-in ROM dumper.

Once you obtain a ROM dump, place it in the same directory as VTI68K.EXE
(this is done automatically if you use the built-in dumper).  Make sure
it has the extension .rom or .dmp.  The file name may be anything (the
calculator and version number are automatically detected).  Any .tib
Flash ROM upgrades will also be recognized if placed in the same directory
as VTI68K.EXE.  The latest version will be used by default, but you may
revert to an earlier version from the emulation mode dialog.

On the TI-92, these are the PC key equivilents that are not obvious:
F9 - Apps
; - Theta
Tab - Store
Left ctrl - Diamond
Left alt - 2nd
[ - (
] - )
Caps lock - Hand/Lock
` - Mode
\ - Ln
Ins - Sin
Home - Cos
PgUp - Tan
Del - Clear
Scroll lock - On

On the TI-89:
F6 - Catalog
F9 - Apps
Tab - Store
Left ctrl - Diamond
Left alt - 2nd
[ - (
] - )
Caps lock - Alpha
` - Mode
\ - |
Ins - EE
Del - Clear
Scroll lock - On


A menu containing the functions of the emulator can be obtained by right
clicking on the LCD.

To send a file to the calculator, press F10.
To enter the debugger, press F11.
To bring up the emulation ROM version screen, press F12.


The debugger is for the most part the same as any other graphical debugger.
One thing to note is the color of the lines in the disassembly pane.  Red
means breakpoint, green means current PC, and blue means currently selected.
If a line is in more than one state at the same time, the colors will be
combined.  For example, a breakpoint that is selected will combine red and
blue, making magenta.  Also, pressing G in either the disassembly or memory
pane will allow you to jump to a specific address.  Registers can be changed
by clicking on them.


The source code to the emulator can be found on my web page at
http://home1.gte.net/river, and requires C++Builder 3 to compile.  You may
use the 68K emulation core and disassembler as long as you mention its
original source, the Multiple Arcade Machine Emulator, and provide the
address where one can obtain the entire distribution (its web address is
listed below).  Any of the other code can be used as long as you state that
it came from this program.

You may not sell the binaries or source to this program.  They are free and
will always be free.  This program cannot be distributed with any copyrighted
ROM images (independently developed replacement operating systems are OK).


Questions?  Comments?  Bugged?  E-mail me at river@gte.net

For updates, visit my web page at http://home1.gte.net/river

The 68K emulation core is from the Multiple Arcade Machine Emulator.  The
source and binaries of the entire M.A.M.E emulator can be found at
http://mame.retrogames.com/


History:
January 10, 1999:   Fixed ROM dump problem with COM ports other than 1
                    Added support for multiselection in send dialog box
                    Restriction to actual speed is now an option
                    Added ability to redefine keys for non-US keyboards
December 24, 1998:  Initial public release

