Credits
Z80 core based on Amstrad Emulator by
Bernd Schmidt (crux@pool.informatik.rwth-aachen.de)
TI-85 emulation by (sorted by last name):
David Ellsworth (davidells@aol.com)
Ilya Haykinson (haykinso@ucla.edu)
Dines Justesen (c958362@student.dtu.dk)
Robert Taylor (rtaylor@rtaylor.u-net.com)
History
Version 1.00
Version 1.50
The following modifications were made by David Ellsworth:
- Accurate TI-85 interrupt handling
- Keyboard interrupt handler, allowing multiple
keys to be read at once by the TI-85
- Timer interrupt handler at true speed (200 Hz)
- ON key interrupts
- Linking port emulation through parallel cable
- Ability to save and load images of the TI-85's state
Version 2.00
The following modifications were made by David Ellsworth:
- Replaced the Z80 core with one written in assembly. The
emulator is now *dramatically* faster. In fact, it runs
faster than a real TI-85 on my 486DX-25.
- Added support for the gray Graphlink cable and the
Connect-85 serial cable. The link emulation can now
be switched from the command line.
(Note: the Graphlink support does not quite fully work yet.)
- Added command line option to change the backup file name
Keyboard layout
Note: Many TI-85 keys have alphabetic and symbolic equivalents. I
have not listed those here.
TI-85 key | PC key
|
ON | \
|
2nd | Left Shift
|
ALPHA | Left Ctrl
|
EXIT | Esc
|
MORE | Tab
|
x-VAR | '
|
DEL | Pad Insert or Pad Delete
|
GRAPH | F7
|
STAT | F8
|
PRGM | F9
|
CUSTOM | F10
|
CLEAR | Backspace
|
Cursor keys | Pad Cursor keys
|
F1 - F5 | F1 - F5
|
A - Z | A - Z
|
0 - 9 | 0 - 9 or Num 0 - 9
|
+ | Pad+
|
- | Pad-
|
* | Pad*
|
/ | / or Pad/
|
^ | `
|
(-) | - or Space
|
STO> | =
|
( | [
|
) | ]
|
, | ,
|
. | . or ; |
Special keys
F11 Quit emulator and save state
F12 Quit emulator without saving state
Startup instructions
Upon startup, this emulator will try to load a backup file. If you
did not specify one at the command line, it will be TI85.IMG. If it
cannot find this file, it memory will be initialized. You'll get the
message "Mem cleared/Defaults set", and a checkerboard cursor. Press
the [ON] key (backslash).
Command line parameters
L:Px
Use a parallel cable on LPTx.
If "x" is omitted, it will default to LPT1.
L:Sx
Use a (black) serial cable on COMx (not implemented yet)
If "x" is omitted, it will default to COM1.
L:Gx
Use a gray TI-Graph Link cable on COMx (not implemented yet)
If "x" is omitted, it will default to COM1.
L:K
Use PC speaker (as if it were plugged into the link port)
B:file
Load the backup image "file". If you quit the emulator and
save a backup, this file will be updated instead of TI85.IMG.
Backup files (state images)
When you use F11 to quit the emulator, its state will be saved as
TI85.IMG. When you start it again, this file will be loaded. You can
override the default name of TI85.IMG using a command line parameter.
Note: The backup file format was changed in version 2.00à.
The current file format is as follows:
Offset | Length | Description
|
0x0000 | 0x8000 | Image of RAM
|
0x8000 | 0x0002 | AF register
|
0x8002 | 0x0002 | BC register
|
0x8004 | 0x0002 | DE register
|
0x8006 | 0x0002 | HL register
|
0x8008 | 0x0002 | PC register
|
0x800A | 0x0002 | AF' register
|
0x800C | 0x0002 | BC' register
|
0x800E | 0x0002 | DE' register
|
0x8010 | 0x0002 | HL' register
|
0x8012 | 0x0002 | R register (F)
|
0x8014 | 0x0002 | R register (Fhi)
|
0x8016 | 0x0002 | I register
|
0x8018 | 0x0002 | imode (IM0, IM 1, IM 2)
|
0x801A | 0x0002 | IX register
|
0x801C | 0x0002 | IY register
|
0x801E | 0x0001 | IFF1 register
|
0x801F | 0x0001 | IFF2 register
|
0x8020 | 0x0002 | SP register
|
0x8022 | 0x0002 | Video offset (((port[0] & 0x3F) + 0xC0) << 8)
|
0x8024 | 0x0001 | Current ROM page (port[5])
|
0x8025 | 0x0001 | Keypad Mask (port[1])
|
0x8026 | 0x0001 | Interrupt Mask (port[3])
|
0x8027 | 0x0001 | Interrupt Flag (port[3])
|
0x8028 | 0x0001 | Power Register (port[6])
|
0x8029 | 0x0001 | Contrast Value (port[2])
|
0x802A | 0x0001 | Link Register (port[7]) |
Linking port information
This program can emulate a linking port through a parallel cable.
Here is the plan for the cable. If you are cutting a TI link cable,
use this plan. If you are connecting the cable you make to one end
of a TI link cable (you don't want to cut one), swap ring and tip.
Parallel TI-Link cable
(DB25) (2.5mm 3cond phone)
_
2 --|<-- | |
12 -----|--- red (ring) | | tip
3 --|<-- |_|
13 -----|--- white (tip) | | ring
|_|
22 --------- shield (sheath) | | sheath
|_|
The diodes can be any small silicon switching diode.
To tell the emulator what kind of cable you are using, pass the
appropriate command-line parameters.