home *** CD-ROM | disk | FTP | other *** search
-
-
-
- TMED is copyrighted 1992 by Liang Chen. No portion of this program may be
- reproduced without the written permission of Liang Chen. It is FREE. Good
- suggestion for major enhancement from the user are welcomed.
-
- STANDARD DISCLAIMERS: THE COPYRIGHT HOLDER OFFERS NO WARRANTY WITH THIS
- PROGRAM WHATSOEVER. NEITHER SHALL HE BE LIABLE FOR DAMAGES OF ANY KIND
- THAT MAY ARISE FROM ITS USE.
-
-
-
-
- INTRODUCTION
-
- TMED is a TSR memory editor which takes less 8k memory when is loaded.
- It can be used as an auxiliary debugging tool for programmers, or
- sometime as a gamebuster. TMED can view what is in the memory and edit
- the memory while other programs are running. TMED works great with Turbo
- Debugger.
-
- TMED versions after 1.20 come with a key macro function. Since TMED is
- resident in the memory, this key macro function may be used for any
- other foreground running programs. But if the foreground programs also
- hook to the INT08, INT09 handlers and use it heavily, the time delay
- by the foreground program may cause problems for the macro function.
- This is because a BIOS problem that some keys are overwritten before
- it can be read.
-
-
- WARNING: TMED is not bug proof. The system may halt due to an
- improper operation (such as editing or loading in critical
- memory area, set wrong breakpoints, enter wrong data,
- etc.). It will not work for some programs. You have to try
- to see if it works under certain programs. Not all people
- will benefit from this program. You have to know something
- about the computer in order to make full use of it.
-
-
- OPERATION
-
- LOADING:
-
- Enter 'TMED' at DOS prompt, then press <RETURN>.
-
-
- INVOCATION:
-
- There are two ways to invoke the TMED, a) Hotkey: press left
- <Ctrl> key twice; b) Breakpoint; it will pause and invoke
- TMED when DOS runs to breakpoint (See how to set breakpoint
- in the following instructions). If the invocation is
- successful, TMED will display a memory page (256 bytes) in
- hex and ascii codes and the command options.
-
- (Try to run TMED as a TSR now and activate it (press the
- left <Ctrl> key twice) while you are reading this file. It
- will help you understand the following commands.)
-
-
- KEY MACRO FUNCTIONS:
-
- Macro function may be used any time when the TMED is in
- resident. The macro buffer are big enough for 192 keys.
-
- Press Mky1 (default F11 key) once to record the key macro
- (you will hear a short sound). Press F11 again will end
- macro recording mode (you will hear a longer sound).
-
- Press Mky2 (default F12 key) will execute the key macro.
- There is no time delay while executing the key macro.
-
- If you press Mky2 key while macro is in recording mode, then
- it is a recursive macro. For example, you can let a
- recursive macro continuously turns page for you. While
- a recursive macro is executing, press any key will stop the
- macro running.
-
- Mky1 and Mky2 may be assigned to other keys (see below), in
- case these keys are used by the foreground running programs.
-
-
- COMMANDS:
- Commands are invoked by pressing the <Alt> key with the upper
- case letter in the command option line.
-
-
- TMED: <Alt>-T will display the TMED data segment. The cursor will
- be placed at the first byte of the string input buffer. To
- reduce the size of TMED, some data are entered by editing
- the corresponding memory addresses in the data segment.
- Useful information shown in this page and next page are:
-
- Mode:XBodc:X Editing mode and screen board
- color.
- May be changed by editor.
-
- Txtc:XHilc:X Text color and highlight
- color. highlight color are
- used to display bytes in
- memory that are different from
- the saved buffer or dumped
- file. The saved memory buffer
- is 256 bytes (a page). May be
- changed by editor.
-
- Swpg:XSwmd:X Switch page and video mode
- when TMED is invoked. TMED
- will try to work in different
- video page. If it does not
- work normally, try different
- Txtc, Hilc, Swpg. TMED does
- not save the original screen.
- After quit TMED, programs will
- operate as before the popup.
- But the graphic display and
- colors may be changed. May be
- changed by editor.
-
-
- NOTE: AFTER CHANGING THE SWPG,
- ALL DISPLAY WILL OUTPUT TO THE
- NEW PAGE. YOU SHOULD QUIT
- EDITOR MODE AND TMED, THEN
- POPUP AGAIN.
-
- Odpg:XOdmd:X Old video mode and page before
- popup. Please do not change it.
-
- Endc:XWldc:X The ending char and the wild
- char in the search string. By
- default, ending char is hex
- 00; wild char is hex FF. For
- example, to find
-
- instruction hex
-
- cmp al,XX 3C XX
- jne XX 75 XX
-
- the search string may be
- entered as (in hex)
-
- 3C FF 75 00
-
- Endc and Wldc may be changed
- by editor.
-
- Ustc:XCsrc:X Unset breakpoint byte and
- cursor color. By default, Ustc
- is hex 'CD' (hex code for
- interrupt 'int'); May be
- changed by editor.
-
-
- AX= XXBX= XX The register values before popup
- CX= XXDX= XX or breakpoint.
- SI= XXDI= XX
-
- CS= XXIP= XX CS:IP, next instruction address
- after breakpoint pause.
-
- Line of input: 16 bytes string buffer for 'Find'
- XXXXXXXXXXXXXXXX command. Using editor
- to change the string.
-
- (next memory page)
-
- Seg1XXSeg2XX Search start and end segment
- addresses. By default, Seg1 is
- set to the top memory address of
- TMED; Seg2 is set to A000, ie.,
- the top of the conventional
- memory.
- May be changed by editor.
-
- GadrXXPadrXX Current and previous addresses.
- DadrXXJadrXX Memory dump and relative jump
- start addresses.
- May be changed by editor.
-
- Mky1XXMky2XX Scan codes of Mky1 and Mky2.
- May be changed to other keys by
- the editor.
-
- MadrXXKadrXX Memory and KeyMacro buffer
- addresses.
-
- KnumXXSflgXX Knum = Macro key number.
- Sflg = sound flag.
- = 0 sound off
- = 1 sound on (default)
- May be changed by editor.
-
- SnhiXXSnlwXX Beep sound high and low tones.
- May be changed by editor.
-
- DmpfXXXX.XXX ASCIIZ dump file name.
- May be changed by TMED editor.
-
- You may find other variables in the TMED data area. But these data
- are not explained and marked. You are supposed not to change them.
-
- ALPHA/HEX MODE: <Alt>-A/<Alt>-H will Change the editing modes.
-
- EDIT: Invoke the alpha/hex memory editor to edit current
- memory page (not ROM). <ESC> or <ENTER> to quit edit
- mode. Using direction keys to move cursor. Press
- <Alt>-A/<Alt>-H will Change the editing modes while
- editing.
-
-
- FIND/NEXT: <Alt>-F will find the first string that you entered in
- the search string buffer between the memory addresses
- of Seg1 and Seg2. <Alt>-N will find the next string.
-
-
- GOTO/JUMP/PREVIOUS: <Alt>-G will read a new segment address from
- the keyboard (in hex, no echo), then go to the new
- address; <Alt>-J will read a relative jump address
- from the keyboard (in hex, no echo), then jump to the
- new address. The actual address is affected by the
- base address saved in Jadrs; <Alt>-P will goto
- previous address.
-
- DUMP/COMPARE/MORE: <Alt>-D will dump 64k (256 pages) memory start
- from current page to the dump file; <Alt>-C will enter
- the comparing mode and compare the dump file with the
- current memory. The changed memory bytes are displayed
- in highlight color; <Alt>-M will move to next page
- that has changes; <Alt>-C again will quit comparing
- mode.
-
- CONVERT: Convert decimal number ( < 65535 ) at the string
- buffer to hex code. Useful when try to find the stored
- game score addresses and cheat the game.
-
- KEYCODE: <Alt>-K once, the string buffer will display the scan
- code of any key input that follows. <Alt>-k again will
- exit. Macro recording in this mode will just record
- the keystrokes.
-
- RESTORE: Restore the byte at current cursor position from the
- memory buffer to the memory.
-
- SETBREAKPOINT/IP: <Alt>-S will set the break point at current
- cursor position; <Alt>-I will goto the breakpoint that
- invoked TMED. The breakpoint byte may also be changed
- by the editor. Tips for activating TMED when play
- games: if hotkey works, fine; if hotkey does not work,
- use a binary editor put 'CC' in the game executable
- file (be sure you keep a copy of it).
-
- Please note that if the breakpoint you set is not the
- first byte of an executable instruction, unpredictable
- results will be seen as program execution passes
- through the breakpoint. A breakpoint in a ROM area
- will not operate since instructions in ROM cannot be
- replaced with a breakpoint instruction.
-
- When Turbo Debugger is running, the breakpoints set by
- TMED will like the breakpoints set by Turbo Debugger.
- But You have to restore the original codes before
- executing following instructions.
-
- Update: <Alt>-U will update the current memory page.
-
- LOAD: <Alt>-R will restore the dumped memory region from the
- dumped file.
-
- Boot: <Alt>-B will do a warm boot.
-
- Quit: <Alt>-Q will quit TMED.
-
- (Operation):<Alt>-O will toggle between the foreground mode and
- background operation mode. There is no screen output
- in a background operation mode, but all other command
- options are still available when TMED is invoked. This
- mode is useful when the foreground running programs is
- in graphic mode and you do not want destroy the screen.
-
-
- ACKNOWLEDGEMENT
-
- The original TSR shell I used for TMED was written by Thomas
- Brandenborg (filename TSRDEMO2.ARC on simtel20 site). His copyright
- and address are included below
-
- Copyright 1987 by Thomas Brandenborg. All Rights Reserved.
-
- Thomas Brandenborg
- Lundbyesgade 11
- DK-8000 Aarhus C
- DENMARK
-
-
-