ralf@b.gp.cs.cmu.edu (Ralf Brown) (10/08/89)
Apply these diffs to the file INTERRUP.B from your copy of INTER489. ---cut---cut---cut--- [also trim .signature] 13a14,15 > > Note: supported in OS/2 compatibility box 16,18c18,22 < This interrupt is called from the DOS output routines if output is going to < a device rather than a file, and the device driver's attribute word has < bit 3 (04h) set to "1". --- > AL = character to display > Return: nothing??? > Note: This interrupt is called from the DOS output routines if output is > going to a device rather than a file, and the device driver's attribute > word has bit 3 (04h) set to "1". 123c127,135 < INT 2F - Multiplex - PRINT (DOS 3.1+) - GIVE PRINT A TIME SLICE --- > INT 2F - Multiplex - DOS 2.x PRINT.COM - ??? > AH = 00h > ??? > Return: ??? > Notes: DOS 2.x PRINT.COM does not chain to previous INT 2F handler > values in AH other than 00h or 01h cause PRINT to return the number of > files in the queue in AH > --------------------------------------------- > INT 2F - Multiplex - DOS 3.1+ PRINT.COM - GIVE PRINT A TIME SLICE 127c139,147 < INT 2F - Multiplex - PRINT - INSTALLATION CHECK --- > INT 2F - Multiplex - DOS 2.x PRINT.COM - ??? > AH = 01h > ??? > Return: ??? > Notes: DOS 2.x PRINT.COM does not chain to previous INT 2F handler > values in AH other than 00h or 01h cause PRINT to return the number of > files in the queue in AH > --------------------------------------------- > INT 2F - Multiplex - DOS 3+ PRINT.COM - INSTALLATION CHECK 134c154 < INT 2F - Multiplex - PRINT - SUBMIT FILE --- > INT 2F - Multiplex - DOS 3+ PRINT.COM - SUBMIT FILE 138a159,161 > CF clear if successful > AL = 01h added to queue > 9Eh now printing 145c168 < INT 2F - Multiplex - PRINT - REMOVE FILE --- > INT 2F - Multiplex - DOS 3+ PRINT.COM - REMOVE FILE 151c174 < INT 2F - Multiplex - PRINT - REMOVE ALL FILES --- > INT 2F - Multiplex - DOS 3+ PRINT.COM - REMOVE ALL FILES 156c179 < INT 2F - Multiplex - PRINT - HOLD QUEUE/GET STATUS --- > INT 2F - Multiplex - DOS 3+ PRINT.COM - HOLD QUEUE/GET STATUS 173c196 < INT 2F - Multiplex - PRINT - RESTART QUEUE --- > INT 2F - Multiplex - DOS 3+ PRINT.COM - RESTART QUEUE 222a246 > SeeAlso: INT 24 233c257,258 < of the default error action --- > of the default error message > SeeAlso: INT 24 266a292 > SeeAlso: INT 21/AH=52h 279a306 > SeeAlso: INT 21/AH=3Ah 285a313 > SeeAlso: INT 21/AH=39h 295a324 > SeeAlso: INT 21/AH=3Eh 320a350 > SeeAlso: INT 21/AH=5Ch 330a361 > SeeAlso: INT 21/AH=5Ch 338a370 > SeeAlso: INT 21/AH=36h 354a387 > SeeAlso: INT 21/AH=56h 359a393 > SeeAlso: INT 21/AH=41h 386a421 > SeeAlso: INT 21/AH=4Eh 391a427 > SeeAlso: INT 21/AH=4Fh 434a471 > SeeAlso: INT 21/AH=42h 472a510 > SeeAlso: INT 21/AH=3Eh 499a538 > SeeAlso: INT 24 552a592 > SeeAlso: INT 21/AH=0Dh 676c716 < INT 2F - Multiplex - DOS 3+ internal - ??? --- > INT 2F - Multiplex - DOS 3+ internal - QUALIFY FILE NAME 678,680c718,722 < DS:SI -> ??? < Return: ??? < Note: can be called only from within DOS --- > DS:SI -> file name to be fully qualified > ES:DI -> 80-byte buffer for resulting fully-qualified file name > Return: (see INT 21/AH=60h) > Notes: can be called only from within DOS > identical to INT 21/AH=60h 690c732 < Note: can be called only from within DOS --- > Note: can be called only from within DOS 696c738 < Note: can be called only from within DOS --- > Note: can be called only from within DOS 701c743 < Note: can be called only from within DOS --- > Note: can be called only from within DOS 708c750 < INT 2F - Multiplex - DOS 3.3+ internal - ??? --- > INT 2F - Multiplex - DOS 3.3+ internal - OPEN FILE 710,712c752,755 < CL = ??? < Return: ??? < Note: can be called only from within DOS --- > CL = access mode > DS:DX -> ASCIZ filename > Return: (see INT 21/AH=3Dh) > Note: can be called only from within DOS 714c757 < INT 2F - Multiplex - DOS 3.3+ internal - GET SYSTEM FILE TABLE FOR FILE??? --- > INT 2F - Multiplex - DOS 3.3+ internal - CLOSE FILE 719c762,763 < Note: can be called only from within DOS --- > Notes: can be called only from within DOS > same action as INT 21/AH=3Eh 721c765 < INT 2F - Multiplex - DOS 3.3+ internal - ??? --- > INT 2F - Multiplex - DOS 3.3+ internal - MOVE FILE POINTER 723c767,769 < BP = ??? --- > BP = 4200h, 4201h, 4202h (see INT 21/AH=42h) > BX = file handle > CX:DX = offset in bytes 725c771,772 < Note: can be called only from within DOS --- > Notes: can be called only from within DOS > switches critical error stack, moves BP to AX, and calls INT 21/AH=42h 729a777 > ??? 731c779,781 < Note: can be called only from within DOS --- > Notes: can be called only from within DOS > according to Wes Cowley, this actually does the same thing as > INT 21/AH=3Fh 739c789 < INT 2F - Multiplex - DOS 3.3+ internal - ??? --- > INT 2F - Multiplex - DOS 3.3+ internal - IOCTL??? 745c795,796 < Note: can be called only from within DOS --- > Notes: can be called only from within DOS > switches critical error stack, moves BP to AX, and calls IOCTL 751c802 < INT 2F - Multiplex - DOS 3.3+ internal - ??? --- > INT 2F - Multiplex - DOS 3.3+ internal - GET EXTENDED ERROR CODE 753c804,805 < Return: AX = ??? (value of some flag or counter) --- > Return: AX = current extended error code > SeeAlso: INT 21/AH=59h 1254a1307,1334 > INT 2F - Multiplex - F-LOCK.EXE > AX = 4653h > CX = 0002h > BX = subfunction > 0000h installation check > Return: AX = FFFFh > 0001h uninstall > 0002h ??? > 0003h ??? > --------------------------------------------- > INT 2F - Multiplex - F-XCHK.EXE > AX = 4653h > CX = 0003h > BX = subfunction > 0000h installation check > Return: AX = FFFFh > 0001h uninstall > --------------------------------------------- > INT 2F - Multiplex - F-POPUP.EXE > AX = 4653h > CX = 0004h > BX = subfunction > 0000h installation check > Return: AX = FFFFh > 0001h uninstall > 0002h ??? > 0003h ??? > --------------------------------------------- 1412c1492 < INT 2F - Multiplex - Novell NetWare - INSTALLATION CHECK --- > INT 2F - Multiplex - Novell NetWare - LOW-LEVEL API (IPX) INSTALLATION CHECK 1417c1497 < through INT 21h --- > through INT 7Ah 1443a1524,1529 > INT 2F - Multiplex - RAID - ??? > AH = 90h > ??? > Return: ??? > Note: RAID is a TSR utility program that resides mostly in EMS > --------------------------------------------- 1622c1708 < Notes: files needed for an event must be kept until task is complete or error --- > Note: files needed for an event must be kept until task is complete or error 2287c2373 < 04h WORD segment of environment to use for child process --- > 04h WORD segment of environment for child process (see INT 21/AH=26h) 2293,2295c2379,2381 < Notes: ANARKEY.COM is a commandline recall program by Steven Calwas < E3h is the default function number, but can be set to any value from < C0h to FFh. --- > Notes: ANARKEY.COM is a commandline recall program by Steven Calwas > E3h is the default function number, but can be set to any value from > C0h to FFh. 2335a2422,2424 > Note: to use mouse on a Hercules-compatible monographics card in graphics > mode, you must first set 0040h:0049h to 6 for page 0 or 5 for page 1, > and then call this function. 2427,2428c2516,2517 < Notes: a mickey is the smallest increment the mouse can sense < positive values indicate down/right --- > Notes: a mickey is the smallest increment the mouse can sense > positive values indicate down/right 2441,2450c2530,2539 < Note: when the subroutine is called, it is passed the following values: < AX = condition mask (same bit assignments as call mask) < BX = button state < CX = cursor column < DX = cursor row < SI = horizontal mickey count < DI = vertical mickey count < Note: some versions of the Microsoft documentation incorrectly state that CX < bit 0 means call if mouse cursor moves, and swap the meanings of SI and < DI --- > Notes: when the subroutine is called, it is passed the following values: > AX = condition mask (same bit assignments as call mask) > BX = button state > CX = cursor column > DX = cursor row > SI = horizontal mickey count > DI = vertical mickey count > some versions of the Microsoft documentation incorrectly state that CX > bit 0 means call if mouse cursor moves, and swap the meanings of SI > and DI 2546c2635,2642 < ??? --- > BX = rate > 00h no interrupts allowed > 01h 30 per second > 02h 50 per second > 03h 100 per second > 04h 200 per second > Notes: only available on InPort mouse > values greater than 4 may cause unpredictable driver behavior 2579c2675,2686 < ??? --- > BX = language > 0 English > 1 French > 2 Dutch > 3 German > 4 Swedish > 5 Finnish > 6 Spanish > 7 Portugese > 8 Italian > Note: only available on internation version of the driver, US versions ignore > this call 2583c2690,2691 < Return: ??? --- > Return: BX = language (see AX=0022h) > Note: the US version of the driver always returns zero 2671a2780 > SeeAlso: INT 63 2673c2782,2787 < INT 41 - FIXED DISK PARAMETERS (XT,AT,XT2,XT286,PS except ESDI disks) --- > INT 40 - Z100 - Master 8259 - Parity error or S100 error > --------------------------------------------- > INT 41 - (NOT a vector!) FIXED DISK PARAMS (XT,AT,XT2,XT286,PS except ESDI) > SeeAlso: INT 1E > > Format of fixed disk parameters: 2693a2808,2809 > INT 41 - Z100 - Master 8259 - Processor Swap > --------------------------------------------- 2696c2812 < INT 42 - Z100 - ??? --- > INT 42 - Z100 - Master 8259 - Timer 2699a2816,2818 > INT 43 - Z100 - Master 8259 - Slave 8259 input > Note: slave runs in special fully nested mode > --------------------------------------------- 2704c2823 < INT 44 - Z100 - ??? --- > INT 44 - Z100 - Master 8259 - Serial A 2706c2825 < INT 45 - Z100 - ??? --- > INT 45 - Z100 - Master 8259 - Serial B 2710c2829 < INT 46 - Z100 - ??? --- > INT 46 - Z100 - Master 8259 - Keyboard, Retrace, and Light Pen 2712c2831 < INT 47 - reserved --- > INT 47 - Z100 - Master 8259 - Printer 2715a2835,2836 > INT 48 - Z100 - Slave 8259 - S100 vectored line 0 > --------------------------------------------- 2716a2838,2844 > > Format of translation table: > Offset Size Description > 00h BYTE number of nonkeyboard scancodes in the table > 01h N WORDs high byte 00h (NUL) byte scancode with low order byte > representing the scancode mapped values relative to their > input values within the range of 56h through 7Eh 2717a2846,2847 > INT 49 - Z100 - Slave 8259 - S100 vectored line 1 > --------------------------------------------- 2721c2851 < INT 4B - reserved --- > INT 4A - Z100 - Slave 8259 - S100 vectored line 2 2723c2853 < INT 4C - reserved --- > INT 4B - Z100 - Slave 8259 - S100 vectored line 3 2725c2855 < INT 4D - reserved --- > INT 4C - Z100 - Slave 8259 - S100 vectored line 4 2727c2857 < INT 4E - reserved --- > INT 4D - Z100 - Slave 8259 - S100 vectored line 5 2729c2859,2860 < INT 4F - reserved --- > INT 4E - TI Professional PC - DISK I/O > used instead of INT 13 on the TI Professional PC 2730a2862,2865 > INT 4E - Z100 - Slave 8259 - S100 vectored line 6 > --------------------------------------------- > INT 4F - Z100 - Slave 8259 - S100 vectored line 7 > --------------------------------------------- 3096a3232,3233 > Note: some floppy controller BIOSes seem to hook INT 40 and place the old > value here (more details to come, I hope) 3100a3238,3280 > INT 64 - Extended Batch Language v3.14 > AH = function > 00h to 5Fh chained to previous handler > 60h to 6Dh reserved, return immediately > 80h to FFh chained to previous handler > 6Eh clear ??? counter/flag > 6Fh return counter/flag that AH=6Eh clears > 70h ??? > AL = ??? > 71h ??? > AL = ??? > 72h ??? > 73h insert byte at end of keyboard buffer > AL = byte to insert > 74h insert byte at front of keyboard buffer > AL = byte to insert > 75h ??? > 76h get keyboard "stack" status > AL = 'K' if kbd read will read physical keyboard > 'S' if it will read EBL internal keyboard buffer > AH = ??? > 77h clear internal keyboard buffer > 78h ??? > AL = ??? > 79h ??? > 7Ah ??? > AL = ??? > 7Bh ??? > AL = ??? > 7Ch ??? > AL = ??? > 7Dh ??? > AL = ??? > 7Eh clear buffer for ??? > 7Fh installation check > Return: CX = version in BCD > DI = segment of ??? > BX = segment of next program's PSP??? > Notes: Extended Batch Language is a batch-file enhancer by Seaware > the chaining does not check whether the interrupt had been hooked > before, so if you try to chain when the previous vector was > 0000h:0000h, you'll be in trouble > --------------------------------------------- 3670c3850 < entry point --- > entry point 3678c3858 < with this call before terminating --- > with this call before terminating 3680c3860 < entry point --- > entry point 3730,3732c3910,3912 < interrupt mappings. The client may not change the mappings if they < have already been changed by the server or another client, and is < responsible for restoring the original mappings before terminating. --- > interrupt mappings. The client may not change the mappings if they > have already been changed by the server or another client, and is > responsible for restoring the original mappings before terminating. 4333c4513 < assembler --- > assembler 4888a5069 > ??? 4890a5072 > ??? 4893c5075,5088 < ??? = function --- > DS:DX -> 38-byte parameter record (see below) > Return: return code field set > Note: Btrieve sets low byte of vector to 33h; this serves as the installation > check > > Format of Btrieve parameter record: > Offset Size Description > 00h DWORD pointer to data buffer > 04h WORD data buffer length > 06h DWORD pointer to 90-byte record containing positioning info > (should be same for all calls for same file) > 0Ah DWORD pointer to 38-byte FCB info buffer > (should be same for all calls for same file) > 0Eh WORD function code 4923,4925c5118,5212 < Return: ??? < Note: Btrieve sets low byte of vector to 33h; this serves as the installation < check --- > 1Dh set owner > 1Eh clear owner > 1Fh create supplemental index > 20h drop supplemental index > 21h step first > 22h step last > 23h step next > 31h ??? > 37h ??? > 38h ??? > 39h ??? > 3Ah ??? > 3Bh ??? > 3Ch ??? > 3Dh ??? > 3Eh ??? > 3Fh ??? > adding 100 (64h) or 200 (C8h) appears to result in the same > functions with modified behavior > 10h DWORD pointer to file name/key buffer > 14h BYTE key length > 15h BYTE key number > 16h DWORD pointer to status code > status codes: > 00h successful > 01h invalid operation > 02h I/O error > 03h file not open > 04h key value not found > 05h duplicate key value > 06h invalid key number > 07h different key number > 08h invalid positioning > 09h end of file > 0Ah modifiable key value error > 0Bh invalid file name > 0Ch file not found > 0Dh extended file error > 0Eh pre-image open error > 0Fh pre-image I/O error > 10h expansion error > 11h close error > 12h disk full > 13h unrecoverable error > 14h record manager inactive > 15h key buffer too short > 16h data buffer length overrun > 17h position block length > 18h page size error > 19h create I/O error > 1Ah number of keys > 1Bh invalid key position > 1Ch invalid record length > 1Dh invalid key length > 1Eh not a Btrieve file > 1Fh file already extended > 20h extended I/O error > 22h invalid extension name > 23h directory error > 24h transaction error > 25h transaction is active > 26h transaction control file I/O error > 27h end/abort transaction error > 28h transaction max files > 29h operation not allowed > 2Ah incomplete accelerated access > 2Bh invalid record address > 2Ch null key path > 2Dh inconsistent key flags > 2Eh access to file denied > 2Fh maximum open files > 30h invalid alternate sequence definition > 31h key type error > 32h owner already set > 33h invalid owner > 34h error writing cache > 35h invalid interface > 36h variable page error > 37h autoincrement error > 38h incomplete index > 39h expanded memory error > 3Ah compression buffer too short > 3Bh file already exists > 50h conflict > 51h lock error > 52h lost position > 53h read outside transaction > 54h record in use > 55h file in use > 56h file table full > 57h handle table full > 58h incompatible open mode > 5Dh incompatible lock type > 5Eh permission error > 1Ah WORD interface code (version specific) 4927c5214,5215 < INT 7C - not used --- > INT 7C - IBM REXX88PC command language > ??? 4934c5222,5224 < ??? --- > AX = function > 0105h get entry points > Return: CX:DX -> array of FAR pointers to entry points 4935a5226,5390 > INT 7F - Halo88 - API > BX = function > 64h arc > 65h bar > 66h box > 67h circle > 68h clr > 69h default hatch style > 6Ah default line style > 6Bh delhcur > 6Ch delln / deltcur > 6Dh ellipse > 6Eh fill > 6Fh flood > 70h flood2 > 71h init graphics > 72h init hcur > 73h init marker > 74h init tcur > 75h inqarc > 76h inqbknd > 77h inqclr > 78h inqerr > 79h inqgcur > 7Ah inqhcur > 7Bh inqmarker > 7Dh inqtcur > 7Eh inqtext > 7Fh lnabs > 80h lnrel > 81h markerabs > 82h markerrel > 83h moveabs > 84h movehcurabs > 85h movehcurrel > 86h moverel > 87h movetcurabs > 88h movetcurrel > 89h movefrom > 8Ah moveto > 8Bh pie > 8Ch polylnabs > 8Dh polylnrel > 8Eh ptabs > 8Fh ptrel > 91h setasp > 92h set color > 93h set font > 94h set hatch style > 95h set line style > 97h settext > 98h set text color > 99h btext > 9Ah setseg > 9Bh display > 9Ch setscreen > 9Eh close graphics > 9Fh ftinit > A0h ftlocate > A1h ftext > A5h set viewport > A6h set window > A7h set world > AAh ftcolor > ACh initlp > ADh inqasp > AEh inqdev > AFh inqdisplay > B0h inqft > B1h inqftcolor > B2h inqinterlace > B3h inqlpa > B4h inqlpg > B5h inqmode > B6h inqscreen > B7h inqversion > B8h roam > B9h scroll > BAh setieee > BBh set interlace > BCh shift > BDh start graphics > BEh vpan > CBh gwrite > CCh gread > CDh setxor > CEh rbox > CFh rcir > D0h rlnabs > D1h rlnrel > D2h delbox > D3h delcir > D5h setseg2 > DCh worldoff > DDh mapwtod > DEh mapdtow > DFh mapwton > E0h mapntow > E1h mapdton > E2h mapntod > E3h inqworld > E4h inqviewport > E5h set line width > E6h lnjoint > E7h set locator > E8h read locator > E9h setdev > EBh setstext > ECh setstclr > EDh setstang > EEh stext > EFh inqstext > F0h setdegree > F1h inqstsize > F2h polyfabs > F3h polyfrel > F4h inqdrange > F5h inqstang > F6h orglocator > F7h inqlocator > F8h inqarea > F9h setipal > FAh setborder > FBh inqcrange > FEh setclip > FFh fcir > 100h setcrange > 101h setdrange > 102h setlattr > 103h polycabs > 104h polycrel > 108h memcom > 109h memexp > 10Ah memmov > 10Eh movefx > 10Fh movetx > 110h inqrgb > 111h save image > 112h restore image > 113h setapal > 114h setxpal > 118h inqtsize > 12Eh gprint > 130h setprn > 131h setpattr > 133h setbattr > 135h pexpand > 136h ptnorm > 137h pfnorm > 13Bh inqprn > 13Ch lopen > 13Dh lclose > 13Eh lappend > 13Fh lrecord > 140h lswitch > 142h inqfun > 15Dh lsetup > 15Eh lrest > 15Fh lsave > additional parameters on stack > Return: ??? > Notes: Halo88 is a suite of graphics routines > according to Stuart Kemp, the code appears to make no provisions for > chaining > --------------------------------------------- 5029a5485,5486 > INT 80 - Q-PRO4 - ??? > --------------------------------------------- 5133c5590 < INT B0 - through BF - used by BASIC while in interpreter --- > INT B0 - used by BASIC while in interpreter 5134a5592,5621 > INT B1 - used by BASIC while in interpreter > --------------------------------------------- > INT B2 - used by BASIC while in interpreter > --------------------------------------------- > INT B3 - used by BASIC while in interpreter > --------------------------------------------- > INT B4 - used by BASIC while in interpreter > --------------------------------------------- > INT B5 - used by BASIC while in interpreter > --------------------------------------------- > INT B6 - used by BASIC while in interpreter > --------------------------------------------- > INT B7 - used by BASIC while in interpreter > --------------------------------------------- > INT B8 - used by BASIC while in interpreter > --------------------------------------------- > INT B9 - used by BASIC while in interpreter > --------------------------------------------- > INT BA - used by BASIC while in interpreter > --------------------------------------------- > INT BB - used by BASIC while in interpreter > --------------------------------------------- > INT BC - used by BASIC while in interpreter > --------------------------------------------- > INT BD - used by BASIC while in interpreter > --------------------------------------------- > INT BE - used by BASIC while in interpreter > --------------------------------------------- > INT BF - used by BASIC while in interpreter > --------------------------------------------- 5279c5766 < named INTER489: --- > named INTER589: 5292a5780 > CIS: >INTERNET:ralf@cs.cmu.edu is supposed to work ---cut---cut---cut--- [stupid linecounter fodder] [stupid linecounter fodder] [stupid linecounter fodder] [stupid linecounter fodder] [stupid linecounter fodder] [stupid linecounter fodder] [stupid linecounter fodder] [stupid linecounter fodder] [I hope that's enough fodder....] -- {backbone}!cs.cmu.edu!ralf ARPA: RALF@CS.CMU.EDU FIDO: Ralf Brown 1:129/46 BITnet: RALF%CS.CMU.EDU@CMUCCVMA AT&Tnet: (412)268-3053 (school) FAX: ask DISCLAIMER? |"Humor is laughing at what you haven't got when you ought to What's that?| have it." -- Langston Hughes