RIO 2.15 Users Guide (Released 7/91 - see Change History for additions to version 2.15) Table of Contents Purpose . . . . . . . . . . . . . . . . 1 About Shareware. . . . . . . . . . . . . . 2 Shareware Registration . . . . . . . . . . . 2 Support . . . . . . . . . . . . . . . . 3 Association of Shareware Professionals . . . . . . 3 Distribution. . . . . . . . . . . . . . . 4 Loading RIO-TSR (memory-resident). . . . . . . . 5 HotKeys . . . . . . . . . . . . . . . . 5 Command-line switches. . . . . . . . . . . . 5 Running RIO (non-memory-resident). . . . . . . . 6 Configuration Files . . . . . . . . . . . . 6 Operation. . . . . . . . . . . . . . . . 7 File Reads & Writes . . . . . . . . . . . . 8 Failed DOS calls . . . . . . . . . . . . . 8 Hotkey Sound Effects . . . . . . . . . . . . 8 File Attributes. . . . . . . . . . . . . . 9 Change History . . . . . . . . . . . . . . 9 Credits . . . . . . . . . . . . . . . . 10 Contacting the Author. . . . . . . . . . . . 10 Example output - log file, default options. . . . . 11 Example output - log file, time-stamp turned on . . . 11 Appendix A - Interrupt $21 DOS functions logged . . . 12 Appendix B - Interrupt $21 Novell Netware functions. . 14 Appendix C - Known Incompatibilities. . . . . . . 15 Appendix D - Limited Warranty . . . . . . . . . 16 Appendix E - Order Form . . . . . . . . . . . 17 ÚÄSURGEON GENERAL'S WARNINGÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ ³ ³ RIO can cause your system to hang (it's not common, but it can ³ ³ happen), forcing you to reboot. If you find a way to ³ ³ consistently hang the program, please let the author know - it ³ ³ would help in eradicating the bug(s)! See Appendix C for a list ³ ³ of known incompabilities. ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ RIO 2.15 °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° Purpose RIO-TSR (Rock Input/Output) is a memory-resident program (takes about 80K) that logs all DOS disk I/O operations and other functions to a file for later study. It can be useful in debugging software and network problems by showing what DOS calls are made along with their results, without the need to delve into a program's source code. RIO-TSR is a memory-resident (TSR) program that logs DOS I/O operations & functions to a text file for later study. It's useful for debugging software and network problems by showing DOS calls & their results, without the need to delve into a program's source code. RIO is a non-TSR program which lets you browse the log file and change RIO-TSR's settings, for example to log only certain interrupts. The new version also logs Novell Netware & direct disk I/O calls. RIO is geared towards programmers, but advanced non-programmers may find it of use as well. For example, it's possible to detect problems in a program such as not closing a file without really understanding how interrupts work. But the more you understand about DOS interrupts the more you'll get out of RIO's reports. RIO can be useful in "reverse-engineering" how a program accomplishes certain tasks, or in decoding a data file format by listing the number of bytes read/written during each DOS call (see the section on File Reads & Writes). RIO can also point out inefficiencies in a program, for example if the program checks a file size fifty times, when it could have checked it once, stored it in a variable, and not wasted time accessing hte disk repeatedly. Note that RIO-TSR is normally loaded just during debugging periods, and is typically not installed all the time. If you intend to keep it installed all the time, keep it in mind as a suspect in case you have system glitches, and unload it if it becomes a problem. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ 1 RIO 2.15 °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° About Shareware Shareware is a distribution method, not a type of software. You should find software to suit your needs and pocketbook, whether it's commercial or Shareware. The Shareware system makes fitting your needs easier, because you can try before you buy, and lower overhead means lower prices. Shareware has the ultimate money-back guarantee: if you don't use the product, you don't pay for it! Shareware Registration RIO is distributed as a shareware program. You're encouraged to try the program prior to purchase, and to give copies to your friends and colleagues who you think may find it useful. However, the software is not free; if you decide to use RIO on a regular basis, please do the right thing and support the author. You'll help further the development of this software and gain the benefits of registration. The cost of registration is $25. Registered users will receive 5.25" or 3.5" disks (your choice of disk size) containing: * The latest version of RIO.EXE, RIO-TSR.EXE, and RIO.DOC * A scaled down version of RIO-TSR that saves about 30K when resident, but logs fewer types of interrupts * A printed and bound RIO manual * A set of public domain text files describing in detail the DOS and Novell interrupts - close to 500 pages of info if you print it out The $25 registration fee will license one copy for use on any one computer at any one time. Call for quantity purchases/site licenses. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ 2 RIO 2.15 °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° Support Rock will answer any questions about its products from registered users, or even from unregistered users who are thinking about registering. Writing via U.S. mail, or better yet, if you have a telephone modem, through electronic communication, is the best way of reaching us. However, telephone support is available if you lack modem access and need help right away. Rock may, at its discretion, limit total telephone support to 30 minutes per registered user. The software is sold on an "as is" basis, as described in the Limited Warranty section of the documentation, but we will try to correct any serious bugs (see the "Known Imcompatabilities" section of the documentation for a list of currently unresolved conflicts). Updates are available free through Rock's BBS, and major updates are also available from CompuServe. Registered users order an update disk through the mail for $5. If you're unhappy with your purchase, we'll refund the purchase price up to 90 days from the date of purchase. Association of Shareware Professionals _______ ____|__ | (r) Rock is a member of the --| | |------------------- Association of Shareware | ____|__ | Association of Professionals (ASP). ASP | | |_| Shareware wants to make sure that |__| o | Professionals the shareware principle -----| | |--------------------- works for you. If you |___|___| are unable to resolve a shareware-related problem with an ASP member by contacting the member directly, ASP may be able to help. The ASP Ombudsman can help you resolve a dispute or problem with an ASP member, but does not provide technical support for members' products. Please write to the ASP Ombudsman at 545 Grover Road, Muskegon, MI 49442 or send a CompuServe message via CompuServe Mail to ASP Ombudsman 70007,3536. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ 3 RIO 2.15 °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° Distribution As mentioned under "Shareware Registration", you are encouraged to pass a copy of RIO along to your friends for evaluation. Please encourage them to register their copy if they find that they can use it. If you make copies of RIO, you must include all files in the original distribution, including the documentation; you may not give RIO away altered or as part of another system. Anyone distributing RIO by mail for any kind of remuneration (except ASP vendors) should first contact Rock Systems at 101 N. Main #150-125, Ann Arbor MI 48104 for authorization. If you're recognized by the ASP as adhering to its guidelines for shareware distributors, then you do not need to contact Rock for distribution permission. Any BBS may distribute RIO. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ 4 RIO 2.15 °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° Loading RIO-TSR (memory-resident) To install, type RIO-TSR [filename] If you type just RIO-TSR, the log file defaults to C:\RIO. If the file already exists, you'll get the following prompt: C:>rio-tsr RIO-TSR 2.15 (7/91) - Rock I/O logger, (C) 1991 Rock File C:\RIO already exists; append, erase & overwrite, or cancel (a/e/c)? If you type A or E, the program will "go resident", operating in the background, and you'll be returned to the DOS prompt. If you type C, RIO-TSR will not go resident. HotKeys Certain aspects of RIO can be controlled by pressing hot keys after it has gone resident. The following table lists the hot keys: LeftShift-RightShift-L Toggle logging LeftShift-RightShift-C Clear log file LeftShift-RightShift-U Unload TSR When logging is off, no further I/O operations will be logged until it is turned on again. If your system is slowed down with file accesses you're not interested in, you should turn logging off. After logging is resumed, new operations are appended to the existing log file. Command-line switches You can unload RIO-TSR or toggle logging by using running RIO-TSR with command-line switches. Type "RIO-TSR /U" to unload the program, or "RIO-TSR /L" to toggle the logging on or off. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ 5 RIO 2.15 °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° Running RIO (non-memory-resident) RIO allows you to turn on or off logging of particular interrupts. After you load RIO-TSR, run RIO, and it will provide a full-screen program with pulldown menus. Command keys (such as up and down arrow) are listed at the bottom of the screen, and if you've used pull-down menus before, the program's menu selections should be fairly self-explanatory. Configuration Files Configuration files store the settings you choose in RIO (such as time-date stamp, or particular interrupt logging). You can save or load a configuration file's settings RIO's File menu. Two example configuration files are included, DEFAULTS.RIO and OPENONLY.RIO, which contain the default RIO-TSR settings, and settings to log just file opens, respectively. To use them, load RIO-TSR as usual, then load RIO, then choose "Load Config" from the File menu. Type in the full path and file name, such as "c:\rio\openonly.rio". You can create your own config files by adjusting the settings in RIO, then saving them with "Save Config" from the File menu. This allows you to create separate configuration files for debugging a network problem or for debugging a file creation problem. RIO has one optional command-line argument - a configuration file name. If a configuratino file is given, for example, "RIO OPENONLY.RIO", RIO loads the settings from the configuration file "OPENONLY.RIO", then halts. This allows a configuration file to be loaded from a batch file. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ 6 RIO 2.15 °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° Operation The log file created and repeatedly updated by RIO-TSR is a text file showing information about each DOS I/O call. It lists the call number, its operation, input and output from the call, the time, and/or the date, according to the settings, which are adjustable from the program RIO.EXE. The following are taken from a sample log file: ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄ¿ ³Operation ³Information sent -> returned ³Time ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÙ Get Break Flag -> Off 16:16:21.16 Set Break Flag Off 16:16:21.16 Open (Read-only) C:\COLORS.RIR -> Handle 5 16:16:21.55 Close File Handle 5 16:16:21.55 The -> symbol in the "Information sent -> returned" column means that the information was returned from teh call. A "get" call typically just returns information, while a "set" call typically just sends information to the interrupt procedure. In the case of the "Open (Read-only)" call, a file name is sent to the interrupt, and a handle number is returned. Each opened file is assigned a handle number, and subsequent calls relating to the file will use that handle number (as in the next call, Close File). The maximum handle number can be set by the "FILES=" command in a config.sys file, for example "FILES=20" means up to 20 handles may be assigned at the same time. Note that RIO-TSR does not log its own I/O operations. RIO, the non-TSR program, will cause some operations to be logged. RIO-TSR will put a special message in the log file if it is unable to log all the information. RIO-TSR uses a memory buffer to hold log information until it is safe to write it to disk. If the buffer overflows before it can be logged, the log file will contain a line indicating how many lines were lost. RIO-TSR will also put a line in if the same interrupt is called repeatedly, for example if "Find Next File" is called 100 times, it will list the first three calls, then say "call repeated 97 more times." The number of calls to list before saying it was repeated is adjustable from RIO. For the technically minded, Appendices A & B list the interrupt $21 functions that can be logged. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ 7 RIO 2.15 °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° File Reads & Writes File Read/Write calls (Interrupt $21, finctions $3F and $40) are by default not logged, because some programs call these functions a *lot*, and the results generally aren't that interesting. However, you can have these functions logged by turning them on from RIO's "Interrupts" menu. Logging these interrupts can be very useful in trying to decode an unknown file format that a program uses. If the program writes each field with a separate call, you can see exactly how many bytes it writes per call. As a simple example, if a database program keeps writing 4 bytes, 1 byte, 2 bytes, and keeps repeating this sequence, it's indicative that it's writing fields of those lengths (perhaps a date, followed by a boolean value, followed by an integer). File headers, the initial area of data files, are often written and read one variable at a time. Failed DOS calls Unsuccessful or "failed" DOS calls are usually listed with the the error code they return. Note that a DOS call returning an error does *not* indicate a program bug. For example, to determine if a file exists, many programs try opening the file, and if it fails, it knows it doesn't exist. As long as the program you're running realizes when DOS reports an error, rather than trying to write to a file it never successfully opened, then the program should work fine. Hotkey Sound Effects RIO plays sound effects when it issues functions called by hotkeys. When logging is toggled, "on" is denoted by a rising scale of tones, "off" by a falling scale. Clearing the file results in a muddy warbling sound, and successfully unloading RIO-TSR results in the first few notes of Taps being played. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ 8 RIO 2.15 °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° File Attributes Get Attr, Set Attr, and some other file-related calls are followed by attribute codes given in brackets, for example "[RHSVDA]". A sample line from a log file would be: Find First File [RHS DA] C:\*.* -> . This means the Find First File is looking for a file with any attributes other than the Volume attribute, and the "." directory entry was returned. The codes within brackets stand for the following attributes: R - Read only H - Hidden S - System V - Volume D - Directory A - Archive Change History Version 2.0 The logging of each function was made configurable, so the logging of particular Int $21 functions can be turned on or off. Features such as time/date stamping, or logging of interrupt function numbers, can be turned on or off. Netware function logging was also added. These options are selectable from a separate non-TSR program which communicates with RIO-TSR, so that this larger program won't hog your system RAM while you're running RIO-TSR. Also, this version of RIO-TSR can be unloaded. Version 2.15 Added ability to save and load configuration files from the non-TSR program RIO. Configuration files can be loaded either by RIO's menu selection or from RIO's command-line switch. Version 2.15 Fixed two bugs: didn't log file reads and writes, and didn't log all failed calls. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ 9 RIO 2.15 °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° Credits RIO-TSR is based on the public domain IOLOG 1.0 (12/88) by Kim Kokkonen of TurboPower Software, and uses TurboPower's (excellent!) Object Professional toolkit for Turbo Pascal. Mr. Kokkonen credits Don Pearsall for IOLOG's inspiration. IOLOG provides much less information (it logs around a dozen interrupts), and is not as configurable, but it is public domain, and the source code is included with Object Professional. The user interface for RIO also makes use of Object Professional's menu and window routines. If you're into Turbo Pascal, their software and support comes highly recommended. Contacting Rock See the section "Shareware Registration" and the order form at the end of this document for information on registering your copy of RIO (basic idea: $25 + $2 s/h). We appreciate any suggestions, bug reports, and other constructive criticism. Bug reports are of the utmost interest! Even if you have not registered the product, your feedback is valued; what would make you want to pay for it? E-Mail (electronic mail) is the preferred method of communication. Failing that, regular ("snail") mail can be used. If you leave a message on our answering machine, long distance calls may be returned as collect calls from Rock Systems. If you want written information on current products, just leave your address. Electronic mail (e-mail) can be sent to CompuServe account [71270,146], or to "Rob Argy" on the DBK/Rock Bulletin Board System, a tech support system at (313) 662-9160 (2400 Baud, None, 8, 1). Anybody can call the DBK/Rock BBS, and there's no waiting period to download files; all of Rock's other programs are there, in addition to a lot of other files. Rock's current mailing address is: Rock Systems 101 N. Main St., Suite 150-125 Ann Arbor, MI 48104 Rock's current phone number is (313) 971-9123; it may change in '91 or '92, but the address should stay the same for quite a while, and registered users will be informed of changes. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ 10 RIO 2.15 °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° Example output - log file, default options ÚÄÄÄÂÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³In#³Fn#³Operation ³Information sent -> returned ³ ÀÄÄÄÁÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ $21 $4E Find First File [RHS ] D:\B\RIR.EXE -> RIR.EXE $21 $47 Get Current Dir Drive 4 -> $21 $29 Parse File Name /W $21 $29 Parse File Name $21 $35 Get Intr Vector Int $00 -> $19B3:0898 $21 $35 Get Intr Vector Int $02 -> $18E5:0016 $21 $35 Get Intr Vector Int $1B -> $0070:07F5 < call repeated 15 more times > $21 $25 Set Intr Vector Int $00 to $432C:00CE $21 $30 Get DOS Version -> 4.0 (OEM #255) $21 $38 Get Country Data -> United States $21 $33 Get Break Flag -> Off $21 $33 Set Break Flag Off $21 $25 Set Intr Vector Int $1B to $4176:0731 $21 $3D Open (Read-only) C:\COLORS.RIR -> Handle 5 $21 $42 Seek Relative Hndl 5, 0 bytes->(get pos) at byte 0 $21 $42 Seek From End Hndl 5, 0 bytes->(get size) 395 bytes $21 $42 Seek From Start Handle 5, 0 bytes->to byte 0 $21 $3E Close File Handle 5 $21 $2C Get System Time -> 00:15:30.38 $21 $19 Get Current Disk -> Physical drive C: Example output - log file, time-stamp turned on ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄ¿ ³Operation ³Information sent -> returned ³Time ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÙ Get DOS Version -> 4.0 (OEM #255) 16:16:21.16 Get Country Data -> United States 16:16:21.16 Get Break Flag -> Off 16:16:21.16 Set Break Flag Off 16:16:21.16 Set Intr Vector Int $1B to $5C65:0731 16:16:21.16 Open (Read-only) C:\COLORS.RIR -> Handle 5 16:16:21.55 Seek Relative Hndl 5, 0 bytes->(get pos) at byte 0 16:16:21.55 Seek From End Hndl 5, 0 bytes->(get size) 95 bytes 16:16:21.55 Seek From Start Handle 5, 0 bytes->to byte 0 16:16:21.55 Close File Handle 5 16:16:21.55 Get System Time -> 16:16:21.60 16:16:21.60 Get Current Disk -> Physical drive C: 16:16:21.60 Findfile [RH D ] D:\B\T.??? 16:16:21.65 ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ 11 RIO 2.15 °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° Appendix A - Interrupt $21 DOS functions logged Int $21 DOS functions $01 Read, Echo Keyboard $03 Auxiliary Input $04 Auxiliary Output $05 Print Character $06 Direct Console I/O $07 Direct Console Inp. $08 Read Kybrd w/o Echo $09 Display String $0A Buffered Kybd Input $0B Check Kybrd Status $0C Flush & read kybrd $0D Reset Disk $0E Select Disk $0F FCB Open File $10 FCB Close File $11 FCB Find First $12 FCB Find Next $13 FCB Delete File $14 FCB Seq. Read $15 FCB Seq. Write $16 FCB Create File $17 FCB Rename File $18 Reservd DOS Fnc $18 $19 Get Current Disk $1A Set Disk X-fer Addr $1B Get Def. Drive Data $1C Get Drive Data $1D Reservd DOS Fnc $1D $1E Reservd DOS Fnc $1E $1F Get Def Param Block $20 Reservd DOS Fnc $20 $21 FCB Random Read $22 FCB Random Write $23 FCB Get File Size $24 FCB Set Rel. Record $25 Set Intr Vector $26 Create New Prog Seg $27 FCB Rndm Block Read $28 FCB Rndm Blck Write $29 Parse File Name $2A Get System Date $2B Set System Date $2C Get System Time $2D Set System Time $2E (Re)set Verify Flag ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ 12 RIO 2.15 °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° $2F Get Disk X-fer Addr $30 Get DOS Version $32 Get Disk's DPB Ptr $33 Break Flag/Boot Drv $34 Get DOS Busy Flag $35 Get Intr Vector $36 Get Free Diskspace $37 Get/Set Switch Char $38 Get/Set Country $39 Create Directory $3A Remove Directory $3B Change Directory $3C Create File $3D Open File $3E Close File $3F Read File $40 Write File $41 Delete File $42 Seek File $43 Get/Set Attributes $44 IOC (I/O Control) $45 Duplicate Handle $46 Force Dup Handle $47 Get Current Dir $48 Allocate Mem Block $49 Release Mem Block $4A Resize Memory Block $4D Get Return Code $4E Find First File $4F Find Next File $50 Set PSP Segment $51 Get PSP Seg (buggy) $52 Get DOS Variables $53 Translate BPB $54 Get Verify Flag $55 Duplicate PSP Block $56 Rename File $57 Get/Set File Date $58 Get/Set Alloc Strat $59 Get Ext Error Info $5A Create Temp File $5B Create New File $5C Lock/Unlock File $5D Internal DOS Functn $5E Mach Name/Prn Setup $5F Assignment Entry $60 Qualify Path String $61 Reservd DOS Fnc $61 $62 Get PSP Address ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ 13 RIO 2.15 °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° $63 Get DBCS,G/Set Cons $64 Reservd DOS Fnc $64 $65 Get Ext Country Inf $66 Get/Set Code Page $67 Set Handle Count $68 Commit File $69 Reservd DOS Fnc $69 $6A Reservd DOS Fnc $6A $6B Reservd DOS Fnc $6B $6C Extended File Open Appendix B - Interrupt $21 Novell Netware functions Int $21 Novell Netware FCB functions $BF NW FCB LOG Record $C0 NW FCB Release Rcrd $C1 NW FCB Clear Record $CA NW FCB Log Prs File $CC NW FCB Release File $CE NW FCB Clear File $E4 NW FCB Set Attribs $E5 NW FCB Set FileSize $E6 NW FCB Copy File $E8 NW FCB St Reopn Mde Int $21 Novell Netware other functions $B6 NW Ext File Attribs $D7 NW System Logout $B8 NWAdv Print Jobs $DA NW Get Volume Stats $BB NW Set EOJob Status $DB NW Get Local Drives $BC NW LOG Phys Record $DC NW Get Station Num. $BD NW Release Phys Rec $DD NW Set Error Mode $BE NW Clear Phys Recrd $DE NW Set Brodcst Mode $C2 NW Lock Phys Rc Set $DF NW Capture $C3 NW Rels Phys Rc Set $E0 NW Print Spooling $C4 NW Clr Phys Rec Set $E1 NW Broadcast Msgs $C5 NW Semaphores $E2 NW Directory Fnctns $C6 NW G/Set Lock Mode $E3 NW Connection Ctrl $C7 NW TTS $E7 NW G/Set Srvr Tm&Dt $C8 NW Begin File Lock $E9 NW Get Base Status $C9 NW End File Locking $EA NW Get Shell Versn. $CB NW LOCK File Set $EB NW Log File $CD NW Release File Set $EC NW Release File $CF NW Clear File Set $ED NW Clear File $D0 NW LOG Record $EE NW Get Phys Station $D1 NW LOCK Record Set $EF NWAdv Get Drive Inf $D2 NW Release Record $F0 NWAdv Connection ID $D3 NW Release Recd Set $F1 NWAdv Srvr Connectn $D4 NW Clear Record $F2 NW Unknown Function $D4 NW Clear Record $F3 NWAdv Srvr FileCopy $D5 NW Clear Recrd Set $D6 NW End Of Job ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ 14 RIO 2.15 °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° Appendix C - Known Incompatibilities Rock tries to overcome incompatibilities, but some still exist. Quarterdeck's QEMM - We have had two reports of a "QEMM Protection Error 13" with users who run QEMM. Unfortunately we cannot reproduce this error with our copy of QEMM, and Quarterdeck's technical support gave no suggested causes of the error message. User suggestions in this matter are welcome! Microsoft Windows 3.0 - If RIO is installed when Microsoft Windows is started, it causes Windows to halt loading. If logging is turned off, Windows will load, but will hang when you try to exit Windows. You can run RIO in a DOS shell from Windows, but it must be uninstalled before you return to Windows. Microsoft does not officially sanction TSR's for use with Windows, so this incompatibility will probably not be resolved. Norton Commander - A user reports that RIO freezes their system when Norton Commander is loaded. The cause remains unknown, but we'll investigate further when we have access to Norton Commander. J.P. Software's 4DOS - While generally compatible, certain configurations with expanded memory-swapping cause RIO to not log any interrupts when certain programs are run. It will not hang the system, and logging resumes when a non-logged program is terminated. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ 15 RIO 2.15 °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° Appendix D - Limited Warranty (the "please don't sue me!" clause) RIO is a product of Rock, Ann Arbor, MI. The programs contained in this package are provided "as is" without warranty of any kind, express or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The entire risk related to the quality and performance of the programs is on you. In the event there is any defect, you assume the entire cost of all needed servicing, repair, or correction. Some states do not allow the exclusion of implied warranties, so the above exclusion may not apply to you. This warranty gives you specific legal rights, and you may have other rights which vary from state to state. Rock does not warrant that the functions contained in the programs will meet your requirements or that the operation of the programs will be uninterrupted or error-free. In no event shall Rock be liable to you for any damages (including lost profits, lost savings, or other incidental or consequential damages arising out of the use of or inability to use such programs even if Rock has been advised of the possibility of such damages) or for any claim by any other party. Some states do not allow the limitation or exclusion of liability for incidental or consequential damages so the above limitation or exclusion may not apply to you. This agreement constitutes the complete and exclusive statement of the terms of the agreement between you and Rock, superseding and replacing any previous written or oral agreements or communications relating to this software. No oral or written information or advice given by Rock, its distributors, agents or employees shall in any way increase the scope of the warranty described here. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ 16 RIO 2.15 °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° Appendix E - RIO 2.15 Order And Registration Form Name: _______________________________________ Address: _______________________________________ _______________________________________ City: _______________________________________ State: ________________________ Zip: _________ Item Quantity Total ------------------------------------------------------------ | RIO Registration ($25 each)_______________________|_________ | Disk update for registered users ($5 each)________|_________ | Shipping Charges U.S./Canada : $ 2.00 | Elsewhere : $ 5.00 | | Total Shipping Charges____________________________|_________ | ------------------------------------------------------------ | Total Due: |_________ Preferred Disk Size (circle one): 3.5" 5.25" Where did you get a copy of RIO? ___________________________ Do you use a modem with your PC? ___________________________ Your DOS level: Beginner Intermediate Advanced Hacker Have you tried other Rock software? ________________________ Mail completed form to: Rock Systems 101 N. Main St., Suite 150-125 Ann Arbor, MI 48104 *** Checks should be payable to "Rock Systems" *** Thanks a lot for your support!!! ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ 17