home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Almathera Ten Pack 4: Demo 1
/
almathera_demo1.bin
/
amos
/
docs.lzh
/
AMOS-Monitor.Doc
next >
Wrap
Text File
|
1999-07-17
|
7KB
|
216 lines
A m o s M o n i t o r v 1 . 0
-------------------------------------
Written, by Ben Ashley © 1 9 9 2
Odyssey Software
***************************************************************************
This program is nameware. If you use it in the creation of your games,
then please mention my name. I can`t do anything if you don`t, as I have
no way of checking. So it`s up to you to keep a clear conciounce.
***************************************************************************
To alot of AMOS Programmer, the FOLLOW command is pathetic. I`m one of
those people. Ok, so you can follow each command one by one, and display
varibles. It does not REALLY give you a helping hand. And usually, it
doesn`t work anyway.
So, a bit miffed, I have produced a Monitor for the Masses, which can do
many things. But it does not do it command by command, it is REAL-TIME.
Installation
------------
Installation is quite simple. Load up the program, AMOS-MONITOR.AMOS
, this is a whole program, used as an example. Go down through the
listing, and save the procedure, MONITOR, out as an Ascii file. Mereg this
into the program you want to debug.
Firstly, before you do anything, near the start of your program, add the
following varibles to your global list. Or if you don`t have a global
list, start one.
Global OPEN,CAL,XN,YN,IN,DATE$,TIME$
Now, depending upon where you want your monitor to be called, you place a 3
lines of necessary code. Lets say you want it to be called in your
mainloop, then somewhere in that loop you would put:
Actually, the `Screen 0', should be changed to whatever screen is being
used, BEFORE the monitor routine is called.
If OPEN<2
MONITOR[V1,V2,V3,V4,V5,V6,V7,V8]
Screen 0
End If
V1-V8, are varibles which you can monitor. More on that later.
What you have done now, will actually monitor the progress of your loop.
But you can`t see it. Here, you can decide which key brings it up. In the
Next example I use, ESCAPE for this....
If Key State(69)
CAL=1
End If
Bingo! That`s the installation coding complete.
In the program itself, ( Where you cut the procedure out, in the first
place ), you`ll find that it calls the Monitor with a number of varibles,
of screen co-ordinates and mouse co-ordinates.
The Options
-----------
You can select a number of different things to do, from the menu`s.
Menu 1:
=======
System : Displays Free Chip, Free Fast, Free Text Buffer.
DiskInfo : Gives you information about Df0:
Utilities : Allows you to:
1. Delete Bobs
2. Delete Icons
3. Paste Bobs
4. Paste Icons
5. Insert Bobs
6. Insert Icons
Menu 2:
=======
Variables : Will display the contents of the 8 variables which can
be followed, by putting them in the call, as a parameter.
Output to RAMDISK: Quite a useful one. Outputs information of bob
definitions, and the 8 tracked variables, every frame.
To stop this, select it again, and when you do,
you`ll be asked whether or not you want the ASCII file
in RAM to be transfered to Df0:, so you can look at it
using an ASCII displayer.
Co-Ordinates : Displays X & Y Mouse Co-Ordinates, and X & Y Screen
Co-Ordinates.
Menu 3: Monitor Menu
=======
Hide Monitor : Closes the monitor, as if it has not been called.
To call it back, just use the same checks, of
setting CAL to 1.
Close Monitor : Basically the same as above, but it is not run at
all! You can call it back in the same way though!
About Monitor : Doesn`t take an ediot to work this out.
Menu 4: 3D Specific
=======
Priority : You can specify the drawing priority on any of your
objects.
Colour Combination: Allows you to choose one of the combinations for your
3D object to use. Same as the function within the
3D modeller.
Pragma : This is an un-documented command, which requires 2
parameters, the first of which, I have taken to be
an object number. I don`t know what it does at all,
and I see no visible affect. But you can adjust it.
Menu 5: Tome specific
=======
Map Info : Gives the size of your map in X and Y co-ords.
Tile Value : Gives the Tile Value, and Tile Number at the
X and Y mouse, co-ordinates!
Menu 6:
=======
Break On : Turn the CTRL-C check on.
Break Off : Turn the CTRL-C check off.
Back to AMOS : Deletes any RAM disk files, and goes back to AMOS!
Menu 7:
=======
Areg Values : Displays, in real-time, all 6 AREG values!
Dreg Values : Displays, in real-time, all 7 DREG values!
Menu 8:
=======
Date & Time : Displays, in real-time, the date and the time
RAM save Frames : Gives you the option, of when you want the RAM DISK
to be updated. This can be from 1-9 frames!
The menu`s which have a SPECIFIC, after them, require that extension to
work. AMOS-Monitor, does not check, and an error will occur. But it won`t
say, as all errors are resumed on the next command, so as not to upset your
program.
Limitations
-----------
All programs have limitations, including AMOS - Monitor.....
* Amos Monitor, uses SCREEN 7. If your program uses this, then of course,
problems will arise!
* Amos Monitor, requires a mouse pointer. Even if it`s just for
programming time, have the mouse pointer on.
* Whilst saving to the RAM Disk, and displaying things in
realtime, the program will be slightly slower, due to the updating process
of the monitor!
* Your program can`t use the variables that the monitor uses. All problems
in this field can be avoided, by planning ahead.
Anything Else?
--------------
I am considering, doing an update to AMOS-MONITOR, and I would greatly
appreciate your views & ideas for it. Anyway, if you understand my coding,
it is not too difficult to update yourself.
The main problem with updating though, is keeping the monitor to a
reasonable size. I don`t want it too large. Anyway, here is a list of
things I would like to include:
Any ideas to me, you can send them to:
Odyssey Software
331 London Road
Stoneygate
Leicester
LE2 3NE
Or, better still: Tel: (0533) 705630
Fax: (0533) 704673