DOCUMENTATION FOR DOSTIGER v0.8beta
Originaly written by Jonas Minnberg
Continued by Kty & Fred 1998-1999
TABLE OF CONTENTSINTRODUCTION LINKPORT EMULATION ROMDUMPS & FARGO KEYBOARD MAPPING COMMANDSTATE A FEW NOTES ABOUT TIMING DEBUGGER TODO THANKS CONTACTING ME History DBA
NOTE: DBA continue the DOS version of TIGER.
Tiger is a portable emulator for the TI92/92+/89 calculators. It uses the 68k emulation core from UAE (The Ultimate Amiga Emulator). It is freeware.
Tiger emulates the linkport in two ways. First 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årdells 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".)
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).
Most TI92+ or TI89 romdumps may not be runnable under TIGER (the emulated calc freezes) because they are corrupted by the TI's FLASH protection. To get them work, just put FFF8 0000 at offset 0x10000 using an hexadecimal editor. An interesting feature is that if you have Archive Utility installed on your calc, a romdump will contain all your archived files. Future versions of Archive Utility will also include ability to make archives backups that would be loadable into romdumps.
Have a look at explanations concerning the direct command "keys".
|[APPS]||(F12 in DOS)|
Letters, Numbers, Cursormovement, F1-F8 + some others are the same keys on both keyboards
|[F11]||Quit emulator and save state. See Note bellow.|
|[Break]||Quit emulator, don't save state (Not available in DOS, try F9 and CTRL-C instead)|
Note: The F11 key quits and saves both RAM AND ROM (or Flash) so, you should use a COPY of your romdump with DosTiger.
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.
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).
- keys [89|92] : sets the keyboard to emulate TI92's or TI89's
A FEW NOTES ABOUT TIMINGIf 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 :)
"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).
- Storing files & backups to disk
- Screenshot option
- Amiga version!
- Fix and release sourcecode to people who want to port it
- Fix better documentation
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 (Jonas Minnberg)
Please report bugs! All constructive comments appriciated!Jonas Minnberg firstname.lastname@example.org (work) or email@example.com (school) #IRC: SasqHomepage for Tiger: http://www.nada.kth.se/~md94-jmi/tiger/Bye for now!
- Public release of the new version
- New versions by DBA
0 to 0.7Beta
- Previous version of DOSTIGER by Jonas Minnberg
DBA: Fred and Kty
DBA is our 'team' name :)Visit our New Web Site at:
We are two students in school engineering in France (ESEO - Ecole Supérieur d'Electronique de l'Ouest) and we are interested in programming and in designing specific hardware device for special platforms such as Texas Instruments calculators TI89/92+
If you want to contact us:
Use the assembly89/92 list at ticalc.org
Fred firstname.lastname@example.org ICQ # 33467465 Kty email@example.com ICQ # 45376616