[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Edhel finds DOS 3.3 speed-up (was DOS 3.3 versions)
- Subject: Edhel finds DOS 3.3 speed-up (was DOS 3.3 versions)
- From: rubywand@aol.com
- Date: 1997/02/04
- Newsgroups: comp.sys.apple2
- Organization: AOL http://www.aol.com
- References: <32f3c9f7.1063491@167.152.149.11>
In article <32f3c9f7.1063491@167.152.149.11>, drsmooth@relex.com (Edhel
Iaur, Esq.) writes:
>
>On 1 Feb 1997 01:51:40 GMT, nparker@cie-2.uoregon.edu (Neil Parker)
>wrote:
>
>>I usually use a copy of the first version that's been patched to speed
up
>>disk reads.
>
>That reminds me: I have a disk called "RANDY'S FAVORITE COPY PROGRAMS
>VOLUME # 2". The first line in the HELLO program is:
>
>1 POKE 47102,236: REM SPEED DOS UP
>
>Anybody know if this actually does anything, and how?
>
>The DOS that comes on this disk, interestingly enough, is PRONTO-DOS.
>It could have been transplanted, tho.
Since Beagle did not own the rights to DOS 3.3 they sold ProntoDOS as
a diskette which adds patches to a regular DOS 3.3 diskette. So, in this
sense, ProntoDOS is always a "transplant". Of course, once you have a
ProntoDOS-ed diskette, it will boot ProntoDOS and can INIT any number of
ProntoDOS diskettes.
The speed-up POKE you list does work. (Thanks for the info!) I did a
few quick comparisons with and without the
1 POKE 47102,236
on an ES DOS ][ (a version of ProntoDOS) diskette on a IIc+ and II+. The
test consisted of timings for a CATALOG, starting up a graphics viewer
program, and loading a hires graphic.
The POKE is to the "Motor On time count" at $B7FE in the Device
Characteristics Table; so, it seemed likely that any speed gain must come
at the beginning of a DOS operation when the disk is not spinning. Times
measured were from the point of pressing a key to start the operation
until the moment the screen changed-- e.g. from issuing CATALOG until the
start of the CATALOG display.
On the 4MHz IIc+ with a standard Apple Platinum 5.25" drive, the
average time gain is about 0.25 seconds.
On the 1MHz II+ with a Forth Super Drive 5.25" drive, the average
time gain is about 0.50 seconds.
In most situations, the gain from the change is going to be pretty
small; however, a program which does several file loads should be
noticably speeded up. To test this, a hires pic was loaded 10 times via a
FOR-NEXT loop on the II+.
In one test, the between-BLOADs delay-- another FOR-NEXT loop-- was
too small to let the drive stop. The times for the 10 BLOADs Without the
speed-up and With the speed-up were about equal. (The "With" time was 0.49
seconds faster.)
In another test, the between-BLOADs delay was large enough to let the
drive stop. The times for the 10 BLOADs are ...
Without the speed-up: 54.16 seconds
With the speed-up: 48.50 seconds
The gain is 5.66 seconds or, again, roughly 0.5 seconds per operation.
Can you get this improvement on a standard Disk ][? I tried running
the "With" test on our 1980 vintage Disk ][ (at the Drive #2 position) on
the II+. No problem; the result was 48.37 seconds.
The original values at the "Motor time on count" locations are $B7FD:
EF D8. POKE-ing 236 at 47102 ($B7FE) increases the value to $B7FD: EF EC.
One obvious try, POKE-ing 255 at both 47102 and 47101 did not notaby
improve speed over the single 236 POKE to 47102.
The best result so far is 48.25 seconds obtained by POKEing 246 into
47102.
POKE 47102, 246 also produced the best speed-up (about 2 seconds) on
the IIc+.
So, while the speed-up is not, usually, very great; it _is_ a
speed-up. If a bit more testing indicates that there are no bad side
effects, DOS 3.3, ProntoDOS, ... users might as well install the patch as
a permanent improvement.
An easy way to produce a speeded up master disk is to do the POKE and
then INIT a diskette. The INITed diskette and all diskettes INITed by the
DOS it boots will be speeded.
Rubywand