home *** CD-ROM | disk | FTP | other *** search
/ Software Recommendations - 1998 Season 1 / DNBCD4.iso / develop / asm / dasm / qview241 / QVIEW.ENG < prev    next >
Encoding:
Text File  |  1997-06-14  |  46.0 KB  |  915 lines

  1.            ┌──────    ┌──────    ┌──────
  2.          ┌──    ┌── ┌──    ┌── ┌──    ┌──
  3.         ┌──    ┌── ┌──        ┌──
  4.        ┌───────── ┌──  ┌───  ┌──
  5.       ┌──    ┌── ┌──    ┌── ┌──    ┌──
  6.      ┌──    ┌──  ┌───────   ┌───────
  7.  
  8.                            ┌────  ┌────  ┌───── ┌────  ┌─  ┌─ ┌───── ┌─────
  9.                           ┌─  ┌─ ┌─  ┌─ ┌─  ┌─ ┌─  ┌─ ┌─  ┌─ ┌─       ┌─
  10.                          ┌────  ┌────  ┌─  ┌─ ┌─  ┌─ ┌─  ┌─ ┌─       ┌─
  11.                         ┌─     ┌─  ┌─ ┌───── ┌────  ┌───── ┌─────   ┌─
  12.  
  13.  
  14.              ▀▀▀▀▀▀\     ▀▀\    ▀▀\  ▀▀▀▀▀▀▀\   ▀▀▀▀▀▀▀\  ▀▀\      ▀▀\
  15.            ▀▀\    ▀▀\   ▀▀\    ▀▀\     ▀▀\     ▀▀\       ▀▀\      ▀▀\
  16.           ▀▀\    ▀▀\   ▀▀\    ▀▀\     ▀▀\     ▀▀\       ▀▀\      ▀▀\
  17.          ▀▀\    ▀▀\   ▀▀\    ▀▀\     ▀▀\     ▀▀▀▀▀▀▀\  ▀▀\  ▀\  ▀▀\
  18.         ▀▀\ ▀\ ▀▀\   ▀▀\    ▀▀\     ▀▀\     ▀▀\       ▀▀\ ▀▀\  ▀▀\
  19.         ▀▀\  ▀▀▀\    ▀▀\  ▀▀\      ▀▀\     ▀▀\        ▀▀\▀▀▀\▀▀\
  20.         ▀▀▀▀▀▀\      ▀▀▀▀▀\     ▀▀▀▀▀▀▀\  ▀▀▀▀▀▀▀\    ▀▀\  ▀▀\
  21.               ▀▀\
  22.  
  23.   Release 2.41.01  13 May 1997                                Dedicated to ...
  24. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  25. ▐▀▄▀ Product support ▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▌
  26. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  27.  
  28.            ┌───────────────────────────────────────────────────────╖
  29.            │Welcome to the echo-conference QVIEW.SUPPORT in Fidonet║
  30.            ╘═══════════════════════════════════════════════════════╝
  31.  
  32. ~ The last versions of QView are file requestable at 2:5030/445 by aliases
  33.   QVIEW, QBETA
  34. ~ It also sometimes can be found at  ftp://ftp.csa.ru/pub/il/qview???.arj,
  35.   where ??? - version number ( thanks to Ilya Evseev )
  36.  
  37. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  38. ▐▀▄▀ Differences between 2.40.00 and 2.32.01 ▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▌
  39. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  40.  
  41. ~ Finally the comment system for the AV mode is released. You may define up to
  42. 1000 comment-strings with length up to 58 symbols each one (the whole comment-
  43. string length of 58 symbols is usable just in 132*xx video mode ;). The system
  44. algorithm is trivial - the simple ADDRESSES-depended  file  is  creates.  This
  45. file is named as viewed file but with the '.CMT' extension.  Is is updates and
  46. reads automatically by the viewer. You are only to read your own comments  and
  47. to add new ones. So, go on!  And just one note: the system is still not tested
  48. enough, so the bug-reports and proposales are wellcome!
  49.  
  50.  ╬ Comment system in the disassembler mode (AV)
  51.    Start commenting            - [Alt]+[E]
  52.    Goto the previous comment   - [Ctrl]+[Left]
  53.    Goto the next comment       - [Ctrl]+[Right]
  54.  ( the sequence of steps is depended on the stored sequence, but not on the
  55.    actual address sequence )
  56.  
  57.  ╬ The right mouse button click calls the rule a'la DN Editor (TV,HV,AV)
  58.  
  59.  ╬ [Alt]+[F5] - UserScr (TV,HV,AV) - Flips to or from the DOS screen
  60.  + The screen is now saves to RAM instead of VRAM at QView startup
  61.  + Completed the srore/restore screen in the 07 videomode (mono) procedure
  62.  + The TV screen output algorithm was changed radically
  63.  
  64.  ╬ The FAR procedure call is added.  Calls procedure under the cursor in  the
  65.    AV. Just press [Alt]+[C] to start. The screen is swapped out.  The control
  66.    is absent. Purpose: the short programs call (E.g.: mov al,2Eh; out 70h,al;
  67.    jmps $+2; out 71h,al; retf).
  68.  
  69.  ╬ NE-headers support added
  70.  + The history files refresh algorithm was radically changed
  71.  + Replace procedure was fixed
  72.  + When choosen 'replace all' in the 'Replace string' box the cache is now
  73.    writes to disk with no 'Changes' dialog call.
  74.  + The 'LFCR' LineFeed detection was fixed
  75.  + Removed all messages at startup and exit
  76.  + The QView 2.32.01 bug with QEMM fixed
  77.  + Code optimization...
  78.  + Some gifts
  79.  
  80. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  81. ▐▀▄▀ Table of contents ▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▌
  82. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  83.  
  84.   1. Main features.
  85.   2. System requirements.
  86.   3. Video modes.
  87.   4. Status line.
  88.   5. String search, search with replace.
  89.   6. Assembler search.
  90.   7. Jumps on jmp/call etc. in disassembler.
  91.   8. A few words about internal disassembler.
  92.   9. Block operations.
  93.  10. Bookmarks.
  94.  11. Calculator.
  95.  12. Crypt-system.
  96.  13. Viewing-history file and its dialog.
  97.  14. Configuration files qview.ini, qview.ehl.
  98.  15. Help file qview.hlp.
  99.  16. Mouse support.
  100.  17. Controll keys.
  101.  18. Command-line options and start-up.
  102.  19. A lot of thanks.
  103.  
  104. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  105. ▐▀▄▀ Main features ▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▌
  106. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  107.  
  108.   ■ Unlimited length file viewing in txt/hex/asm modes: TV,HV,AV.
  109.   ■ Highlight fields in HV,AV and text in TV.
  110.   ■ Support of Alternate, Windows and KOI-8 text encoding.
  111.   ■ LineFeed autodetect feature and on-fly change (TV).
  112.   ■ The whole file editor in AV in codes and i486 assembler.
  113.   ■ The whole file editor in HV in Hex/ASCII mode.
  114.   ■ Creating new files, appending and truncating files ability.
  115.   ■ Support of MS-DOS 'MZ' executable files header.
  116.   ■ Support of Windows 95/NT 'PE' executable files header.
  117.   ■ Support of Windows,OS/2,DOS 4 etc 'NE' executable files header.
  118.   ■ i80486/87 powerfull disassembler.
  119.   ■ Instruction comments are allowed in AV mode.
  120.   ■ File basing.
  121.   ■ Support of jump on jmp/call/loop.../j... etc. in disassembler.
  122.   ■ Serach of any i486/87 commands with a mask ability.
  123.   ■ Search for Jumps/Calls/Pointers to the current offset (AV).
  124.   ■ Ascii/Hex string search with masking and case sensitive ability.
  125.   ■ Ascii/Hex strings search and replace.
  126.   ■ Jump by offset in HV, AV.
  127.   ■ Block saving on disk in Code/Dump/Assembler.
  128.   ■ Block read from disk to file in Code.
  129.   ■ Block delete/insert from/to file.
  130.   ■ A zero-bytes block insert to file.
  131.   ■ Block of bytes delete feature.
  132.   ■ Powerfull crypt-system for the file encoding.
  133.   ■ Internal calculator.
  134.   ■ 9 bookmarks for each view mode.
  135.   ■ Context-depend help system.
  136.   ■ Automatic view-history file support.
  137.   ■ View-history dialog for the fast'n'easy file management.
  138.   ■ Open/create file from the viewer feature.
  139.   ■ Viewer colors override ability.
  140.   ■ Supported video modes: 80*25, 80*30, 132*25, 132*30 etc.
  141.   ■ Mouse support.
  142.   ■ Memory requirements of ~90 Kb RAM.
  143.   ■ Q-Setup by Igor Naryshkin.
  144.  
  145. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  146. ▐▀▄▀ System requirements ▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▌
  147. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  148.  
  149.     Program requires:
  150.  
  151.          CPU:   386+
  152.        Video:   VGA+, MDA, Hercules, CGA, EGA
  153.          DOS:   MS DOS 3.3+
  154.       Memory:   ~90 Kb
  155.  
  156. P.S. Video: no snow checking.
  157. P.P.S. Also works well in both OS/2 and Win'95 DOS-sessions.
  158.  
  159. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  160. ▐▀▄▀ Video modes ▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▌
  161. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  162.  
  163.     Supported: 80*25, 80*30, 80*50, 132*25, 132*30 etc, i.e. all text video
  164. modes.
  165.  
  166. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  167. ▐▀▄▀ Status line ▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▌
  168. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  169.  
  170. ────────────────────────────────────────────────────────────────────────────
  171.  Filename.ext YYYYYYY  M xxxxxxxx  ---------   00 ▐ QView 2.40  AGC Product
  172. ────────────────────────────────────────────────────────────────────────────
  173.  └────┬─────┘ └──┬───┘ │ └──┬───┘  └───┬───┘  └─┬┘
  174.       │         File   │  current   bookmarks   first
  175.       │        length  │  offset   (unique for  column in
  176.       │       in bytes │  (Hex)     each view   text mode
  177.       │        (Dec)   │              mode)     (Hex)
  178.   Filename             │
  179.                        └ Line editor mode
  180.                          (I-Ins, O-Overide)
  181.  
  182.  See also 'Mouse support'
  183.  
  184. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  185. ▐▀▄▀ String search, search with replace ▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▌
  186. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  187.  
  188.      Search works from the current position to the end of the file. Optionally
  189. the case sensitive mode may be used. Default is off ( both english and russian
  190. letters are supported ). If you are entered text in  the  HEX-line,  the  case
  191. sensitive flag is ignored - always used a case sensitive mode.
  192.  
  193.      You may enter the searched string in  ASCII  as well as in HEX modes  and
  194. swithing between them ( up, down arrow keys ). If the 'use mask' option is on,
  195. the '?' symbol accepted as mask and shown as '??' in HEX line and  as  '?'  in
  196. ASCII one.
  197.  
  198.      When masked search is used, any symbol is allowed in the  string  instead
  199. of '?' one. If you enter something like  'one ?y?e',  the result may  be  'one
  200. byte' as well as 'one type' etc. If you enter 'B4 ?? CD 21', the result may be
  201. 'B4 3F CD 21' as well as 'B4 40 CD 21' etc.
  202.  
  203.      Keys:
  204.  
  205.      F1    - Help           - help
  206.      F4    - Case sensitive - case [in]sensitive mode
  207.      F5    - Use mask       - search with[out] masking
  208.      F7    - History        - searched strings history
  209.      Enter - start          - start search
  210.      Esc   - exit           - exit from dialog (skip search)
  211.  
  212.      The history dialog is consist of the records from qview.srh file, where
  213. the last searched substrings are stored. The last entered substring is push-
  214. ing (or replacing) to the top of the stack.
  215.  
  216.        Control keys:
  217.  
  218.        Up, Down         goto the previous/next record
  219.        F8, Del          delete current record
  220.        F10              clear history file
  221.        Enter            pick up current record from list
  222.        Esc              exit from dialog (return no substring)
  223.  
  224. Note:
  225.       the history file may be prohibited in qview.ini
  226.  
  227.      Search with replace may be called by Ctrl+[F7] and contain  the  second
  228. field for the replacing string to be entered.
  229.  
  230. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  231. ▐▀▄▀ Assembler search ▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▌
  232. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  233.  
  234.    Works in disassembler mode.
  235.    Start    : [F6]
  236.    Continue : [Shift]-[F6]
  237.  
  238.    [F6] key calls the next dialog:
  239.  
  240.        ╔══════════════════ Assembler search ══════════════════╗
  241.        ║                                                      ║
  242.        ║  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  ║
  243.        ║                                                      ║
  244.        ║  Step: Command Area: File  Offs: Begin  Type: Full   ║
  245.        ║  ~~~~          ~~~~        ~~~~         ~~~~         ║
  246.        ╚══════════════════════════════════════════════════════╝
  247.  
  248.    1. Step  -  step of search - use [F2] to change
  249.            'Command' - search by instructions (commands)
  250.            'Byte   ' - search by 1-st byte ( slower, but more faithfully ;)
  251.  
  252.    2. Area  -  searched area - use [F3] to change
  253.            'File '   - the whole file
  254.            'Block'   - in block
  255.  
  256.    3. Offs  -  offset - use [F4] to change
  257.             'Begin ' - search from the file(block) begining
  258.             'CurOfs' - search from the file(block) current position
  259.  
  260.    4. Type  -  search type - use [F5] to change
  261.             'Full '  - search for all substring entries, i.e. if you'll simply
  262.                        type 'MOV' - the  all instructions  of  'MOV x,y'  form
  263.                        will be found. Also if you type 'mov ax,$FE' - the  all
  264.                        instruction 'mov ax,00FE', 'mov ax,FE12'  etc.  will be
  265.                        found. For the 'xor ?x,byte ptr [si' substring will  be
  266.                        found 'xor ax,byte ptr [si+1000]', 'xor cx,byte ptr
  267.                        [si]' etc. instructions.
  268.  
  269.             'Small'  - exact search, i.e. when entered 'mov *,$1', the  viewer
  270.                        will found 'mov si,0001', 'mov cl,01',   'mov dword ptr
  271.                        [bx+si],00000001' etc. instructions.  But if there will
  272.                        be '10' in the end of the last instruction, it won't be
  273.                        found.
  274.  
  275.    5. Mask syntax
  276.          Use the assembler syntax for the instructions and operands. The case
  277.      of symbols has no importance - use it as you prefer.  Do  not insert the
  278.      unnecessary spaces - the viewer does not process it. Do not forget about
  279.      type reduction - 'byte ptr' - is a 2 words ;-)  You may easy use mask if
  280.      you are too lazy to type it.
  281.  
  282.        Mask symbols:
  283.           '?' - any one symbol (byte)
  284.           '*' - any substring to the comma or to the end of string
  285.           '$' - use befor the numeric constant to force the viewer
  286.                 to skip a leadind noughtes
  287.           '%' - any word (to the space, comma or end of the string)
  288.  
  289.    Examples:
  290.         ┌─────────────────────────────┬──────────────────────────────────────┐
  291.         │ 1. 'mov ?s,ax'              │ 'mov es,ax'                          │
  292.         │                             │ 'mov ds,ax'                          │
  293.         ├─────────────────────────────┼──────────────────────────────────────┤
  294.         │ 2. '*,$1'                   │ 'mov ax,0001'                        │
  295.         │                             │ 'cmp byte ptr [ebx],01'              │
  296.         │                             │ 'shl dx,01'                          │
  297.         ├─────────────────────────────┼──────────────────────────────────────┤
  298.         │ 3. '% % ptr fs:[e?x+$14],*' │ 'cmp byte ptr fs:[eax+14],01'        │
  299.         │                             │ 'mov dword ptr fs:[ebx+00000014],esi'│
  300.         ├─────────────────────────────┼──────────────────────────────────────┤
  301.         │ 4. 'l?s *,*'                │ 'lds si,word ptr [1980]'             │
  302.         │                             │ 'les eax,dword ptr [ebx]'            │
  303.         └─────────────────────────────┴──────────────────────────────────────┘
  304.   ~ Use you imagine :)
  305.  
  306.   6. Search for Jumps/Calls/Pointers to the current offset [F6] - Reference
  307.  
  308.   7. Search dialog [F7]
  309.  
  310.      The history dialog is consist of the records from qview.sra file, where
  311. the last searched substrings are stored. The last entered substring is push-
  312. ing (or replacing) to the top of the stack.
  313.  
  314.        Control keys:
  315.  
  316.        Up, Down         goto the previous/next record
  317.        F8, Del          delete current record
  318.        F10              clear history file
  319.        Enter            pick up current record from list
  320.        Esc              exit from dialog (return no substring)
  321.  
  322. Note:
  323.       the history file may be prohibited in qview.ini
  324.  
  325. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  326. ▐▀▄▀ Jumps on jmp/call etc. in disassembler ▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▌
  327. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  328.  
  329.    Keys:
  330.     [Shift]+[1]...[Shift]+[9] - jumps
  331.     [Shift]+[0] - return (only one step back - use bookmarks ;)
  332.  
  333. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  334. ▐▀▄▀ A few words about internal disassembler ▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▌
  335. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  336.  
  337.    Genaraly,  the  assembler syntax is the same as in the  disassembler.  Don't
  338. forget about type reduction where needed,  but generaly defaults are used.  For
  339. the jumps - 'short', 'near' etc. are absent, use FAR defaults, or 'byte ( word,
  340. dword) ptr' constructions.
  341.  
  342. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  343. ▐▀▄▀ Block operations ▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▌
  344. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  345.  
  346.   All block operations are supported
  347.  
  348.     [Shift-F2] - write marked block to the file                   (HV,AV)
  349.     [Shift-F3] - read block from the file to the marked block     (HV,AV)
  350.     [Shift-F4] - delete marked block                              (HV,AV)
  351.     [Shift-F5] - insert block from a file to the current position (HV,AV)
  352.     [Ins]      - mark start/end of block, clear mark              (HV,AV)
  353.     [Ctrl-F4]  - insert block of 0-byte to the current position   (Text,HV,AV)
  354.     [Ctrl-F5]  - delete block of bytes from the current position  (Text,HV,AV)
  355.  
  356.  
  357.  1. The next dialog is appeares
  358.  
  359.    ┌────────────────────────── Write block to file ─────────────────────────┐
  360.    │                                                                        │
  361.    │ Block : Begin :  00000000     End :  00000000     Length :  00000000   │
  362.    │                                                                        │
  363.    │ File  : ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░   │
  364.    │                                                                        │
  365.    │ Offset: ░░░░░░░░    Save as :   (*) Code  ( ) Dump  ( ) Assembler      │
  366.    │                                                                        │
  367.    └────────────────────────────────────────────────────────────────────────┘
  368.  1.1. First line - is the block parametres (start, end, length)
  369.  1.2. Use [TAB] to jump between the fields
  370.  1.3. Use [ENTER] to write block, [ESC] to reject writing
  371.  1.4. Use [SPACE] on ( ) Code, ( ) Dump, ( ) Assembler to set the type of
  372.       output
  373.  1.5. Offset is the offset in the output file to start writing at. Default
  374.       is 0. If the offset is greater than the file size, the block will be
  375.       appended to the end of the file.  Use FFFFFFFF offset to write block
  376.       to the end of file for sure.
  377.  1.6. In Dump mode the filter is used for output: symbols with  0-31 ascii
  378.       are skipped.
  379.  1.7. In Assembler mode the disassembler text is writing
  380.  
  381.  2. When reading a block from the file, if the number of bytes from Offset
  382.     to the end of the input file smaller than  the  marked block size  the
  383.     "Illegal offset in file" report is appeares.
  384.  
  385. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  386. ▐▀▄▀ Bookmarks ▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▌
  387. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  388.  
  389.      You may use  bookmarks  to  save  the current  position  and  then  easily
  390. restore it. [Alt]+[+] is stores the current position, [BS] is restores position
  391. of the current bookmark and so on.  For each view mode (text/hex/asm) there are
  392. 9 bookmarks may be used. Use [Alt]+[1]...[Alt]+[9] to restore any of the stored
  393. position.
  394.  
  395.      [Alt]+[+]             - save current position
  396.      [BS]                  - goto the current bookmark
  397.      [Alt]+[1]...[Alt]+[9] - goto the bookmark number 1..9
  398.      [Alt]+[-]             - delete current bookmark
  399.      [Alt]+[0]             - clear all bookmarks
  400.  
  401. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  402. ▐▀▄▀ Calculator ▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▌
  403. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  404.  
  405.      The powerfull calculator with the complete set of arithmetical and logical
  406. functions is built-in to the progam. Use Ctrl-[F6] to call the calculator.  You
  407. may use next four modes to enter the expression in:  Dec, Hex, Oct, Bin.   Also
  408. you may force the type reduction by typing  the next symbols after the numbers:
  409. d - Dec, h - Hex, o - Oct, b - Bin.  All  numbers are of double word type  ( 32
  410. bits ).  Operations with equal precedence  are normally performed  from left to
  411. right. Expressions within parentheses are evaluated before being treated  as  a
  412. single operand.
  413.  
  414.      Operations precedence:
  415.         ┌─┬──────────────────┬───────────────────────────────────────────┐
  416.         │1│ (, )             │ parentheses                               │
  417.         │2│ ~, -             │ not, unary_minus                          │
  418.         │3│ <<, >>           │ shl, shr                                  │
  419.         │4│ *, /, %, &, |, ^ │ mul, div, mod, and, or, xor               │
  420.         │5│ +, -             │ add, sub                                  │
  421.         └─┴──────────────────┴───────────────────────────────────────────┘
  422.      Note: the highest precedence = 1
  423.  
  424.      Keys:
  425.          F2    - Dec default
  426.          F3    - Hex default
  427.          F4    - Oct default
  428.          F5    - Bin default
  429.          Enter - Evaluate
  430.          Esc   - Exit
  431.  
  432. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  433. ▐▀▄▀ Crypt-system ▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▌
  434. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  435.  
  436.      As I see, the programming of different compilers-interpreters is a thank-
  437. less task.  Besides  that  it  is  requires  a  sizeable memory resources etc.
  438. I've analized known crypt-systems such as one in Hiew, Proview and others (let
  439. us define the crypt-system as the automatical or semi-automatical mechanism of
  440. the file recoding )  and  have  found  all of them too narrow-featured for the
  441. real hacker. So I've choosen my own way.  Ofcause, there are also some  limits
  442. in my program, but it has a wider potentialities than other systems.  But  any
  443. coin has two sides, and the reverse side is that the clearness and control  of
  444. the crypt-system work are absent. But to my mind it's a low price for the great
  445. inherent potentialities - just be carefully and everything will be Ok ;)
  446.  
  447.     So:
  448.  
  449.      1.  Crypt works with a marked block up to 64000 bytes of size  in  normal
  450. mode, so don't forget to pick up the block to be crypted in the file.
  451.  
  452.      2.  Crypt is a FAR-procedure called by a viewer, so don't forget  to  add
  453. the RETF instruction to the end of it.
  454.  
  455.      3.  Viewer sets the next registers befor call the procedure
  456.             DS:SI - the crypted block start address
  457.             CX    - the crypted block size
  458.             ES:DI - the procedure data area
  459.  
  460.      4.  All i486 instructions are allowed.
  461.  
  462.      5.  Viewer leaves the procedure to its own controll. Do not forget to pop
  463. up all data pushed to the stack. So, take care of the crypt-procedure correct-
  464. ness - I leave it to you.
  465.  
  466.      6.  The maximum code and data size of procedure is  1024 bytes.  Use  the
  467. DataOffset field to change the code and data correlation.  The  data area from
  468. DataOffset to the 1024 bytes is fixed,  so you may directly access this  area.
  469. It holds the crypt-procedure local variables, tables etc.  Assembling is maked
  470. into the code area. Program length is limited up to 200 lines.
  471.  
  472.     Control keys:
  473.  
  474.        Up, Down         Move up/down
  475.        Right, Left      Move left/right
  476.        Alt+F1           Assembler editor mode: insert/override
  477.        F1               Help
  478.        F2               Save crypt file
  479.        F3               Load crypt file
  480.        F4               Crypt procedure data section offset
  481.        F5               Go to offset
  482.        F6               Erase crypt procedure
  483.        F7               Clear crypt procedure data section
  484.        F8               Delete current instruction
  485.        F9               Run crypt procedure
  486.        TAB              Toggle assembler/data editor
  487.        ENTER            Assemble instruction
  488.        ESC              Exit w/o crypt
  489.        and so on...
  490.  
  491. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  492. ▐▀▄▀ Viewing-history file and its dialog ▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▌
  493. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  494.  
  495.      The history file is stores the information about viewed files such as the
  496. current file offset (note: if the size of file was  chanched  since  the  last
  497. view, the 0 offset  is  accepted),  LineFeed,  Wrap/Unwrap  status,  searching
  498. options either standard and assembler (but not the searched substrings itself),
  499. bookmarks.  When  you call the same file to view again,  the  all settings are
  500. restores from the history file.
  501.  
  502.      The history file is logged automaticaly and one for all viewed files. The
  503. history file is located in the same directory that the QView in.  The  history
  504. file is refreshes on exit from the QView.  The size of history file is limited
  505. up to 32 records.
  506.  
  507.      The view-history dialog allows the record deletion and  fast'n'easy  file
  508. management. Use Alt-[F7] to call this dialog.
  509.  
  510.        Control keys:
  511.  
  512.        Up, Down         goto the previous/next record
  513.        F8, Del          delete current record
  514.        F10              clear history file
  515.        Enter            pick up current record from list
  516.        Esc              exit from dialog (return no substring)
  517.  
  518. Note:
  519.       the history file may be prohibited in qview.ini
  520.  
  521. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  522. ▐▀▄▀ Configuration file ▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▌
  523. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  524.  
  525. ╓─═ QVIEW.INI ═══─────────────────────────────────────────────────────────────╖
  526.     ~~~~~~~~~
  527.  1. Configuration file
  528.                      name        : QVIEW.INI
  529.                      size        : 87 bytes
  530.                      presence    : optioanal ( use default options )
  531.                      description : Colors and options override
  532.                      location    : with qview.com
  533.  2. Format:
  534.  
  535. ;--- Ini file data ----------------------------------------------------------
  536. IniHeader    db      'AGC231'
  537. IniAttrib:
  538. ;--- Information line colors ------------------------------------------------
  539. cCopyRight    db      70h                ; Copyright string color
  540. cFileName     db      79h                ; File name color
  541. cFileSize     db      70h                ; Color of file size
  542. cTxtOutOfs    db      74h                ; Color for output offset
  543. ;--- Status/help line colors ------------------------------------------------
  544. cStLineKey    db      74h                ; Status line key color
  545. cStLineMes    db      70h                ; Status line message color
  546. cStLineGray   db      78h                ; Status line message grayed color
  547. ;--- Input line colors ------------------------------------------------------
  548. cInpLineTxt   db      8Eh                ; Input line text
  549. cInpLineHex   db      8Ah                ; Input line hex
  550. cEditBG       db      70h                ; Input line BG
  551. ;--- Dialog boxes colors ----------------------------------------------------
  552. cDlgBox       db      7Fh                ; Dialog box background with frame
  553. cDlgHeader    db      7Eh                ; Dialog box header
  554. cDlgText      db      70h                ; Dialog box text
  555. cDlgScrBar    db      0Eh                ; Dialog box scroll bar
  556. cDlgCursor    db      9Eh                ; Dialog box cursor attr
  557. cGrpTxt       db      30h                ; Group box attr
  558. cGrpGray      db      38h                ; Group box grayed item
  559. cGrpHeader    db      7Fh                ; Group box header
  560. cGrpFrame     db      70h                ; Group box frame
  561. cGrpHigh      db      7Ah                ; Group highlite header
  562. ;--- Text view mode colors --------------------------------------------------
  563. ctvAttrOut    db      87h                ; Attributes for output chars
  564. ctvMarkOut    db      70h                ; Searched value highlight
  565. ctvDivider    db      8Fh                ; Dividers
  566. ctvNumber     db      8Bh                ; Numbers
  567. ctvComment    db      83h                ; Comment string attribut
  568. ctvString     db      8Dh                ; Strings color
  569. ;--- Dump view mode colors --------------------------------------------------
  570. chvAttrOut    db      87h                ; Main color
  571. chvByteHexOut db      87h                ; Bytes hex out color
  572. chvByteAscOut db      87h                ; Bytes ascii out color
  573. chvCursorAttr db      3Fh                ; Cursor color
  574. chvMarkOut    db      70h                ; Searched value highlight
  575. chvDivider    db      8Fh                ; Dividers
  576. chvChgHexOut  db      8Ah                ; Changed bytes color hex out
  577. chvChgAscOut  db      8Eh                ; Changed bytes color asc out
  578. chvNewHexOut  db      8Bh                ; HV new bytes color hex out
  579. chvNewAscOut  db      8Fh                ; HV new bytes color ascii out
  580. chvBlkHexMark db      8Eh                ; Mark block color hex
  581. chvBlkAscMark db      8Ah                ; Mark block color ascii
  582. ;--- Assembler view mode colors ---------------------------------------------
  583. cavAttrOut    db      87h                ; Attributes for output chars
  584. cavCodeField  db      8Fh                ; Instr code field
  585. cavCursorAttr db      3Fh                ; Cursor color
  586. cavMarkOut    db      70h                ; Searched value highlight
  587. cavDivider    db      8Fh                ; Dividers
  588. cavNumber     db      8Bh                ; Numbers
  589. cavJmpField   db      83h                ; Jmp field
  590. cavAsmField   db      87h                ; Instr. field
  591. cavComment    db      83h                ; Comment string attribut
  592. cavChgHexOut  db      8Ah                ; Changed bytes color hex out
  593. cavNewHexOut  db      8Bh                ; AV new bytes color
  594. cavBlkHexMark db      8Eh                ; Mark block color hex
  595. cavBlkAscMark db      8Ah                ; Mark block color ascii
  596. ;--- Help window colors -----------------------------------------------------
  597. bHlpWinAttr   db      3Fh                ; help window frame attr
  598. bHlpTxtAttr   db      30h                ; help text attr
  599. bHlpCurAttr   db      0Fh                ; help cursor attr
  600. bHlpTxtHigh1  db      3Eh                ; highlight group 1
  601. bHlpTxtHigh2  db      3Fh                ; highlight group 2
  602. bHlpTxtHigh3  db      3Ah                ; highlight group 3
  603. bHlpTxtHigh4  db      3Bh                ; highlight group 4
  604. ;--- Other colors -----------------------------------------------------------
  605. cIntro        db      04h                ; Intro color
  606. ScrBarAttr    db      83h                ; Attr Scroll Bar
  607. ;--- Other options ------------------------------------------------15 bytes--
  608. OtherParms:
  609. OutMode     db      0         ; Output mode  0-TV, 1-HV, 2-AV
  610. WrapLog     db      1         ; TextWrap 0FFh-Wrap, 01h-UnWrap
  611. SearchOpt   db      0FFh      ; Case sentensivity 01 - On, 0FFh - Off
  612. PercentCnt  db      0FFh      ; ScrollBar 0FFh, Percent counter 01h
  613. LFCurPos    db      5         ; 0-CRLF,1-CR,2-LF,3-NULL,4-LFCR,5- None,6-AUTO
  614. DefSegSize  db      16        ; Segment size 10h-16, 20h-32
  615. UndocOper   db      1         ; Undoc operation - (not use)
  616. bStepValue  db      1         ; AsmSr Step 01h-Command, 0FFh-Byte
  617. bAreaValue  db      1         ; AsmSr Area 01h-File, 0FFh-Block
  618. bOffsValue  db      1         ; AsmSr Offs 01h-Begin, 0FFh-CurOfs
  619. bTypeValue  db      1         ; AsmSr Type 01h-Full, 0FFh-Small
  620. bAutoHis    db      1         ; Auto history 01h-On, 0FFh-Off
  621. bCharSet    db      0         ; 0-Alt, 1-Win, 2-KOI
  622. bCmdOpTab   db      7         ; TabSize from BegCmd to operands
  623. CalcMode    db      1         ; 0-Dec, 1-Hex, 2-Oct, 3-Bin
  624. AdvancedOpt db      0FFh      ; Search with mask
  625. UseCharSet  db      1         ; Search with use current CharSet
  626. bAVEdBGChar db      ' '       ; AV edit cmd BG char
  627. bEditEnable db      1         ; Enable editing file after run viewer
  628. bTabONFlag  db      1         ; Tab symbols on
  629. bZoomWinFlg db      1         ; Zooming window enable/disable
  630.  
  631.   Note: default setups are taken from QVIEW.COM
  632.  
  633. ╓─═ QVIEW.EHL ═══─────────────────────────────────────────────────────────────╖
  634.     ~~~~~~~~~
  635.                                                      See the world coloured ;)
  636.  
  637.   Name          : QVIEW.EHL
  638.   Size          : variable
  639.   Presence      : optioanal
  640.   Description   : file extentions setup
  641.   Location      : with qview.exe
  642.   Record size   : 48 bytes
  643.  
  644. ┌──────────┬───────┬─────────────┬────────────────────────────────────────────┐
  645. │  Field   │ Size  │  Example    │               Description                  │
  646. │          │(bytes)│             │                                            │
  647. ├──────────┼───────┼─────────────┼────────────────────────────────────────────┤
  648. │FileExt   │  4    │'ASM',0      │File extention                              │
  649. │OutMode   │  1    │ 0           │Output mode  0-TV, 1-HV, 2-AV               │
  650. │WrapFlg   │  1    │ 1           │TextWrap 0FFh-Wrap, 01h-UnWrap              │
  651. │LFChar    │  1    │ 6           │0-CRLF,1-CR,2-LF,3-NULL,4-LFCR,5-None,6-AUTO│
  652. │CharSet   │  1    │ 0           │0-Alt, 1-Win, 2-KOI                         │
  653. │EditFlg   │  1    │ 0FFh        │Enable editing file after run viewer        │
  654. │TabONFlg  │  1    │ 1           │Tab symbols on                              │
  655. │TVHighFlg │  1    │ 1           │Global highlight in TV (01-On,0FFh-Off)     │
  656. │TVCommChar│  5    │';',4 dup (0)│Single-characters comments start            │
  657. │TVComm1Str│  6    │ 6 dup (0)   │Sinle-line commet first string              │
  658. │TVCommBeg │  6    │ 6 dup (0)   │Multi-line commet first string              │
  659. │TVCommFlg │  1    │ 1           │Comments highlight flag                     │
  660. │TVNumFlg  │  1    │ 1           │Numerals highlight flag                     │
  661. │TVDivFlg  │  1    │ 1           │Dividers highlight flag                     │
  662. │TVStrFlg  │  1    │ 1           │"string"-strings highlight flag             │
  663. │TVStrFlg1 │  1    │ 1           │'string'-strings highlight flag             │
  664. │Reserved  │  15   │ 15 dup (0)  │Reserved                                    │
  665. └──────────┴───────┴─────────────┴────────────────────────────────────────────┘
  666.  
  667. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  668. ▐▀▄▀ Help file qview.hlp ▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▌
  669. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  670.  
  671.      Help file is a plain MS-DOS text file and contains a text  appeared  when
  672. [F1] key pressed. Text is divided to the topics. Every  topic  is started with
  673. its identifier [xxxx], where  xxxx  is the topic number. The last topic [!END]
  674. is empty. The number of strings in each topic is limited  up to  100 ones, the
  675. superfluous strings are ignored. The string length is limited up to 70 symbols,
  676. the superfluous symbols are also ignored.
  677.  
  678.      For the better perception the colour highlight is added.  There  are five
  679. highlight groups from 0 to 4, where the first (0) colour is the basic one  for
  680. the help text output. To appoint the colour the  !x combination is used, where
  681. x is the group number. The new colour setting, the space symbol or the end  of
  682. the string are resets the current colour setting.
  683.  
  684.      The help file is optional  as well as  the any topic presence in it.  You
  685. may remove some topics or the whole file if you want to,  but  note  that some
  686. control keys are described only in the help file.
  687.  
  688.      So, you may include everything you want to the topic ;)
  689.  
  690. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  691. ▐▀▄▀ Control keys ▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▌
  692. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  693.  
  694.      The all keys and its descriptions available in the current mode are listed
  695. in the help file. Press [F1] to call it.
  696.  
  697.      To get the list of all QView control key simply remove all control symbols
  698. from the qview.hlp to get a plain MS-DOS text file.  But  keep  the copy of the
  699. original qview.hlp because of the colour cacophony :)
  700.  
  701. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  702. ▐▄▀▄ Mouse support ▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▌
  703. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  704.  
  705.      Generally the viewer has a full mouse support, except a  few  seldom-used
  706. dialogs.  To my mind, the won't be any cardinal changes.  Always  use the left
  707. mouse button. The right one is reserved...
  708.  
  709.                        So, a few notes about the mice ;)
  710.                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  711.  
  712.                                   Status line
  713.                                   ~~~~~~~~~~~
  714.            In the status line the left mouse button click implements:
  715.  
  716. ─────────────────────────────────────────────────────────────────────────────
  717. [] Filename.ext YYYYYYYY xxxxxxxx_ +12■-5----▐   00 I ▐ QView 2.32 AGC Product
  718. ─────────────────────────────────────────────────────────────────────────────
  719. ├┘                       └──┬───┘└┤│└───┬───┘│  └┬─┘
  720. Exit from               Jump to   │└─┐  │    │ Mode change
  721. viewer                  offset    │  │  │    │ between
  722. (Analogue to            for HV,AV └┐ │  │    │ TV, HV, AV
  723. ESC key)                (Analogue  │ │  │    │ (Enter, F4)
  724.                         to F5 key) │ │  │    └───────────┐
  725.                  ┌─────────────────┘ │  │                │
  726.                  │          ┌────────┘  │                │
  727.                 Call    Save cur.   Goto the          Return from jump
  728.              BaseOfs    position    pointed           in AV (Analogue
  729.               dialog    to the      bookmark          to Shift+'0')
  730.            (Ctrl+F2)    BookMarks   (Analogue
  731.                         (Alt+'+')   to Alt+'1'... Alt+'9')
  732.  
  733.                                   TV mode
  734.                                   ~~~~~~~
  735.      In the view window the left mouse button click:
  736.  
  737. 1. In the first column: scrolls text left;
  738. 2. In the last column (befor the ScrollBar): scrolls text right;
  739. 3. In the top half of screen: scrolls text one line up;
  740. 4. In the bottom half of screen: scrolls text one line down.
  741.  
  742.                                   HV mode
  743.                                   ~~~~~~~
  744.      In the view window the left mouse button click:
  745.  
  746. 1. Scrolls up, down left or right according to the cursor position,
  747.    increases/decreases file offset;
  748. 2. Switches hex/ascii input when editing.
  749.  
  750.                                   AV mode
  751.                                   ~~~~~~~
  752.      In the view window the left mouse button click:
  753.  
  754. 1. Scrolls up, down left or right according to the cursor position;
  755. 2. Switches hex/ascii input when editing.
  756. 3. Treces the jump/call/etc. command when clicked on (1)...(9).
  757.  
  758. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  759. ▐▄▀▄ Command-line options and start-up ▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▌
  760. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  761.  
  762. 1. Program start-up ▄
  763.     ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  764.   Usage: qview.com  <filename.ext> [keys]
  765.   Keys:  /mt - force text view
  766.          /md - force dump view
  767.          /ma - force asm view
  768.          /r  - read only mode
  769.  
  770. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  771. ▐▄▀▄ A lot of thanks ▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▌
  772. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  773.  
  774.      Special thanks to Dmitry Gazko  aka  Dr.Khumen for the first QSetup and
  775. for the problems discussion.
  776.  
  777.      Also a lot of thanks to  Igor Naryshkin  for the new Q-Setup,  creation
  778. and moderatoring of the QVIEW.SUPPORT echo-conference, bug-hunting  and  for
  779. the different problems discussion.
  780.  
  781.      ... for everyone sent me a comments, bug-reports and proposales.  Sorry
  782. if someone missed. Send me a mail... :)
  783.  
  784.                     Igor Naryshkin        2:5030/482
  785.                     Misha Ivanov          2:5020/279.81
  786.                     Peter Sobolev         2:5030/84
  787.                     Alex Morshchakin      2:454/2.15
  788.                     Timur Chuzhinov       2:5011/45
  789.                     Alexey Monastyrenko   2:5030/303.8
  790.                     Igor Pronin           2:5055/63.4
  791.                     Damir Bikmuhametov    2:5011/13.1
  792.                     Sergey Volkov         2:454/2.35
  793.                     Vasily Idanov         2:5008/1.3
  794.                     Andrey Siniakov       2:5030/255.26
  795.                     Maximilian Gvozdev    2:463/151.25
  796.                     Andy Semenov          2:5020/1062
  797.                     Dmitry Shevchenko     2:5055/63
  798.                     Igor Smirnov          2:5030/175.51
  799.                     Sergey Temrezov       2:5030/54.777
  800.                     Viktor Ostashev       2:5020/753.3
  801.                     Dmitry Belyi          2:464/43
  802.                     Professor Nimnull     2:5020/552.69
  803.                     Sergey Savchenko      2:5000/35.8
  804.                     TERMINATOR            2:5063/3.37
  805.                     Vovec Tokmakov        2:5020/198.19
  806.                     Andrey Ryabuhin       2:4635/4.32
  807.                     Alex Pakhotin         2:5004/15.9
  808.                     Alex Zatvornitski     2:463/212.18
  809.                     Andrej Zverev         2:5031/16.4
  810.                     Dmitry Jemerov        2:5030/482.7
  811.                     Ivan Kuznetsov        2:5030/441.15
  812.                     Leonid Shirmanov      2:5030/445.14
  813.                     Roman Papusha         2:4635/4.30
  814.                     Sanya Tankeev         2:465/112
  815.                     Alex S Aganichev      2:5020/604.19
  816.                     Alex Zemlaykov        2:5011/209
  817.                     Alexander Alferowich  2:5031/7.3
  818.                     Alexey Gogotz         2:5010/86.10
  819.                     Andrew Tkachenko      2:461/555
  820.                     Andy Semenov          2:5020/316.11
  821.                     Boris Felikson        2:5020/871.154
  822.                     Kirill Kutejnikov     2:5030/329.5
  823.                     Kostya Volkov         2:4631/17
  824.                     Nikolay Sidoroff      2:5055/63.8
  825.                     Rick Murray           2:5010/14.7
  826.                     Sergey Monin          2:5040/7
  827.                     Sergey Temrezov       2:5030/544.777
  828.                     Slava Tarasjuk        2:464/29.4
  829.                     Victor Frolov         2:5004/22.9
  830.                     Victor Shantar        2:5054/26
  831.                     Vladimir Gordeev      2:5054/4.8
  832.                     Wadim A. Sigalov      2:402/711.333
  833.                     Yuri Baranow          2:450/86.100
  834.                     basil vorontsov       2:5020/487
  835.                     Alex Semenyaka        2:461/640
  836.                     Alex Silman           2:5020/272.16
  837.                     Alexander Skorodumov  2:5030/61.42
  838.                     Anatoly Rodnikov      2:5002/36.5
  839.                     Andrew Lazarchuk      2:454/2.2
  840.                     Andrey Alekseyev      2:5030/142.21
  841.                     Andrey Prokopishin    2:469/72.12
  842.                     Andrey Siniakov       2:5030/445.77
  843.                     Andy Knyazev          2:5054/12.30
  844.                     Andy Shevchenko       2:461/73.55
  845.                     Bohdan Troshchinskiy  2:463/217.99
  846.                     Danil Shubin          2:5056/60.15
  847.                     Dennis B. Kobernic    2:4626/21
  848.                     Dmitry Zavalskov      2:5022/15.3
  849.                     Eugene Lisovy         2:4635/9.11
  850.                     F0RESTER              2:4635/9.11
  851.                     Igor Dyatlov          2:5030/541
  852.                     Igor Vasilchikov      2:5030/31.47
  853.                     Ilja Evseev           2:5030/445.8
  854.                     Ilya Aniskovets       2:5020/638.133
  855.                     Max Popov             2:5002/20.16
  856.                     Michail Danshin       2:5020/777.18
  857.                     Oleg Rombakh          2:50/382.3
  858.                     Paul Sokolovsky       2:4615/23.31
  859.                     Pavel Popov           2:5080/69.2
  860.                     Sergej Miroshnichenko 2:5051/3.27
  861.                     Sergey Pliusnin       2:451/5
  862.                     Sergey Podolanchyk    2:465/4.16
  863.                     Sergey Samoyloff      2:5074/9
  864.                     Sergey Volkov         2:454/1.9
  865.                     Sergey Zabaryansky    2:463/81.73
  866.                     Slav Kuznetsov        2:5054/16.5
  867.                     Stanislav Davidov     2:5030/448.4
  868.                     Tony Mantana          2:5086/3.23
  869.                     Vano Sergeev          2:5030/542.222
  870.                     Vladimir Kvitnitskiy  2:5057/20.8
  871.                     Vladimir Ruzin        2:464/5555.101
  872.                     Wowik Mikolenko       2:5031/1.23
  873.                     Yuri Onufreeshin      2:5083/33.90
  874.                     Yury Urbanovitch      2:451/7
  875.                     Peter Hubinsky        hubak@elf.stuba.sk
  876.  
  877.   NB: Nobody's desires and proposales aren't forgotten - if still not realized,
  878.       they are waiting for the time to come. All bugs I'm killing as soon as
  879.       finding it in the 970 Kb asm source ;)
  880.  
  881.  
  882. ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  883. P.S.  Any comments, desires, proposales, bug-reports, interesting ideas  are
  884.       welcome! Thank you for your support.
  885.  
  886.  
  887.  With Best Regards,
  888.                    Alexandr Gazko   AKA
  889.                                     2:5030/445@FidoNet
  890.                                     2:5030/445.4@FidoNet
  891.                                     2:5030/282.4@FidoNet
  892.                                     2:5030/317.4@FidoNet
  893.  
  894.                                                    11:35:19,
  895.                                                    14-06-97
  896.                                                           AGC
  897.  
  898. ╓─
  899. ║ Translated by Igor Naryshkin. Please E-mail me any corrections at:
  900. ║ 2:5030/482@fidonet,  55:1055/24@general
  901. ║ igor.naryshkin@f482.n5030.z2.fidonet.org
  902. ╙─
  903.  
  904.                   ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
  905.                   ▓▓▓╬╬╬╬╬╬▓▓╬╬▓▓╬╬▓▓╬╬╬╬╬╬▓▓╬╬╬╬╬╬▓▓▓▓░░
  906.                   ▓▓▓╣▒▒▒▒▒▒▓▓╬▒▓╬▒▒▓▓▒╬╬▒▒▒▓▓▒╬╬▒▒▒▓▓▓░░
  907.                   ▓▓▓╬╬╬╬╬╬▓▓▓▓╬╬▓▒▓▓▓▓╬╬▒▓▓▓▓▓╬╬▒▓▓▓▓▓░░
  908.                   ▓▓▓╬▒▒▒▒▒▒▓▓╬▓▒╬▓▓▓▓▓╬╬▒▓▓▓▓▓╬╬▒▓▓▓▓▓░░
  909.                   ▓▓▓╬╬╬╬╬╬▓▓╬╬▒▓╬╬▓▓╬╬╬╬╬╬▓▓▓▓╬╬▒▓▓▓▓▓░░
  910.                   ▓▓▓▓▒▒▒▒▒▒▓▓▒▒▓▓▒▒▓▓▒▒▒▒▒▒▓▓▓▓▒▒▓▓▓▓▓░░
  911.                   ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░
  912.                   ▓▓▓▓▓   Yes    ▓▓▓▓▓▓    No     ▓▓▓▓▓░░
  913.                   ▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▓▓▓░░
  914.                   ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░
  915.                     ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░