[net.micro.amiga] Open letter to Amiga

jec@iuvax.UUCP (02/24/86)

	I have a few questions about the Amiga that I'm hoping someone
else can answer.  Some of these questions might have answers in manuals
that I don't have, so please don't just say "Look it up on page #132,
'Voodoo and the Kernel Vol. 3' please).


QUESTIONS:
----------
	I'm sure everyone has noticed the clicking of the drives when
they don't have a disk in them.  I've heard that it is "validating" the
disks.  What exactly is validating, and why is it done when the machine
can detect that there is no disk in the drive (using TD_CHANGESTATE
in the trackdisk driver).

	Someone mentioned a way to have all of your allocated memory
be freed upon task exit.  I can't seem to find this on Usenet right now,
but I have a question about it.  When you start putting no longer needed
blocks of allocated memory on this list, can you say, "oops, give me
that block back" and take it off that list (i.e. can you do allocs and
deallocs from this area?)

	Is there anyway to tell AmigaDos to look in RAM: and then look
in Workbench:c.  I am aware of the Assign command, but this only solves
half the problem.  I really need a search path.

	Is there such thing as an shell environment for the CLI?  I'd
like to have a program be able to look into an environment for some
things.

	Has anyone else noticed that the Amiga keyboard has a roll-over
problem?  For instance, if you quickly type modem, you get modlem on
ocassion.  This is sort of annoying since I need to purposely slow down
to type certain commands.  Is there a fix?

	If I do the following (from root of Workbench)
		copy c/diskcopy ram:diskcopy
		cd ram:
		diskcopy df0: to df1:		/* change disks */
		diskcopy df0: to df1:		/* change disks */
				.
				.
		diskcopy df0: to df1:		/* change disks */

I SOMETIMES get complaints about Workbench not being mounted.  If I hit
the CANCEL button some number of times greater than one, it usually gives
up and lets me continue in peace.  What is the deal?

		
SUGGESTIONS:
------------
	Improve the CLI.  I know there is MyCLI, but that really isn't
enough.  Granted, I'm spoiled using the C shell (yeah, I know there are
even better shells around), but even MS-DOS can handle a change of a 
disk better that hanging until you put the other disk back.  I suggest
that ASSIGN C: DF0: really assign C: to DF0: and not translate the df0:
into whatever disk happens to be mounted at the time.  If someone wants
to get their commands ONLY from some disk, let them say Assign C: Mydisk:.

	Buffer directories (probably kernel level).  This will allow such
great things are command completion without hitting disk all of the time.
I know there is a track buffer and on mostly empty disks this may contain
the directory most of the time, but on large mamouth disks with scads of
files, going to disk everytime is a big drag.  Oh, put command completion
into the CLI.  You can make most of this stuff part of a CLI library 
so you really aren't losing big chunks of memory for multiple CLIs. 

	Allow people to slide screens UP as well as DOWN from their normal
positions.  Sometime I need to see the buttoms of two screens rather than 
the tops.  


CONCLUSION:
-----------
	I know this looks like a big Amiga gripe letter, but I really do
like the machine a lot.  I think the hardware is great, the O.S. is pretty
good, but the CLI is just awful-- unfortunately, this is the part of the
machine that I see most often when doing any work.

	Anyway, keep up the good work and let me know if you ever need to
beta test anything... :-).


James E. Conley			Usenet: {ihnp4,pur-ee,purdue}!iuvax!jec
I.U. Dept. of Linguistics	Phone:	(812) 335-8702 [Work]
401 Lindley Hall			(812) 333-6702 [Home]
Bloomington, IN. 47405

dillon@CORY.BERKELEY.EDU (Matt Dillon) (03/03/86)

	I agree that the drive clicking is a problem.  In terms of lattice
C, any malloc's are automagically deallocated when you exit; the AllocMem
stuff you do is not, though there is a way of collecting many AllocMem's
together and deallocating them all at once (I don't have the manual on me,
so I don't remember what the routines were called)

	In terms of the 'c:' directory, and the CLI:  The CLI was written
for code compactness... that is, it's small.  The proper solution to both the
above problems is to use another 'shell' program.  For instance, on UNIX
systems, the CSH or SH programs are used.

	I posted a SHELL like program to the net.  It doesn't do everything
(I have not implimented path's for instance), but it gives you considerably
more flexibility in many respects.  

	Note on my shell: Since I don't know how to retrieve error conditions,
there's no handling of that.  Also, I have not implimented labels.  Those are
comming soon.


				-Matt