Category : Files from Magazines
Archive   : TSR.ZIP
Filename : STAYI21.410

 
Output of file : STAYI21.410 contained in archive : TSR.ZIP
Inline(
{; STAYI21.400}
{;-----------}
{; Routine to Set a Flag when certain INT21 functions are active.}
{; Functions to be flagged are identified in the main Stayres}
{; routine. Cf. Functab array.}
$5D { Pop Bp ; Remove Turbo Prologue}
/$5D { Pop Bp}
/$9C { PushF}
/$FB { STI ; Allow interrupts}
/$80/$FC/$62 { Cmp Ah,$62 ; Verify Max function}
/$7F/$28 { Jg SkipI21}
{; Some Int 21 functions must be left alone. They either never return,}
{; grab parameters from the stack, or can be interrupted. This code}
{; takes account of those possibilities.}
/$50 { Push Ax ; Skip functions marked 1 in}
/$53 { Push Bx ; in the function table.}
/$86/$C4 { Xchg Ah,Al}
/$BB/>FUNCTAB { Mov Bx,>FuncTab ; Test Int 21 function}
/$2E { CS:}
/$D7 { Xlat}
/$08/$C0 { Or Al,Al ; Wait for functions marked zero}
/$5B { Pop Bx ; in the function table.}
/$58 { Pop Ax}
/$75/$19 { Jnz SkipI21}
{SetI21:}
/$2E { CS:}
/$80/$0E/>INTR_FLAGS/ /$9D { PopF}

/$9C { Pushf}
/$2E { CS:}
/$FF/$1E/>DOS_INT21 { Call dw [ /$FB { STI ; Insure interrupts enabled}
/$9C { Pushf ; Save Return Flags}
/$2E { CS: ; Clear INT 21 Active}
/$80/$26/>INTR_FLAGS/ /$9D { Popf ; Retrieve the flags}
/$CA/$02/$00 { RETF 2}
{SkipI21: ; Invoke Int 21 w/o return}
/$9D { PopF}
/$2E { CS:}
/$FF/$2E/>DOS_INT21 { Jmp dw [>Dos_INT21]}
{;......................................................................}
);


  3 Responses to “Category : Files from Magazines
Archive   : TSR.ZIP
Filename : STAYI21.410

  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/