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!
|