Click to return to the site's menu... or here to get back to the tutorial's menu.
Overview
Again, this really isn't much
of a
Programming tutorial. But the information in this tutorial could save
your
calculator from crashes. Virtual TI is a TI calculator emulator made by
Rusty
Wagner. So far, it is the only emulator available that emulates the
TI-83 Plus,
not to mention about every TI calculator available. The Virtual TI
readme below
(included with VTI) describes the functions, keypresses, and general
information about Virtual TI:
(PN: The v2.5 beta 5 of VTI has been released since, its readme file is
identified by the additions in grey)
Virtual TI v2.5 beta 4
Written by Rusty Wagner
Requirements
* A Pentium or better
running Windows 95 or higher, or Windows NT 4.0 or higher (P.N.: You'll
need administrator rights under Windows NT 4.0, 2000 and XP to allow
execution of this program)
This emulator will run ROMs from the TI-82, TI-83,TI-83 Plus, TI-85, TI-86, TI-89, TI-92, TI-92 II,and/or TI-92 Plus calculators.
A menu containing the functions of the emulator can be obtained by right clicking on the LCD.
Features:
* ROM versions are
automatically detected
* Switch between ROM
versions without restarting the emulator
* Built-in ROM dumper with
automatic error correction
* Archive memory support
for TI-89 and TI-92 Plus
* Send files to the
calculator
* Receive files from the
virtual calculator
* Use a TI Graph-link cable
or serial cable to connect to a
real
calculator
* Connect two instances of
the emulator with a virtual link
* Sound emulation
* 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
* Full skinning system with
editor
* Screenshot feature which
saves to a BMP or to the clipboard
* Option to emulate at
either the true speed of the calculator or the fastest the computer can
handle.
* 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.
DB92 symbol information is also used when available.
* 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
* On the 89/92(+), a 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.
* On the 82-86, a variable pane which
lists all
variables and their types. Allows user
to jump
directly to the start of the variable within either
the dissassembly pane or the memory pane.
* Real time updates to the LCD, even
with grayscale
* Log reads/writes to memory or changes
to individual bits
Limitations
of this beta 4
version:
* 8-level grayscale on the
TI-86 doesn't work properly yet
* Key redefinition is not
yet implemented, although the program should now work on international
keyboards without it
* Receiving of backups from
the virtual calculator is not implemented
* Log link port
send/receive is not implemented
* TI-82 Rom dumper does not work yet
* No flash support yet for the TI-83 Plus
This emulator requires a ROM image from a real calculator that you own. I will not send you any ROMs. You can use the built-in ROM dumper to obtain an image from your calculator.
If you already have a ROM dump, place it in the same directory as VTI.EXE (this is done automatically if you use the built-in dumper). Make sure it has the extension .rom, .bin, 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 VTI.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 equivalents 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
Num Pad Enter - Enter below
cursor pad
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
On
the TI-82 and TI-83:
F1 - Y=
F2 - Window
F3 - Zoom
F4 - Trace
F5 - Graph
Esc - Mode
Caps lock - Alpha
` - X,T,theta
= - Stat
F6 - Math
F7 - Matrx
F8 - Prgm
F9 - Vars
PgDn - Clear
End - x^-1
Insert - sin
Home - cos
PgUp - tan
Num lock - ^
; - x^2
[ - (
] - )
' - log
\ - ln
Tab - Store
Scroll lock - On
On the TI-85 and TI-86:
Esc - Exit
` - More
Caps lock - Alpha
Ctrl - x-var
F6 - Graph
F7 - Table
F8 - Prgm
F9 - Custom
PgDn - Clear
' - log
Insert - sin
Home - cos
PgUp - tan
Num lock - ^
\ - ln
End - EE
[ - (
] - )
; - x^2
Tab - Store
Scroll lock - On
To send a file to the
calculator, press F10 or drag and drop from explorer. 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 the Virtual TI web page at http://vti.acz.org,
and
requires
C++Builder 3 to
compile. You may use the 68K and Z80
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). The JPEG encoding/decoding code
is part of the Colosseum Builders C++ Image Library. 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
rusty@acz.org
For updates, visit the
Virtual TI web page at http://rusty.acz.org Visit the Assembly Coders
Zenith
web page at http://www.acz.org
The 68K and Z80 emulation
cores are from the Multiple Arcade Machine Emulator. The
source and binaries of the entire M.A.M.E emulator can be
found at http://www.retrogames.com/mame.html Hors ligne
Special thanks to:
Mike Heckenbach for writing
and testing the parallel link support
Michael Donn for providing
me with a black link cable to test with
Nick Caldwell for his scan
of the 83 and 85
Matt Johnson for his info
on the 86
Alan Bailey for his info on
the 86 ports
Pascal Bouron for his info
on the 85 link protocol
Tim Singer for his info on
the 86 link protocol
Per Finander for his info
on the 82/85 link protocol
David Ellsworth for his
info on the 92
History:
March 18, 2000:
Released
version 2.5 beta 5
Fixed 83+ on button
Fixed bug which sometimes caused crashes
when startup screen was visible
Added emulation of TI-89/92+ ROM version
2.01/2.03
Added support for .89u and .9xu Flash
ROM update files
Splash screen fade effect
Floating skin support with updated skins
for 83, 83+, 85, 86, and 89
Added skin author information to skin
files
November 2, 1999:
Released version 2.5 beta 4
Fixed bugs in parallel link
Fixed bugs in ROM Wizard
Changed startup screen and about box
Included simple version of skin editor
Fixed window resizing bug (hopefully)
Fixed load state bug for TI-83(+)
Fixed list variable saving bug on
TI-82/83
Eliminated pause after sending variable
to hard drive
Fixed screenshot saving bug
October 28, 1999:
Released version 2.5 beta 3
Parallel link is now supported, although
it is a bit slow
Organized list of ROMs into separate
tabs for each calculator
October 11, 1999:
Released version 2.5 beta 2
Added support for black TI-Graph Link
cable
Fixed support for serial link cable
September
26, 1999:
Released version 2.5 beta
Fixed TI-89 and TI-92 Plus update bug
Fixed ROM dumpers for 82-86
Added ROM dumper for 83+
Fixed file sending for 83+
August
25, 1999:
Released version 2.5 alpha 3
(restricted).
Fixed problems with TI-92 and TI-92 II
emulation.
Program now loads much faster after the
first time.
Set breakpoint on program entry now
works on all calculators.
Improved disassembler output for 82-86.
Added support for TI-83 Plus
July
5, 1999:
Released version 2.5 alpha 2
(restricted).
Fixed bug in window resizing.
When virtual link is enabled, the second
calculator will pause when the first enters debug mode. This
prevents the second calculator from timing out when
debugging link routines.
Added "Run to cursor" (F4) in debugger.
Added LCD update frequency option.
Added sound support.
July
1, 1999:
Released version 2.5 alpha 1 (restricted).
Added skinning system.
Window can be resized to any size, not
just 1x and 2x.
Added full screen mode.
Added option to display percentage of
actual speed.
Added "stay on top" option.
Built-in ROM dumper is now available for
the 86.
Improved timing, especially for the 85
and 86.
Fixed several bugs.
Emulation now in a thread separate from
message handling, allowing for more efficient operation.
Gigantic improvement in real/virtual
link support.
Added setup wizard and ROM wizard.
Added support for DB92 symbol
information.
Added ability to drag and drop files.
May
1, 1999:
Released version 2.0 alpha 4.
Fixed bug in file sending.
Added images for the 83 and 85, updated
86 image.
Fixed bug in 89/92(+) exception handling.
Fixed bugs in keyboard handling.
April
18, 1999:
Released version 2.0 alpha 3.
Faster than previous version.
Added screen shot support.
Added the ability to receive from the
virtual
calculator.
Added virtual linking.
Fixed bugs when Windows is set to use
"large fonts".
February
19, 1999:
Released version 2.0 alpha (restricted).
Added support for TI-82, TI-83, TI-85,
and TI-86.
No longer uses DirectInput (now Windows
NT 4 compatible).
January 10, 1999:
Released version 1.01 beta.
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 (version 1.0
beta).
Conclusion
Virtual TI is the
next best thing to actually owning a
TI calculator. You can send your assembled Asm program to the Emulator
and test
it there. If the progrtam has bugs in it, it will turn off and reset it
self
which is not half as bad as having your real calculator reset=)
Click to return to the site's menu... or here to get back to the tutorial's menu.