

 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 
                              AmyInfo Door

                     (Version 1.5 was 17 May 1991)

                   V 2.0 for OzMetro BBS - 23 Nov 94

                  Another Metro Door from Peter Deane

 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *



WARNING! * WARNING! * WARNING! * WARNING! * WARNING! * WARNING! * WARNING!
        
 You must have both DOS.BMAP and GRAPHICS.BMAP in your libs: directory.

             These .bmap files are included in the archive

WARNING! * WARNING! * WARNING! * WARNING! * WARNING! * WARNING! * WARNING!


Revision Notes:
~~~~~~~~~~~~~~~

Version 2.0
-----------

Re-compiled for the OzMetro BBS.


Version 1.5
-----------

Fixed up the midnight rollover problem with the time remaining.


Version 1.4
-----------

This Version is the local ANSI colour one! Neatened up the display,
being so much easier to program now you can see what you get!

Apart from showing you what it's like from the other side, not much
different, except for one thing. The 'Q - Quit Door' function is
hard coded to print up at the bottom of the menu, so DON'T use the
letter 'Q' for a keypress of your own. Sorry if you've gotta change
your menu, 'them's the breaks.


Version 1.3
-----------

Woops, I goofed! The colours on the printed menu were cycling through
1-4. They should have been cycling from 2,3,5,6! I fixed this up. It
was basically a typo. I simply omitted a subscript!

It's pretty hard looking at the ANSI output to these things, when all
you see local are the numbers. One day, I'll be able to afford GFA, hint,
hint, hint!

Furthermore, it has been drawn to my attention that this program needs
the Basic .bmap file 'DOS.bmap' in your libs: directory. I just didn't
notice this at all, as I have about 15 .bmap files in my libs: directory
anyway! This file has been included in the archive. Make sure you copy
it to your libs: directory, if it's not already there.

The .bmap files are maps for AmigaBASIC to get into the rom libraries
on the Amiga. Since this door uses the EXECUTE routine to run all the
programs, it naturally needs to have access to the .bmap files so it
can see just whereabouts in the ROM to look.

While I was at it, I followed the procedures I've done with the Stats
Door (nearly finished, lads) and the Peeping Tom Door, and that is
open the window two pixels down from the top of the screen. This will
allow you to reach the workbench screen's push-to-back gadget without
having to move the window around.


Version 1.2
-----------

This was not just a cosmetic change. AmyInfo has been souped up by
the addition of some nice ANSI colours all over the place. Some of
the programs I run with this generate ANSI output, but I thought
that I'd still get any mono text printed up in a series of Magenta,
Cyan, Green and Yellow. Each succesive text will cycle through those
colours.

I added the new FileOut routines to this, so the users can abort
with a space, press Ctrl-S or P to pause, and so on. Due to the
short length of most of the texts generated, I simply set the page
pausing to 22 lines, and didn't worry about asking them how many
lines they wanted. (Actually I can open BBSFILES/userlog and get this
info, it's just that so far I've been too lazy)!

There was a problem where if you did have a config file error, the door
would load, read in the config, check it, tell you it was wrong and
exit all in about 1/4 second. A simple GOSUB AnyKey before it quits
will let you actually read what's on the screen now! Make sure you read
the section below if you are having problems with your config, the door
will not let you run with an invalid config file, and I think I explain
it pretty well....


Version 1.1
-----------

Had the odd guru from this one, and a small change to the DECLARE FUNCTION
statement seemed to fix that up. Also reduced the amount of string space
cleared to help if memory has been fragmented. (EG by a heap of door-
playing!)


Intro:
~~~~~

This door runs various utility programs allowing the users to snoop at
the current status of your Amiga. It's one for the inquisitive, perhaps
more technical-minded users.

I saw a similar door to this on a Paragon system some months ago, and
thought it was a very interesting concept. Naturally, I pinched the idea
outright, but I think I've made it a bit better because YOU can choose
exactly which programs to run.

If a program allows complete redirection of the output to a textfile, and
provides some useful info, then you can add it to the stock by just adding
the entry to your config file.

