[comp.sys.atari.st] NULLFILL

U46050@UICVM.BITNET (JOHN ZAFIRIS) (12/13/88)

For all of you who were wondering what I was talking about on my note
about NULLFILL... here's a copy (soon to follow).  Just stick it in the
AUTO folder before most of other stuff except BOOTSLCT.PRG (more about
that later).  NULLFILL is not compatible with everything so note which
programs act up and disable it for them.  To disable it hold down a
shift key or toggle caps lock to caps WHILE THE PROGRAM IS LOADING.
NULLFILL WILL SPEED UP 1MEG STs considerably (breathtakingly) especially
when using a hard drive.  The speedup only works with the old roms and
the more free memory there is the greater the speedup.

Note that NULLFILL was not written by me (just polished up a little).
It was posted (source code) to the net recently.  Please don't flame
me... I burn easily.

Also included (at no extra cost) is a program called BOOTSLCT.PRG.  I
wrote this so feel free to flame me.  BOOTSLCT is one of those little
utilities which allow you to shut off all .ACC and .PRG (in the AUTO
folder) files or turn them on during bootup (very useful for a Hard
drive).  It is very small, fast and hassle free unlike some other (OK,
they're more powerful but they are >70K long) programs.  Put it in the
AUTO folder (first) and boot up with it.  To boot up with all .ACCs and
AUTO .PRGs press F1.  To boot up without anything press F2.  You can
wait until the prompt or you can put this keystroke in the buffer (type
it before the prompt appears) so absolutely no waiting is required (I
hate waiting!).

Note:  There is a 90day guarantee on BOOTSLCT.  If for any reason you
are not satisfied with this program within the first 90days of ownership
let me know and you will receive the full purchase price back... no
questions asked.
                                           ...John


table
 !"#$%&'()*+,-./0123456789:;<=>?
@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]~_
begin 644 nullfill.prg
M8!H   #X                             $*G/SP ($Y!7(\O # X!%0@z
M> 166(A3@&L*8 )*F%?(__QG&"\\    W#\\  E.05R//SP  3\\ $Q.04/Zy
M "PA"3\\ "!.05R/(&\ !" \   ! -"H  S0J  4T*@ '$)G+P _/  Q3D$@x
M;P!*L?P _(6<8F2Q_ #\A8IM7$'O " ,D'____!L4""\?___\"QO $0H;O_\w
M("[_QB(  D$ ?W0 2_0( & "&P)1R?_\<  B "0 )@ H "H +  N "! (D Dv
M0"9 8 Q(Y?_P2.7_\$CE_P"[S&[P3G4-"DYO('9B;"!E;G1R>2!A=F%I;&%Bu
+;&4A#0H     )@#_t
 s
end




table
 !"#$%&'()*+,-./0123456789:;<=>?
@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]~_
begin 644 bootslct.prg
M8!H   /&   !S@  !J(                  &   !XB/    ]PP/ #(3D).z
M=2(\   #QC \ '-.0DYU1_D   080IM"FT*;0I-'~0   _0V_  *0ELV_  !y
M0I-APD?Y   #]#;\ $U"6S;\  5"DV&N1_D   /:-KD   >41_D   /T-KP x
M9$)K  (W?  +  8W>0   ]H #$?Y   %E'8)-OP  5'+__HVO  "80#_?F  w
M * 0&&<(L!EG~'#_8 9*$6;X< !.=2\,*'P   N5/SP _S\\  9.05B/2H!Gv
M\ Q   UG) Q  ']G*@Q   AG)!C /P _/  %/SP  TY-7(~Y_   "~5EQD(4u
M*%\@?   "Y5.=5.,N?P   N59:H_/  (/SP  C\\  -.35R//SP (#\\  (_t
M/  #3DU<CS\\  @_/  "/SP  TY-7(]@L#\\ "].052/+$!-[@ >('P   3Ns
M+P@_/  )3D%<CS\\  A.052/2$ ,   [9P !0@P  #QG   &0F=.02\\   $r
MD3\\  E.05R/+SP   38/SP .TY!7(\_//__+SP   0N/SP 3DY!4(]*0&8 q
M &0@?   !8<O"#\\  E.05R/+PX_/  )3D%<CR!.(GP   OF$MAF_"!\   +p
MY@P8 "YF~A#\ $$0_ !#$/P 7T(0+SP   OF+PX_/   /SP 5DY!W_P    ,o
M/SP 3TY!5(]@F"\\   $VC\\ #M.05R//SS__R\\   $0#\\ $Y.05"/2D!Fn
M /]"('P   6*+P@_/  )3D%<CR\./SP "4Y!7(\@3B)\   +YA+89OP@?   m
M"~8B?   !.%A /XV2D!G   T('P   OF#!@ +F;Z$/P 4!#\ %(0_ !?0A Ol
M/   "~8O#C\\   _/ !63D'?_     P_/ !/3D%4CV""+SP   1,/SP "4Y!k
M7(\O/   !-@_/  [3D%<CS\\__\O/   !"@_/ !.3D%0CTI 9@  9"!\   %j
MC2\(/SP "4Y!7(\O#C\\  E.05R/($XB?   "~82V&;\('P   OF#!@ +F;Zi
M$/P 01#\ $,0_ !#0A O/   "~8O#C\\   _/ !63D'?_     P_/ !/3D%4h
MCV"8+SP   3:/SP .TY!7(\_//__+SP   0T/SP 3DY!4(]*0&8 _@X@?   g
M!9 O"#\\  E.05R/+PX_/  )3D%<CR!.(GP   OF$MAF_"!\   +Y@P8 "YFf
M~A#\ % 0_ !2$/P 1T(0+SP   OF+PX_/   /SP 5DY!W_P    ,/SP 3TY!e
M5(]@F    _0   64   &E   !Y0   B4  $   /T   $"@  !90   >4   )d
ME   "I0                                                     c
M                *BY!0U\ *BY!0T, 7$%55$]<*BY04E\ 7$%55$]<*BY0b
M4D< "@T*4F5S=&]R:6YG(&%L;" N04-#(&9I;&5S(&%N9"!A;&P@+E!21R!Fa
M:6QE<R!I;B!T:&4@05543R!F;VQD97(*"@T "@T*1&5S96QE8W1I;F<@86QLz
M("Y!0T,@9FEL97,@86YD(&%L;" N4%)'(&9I;&5S(&EN('1H92!!551/(&9Oy
M;&1E<@H*#0!< %Q!551/7 !"3T]44TQ#5"Y04D< &T5"3T]4(%-%3$5#5" @x
M(&)Y($IO:&X@6F%F:7)I<R @,3(O,3(O.#@*#5!R97-S($8Q('1O(&QO860@w
M86QL(&%C8V5S<V]R:65S(&]R( H-1C(@=&\@8F]O="!A(&-L96%N('-Y<W1Ev
M;0H-4')E<W,@86YY=&AI;F<@96QS92!T;R!N;W0@8VAA;F=E(&%N>71H:6YGu
M"@T "@T "@T "@T "@T =     8.#@X4% 8&% @R. P*2"X.$A0<"AHB$A0<t
="@80&B(.$A0<"AHB$A0<"AH@! 0$! 8$! 0$!  Rs
 r
end

apratt@atari.UUCP (Allan Pratt) (12/15/88)

In article <8812130704.AA07616@ucbvax.Berkeley.EDU> U46050@UICVM.BITNET 
(JOHN ZAFIRIS) writes:
> [...] NULLFILL is not compatible with everything so note which
> programs act up and disable it for them.

Whenever somebody posts a "greatest thing since sliced bread" (or
"breathtaking") program to the net like this, you should be EXTREMELY
CAUTIOUS. 

The poster should at least tell people what this program does, so
they'll know how dangerous it is and that they should think carefully
before using it. 

This program cropped up before, as Mr.  Zafiris points out.  What this
program does is short-circuit the loop in ROM which clears RAM before
launching a program.  It is "not compatible with everything" because
some programs expect RAM to be clear when they start up.  

It is also "not compatible" because if the loop in your set of ROMs is
in a different place (as will be the case for ANY non-USA set of ROMs)
this program will short-circuit some OTHER piece of ROM code.  This is a
crucial bit of information which the poster didn't mention.

Mega ROMs and all future ROMs have a MUCH FASTER loop, so the RAM
clearing doesn't take forever if you have newer ROMs.  Newer ROMs do NOT
have this feature removed: it was not guaranteed, but it has become a
"settled expectation" that RAM from the end of your BSS to the end of
memory you own will be clear when you start up. 

[It *has* been guaranteed that your declared BSS will be clear: does
this program ensure even that?]

If you must use this program, fine.  I don't even blame you: the time
that stupid loop takes to clear most of 1MB really is noticeable.  But
you should be aware of what chances you're taking before installing
something like this in your AUTO folder.  (What chances?  Well, what if
your hard-disk backup program is one which expects RAM to be clear?
What if the non-clear contents of RAM contain a flag which says "format
the hard disk?"  That's what I call taking a chance.)

============================================
Opinions expressed above do not necessarily	-- Allan Pratt, Atari Corp.
reflect those of Atari Corp. or anyone else.	  ...ames!atari!apratt

U46050@UICVM.BITNET (JOHN ZAFIRIS) (12/15/88)

For those of you following the NULLFILL vs. FATSPEED saga:  The
incompatibility can be avoided by using DISKFREE (by Tim Purves of
Michtron) instead of FATSPEED.  DISKFREE seems to do things more
'legally'...   whatever that means.
                                                  ...John

apratt@atari.UUCP (Allan Pratt) (12/16/88)

In article <8812150429.AA21699@ucbvax.Berkeley.EDU> U46050@UICVM.BITNET 
(JOHN ZAFIRIS) writes:
> For those of you following the NULLFILL vs. FATSPEED saga:  The
> incompatibility can be avoided by using DISKFREE (by Tim Purves of
> Michtron) instead of FATSPEED.  DISKFREE seems to do things more
> 'legally'...   whatever that means.
>                                                   ...John

In the first place, NULLFILL and (FATSPEED & DISKFREE) do different
things.  In the second place, there is no "legal" way to do what
DISKFREE does.  (Note that Zoomracks, at least, doesn't work with it.)

I don't know if FATSPEED and DISKFREE do the same thing or not.

In any case, none of this is necessary with TOS 1.4.  I can't recommend
them even as stopgap measures, but if you want to take risks with your
data, that's your lookout.

============================================
Opinions expressed above do not necessarily	-- Allan Pratt, Atari Corp.
reflect those of Atari Corp. or anyone else.	  ...ames!atari!apratt

to_stdnet@stag.UUCP (12/20/88)

From: dynasoft!john@stag.UUCP (John Stanley)

[U46050@UICVM.BITNET (JOHN ZAFIRIS) writes...]

> For those of you following the NULLFILL vs. FATSPEED saga:  The
> incompatibility can be avoided by using DISKFREE (by Tim Purves of
> Michtron) instead of FATSPEED.  DISKFREE seems to do things more
> 'legally'...   whatever that means.
>                                                   ...John

  WRONG!!!

  While all three speed up the system, they are three totaly(!) seperate
programs with very(!) different capabilities...  DISKFREE has its own
share of bugs and problems...

To try and clear things up:

  NULLFILL:

	Cute hack that shorts out the main memory-clear loop in the bios. 
	Really(!) speeds loading programs if your software can take the
	strain (drastic change in environment)....

	Problems:  Most programs expect that memory to be cleared.  May
	cause disasterous and/or subtile problems without any warning.

  DISKFREE:

	Good program to speed up any program that uses the Dfree call in
	gemdos.  Its -only- purpose, to prevent the long pauses while the
	system tries to figure out how much free space is left on a hard
	disk.

	Problems:  Not accurate.  You will find different values listed
	for the amount of free space on some disks with and without
	DISKFREE installed.  Can (very rare) cause 64k of memory to be
	lost out of your available memory on installation.

  FATSPEED:

	Replaces part of the gemdos fat scanning routine which looks for
	free clusters for saving new file data.  Very effective at
	removing the longer and longer delays saving files as your hard
	disk gets more and more full...  Also includes redirection fix and
	DISKFREE style fix.

	Problems:  Not the most legal program I've ever seen, but I
	haven't had any problems I can trace directly to using it...  May
	not be installable on some new TOS versions, but it tells you if
	that's the case...  Also, you shouldn't need it (or any of the
	other three programs) after TOS 1.4 is released...


  If you want a repacement for DISKFREE that -is- accurate, drop me a
email message.  I wrote DSKFREE2 that fixes the accuracy problem and is
much cleaner in how it installs itself.  On the other hand, I don't use it
much anymore because I'm now using FATSPEED most of the time...

--
PS:  Please(!) note that my Reply-To address gets munged by the gateway
I'm currently using for news access so you can't just <r>eply to this
article and have your message get to me.  Please use the address below.

---
John Stanley (dynasoft!john@stag.UUCP)
Software Consultant / Dynasoft Systems