home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
GEMini Atari
/
GEMini_Atari_CD-ROM_Walnut_Creek_December_1993.iso
/
files
/
acc
/
general
/
rmsbt121
/
rmsbt121.txt
< prev
Wrap
Text File
|
1990-12-31
|
17KB
|
326 lines
RMS Boot v1.2 Docs
RMS_BOOT.ACC is a read-only control panel (ROCP), plus an
auto-prompting time-date entry facility. Its origin dates back to
my TD2X.ACC, and the current version is the result of feedback
from users who wanted additional features. It is shareware;
please see the notice at the end of these docs.
The rationale behind an ROCP
TOS does not automatically set various parameters when you
power-up or reset your ST. In addition, the 520ST and the 1040ST
do not include a battery-powered clock.
The solution which Atari provides is CONTROL.ACC, working in
conjunction with a DESKTOP.INF file. It initializes parameters at
power-up and reset, and when selected from the Desk menu, it
allows you to view/set the system clock. You can also change
parameters loaded in from DESKTOP.INF.
CONTROL.ACC has several shortcomings. It uses over 20K of
RAM, and it does not automatically prompt you to enter the time
and the date. Moreover, most of the time you only use it as an
ROCP; you seldom change the parameters.
Why set the system clock?
When a file is saved to disk by the ST, it has a time-date
stamp attached to it. At power-up, the default is 12:00 AM on the
date of creation of the TOS version in your ST. Having the actual
time and date appear on a file can be a convenience. Furthermore,
hard drive back-up programs may allow you the option to back up
only from a certain date forward. If your files don't have the
correct time-date stamp, they will not be backed up.
Using RMS_BOOT.ACC
When you power-up or reset your ST, you will be greeted with
a dialog box. At the top is the title and the version number of
the accessory, with a copyright notice below it. Immediately
below that is a display of the free RAM available. If you are now
using a special accessory just to display the free RAM, then you
can discard it. This will free up an accessory slot; it will also
save you several KB of RAM.
Next is the time-date box. Entering the time and the date
follows standard GEM procedures. The up-arrow and the down-arrow
keys will toggle you between the time field and the date field.
The left-arrow and the right-arrow keys will move you one
character in the indicated direction. The [Delete] key will erase
the character under the cursor, and move the characters to the
right of the cursor one space to the left. The [Backspace] key
will move the cursor one space to the left, delete the character
under its new position, and move the characters to the right of
the cursor one space to the left. The [Esc] key will erase all
the characters in the field and place the cursor at the start of
the field.
Time entry is in AM-PM format. (The colon and the "M" are
defaults; do not enter them.) Date entry is in USA-standard
mm/dd/yy format. (The slash bars are defaults; you do not need to
enter them.) Leading zeros are required. Due to a bug in TOS, I
have limited the year entry to 85 through 99.
"The Better MouseTrap"
When mousing-around on the desktop or inside an application,
we've all encountered the frustration of accidentally moving the
mouse into the menu bar. An unwanted menu drops down, and we have
to move the mouse outside the menu and click on the left button to
get it to disappear.
Back in the Fall 1986 issue of "START", Daniel L. Moore and
David Small introduced a solution. "MouseTrap", a program which
ran in the AUTO folder, made it necessary for the user to depress
the right mouse button in order to enter the menu bar.
The program had several shortcomings which I have corrected
with "The Better MouseTrap". Below the time-date is a box which
allows you to install or to remove the mousetrap at will. It does
not use any absolute low-RAM addresses, so it is compatible with
all versions of TOS. It also does not interfere with an
application's setting of a new mouse interrupt routine.
When the mousetrap is enabled, press and hold down the right
mouse button when you enter the menu bar. Then release the right
mouse button; otherwise, when you traverse the menu headings, the
menus will not drop down.
Marching bravely forward
The button marked "ENTER" terminates the dialog box. Just
click the left mouse button in it, or press the [Return] or the
[Enter] key.
RMS_BOOT.ACC now checks for an illegal entry in the time and
the date fields. (Yes, it even checks for 02/29/XX in non leap-
years.) An illegal entry will cause the dialog box to be
displayed again so that you can correct your mistake.
This is where things get interesting. An alert box asks if
you want to change all the parameters, the color palette only, or
none at all. The default is "Cancel"; just click in it, or press
[Return] or [Enter].
If you choose "All", another alert box appears to warn you
that you may lose your work session or crash your ST if you are
using your printer or your modem. If you choose "Cancel", then
you will return to the original alert box.
If you choose "Continue", then you will see the familiar GEM
file selector. The default path is the root directory of the
drive from which RMS_BOOT.ACC was loaded. (This is just one of
several reasons that RMS_BOOT.ACC should be in the root directory
of your boot drive. See notes on MultiDesk, below.) The default
filename is "DESKTOP.INF". Clicking on "Cancel" gives you one
final chance to bail out; you will return to the original alert
box.
Using standard GEM procedures, select the file that you want.
If you choose a file which is not in DESKTOP.INF format, then you
will be notified by an alert box, and you will be returned to the
file selector.
Once you select a legitimate DESKTOP.INF-format file,
RMS_BOOT will read it from disk and set all parameters according
to the values in the file.
An off-color story
If you choose "Colors" from the original alert box, or if you
have already set new parameters, then you will see another alert
box. As before, "Cancel" is the default.
"From disk" takes you to the file selector. As always,
selecting "Cancel" gives you another chance to bail out; you will
be returned to the original alert box.
The same error-checking as above will be applied to the file
that you selected. Once you select a legitimate file, RMS_BOOT
will load it; however, only the color palette will be set.
The "Default" selection will set the color palette to Atari's
palette provided in the DESKTOP.INF file which came with my ST.
It is not the same as that in the disassembly in ABACUS'
"Internals".
Any changes that you make to the parameters and/or to the
color palette are automatically copied to the system desktop
buffer. The next time that you save the desktop, they will be
saved in the DESKTOP.INF file to the root directory of your boot
drive.
At this point, RMS_BOOT returns control of your ST to you.
It can be re-invoked at any time from the desktop or from within
any GEM application which allows accessories.
The ROCP itself
RMS_BOOT.ACC sets the following parameters:
1) The baud rate and the flow control for the serial (aka modem
aka RS-232) port,
2) The various parameters for the parallel (aka printer aka
Centronics) port,
3) The color palette,
4) The keyboard attack rate (the delay between a keypress and the
start of keyboard repeat),
5) The keyboard repeat rate,
6) The mouse double-click rate,
7) Keyclick on/off, and
8) Bell on/off.
Comments and caveats
RMS_BOOT.ACC is compatible with all versions of TOS 1.0 (ST
TOS), TOS 1.2 (Mega TOS), and TOS 1.4 (Rainbow TOS), whether in
ROM or loaded from disk. (With one exception -- the May 1985
version of TOS 1.0 on disk.) It is not intended for use with TOS
1.6 (STe TOS); it does not support the extended color palette of
the STe.
TOS 1.4 introduced a new file selector. In addition to many
bug fixes, it now sports 16 drive buttons. It is no longer
necessary to use the keyboard to enter a new drive number in the
"Directory" line.
Furthermore, there is an additional call to invoke the file
selector. A programmer may choose to have his own text replace
the "FILE SELECTOR" which normally appears at the top of the box.
RMS_BOOT.ACC takes advantage of this new call. If you click
on "All" in the "Load new parameters:" alert box, then you will be
prompted with "Load parameters from disk:". Likewise, "Load color
palette from disk:" will prompt you when you click on "From disk"
in the "Load new color palette:" alert box.
If you have TOS 1.0 or 1.2, then the standard file selector
will appear, with "ITEM SELECTOR" at the top. RMS_BOOT.ACC checks
the TOS version to ensure compatibility. I have also tested it
with several custom file selector programs; no conflicts have
arisen.
In fact, I've taken it a step farther. Charles F. Johnson's
excellent shareware file selector, "Little Green Selector", allows
programmers to pass strings to it. These strings replace the
normal:
----------------
| Little Green |
| Selector |
----------------
in the upper right-hand corner of his selector. So if you use
Charles' program with TOS 1.0 or TOS 1.2, then RMS_BOOT.ACC will
prompt you with:
----------------
| Load new |
| parameters: |
----------------
or:
----------------
| Load new |
| palette: |
----------------
at the appropriate times. And with TOS 1.4, the same prompts
which appear in the standard file selector will be displayed in
the Little Green Selector.
When RMS_BOOT.ACC executes, it steals the system mouse
handler vector for use with its mousetrap. It plays by all the
rules of good programming practice. Installing and removing the
mousetrap involves a special technique of self-modifying code;
this makes it compatible with virtually any GEM program.
You can repeatedly invoke RMS_BOOT.ACC from the Desk menu of
any well-behaved GEM application, install or remove the mousetrap,
or change all parameters or the color palette only, without any
problems.
Unfortunately, my favorite spreadsheet, "Analyze! v2.03", is
not a well-behaved program. If you invoke RMS_BOOT.ACC from
Analyze!'s Desk menu, then it will lock up, and you will have to
reset your ST (and lose any work that you've already done).
You should not run RMS Boot from within CodeHead Software's
"MultiDesk". If you configure MULTDESK.ACC to automatically load
and execute RMS_BOOT.ACC, then the two programs will behave
predictably together.
However, if you subsequently unload RMS_BOOT.ACC, then you no
longer have access to it. In addition, after unloading it,
loading in another accessory -- or even reloading RMS_BOOT.ACC --
will overwrite the mousetrap code, and your ST will lock up or
crash.
Likewise, if you run RMS_BOOT.ACC from MULTDESK.PRG, then
when you terminate MultiDesk and load another application, the
same thing will happen.
In other words, RMS Boot and MultiDesk are not inherently
incompatible with one another. They can be simultaneously
coresident in RAM, without any negative interaction whatsoever.
It is the use of MultiDesk's powerful ability to load and unload
accessories which leads to the conflict between the two programs.
The bottom line is this: As its name implies, RMS_BOOT.ACC
is meant to execute every time that you boot -- that is, power-up
or reset -- your ST. It is also meant to remain resident in RAM,
so that you can invoke it at any time from the Desk menu of a GEM
application -- including, of course, the desktop. So to get the
most from it, please copy it to the root directory of your boot
drive -- where it belongs.
Good sense dictates that there are times that the mousetrap
should be removed before running some TOS programs. Using GFA
BASIC's menu system, for example, would be a royal pain if the
mousetrap were installed.
By the way, time-date entry always sets the seconds to zero.
Repeatedly resetting your ST or selecting RMS_BOOT.ACC from the
Desk menu will gradually cause your ST's clock to lose minutes
unless you re-enter the time.
RMS Boot v1.21
Upgrade notes
For RMS Boot v1.21, I optimized a couple of sections of code
to save a few bytes of memory and to speed execution by several
microseconds. No big deal; by themselves, these changes don't
justify release of a new version. The real reason for the upgrade
is to distribute this addendum to the original docs.
Some programs use the right mouse button for their own
purposes. "Hotwire", for instance, responds to a quick single-
click of the right button to kick it into action and display its
menu. And "Flash" uses a right button press to toggle between its
TOS terminal screen and its GEM program screen.
At first thought, it would seem obvious that RMS Boot's
moustrap, when installed, would be incompatible with such
programs. This is not the case, however; you just have to "fool"
them into ignoring the right mouse button.
Codehead's John Eidsvoog was kind enough to clue me in to how
Hotwire is invoked. If you press the right mouse button, and then
you release it within about 1/3 of a second, Hotwire takes over.
If you hold the button down longer than that, though, Hotwire
ignores it.
To enter the menu bar when both Hotwire and my mousetrap are
installed, press the right button, move the mouse arrow into the
menu bar, and hold the button down for about half a second. (It
sounds like more effort than it really is. In actual practice,
for most users this mouse action would take that long anyway.)
Flash presents a different challenge: it responds when you
first press the right mouse button. If you want to use the GEM
screen's menus, then you have to "sneak" the mouse into the menu
bar before Flash gets a chance to respond to the right button..
The trick is to move the arrow up to the bottom of the menu
bar directly below a menu title. While continuing to move your
mouse, press the right button. The mouse will enter the menu bar,
and a menu will immediately drop down. You can then release the
button and move the mouse arrow to eny menu title that you want.
GEM's menuing system will work normally, and as long as a menu is
displayed, Flash will ignore the right mouse button.
This solution for Flash works equally well for Hotwire, too
-- just be sure to hold the right button down for about half a
second. In fact, after a few times, this mouse motion becomes
automatic. I quickly got into the habit of entering the menu bar
this way all the time. This is the reason that I didn't notice
the problems until they were pointed out to me.
Thanks to Norm Weinress for bringing these anomalies to my
attention.
Conclusion
RMS Boot was written in 100% assembly language. It occupies
only 4K of disk space and less than 5K of RAM. It uses an
imbedded, hard-coded resource; there is no separate .RSC file.
(This thanks to a terrific program by John Eidsvoog, which he may
some day decide to release.)
RMS Boot is copyright 1991 by Maloney and Red Menace!
Software. It may be distributed freely, provided that this text
file accompanies it. It may not be sold for profit, nor may it be
included with a commercial software package without the express
written permission of the author.
As I stated at the beginning, RMS Boot is shareware. For
those unfamiliar with the concept, shareware is "try-before-you-
buy" software. Unlike commercial software, if you test shareware
and find it not to your liking, then you haven't wasted your
money.
On the other hand, if you want to continue to use it, then
you are expected to pay for it. The cost is usually nominal; it
does not begin to reward the programmer for his efforts.
If RMS Boot meets with your approval, then please send a
check for $15.00 (in U.S. funds), payable to "Maloney" to:
Maloney
6245 Kester #40
Van Nuys, CA 91411
U.S.A.
Thank you for your support!