[comp.sys.amiga] Strange errors with V1.3 and DeluxePaint II

danny@iconsys.UUCP (Danny Young) (11/19/88)

	I have a strange problem with my amiga that I hope someone can help
me out with.  I have an A2000 with a bridgeboard and a 20meg hard drive on
the bridgeboard side with a partition allocated to the Amiga (ala DJMount).
Every since I have loaded V1.3, I have had a hard time running Deluxe Paint II
off of the hard drive.  I click on the icon and insert the key disk when it
asks for it and it comes up fine, but if I eject the key disk, I get the guru.

	The other day, this scenerio happened to me, but this time, I could not
boot back up afterwards.  I have not been able to boot normally since.  The
problem is that the "Execute jh0:s/startup-sequence" call in my startup-sequence
on the floppy errors with the message "EXECUTE: No K Directive".  So it never
does run the startup-sequence on my hard drive and quits at the end of my
floppy's startup-sequence.

	After exiting the startup-sequence, I open the hard disk drive icon
and the window shows up just like normal, then I click on the "shell" icon
to get a newshell.  At this point I get a requester that says "Volume Hard: not
validated".  When I press "Cancel", the shell comes up but has the message that
it could not open "T:Command-0-01", or something like that (T: is assigned to
the hard disk).  Obviously shell could not open the temporary file needed
to execute s:Shell-Startup.

	The really strange thing is that from this point on, I seem to be fine.
I can run any program on my hard drive and never get complaints about it not
being validated again.  However, everytime I have rebooted since, I get the
same "EXECUTE: No K Directive" upon boot-up and "Volume Hard: not validated" if
I click on the newshell icon.

	I can't figure out what is going on.  If any of you have *any* ideas
at all, I would greatly appreciate hearing your suggestion.

__
Danny

-- 
Daniel A. Young		    USENET:  uunet!iconsys!danny
Icon International, Inc.    
Orem, Utah 84058	    ARPANET: icon%byuadam.bitnet@wiscvm.wisc.edu
(801) 225-6888		    BITNET: icon%byuadam.bitnet

andy@cbmvax.UUCP (Andy Finkel) (11/22/88)

In article <292@iconsys.UUCP> danny@iconsys.UUCP (Danny Young) writes:
>
>	I have a strange problem with my amiga that I hope someone can help
>me out with.  I have an A2000 with a bridgeboard and a 20meg hard drive on
>the bridgeboard side with a partition allocated to the Amiga (ala DJMount).
>Every since I have loaded V1.3, I have had a hard time running Deluxe Paint II
>off of the hard drive.  I click on the icon and insert the key disk when it
>asks for it and it comes up fine, but if I eject the key disk, I get the guru.
>
Got no idea about this; I use DpaintII quite often, (and always
from the hard disk under 1.3.  Maybe you need to give it more stack ? )

>	The other day, this scenerio happened to me, but this time, I could not
>boot back up afterwards.  I have not been able to boot normally since.  The
>problem is that the "Execute jh0:s/startup-sequence" call in my startup-sequence
>on the floppy errors with the message "EXECUTE: No K Directive".  So it never
>does run the startup-sequence on my hard drive and quits at the end of my
>floppy's startup-sequence.
>

This effect is due to the creation of the logical T: assignment.
Previously, Execute always wanted to write to :T.  This usually
meant it was trying to create a temporary file on your (either)
write protected or full Workbench disk.  In either case, Execute
would quietly fail to make the temporary file, and continue
as best it could.  (you'd lose the 'unwinding', the return to the
place where you started from in the first file)  Anyway...

Under 1.3, Execute can make its temporary file, because T: is
assigned in the standard Startup-Sequence file to ram:T.  

Here we get to the K directive problem.  Execute takes a quick
scan of the file you are executing, looking for variables.
When it sees redirection symbols < > it gets confused, because
the default variable delimiters are also < > .  Execute
then complains, because it didn't find the .KEY directive,
which defines the variables in that script.

There are several solutions.

1) AmigaDOS lets you change the default variable delimiters,
   using the .BRA and .KET commands.  I usually change them to
   { and }, so near the top of most of my script files I have the
   lines

   .BRA {
   .KET }

2) OR
   you could remove the T: assignment.  Then it will work exactly
   like 1.2.


The reason I didn't make Execute assume that the < and > were redirection
symbols if it didn't find a .KEY directive was that redirection can
be so destructive, because then, if you accidently forget the .KEY statement
all your variable names become file names.  Which could really ruin your
day.

(This is the same reason I didn't change the default variable delimiter
 to something other than < >.  I'd hate to trash someone's files)

>	After exiting the startup-sequence, I open the hard disk drive icon
>and the window shows up just like normal, then I click on the "shell" icon
>to get a newshell.  At this point I get a requester that says "Volume Hard: not
>validated".  When I press "Cancel", the shell comes up but has the message that

WARNING: Due to a bug in the old file system, assigning your
T: to the hard disk old file system partition at LoadWB time
can be hazardous to your sanity.  Why ?  Well, under old file system
an ACTION_INHIBIT would always succeed.  Even when it shouldn't,
like when someone has a file open for writing.  When Workbench fires
up, it checks everything on the device list, to see if its a disk
device or not, by inhibiting and uninhibiting each device.  This
works ok, except when there's a write lock being used at that moment
for writing.  Well, in the situation you describe, Execute is writing
to T: which you have assigned to the hard disk, which is being inhibited...

So, first thing your hard disk has to do is revalidate, and fix up the
bit map.

Change your T: to point at ram:t during boot up, and the validation
problems should go away.
>Danny
-- 
andy finkel		{uunet|rutgers|amiga}!cbmvax!andy
Commodore-Amiga, Inc.

"Possibly this is a new usage of the word 'compatible' with which
 I was previously unfamiliar"

Any expressed opinions are mine; but feel free to share.
I disclaim all responsibilities, all shapes, all sizes, all colors.