If you should know of any other utilities than the sample ones I've given
here, PLEASE!!!! let us all know by posting a message on Percy's BBS in
the Metro SIG area, and perhaps uploading the file if it's not already
there.


To set this up:
~~~~~~~~~~~~~~~

In Doorfiles1 or Doorfiles2 or (...) create a blank directory called
DoorX. (X=a spare number in accordance with the Metro Docs). Copy all
the files from this archive into this directory, and then rename the
file 'Door5' to 'DoorX'.
 
Then add a command to BBSFILES/DoorCmdsX so the users can get to it.
 
Okay, if you DO have any probs, see the Metro Docs...


AmyInfo.config
~~~~~~~~~~~~~~~

The config file is VERY important. If you wish, just run the one included
in the arc, it works fine. But if you want to add utilities, or remove
them, you should know about the format of the config file.

For every function you wish to run, there must be FIVE lines in the config.


1) The Keypress
---------------

This is simply one single uppercase character, number or symbol. Valid
keypresses are anything you'd use on a normal Metro menu. (EG 2, 5, %,
7, N, P, *, etc.). In your config file it is absolutely imperative that
there is one *and only one* character on this line, otherwise the
door will abort with a 'Menu Error - Please tell your sysop'. This is
just to check that you've done the menu correctly (IE the first and
every fifth line thereafter has to be a keypress). If you are getting
a menu error, I'd say you haven't allowed enough blank lines between
the commands or something silly like that. It's easy enough to do!


2) The Menu Entry
-----------------

This is what's printed up for the users to see. It can be (validly) up to
255 characters long, but there's no way you'd do that to your users! Keep
it below about 30-40 characters. The Menu entries are each printed up on
a single line, so you'll see what I mean when you run the door...

3) The Command
--------------

This is the actual command that is run, and (to be on the safe side) it
should also include the full pathname. I recommend you place all the
commands in your c: directory (so you lose them forever!), some of them
are present in this directory already. If the door cannot find the
program you've specified, it will merely print up a message to that effect
and drop the users back to the topmnenu, so it's no drama.

4) The Arguments
----------------

If the command you are using needs any arguments, put them in on this line.
MOST (not all) of the commands do not need arguments (eg FREE), and if this
is the case, ensure that this fourth line is completely blank (ie just
press <return> on it). If there are arguments required, that's fine,
and you can include up to about 200 characters of them if need be.

5) The Printout
---------------

This is a small message that's printed up just before the command is run.
In most cases, the commands take only a few seconds to execute, and really
nothing is needed, however, just to let the users know the BBS hasn't
crashed or anything, you can ask them to hold on, or add a little info
about what the command does, etc, etc.


You should have a close look (IE READ IT!!!) at the supplied config, as
the examples provided cover just about every case you could come across.

For safety, here's a walk-through of some parts of the supplied config.
I've numbered the lines for reference here, but the numbers DO NOT form
part of the actual config used.


 1) H
 2) H - Hard Disk Speed Test
 3) SYS:c/DiskPerf
 4) DH1:
 5) Please wait a few moments, this takes QUITE a while...
 6) F
 7) F - Free Space on Upload Drives
 8) SYS:c/free
 9) 
10)
11) T
12) T - Tasks Currently Running
13) SYS:c/Status
14) FULL
15) This does not include ALL tasks, just those run from a shell/cli


Lines 1, 6 and 11 are the keypresses, which should be understood by now.
Lines 2, 7 and 12 are what's printed up to the user.
Lines 3, 8 and 13 are the full commands (IE the programs that are run).
  Notice how I've included the full pathname. I'd say a shortened pathname
  would be sufficient, but specifying it in this way cannot hurt!
Line 4 is the argument for DiskPerf. It specifies to do the test on drive
  partition DH1: (thus the actual command is 'DiskPerf >ram:temp DH1:')
Line 5 is printed up before the command is run, and for Diskperf, it's
  really necessary. Diskperf takes AGES to run, even (as it is here)
  when called in FLOPPY mode. You could specify 'h DH1:' on line 4
  to invoke the hard drive mode, but that takes even longer!
