home *** CD-ROM | disk | FTP | other *** search
- Here is the recipe to remove the HALT which QuickBASIC executes
- when an unrecoverable error is encountered. Should be okay with
- all versions of QB.
-
- Note: Make sure you have backups of any files your are going
- modify with DEBUG.....Edsel Murphy is not dead........
-
- A> debug bcom20.lib
-
- First make sure that a call to INT 16 exists. It should
- occur in 2 places.
-
- -s xxxx:1 ffff cd 16
- Where xxxx equals the DS register.
-
- xxxx:5509
- xxxx:5516
- -u 5503
-
- xxxx:5503 9C PUSHF
- xxxx:5504 55 PUSH BP
- xxxx:5505 56 PUSH SI
- xxxx:5506 57 PUSH DI
- xxxx:5507 B401 MOV AH,01
- xxxx:5509 CD16 INT 16 <---- #1
- xxxx:550B 5F POP DI
- xxxx:550C 5E POP SI
- xxxx:550D 5D POP BP
- xxxx:550E 7445 JZ 5555
- xxxx:5510 9D POPF
- xxxx:5511 55 PUSH BP
- xxxx:5512 56 PUSH SI
- xxxx:5513 57 PUSH DI
- xxxx:5514 B400 MOV AH,00
- xxxx:5516 CD16 INT 16 <---- #2
-
- Second, find where the INT 16 loop is re-executed.(wait for input)
- -s xxxx:1 ffff 9d 74 ab
-
- xxxx:5555
- -u 554f
-
- xxxx:554F 32E4 XOR AH,AH
- xxxx:5551 0BE4 OR SP,SP
- xxxx:5553 EB05 JMP 555A
- xxxx:5555 9D POPF
- xxxx:5556 74AB JZ 5503 <---- jumps back to 1st INT 16
-
- Now patch this location with NOP's!!!!
-
- -e xxxx:5556 90 90
-
- This should fix the culprit once and for all.
-
- -w
-
- Once you have done this now comes the fun part of re-LINKing all
- of your programs.
-
- Ray Horton 9/8/86
-