[Coco] sysgo hacks

Willard Goosey goosey at virgo.sdc.org
Thu Sep 30 03:43:10 EDT 2004


>From: "Boisy G. Pitre" <boisy at boisypitre.com>
>Date: Wed, 29 Sep 2004 06:10:15 -0500

>I'm not aware of that patch.  Can you provide a more detailed 
>explanation of what it does?  I'll certainly take it into consideration 
>for a future enhancement.

OK, first, I was tired when I wrote that message.  It's an entire
replacement for cc3go, not a patch.  It's on RTSI,
OS9/OS9_6X09/APPS/cc3go_shell_parm.lzh

For your reading pleasure, here's the read.me:

---------
New CC3GO Module - 11/29/89
Copyright (C) 1989 RGB Computer Systems

<<<<<<<<< The examples below assume the use of SHELL PLUS! >>>>>>>>>

Although Shell Plus is NOT needed to use the new CC3GO, the examples
below may refer to features which are only FOUND in Shell Plus.

    ====> Do yourself a favor... download Shell Plus! <====

--------------------------------------------------------------------

This new CC3GO module differs from the original module.

The first difference is that the system-space-wasting sign-on
message has been eliminated. Without it, you gain one extra page
(256 bytes) in your system map. A small program module (signon) has
been included for those of you who actually want to see the copyright
message when you boot up. Just copy "signon" to your CMDS directory
and then add "signon" to your startup file. You will see the same,
familiar sign-on message at bootup.

If you have nothing else using the "autoex" feature of CC3GO, you can
even rename "signon" to "autoex" and you will accomplish the same thing
(see the sign-on message at bootup).


The second difference is that it is now possible to SPECIFY the
parameters given to the starting Shell upon bootup. The optional
shell parameter(s) are provided by a file called "shell.parameters"
which is to be located in your "/dd/SYS" directory. If this file
is not present or empty, CC3GO will use it's DEFAULT parameter for
shell which is simply "I=/1". This default parameter starts up an
immortal shell (re-starts on EOF).


It is now possible to alter this default parameter simply by creating
a "SYS/shell.parameters" file. For example, if you wanted to start
up as normal, but ALSO assign an alternate execution path (using the
"PATH=" function) you would build a "shell.parameters" file like this:

I=/1 path=/r0

NOTE that the "shell.parameters" file OVERWRITES the default shell
parameter. If you choose to use an alternate parameter, you must
replace the original "I=/1" part of it as well. This was done so that
you could actually start a shell which WOULD die upon EOF... IF you
wanted to. A use for this would be to run "login" WITHOUT an immortal
shell... if the user fails access, the system dies. Security!!!


The above "shell.parameters" file would start an immortal shell with
"/r0" assigned as the alternate execution search path. Here is another
example which kills the starting shell and then runs "login":

ex login

This parameter will kill the originating shell (ex) and then run the
utility "login". NOTE that IF login dies (due to bad password etc..)
the system also dies since there is no shell to fall back on.


The new CC3GO features may even be useful for doing things like setting
an alternate data and/or execution directory at bootup. Even though the
system boots with a default data directory of "/dd" and a default exec
directory of "/dd/CMDS", you could easily alter it like this:

I=/1 chx /d0/CMDS

This "shell.parameters" file would set your execution directory at
"/d0/CMDS" upon bootup. NOTICE that we always include the "I=/1" at
the beginning. This is because without it, the shell which boots up
will die upon receiving an EOF (ctrl-break) and there will be NO WAY
to get back in. A reset button would be necessary. By adding "I=/1",
the shell will re-start if you press ctrl-break. REMEMBER that IF you
use the "shell.parameters" file, it OVERWRITES the default parameter
string: "I=/1".

You could probably even boot up into a remote terminal using the
following "shell.parameters" line (although I haven't tried it):

I=/t2

      <<<<<<<<<<<<<<<<<<<<< IMPORTANT!! >>>>>>>>>>>>>>>>>>>>

NOTE that the "shell.parameters" file MUST consist of only one line.
This means only ONE carriage return (c/r). Your parameter line can be up
to 240 characters long (including the c/r) but you cannot have several
lines (several carriage returns). First of all, shell wouldn't accept
more than one line as a parameter and second, CC3GO does an I$ReadLn
once, so it stops at the first c/r anyway.

----------------------------------------------------------------------

Another thing: Shell seems finicky about the order in which parameters
are given. If you try several parameters like path= and chd and chx and
p= etc.. and some don't "take" try re-arranging the order in which they
appear. This should solve the problem. Also, there may be some things
which you simply cannot do. All I can say about that is "sorry!"

----------------------------------------------------------------------


Finally... if you don't want to mess with parameter files and all
that other stuff, just use the NEW CC3GO in place of the old, make
a new boot disk and go. The ONLY difference you will see is that
there is no longer a sign-on message. You start up at the usual
OS9 prompt. If you completely omit the "shell.parameters" file, the
system just runs normally (less the sign-on message, of course).

ASM compatible source code included for those of you who want to
mess up CC3GO some more!


Have fun!

Roger A. Krupski (HARDWAREHACK)

     RGB Computer Systems
     294 Stillwell Avenue
     Kenmore, N.Y.  14217
     Phone (716) 876-7538

-eof-

Since NitrOS9 normally doesn't put sysgo in the boot anyway, the
seperate signon message isn't really important.  What I liked was the
shell.parameter file.  

Willard
-- 
Willard Goosey  goosey at sdc.org
Socorro, New Mexico, USA
"I've never been to Contempt!  Isn't that somewhere in New Mexico?"
   --- Yacko



More information about the Coco mailing list