File: tiger.doc

package info (click to toggle)
tiemu 2.00-2
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 7,100 kB
  • ctags: 2,953
  • sloc: ansic: 27,979; sh: 8,836; makefile: 365; cpp: 158
file content (327 lines) | stat: -rw-r--r-- 8,979 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327

DOCUMENTATION FOR TIGER v0.7beta
by Jonas Minnberg


+---------------+
| INTRODUCTTION |
+---------------+

Tiger is a portable emulator for the TI92 emulator. It uses the
68k emulation core from UAE (The Ultimate Amiga Emulator). It
is freeware.

Some features:

o Saves it's state when quitting, so you start where you quitted
o Linkport emulation (see below)
o Works with Fargo
o Works with 1Mb & 2Mb ROMS, 128 or 256k memory
o Nice debugger
o Constrast emulated (Try [Alt] + [+] & [-])

Some misfeatures:

o Parallel-link and a few keys dont work in DOS

+--------------------+
| LINKPORT EMULATION |
+--------------------+

Tiger emulates the linkport in two ways. First (currently only
on the Linux version) through the parallel-port. You need the
kernelmodule "ti.o" for this to work. Once this is installed
as "/dev/ti", you should be able to send files between a real
TI92 and the emulator through the homemade parallel-cable. I
have tried this with Jimmy Mrdells Tetris, and it works fine
in linkplay between a real TI92 and the emulator.

It can also load files directly from disc and emulate the TI92
protocol to load them into the emulator. This is accomplished
from the commandstate (see below) with the "load" command
(and also the "files" command which is perhaps less obvious).

(Note: Before you can use the ti.o module you have to create
 a node for it using: "mknod /dev/ti c 60 0". Then do a
 "insmod ti.o".)


+------------------+
| ROMDUMPS & FARGO |
+------------------+

To run this emulator you need a ROM dump. As this file is
(C) Texas Instrument it will never be distributed with
the Emulator. To get a ROM dump you need to install Fargo
on your calculator, and transfer it unsing the romdump1
or romdump2 programs. Using romdump2.92p, a normal terminal-
program that can do "ASCII Saves" (save all input to a
textfile) and ROMCONV.EXE you can get a rom even if you
only have a graphlink cable.
Once you have the file, name it "ti92.rom" and put it in
the same directory as the executable.

