SourceFiles.org - Use the Source, Luke
Home | Register | News | Forums | Guide | MyLinks | Bookmark

Related Sites

Latest News
  General News
  Reviews
  Press Releases
  Software
  Hardware
  Security
  Tutorials
  Off Topic


Back to files

DOCUMENTATION FOR TIGER v0.71beta
by Jonas Minnberg (Sasq)
0.71 & 0.72 also by David Ellsworth

+---------------+
| 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:

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

Some misfeatures:

  • 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 Mårdell's 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).

+------------------+
| 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 terminalprogram 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 the emulator does not find "ti92.rom" (or whatever "romfile" is configured to be), then it will look for "ti92int.rom" and "ti92ext.rom" (or whatever "intromfile" and "extromfile" are configured to be). These two represent internal and external ROM, respectively. You may have two ROMs active simultaneously. The TI-92's ROM bootstrap has code to autodetect whether there is external ROM, and if so, to boot from it instead of internal ROM.

If you want to run Fargo on the emulator, you need to load a backup file 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] [Alt]
[2ND]      [Ctrl]
[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)

+--------------+
| COMMAND MODE |
+--------------+

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

CONFIGURATION COMMANDS
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 (graylib7) And even
11 - Really blurry, and works with both graylib and graylib7

(Note: Fargray pictures use graylib7.)

Increasing this value will make moving graphics become "blurred", just like on the real TI92. Note that graylib7 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 name of the ROM file to look for at startup. If this file is found, the emulator attempts to autodetect whether the ROM image is internal or external.

intromfile <file>
Set the name of the internal ROM file to look for at startup. A TI-92 with internal ROM has a masked ROM chip soldered to the board.

extromfile <file>
Set the name of the external ROM file to look for at startup. A TI-92 with external ROM has an OTP ROM chip contained in a removable module which is attached to pins on the board.

statefile <file>
Set the state file to use at startup and save at program termination. The state file contains a snapshot of the emulated TI-92's exact state, including processor registers, I/O, and RAM.

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)

DIRECT COMMANDS
These commands perform a certain action and cannot be present in the config file or on the command line.

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 fargobackups 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-intensive). Good luck :)

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

"?" show this help
"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 following instruction (be careful) "g" set PC and resume emulation

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

  • Storing files & backups to disk
  • Screenshot option
  • Amiga version!
  • "$5" parallel link support in DOS
  • Fix and release sourcecode to people who want to port it
  • 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 appreciated!

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

David Ellsworth
davidell@ticalc.org
IRC: eXocomp
ICQ: 2300673

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

Bye for now!


Other Sites

Discussion Groups
  Beginners
  Distributions
  Networking / Security
  Software
  PDAs

About | FAQ | Privacy | Awards | Contact
Comments to the webmaster are welcome.
Copyright 2006 Sourcefiles.org All rights reserved.