Category : Alternate Operating Systems - Quarterdeck DesqView, CP/M, etc
Archive   : HOOKINT.ZIP
Filename : HOOKINT.DOC

 
Output of file : HOOKINT.DOC contained in archive : HOOKINT.ZIP
Specific Uses for HOOKINT
-------------------------

Intel SatisFAXtion Board
------------------------

Without the file HOOKINT.COM, DESQview users often find that they cannot
run the Intel SatisFAXtion program CASMGR.EXE in a DESQview window.
Running CASMGR in a DESQview window is not usually the best way to use
the SatisFAXtion board with DESQview, because it makes it difficult to
do heavy multitasking while sending and receiving FAXes. But some users
choose this configuration anyway, because the SatisFAXtion programs
FAX.EXE and FAXPOP.EXE, which provide SatisFAXtion's user interface,
cannot be multitasked at all in DESQview with CASMGR loaded before
DESQview. To use HOOKINT to load CASMGR in a DESQview window:

1) Load SATISFAX.SYS in the CONFIG.SYS file.

2) Determine the hardware interrupt that the SatisFAXtion board uses for FAXes.
To do so, run the SatisFAXtion SETUP.EXE program, go to the Advanced Setup,
select Set Up Hardware, and look at the current configuration. The currently
shipping version of the SatisFAXtion board puts the FAX on IRQ10 by default, but
offers seven different options. Here is a list of the seven different IRQ's
that Intel lets you select from, with the corresponding INT numbers.

IRQ INT
--- ---
2 A
3 B
4 C
5 D
7 F
10 72
11 73

If you determine that the FAX is using IRQ10, then 72 is the INT number that
HOOKINT.COM will use as its first parameter.

3) Load a batch file in a DV window that contains the following lines:

HOOKINT 72 2F
CASMGR CASMGR.CFG
FAXPOP
FAX

If the FAX is not using IRQ10, substitute another number from the above table
instead of the 72 on the HOOKINT line.

Use a DESQview window with the following Change a Program options set:


Program Name............: Intel SatisFAXtion

Keys to Use on Open Menu: SA Memory Size (in K): 480
----------------------------------------------------------------------------
Program...: (name_of_your_batch_file)

Parameters:

Directory.: (name_of_SatisFAXtion_directory)
----------------------------------------------------------------------------
Options:
Writes text directly to screen.......: [Y]
Displays graphics information........: [Y]
Virtualize text/graphics (Y,N,T).....: [Y]
Uses serial ports (Y,N,1,2)..........: [Y]
Requires floppy diskette.............: [N]

System Memory (in K).......: 0 Maximum Program Memory Size (in K)..:

Script Buffer Size.......: 1000 Maximum Expanded Memory Size (in K):

Text Pages: 1 Graphics Pages: 1 Initial Mode: Interrupts: 00 to FF
----------------------------------------------------------------------------
Window Position:
Maximum Height: 25 Starting Height: Starting Row...:
Maximum Width.: 80 Starting Width.: Starting Column:
----------------------------------------------------------------------------
Shared Program
Pathname..:
Data......:
----------------------------------------------------------------------------
Close on exit (Y,N,blank)......: [ ] Uses its own colors..............: [Y]
Allow Close Window command.....: [N] Runs in background (Y,N,blank)...: [ ]
Uses math coprocessor..........: [Y] Keyboard conflict (0-F)..........: [0]
Share CPU when foreground......: [Y] Share EGA when foreground/zoomed.: [Y]
Can be swapped out (Y,N,blank).: [ ] Protection level (0-3)...........: [0]


Lotus 1-2-3 Release 3.1
-----------------------

Some users find that they get system hangs when switching back to Lotus 1-2-3
Release 3.1 from a DESQview menu or from another DESQview window. There are two
already existing solutions to this problem: 1) Setting Keyboard Conflict to 8 in
the 1-2-3 window, which sometimes causes shift states to get stuck in the 1-2-3
window; and 2) the L4-LOAD.COM program that ships with DESQview 2.33 and later.

HOOKINT can be used as an equivalent to L4-LOAD.COM. To do so, load 1-2-3 in a
DESQview window with a batch file that contains the following lines:

HOOKINT 9 82 /D
123 -C

If you are running on a monochrome system, substitute the -M parameter for the
-C on the 123 line in the batch file. For further information on how to run
Lotus 1-2-3 Release 3.1 in DESQview, see the Quarterdeck technote LOTUS3.TEC.


Technical Background for HOOKINT
--------------------------------

The file HOOKINT.COM is a utility that uses DESQview's External Device Interface
(XDI) to guarantee that a particular software interrupt handler that is in
effect within a DESQview window will always be in place when that software
interrupt is called from inside a particular hardware interrupt handler. This
can be important because hardware interrupts are often given to one program in
DESQview when the state of the computer is set up for a completely different
program. If a program's hardware interrupt handler assumes that it can safely
call a given software interrupt, the program may not run successfully in
DESQview. HOOKINT is designed to help such programs.

The syntax for HOOKINT is:

HOOKINT intnum [restorenum] [/D]
where:
intnum = interrupt number to hook
restorenum = interrupt number to make valid when
an INT intnum occurs
/D = Defer hooking until someone else does

For instance, the command HOOKINT C 66, issued inside a DESQview window, will
guarantee that the INT C (IRQ4, which is COM1) handler that is already in place
will be able to issue an INT 66 and call the INT 66 handler that is in effect in
that window. Without this command, the INT C handler could unintentionally call
another window's INT 66 handler when it issues its INT 66, depending on which
window is receiving a time slice when the INT C occurs.

If you add a /D to this command (HOOKINT C 66 /D), then the INT 66 handler in
that window will be valid, not just when the INT C handler already in place is
called, but when the INT C handler that is about to be installed in that window
is called. To know whether or not to use the /D parameter to HOOKINT, you need
to know which program is installing the hardware interrupt handler in question.
If this program is loaded before HOOKINT (or even before DESQview), the /D
parameter should not be used. If this program is loaded after HOOKINT, the /D
parameter should be used.

If loaded before DESQview, HOOKINT simply grabs an interrupt, without performing
any of the functions that make it useful to applications. Unless you wish to
use HOOKINT as a debugging tool, it should always be loaded in a DESQview
window.


END OF FILE


  3 Responses to “Category : Alternate Operating Systems - Quarterdeck DesqView, CP/M, etc
Archive   : HOOKINT.ZIP
Filename : HOOKINT.DOC

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/