If you want to run Fargo on the emulator, you need to load
a backupfile with the fargo core inside (coverted with
"putfargo". Just Press F10 to go to commandstate and then
type "load <file>.92b" and press enter. It should load
pretty fast (progress is indicated with one dot per 2k
transferred).


+------------------+
| KEYBOARD MAPPING |
+------------------+


TI92       PC
---------  ------------
[Hand]     [Caps Lock]
[SHIFT]    [Shift]
[ON]       [Sroll Lock]
[DIAMOND]  [Ctrl]
[2ND]      [Alt]
[STO>]     [Tab]
[SIN]      [Delete]
[COS]      [End]
[TAN]      [Page Down]
[LN]       [Insert]
[CLEAR]    [Home]
[MODE]     [Page Up]
[APPS]     [Print Scrn] (F12 in DOS)
[(-)]      [<]
[Theta]    [;]
[+]        [+]
[-]        [-]
[X]        ['*]
[Div]      [/]
[^]        []
[(]        [[]
[)]        []]
[ScrLock]  [On]

Letters, Numbers, Cursormovement, F1-F8 + some others are the
same keys on both keyboards

Special Keys

[F9]       Enter Debugger
[F10]      Enter Commandstate
[F11]      Quit emulator and save state
[Break]    Quit emulator, don't save state
           (Not available in DOS, try F9 and CTRL-C instead)

+--------------+
| COMMANDSTATE |
+--------------+

When you press F10, you enter the command state. Here you can
enter all sorts of commands at the prompt to configure Tigers
behaviour. Here is a list of what has been implemented so far.


CONFIGCOMMANDS
 These commands can be loaded & saved to a config file. They
 can also be given on the commandline (like "tiger -colors 2
 -romfile v13.rom -memsize 256") in which case it overrides
 the default config file (tiger.cfg).

colors <n>
  Set current number of emulated extra grayscale colors.
  The three typical values are:
    0 - No grayscale, only 2 colors (B/W)
    2 - Two extra colors = 4 color grayscale (graylib)
    5 - Five extra colors = 7 color grayscale (fargray)
  And even
    11 - Really blurry, and works both with grayscale/fargray

  Increasing this value will make moving graphics become
  "blurred", just like on the real TI92.
  Note that fargray pictures are kind of weird, so my
  grayscale emulation gets confused. If the picture comes up
  wrong, press ESC and try again. It gets it right 1 time out
  of 4 :)


romfile <file>
  Set the romfile to use at startup.


memfile <file>
  Set the memfile to use at startup and save at program-
  termination.


tickrate <n>
  Set number the rate of the timer. Only works
  in the Pentium version. Defaults to 40000 and can be
  any integer value. The higher the slower.


cyclerate <n>
  Set the rate of instructions. Only works in
  the Pentium version. Defaults to 140.
 

itick <n>
  Sets number of instructions per timertick, the primitive
  timing used in the nontimeable (non-pentium) version.


memsize <128|256>
  May only be 128 or 256


iodevice <device>
  Device to use for linkport. Defaults to /dev/ti. Does not
  work in the DOS version.


sync <0|1>
  If you set this to 0, screen updating will be syncronized with
  the timer which means it will always be updated regurlarly. This
  may cause grayscale pictures to flicker when you press keys and
  other things happen in the code.
  If you set this to 1, screen updating will be synced with Irq 1.
  This means that if Irq 1 does not run, the screen is not updated.
  This options usually makes grayscale rock-stable, but wont work
  at all in programs that turn off Irq 1 (like "tunnel" and "torus").
  This option is 0 per default but switching it to 1 is usually a
  good idea when grayscale is involved.
  

darkcol #rrggbb

  Set the dark (darkblue) color to the given RGB value (in HEX)

  
lightcol #rrggbb

  Set the light (greengray) color to the given RGB value (in HEX)


DIRECTCOMMANDS
 These commands perform a certain action and cannot be present in
 the configfile or on the commandline.
  
libreq <file>
  Checks what libraries a fargo (92P) file requires to run.


load <file>
  Loads a 92P or 92B-file into the TI92. Note that fargo-
  backups are supposed to give a "Transaction Failed"
  message.


files
  Prints the current variables present in the TI92


ls
  Lists *.92P & *.92B files in the current directory.
  
  
cd [directory]
  Changes to another directory.


quit
  Quit the commandstate and jump back to the calculator.


putcfg [file]
  Write all configurable settings to the given config-file.
  If <file> is not given, write to the file that was loaded
  at startup (usually tiger.cfg).
  

getcfg [file]
  Load all settings from the given config-file. If <file>
  is not given, load the file that was loaded on startup
  (usally tiger.cfg).
  
A FEW NOTES ABOUT TIMING

If you run the pentium version, you should know a bit
about the "tickrate" and "cyclerate" commands. I have
found that the default values work pretty well for
my P200.. But on my P100 it's a bit too slow. I think
that the P100 is around the minimum for emulating the
TI92 at full speed.

Anyway, the "cyclerate" is a measure of how long to
delay each 68000 instruction before proceeding to the
next. On slower pentiums, always set this to 0 as delay
is not necessary. On faster pentiums, the default works
pretty fine (can be adjusted from program to program if
you want as exact speed as possible).
The "tickrate" is a measure of how often the internal
timer of the TI92 should be increased by one. Since the
screen is updated every 16th time the timer ticks, this
value is important for emulator performance. For fast
pentiums, you should propably leave it at 40000. For
slower Pentiums, you should propably increase this to
leave more room for the 68000 emulation, or, if a
game is running too slow you could try to decrease this
(which will speed the game up if it is syncronized with
the timer and is not too CPU demaning).
Good luck :)


+----------+
| DEBUGGER |
+----------+

"q" goes back to emulator
"x" To dump regs and current PC
"d [start] [len]" disassembles
"m [start] [len]" shows memory
"b [adress]" lists,sets and clears breakpoints
"h[l|w|b] <data> [start] [len]" searches memory
"t" trace
"s" trace to next instruction (be careful)

Instead of address you can use a0-a7 or d0-d7 (eg "m a7")
or you can use #n for breakpoint #n (eg b #0 to remove
breakpoint #0).


+------+
| TODO |
+------+

o Storing files & backups to disk
o Screenshot option
o Amiga version!
o Parallellink support in DOS
o Fix and release sourcecode to people who want to port it
o Fix better documentation


+--------+
| THANKS |
+--------+

David Ellsworth - For his great work on Fargo and source of
                  information needed to make the emulator.
Bernd Schmidt   - For making UAE from which I isolated the 
                  68k emulation core.


+---------------+
| CONTACTING ME |
+---------------+

Please report bugs!
All constructive comments appriciated!

Jonas Minnberg
jonas@upright.se (work) or
md94-jmi@nada.kth.se (school)
#IRC: Sasq

Homepage for Tiger:
http://www.nada.kth.se/~md94-jmi/tiger/

Bye for now!