Line 9 is a blank line. Just a carriage return. Free takes no arguments
  when you just want the output.
Line 10 is also blank because there's really nothing much to say about free!
Line 14 is the argument for the Status command, just used to get a little
  more info back from it when run.
Line 15 is a helpful comment about the Status command. You will probably
  have a LOT more tasks running than what Status will ever show you.


If you are editing the config, ensure that the number of lines is equal
to the number of commands times five, plus one. Like a Metro menu, you
MUST have the EOF marker on the bottom line by itself. Thus if you have
8 commands available from the door, you should have (8*5)+1=41 lines
in your AmyDoor.config. Make the config up with the same care and attention
you'd spend on a Metro Menu.

You can include as many commands in the config as you wish, but bear in mind
the fact that the menu has to fit on a user's screen, and so I'd say about
17 or 18 commands will be the usable limit for this door.


Commands Included:
~~~~~~~~~~~~~~~~~~

Description:                    Program:         Located:

M - Memory Available            SYS:c/Avail      Standard DOS command
H - Hard Disk Speed Test        SYS:c/DiskPerf   Find in a PD library
F - Free Space on Upload Drives SYS:c/free       Supplied with Metro
D - Devices Available           SYS:c/info       Standard DOS command
T - Tasks Currently Running     SYS:c/Status     Standard DOS command
V - Version Information         SYS:c/version    Standard DOS command
A - Assignments                 SYS:c/assign     Standard DOS command
S - System Information          SYS:c/si         Supplied in the arc
C - Custom Chips Installed      SYS:c/ecs        Supplied in the arc
E - Errors from DOS             SYS:c/doserror   Not Supplied


The two utilities 'ecs' and 'si' I've included for you in the archive.
Make sure you copy them to your c: directory or else put them somewhere
else, and edit the config file so the correct path is specified.

As for diskperf, I'll leave that up to you, it's around in PD libraries
everywhere if you haven't already got it.

As I say, if you can find any other useful diagnostic program to run,
please tell us all about it, I'm sure there'll be lots of others that
will work very well.

Also, if you wish to have a straight textfile coming off this door, this
is quite easily arranged.

For the command, use the AmigaDOS 'Type' command, and for the argument,
use the exact filename of the text you wish to send. EG:

 1) I
 2) I - Instructions
 3) SYS:c/Type
 4) DH0:Texts/AmyInfo.Instructions
 5) Here's how to use this door...

Simple, eh? 

There must be more things we can do with this program. The user-
definable config has meant we can expand on these commands quite
easily, so let me know of any more!


Conclusion:
~~~~~~~~~~~

Again, another small hack that serves a purpose. I was amazed at how much
of the DoorNews Door source I could use in this one! :-) The logical 
extension of this door would be to allow remote DOS access to the system
through a similar setup, only more concern on the security would be
in order. After all, this runs certain commands, you could put ANY DOS
command in the config, but this door doesn't allow you to specify a
varying argument, and so on.... I could quite easily modify it to allow
full remote DOS access, but I have no need for it myself. (I think I've
only ever called my BBS four times remote, and that was for just having
a look-see).

Anyway, I'd be more inclined to consider doing the necessary work if I
was a little more supported by way of shareware donations. So far only
1 user has contributed (Thanks, Mark! Love 'The Outer Limits'!!) to my
shareware appeal. (Then again, when you look at doors of the calibre of
the Wall Door which is free, I suppose I know how you feel!)


Copyright Status:
~~~~~~~~~~~~~~~~~

The included files 'si' and 'ecs' are public domain.

The copyright as a Metro Door is held by me. This program may be 
re-distributed electronically, provided a profit is not made by such
distribution. If a profit is made, then the proceeds MUST be forwarded to
me.



Contact Me:
~~~~~~~~~~~

Postal:

Peter Deane
PO Box 228
Swansea  NSW  2281
AUSTRALIA

Call Inquestor BBS:

011-61-49-72-1647 from the USA  (or (049) 72-1647 within Aust)

24 hrs, all speeds up to ZyXEL 19,200

