page 58,132 title INSTALL Copyright (c) 1986 COMPAQ Computer Corp. ;****************************************************************************** ; ; Name: INSTALL ; ; Group: PATCH ; ; Revision: 1.00 ; ; Date: June 26, 1986 ; ; Author: M P Vaughan ; S M Dawson 8/31/87 ; ;****************************************************************************** ; ; Changes: ; ; DATE REVISION DESCRIPTION ; -------- -------- ------------------------------------------------------ ; 06/26/86 1.00 Original. ; 8/31/87 1.1 Changed to fix up Int 10 Plasma ROM bug ; ;****************************************************************************** ; ; Functional Description: ; ; This module installs a terminate and stay resident routine for INT 9 ; to enable the featuere of toggling the underline feature for dual ; scan monitors and COMPAQ vdu controllers. ; ; ; RETURNS: ; AL = 00h Installation successful ; AL = 01h Installation failed ; ;****************************************************************************** ; ;****************************************************************************** ; ; Equates ; ;****************************************************************************** ; STANDARDOUT equ 01h CR equ 0Dh LF equ 0Ah DOS equ 21h ; page patch segment byte public 'PATCH' assume cs:patch,ds:patch ; ;****************************************************************************** ; ; Externals ; ;****************************************************************************** ; ; External routines ; extrn _new10:near ; New INT 10h entry point. ; ; External data ; extrn oldint:dword ; Old INT 10h interrupt vector ; page ;****************************************************************************** ; Install - install new INT10 routine ;****************************************************************************** ; public install ; install proc ; push ds push cs pop ds ; Save initial value of DS ; mov ax,3510h ; Get old interrupt vector int DOS ; mov word ptr [oldint],bx ; Save old offset, segment mov word ptr [oldint+2],es ; mov dx,offset _new10 ; Set new INT 15h interrupt mov ax,2510h int DOS pop ds ret ; Return to calling procedure install endp patch ends end install