summaryrefslogtreecommitdiff
path: root/v4.0/src/DEV/SMARTDRV/INT13.DOC
diff options
context:
space:
mode:
Diffstat (limited to 'v4.0/src/DEV/SMARTDRV/INT13.DOC')
-rw-r--r--v4.0/src/DEV/SMARTDRV/INT13.DOC369
1 files changed, 369 insertions, 0 deletions
diff --git a/v4.0/src/DEV/SMARTDRV/INT13.DOC b/v4.0/src/DEV/SMARTDRV/INT13.DOC
new file mode 100644
index 0000000..3e1917b
--- /dev/null
+++ b/v4.0/src/DEV/SMARTDRV/INT13.DOC
@@ -0,0 +1,369 @@
1mINT13.SYS is an MS-DOS device driver which implements a memory cache
2for data referenced on IBM-PC XT/AT Hard disks. It caches at the
3"INT 13H" level and caches tracks.
4
5NOTE WARNING: There is a "re-boot" bug in RAMDrive version 1.16. When
6 INT13 and RAMDrive are both installed, it is possible
7 that Ctrl-Alt-Del will not work. This problem is "fixed"
8 by updating your RAMDrive to version 1.17 or later.
9
10IN CONFIG.SYS:
11
12 device = [d:][path]int13.sys [bbbb] [/e | /a] [/d] [/wt:on] [/wc:off]
13 [/t:nnnnn] [/r:on] [/c:on]
14
15 bbbb First numeric argument, if present, is cache size
16 in K bytes. Default value is 256. Min is 128. Max
17 is 4096 (4 Meg).
18
19 /e Specifies that PC AT Extended Memory is to be used.
20 It is an error if /E is specified on a machine other
21 than an IBM PC AT. /E is the default.
22
23 NOTE: There is 1k of INT13 overhead. That is to say,
24 if there are 512k bytes of extended memory, there
25 will be 511k bytes available for assignment to INT13.
26
27 /a Specifies that Above Board memory is to be used. It
28 is an error if the above board device driver is not
29 present.
30
31 Neither /A or /E Specifies /E
32
33 NOTE: THESE ARE THE ONLY CONFIGURATIONS. You must either have an
34 Above Board (or compatible), or you must have extended memory
35 on an IBM PC-AT (or compatible).
36
37 /d Disable caching. Causes INT13 to come up with caching
38 disabled (default is enabled).
39
40 /wt:on Enable write through. When INT13 is
41 caching write information, it is a good idea to imply
42 a flush of the cache on some operations so that in
43 case of a crash or power failure the information in
44 the cache which is not on the disk will not be lost.
45 /wt:on enables write through on full track INT 13s which
46 are to tracks not currently in the cache. /wt:off
47 disables it. INT13 is faster with write through
48 disabled, at the expense of there being a bigger risk of
49 loosing data. /wt:on IS NOT a substitute for flushing
50 before a re-boot!!!! The write through mechanism is far
51 from perfect, all it is is a risk REDUCER, not a risk
52 eliminator. Write through is off by default.
53
54 /wc:off - Disable write caching. There is risk when
55 caching "dirty" information that the system will crash,
56 or be re-booted, or be turned off before this
57 information can be written to the disk. This may
58 corrupt the disk. This risk can be ELIMINATED, at the
59 expense of cache performance, by NOT caching any dirty
60 information. /wc:off disables the caching of dirty
61 information, eliminating the risk. Write caching is
62 on by default.
63
64 /t:nnnnn - Set the auto flush interval. INT13 listens on the
65 system timer to note the passage of time and "age" the
66 dirty information in the cache. Every nnnnn ticks,
67 the cache is flushed. The timer ticks 18.2 times a
68 second.
69
70 nnnnn |
71 ===========================================
72 18 | Flush every second
73 1092 | Flush every minute
74 5460 | Flush every 5 minutes
75 10920 | Flush every 10 minutes
76 21840 | Flush every 20 minutes
77 32760 | Flush every 30 minutes
78 65520 | Flush every hour
79
80 The default setting of nnnnn is 1092 or every minute.
81 nnnnn = 0 causes a wait for 65536 ticks which is a
82 little over an hour. The max value for nnnnn is 65535.
83
84 /r:on - Enable re-boot flush.
85 This enables the flush on re-boot logic. The default
86 is /r:off. This enables a flush in the Ctrl-Alt-Del
87 keyboard re-boot logic. NOTE WARNING DANGER!!!!!!!!
88 Enabling this feature can cause strange system behavior.
89 You will have to type Ctrl-Alt-Del twice at least. This
90 can adversly effect other software in the system.
91 The result of this can be very unpredictable.
92
93 /c:on - Enable all cache on reads.
94 Normally INT13 does not cache EVERY I/O. Whenever
95 it sees a full track I/O which is not currently in
96 the cache, it DOES NOT cache that track. This is
97 an optimization for "typical" operation, and actually
98 increases performance. This is the default setting
99 (/c:off). There may be some cases where it is desirable
100 that ALL reads be cached. One example is that you are
101 "loading" the cache prior to locking it with FLUSH13 /l.
102 With /c:off, some pieces of what you're trying to load
103 may not get into the cache. Another example is that
104 you continually access in a sequential manner (like
105 program load) some large file which happens to be
106 contiguous on the disk. Again, there may be some "piece"
107 of the file which does not get into the cache with
108 /c:off. /c:on enables the caching of ALL reads.
109 NOTE: The same "don't bother caching operations which
110 are full track and not in the cache" applies
111 to writes as well. /c has NO EFFECT on this
112 behavior however. /c only effects read operations.
113
114
115
116MESSAGES:
117
118
119 INT13: Above Board Memory Manager not present
120
121The /A switch was given but INT13 could not detect the presence of the
122Above Board memory manager. You need to have a
123
124 device = EMM.SYS
125
126line in your CONFIG.SYS file before you have any device = int13.sys
127lines. INT13 will install a driver, but it will be non-functional.
128
129
130 INT13: Above Board Memory Status shows error
131
132During the process of trying to set up the cache in Above Board memory
133an error was detected. Run the Above Board Confidence test to test
134your Above Board memory. INT13 will install a driver, but it will be
135non-functional.
136
137
138 INT13: Computer must be PC-AT, or PC-AT compatible
139
140The /E switch can only be given on an IBM PC AT or an IBM PC AT
141compatible computer that has the FCH model byte (byte at FFFF:000E).
142INT13 will install a driver, but it will be non-functional.
143
144
145 INT13: No extended memory available
146
147Your system has NO memory for RAMDrive drives.
148INT13 will install a driver, but it will be non-functional.
149
150
151 INT13: Insufficient memory
152
153Your system has some memory available for INT13 cache, but not enough
154to set up a driver. INT13 will install a driver, but it will be non-functional.
155
156
157 INT13: Invalid parameter
158
159You specified too many parameters, your numeric parameter is not
160valid, you specified conflicting or too many switches. Edit your CONFIG.SYS
161file and fix the INT13 line. INT13 will install a driver, but it will
162be non-functional.
163
164
165 INT13: Incorrect DOS version
166
167INT13 only runs on 2.X and 3.X versions of DOS.
168INT13 will install a driver, but it will be non-functional.
169
170
171 INT13: I/O error accessing cache memory
172
173During the set up of the INT13 cache, an error was detected trying to
174access the cache memory. Run any memory tests you have that will
175exercise your extended or expanded memory.
176INT13 will install a driver, but it will be non-functional.
177
178
179 INT13: No hardfiles on system
180
181INT13 could not find any hardfiles on your system. Only hardfiles
182which are compatible with IBM hardfiles at the ROM BIOS INT 13H
183level can be supported. INT13 will install a driver, but it will
184be non-functional.
185
186
187 INT13: Too many bytes per track on hardfile
188
189One of the hardfiles on your system defined a very large track.
190This track is too large for INT13 to be able to cache it.
191INT13 will install a driver, but it will be non-functional.
192
193
194 Microsoft INT13 Cache version Y.YY
195
196INT13 Header message, Y.YY is the version of INT13.
197
198
199 Cache size: nnnnk in UUUUUU Memory
200 Room for tttt tracks of ssss sectors each
201
202This is an informational message from INT13 telling you how many Kilo Bytes
203of memory were assigned to the cache and what type of memory it is, how many
204tracks this allows to be buffered and how many sectors there are per track.
205
206NOTE: There is nothing to "prevent" you from having two device = INT13.SYS
207 lines in your CONFIG.SYS file, but you should not do this. Very
208 unpredictable behavior will occur, and FLUSH13 will only "talk" to
209 one of them.
210
211INT13 has several behavior aspects that can be changed. This is done
212with the FLUSH13 utility.
213
214 FLUSH13 [/s|/sx|/sr] [/d|/e] [/l|/u] [/i] [/f] [/wt:on|/wt:off]
215 [/wc:on|/wc:off] [/t:nnnnn] [/r:on|/r:off] [/c:on|/c:off]
216
217 No arguments - This causes FLUSH13 to flush out any "dirty"
218 tracks in the INT13 cache. A "dirty" track is one
219 which has been written into the cache, but not yet
220 written to the disk. This invokation causes all dirty tracks
221 to be written out to the disk so that the system can
222 be re-booted or turned off. NOTE: FAILURE TO FLUSH
223 THE CACHE BEFORE A RE-BOOT OR POWER OFF CAN CAUSE THE
224 INFORMATION ON THE HARDFILE TO BE CORRUPTED.
225
226 /f - Flush. Same as the no arguments case, but allows you to
227 perform the flush and do something else (like /s).
228
229 /i - Flush and invalidate. This is the same as the no argument
230 case except that all of the information in the cache
231 is also discarded. This makes the cache EMPTY.
232
233 /d - Disable caching. This causes all dirty cache information
234 to be flushed and all caching to stop.
235
236 /e - Enable caching. This causes caching to be enabled after
237 a previous /d disable. When INT13 is started it is enabled.
238
239 /l - Lock the cache. This causes all dirty information to be
240 flushed, and the cache contents to be locked in the cache.
241 When in this mode the locked elements will not be discarded
242 to make room for new tracks. This can be used
243 to "load" the cache with desired things. For instance if
244 you use the "foobar" program a lot, you can run foobar,
245 causing it to be loaded into the cache, then lock the cache.
246 This causes the foobar program to always be in the cache.
247 You may lock the cache as many times as you want. Each lock
248 causes the current information (including any previously
249 locked information) to be locked.
250 NOTE: Information in a locked cache is READ ONLY!! Any write
251 operation on information in a locked cache causes the
252 information to be unlocked.
253
254 /u - Unlock the cache. This undoes a previous /l and returns
255 the cache to normal operation.
256
257 /s - Print status. This displays the settings of the setable
258 device parameters.
259 /sx - Print extended status. Same as /s, only additional
260 Statistical information is also given.
261 /sr - Reset statistics. Same as /sx, only the additional
262 Statistical information is reset to 0.
263
264 /wt:on off - Enable or Disable write through. When INT13 is caching
265 write information, it is a good idea to imply a flush of
266 the cache on some operations so that in case of a crash or
267 power failure the information in the cache which is not on
268 the disk will not be lost. /wt:on enables write through on full
269 track INT 13s which are to tracks not currently in the cache.
270 /wt:off disables it. INT13 is faster with write through
271 off, at the expense of there being a bigger risk of
272 loosing data. /wt:on IS NOT a substitute for flushing before
273 a re-boot!!!! This write through mechanism is far from perfect,
274 all it is is a risk REDUCER, not a risk eliminator. /wt:off
275 is the setting when INT13 is started.
276
277 /wc:on off - Enable or Disable write caching. There is risk when
278 caching "dirty" information that the system will crash,
279 or be re-booted, or be turned off before this information
280 can be written to the disk. This may corrupt the disk.
281 This risk can be ELIMINATED, at the expense of cache
282 performance, by NOT caching any dirty information.
283 /wc:off disables the caching of dirty information,
284 eliminating the risk. /wc:on enables the caching of dirty
285 information. /wc:on is the default when INT13 is started.
286
287 WARNING: You must be careful to flush the cache before
288 re-booting the system, or turning it off if /wc:on is selected.
289 You should also be careful to disable the cache (/d), or do
290 /wc:off before running any program under development which
291 has a chance of crashing due to bugs.
292
293 NOTE: When /wc:off is selected, write info CAN get into
294 the cache (when the write is to a track which is currently
295 in the cache). The difference is that this "dirty" information
296 is IMMEDIATELY written out to the disk instead of being
297 held in the cache in the "dirty" state. When the write is
298 to a track that is not in the cache, it will be passed
299 through to the disk without being cached.
300
301 /t:nnnnn - Set the auto flush interval. INT13 listens on the system
302 timer to note the passage of time and "age" the dirty
303 information in the cache. Every nnnnn ticks, the cache is
304 flushed. The timer ticks 18.2 times a second.
305
306 nnnnn |
307 ===========================================
308 18 | Flush every second
309 1092 | Flush every minute
310 5460 | Flush every 5 minutes
311 10920 | Flush every 10 minutes
312 21840 | Flush every 20 minutes
313 32760 | Flush every 30 minutes
314 65520 | Flush every hour
315
316 The default setting of nnnnn is 1092 or every minute.
317 NOTE: There is no way to "disable" this tick aging. Setting
318 nnnnn = 0 causes a wait for 65536 ticks which is a
319 little over an hour. The max value for nnnnn is 65535.
320 Disabling the cache (/d), or turning write caching
321 off (/wc:off) effectively prevents the aging from
322 doing anything as there is never anything to flush
323 in these cases. Setting very low values of nnnnn
324 should be avoided as it places a lot of overhead into
325 the timer interrupt service. Rather than set low values,
326 it is better to just turn off write caching (/wc:off).
327 NOTE: As stated above, the max value for nnnnn is 65535. It
328 should be noted however that FLUSH13 DOES NOT object if
329 you specify a number larger than this! It will simply
330 use only the low 16 bits of the number.
331
332 /r:on off - En/Disable reboot flush.
333 INT13 has a provision for detecting Ctrl-Alt-Del user
334 reboots. /r:on enables a flush of the cache at this time
335 to prevent the disks from being corrupted. The default
336 setting is /r:off. NOTE WARNING DANGER!!!!! Enabling
337 this feature can prevent disks from being damaged BUT
338 the mechanism has flaws. For one, you will have to hit
339 Ctrl-Alt-Del a second time to get the system to reboot.
340 YOU MUST NOT POUND ON THE KEY. You will crash the system if
341 you do. Hit the key ONCE, if the system re-boots, fine. If
342 there is info to flush out of the cache, the drive light
343 will come on and the system will probably NOT reboot. WAIT
344 until the drive light is OFF before hitting Ctrl-Alt-Del
345 again. This feature of INT13 MAY NOT WORK with other
346 software in the system. USER BEWARE!!!!!!!!!!!!!!!!!!!
347
348 /c:on off - En/Disable all cache on reads.
349 Normally INT13 does not cache EVERY I/O. Whenever
350 it sees a full track I/O which is not currently in
351 the cache, it DOES NOT cache that track. This is
352 an optimization for "typical" operation, and actually
353 increases performance. This is the default setting
354 (/c:off). There may be some cases where it is desirable
355 that ALL reads be cached. One example is that you are
356 "loading" the cache prior to locking it with FLUSH13 /l.
357 With /c:off, some pieces of what you're trying to load
358 may not get into the cache. Another example is that
359 you continually access in a sequential manner (like
360 program load) some large file which happens to be
361 contiguous on the disk. Again, there may be some "piece"
362 of the file which does not get into the cache with
363 /c:off. /c:on enables the caching of ALL reads.
364 NOTE: The same "don't bother caching operations which
365 are full track and not in the cache" applies
366 to writes as well. /c has NO EFFECT on this
367 behavior however. /c only effects read operations.
368
369If invalid or conflicting arguments are given, FLUSH13 prints a usage line.