
Running Solar 952 from Maximus

This is a quick attempt to document how to run the Solar offline News
reader from a Maximus BBS system.  This is a real hack and I'd love it if
someone would finish it off (or do a better one).

The system starts by having the following in the MENUS.CTL file (NOTE the
lines starting '65_' are part of the line above, separated by one space):

===========================================================================
     Display_File    Misc\ZipNews             Normal "Solar"
UsrLocal  NoDsp Xtern_Erlvl 
      65_command_/e:1024_/c_binkley\solar1.bat_%t_0_0_%r Normal "S"
UsrRemote NoDsp Xtern_Erlvl 
      65_command_/e:1024_/c_binkley\solar1.bat_%t_%W_%P_%r Normal "S"
===========================================================================
     
This calls a BATch file which in turn calls Solar (after setting things
up).  There are two methods of calling Solar depending on the location of
the user (local or remote).

The first of these lines runs a MECCA file which writes out the users name
to USERINFO.DAT.  This MECCA file is:

===========================================================================
[delete]f:\maximus\userinfo.dat
[open]f:\maximus\userinfo.dat
[write]%A %B[ comment           Write the user's first and last name    ]
[write]%c[ comment           Write the user's city          ]
[write]%g[ comment           Write the user's graphics      ]
[write]%t[ comment           Write the user's time remaining]
[open]nul
===========================================================================

The only information required is the first line (this file is also used on
my system when calling ZipNews, which requires a bit more information).

The SOLAR1.BAT file looks like (NOTE the three lines starting 'if (%2)' are
split onto the next line here):

===========================================================================
@echo off
f:
cd \maximus
f:\waffle\solar1\solargo /fuser.bat
if not exist user.bat goto end
call user.bat
del user.bat
if (%user%)==() goto end

set p=%path%
set path=F:\WAFFLE\SOLAR1;F:\WAFFLE\BIN;%path%
set solar=F:\WAFFLE\SOLAR1\SOLAR%mtask%.CFG
set solar95=F:\WAFFLE\SOLAR1\SOLAR%mtask%.CFG
set waffle=F:\WAFFLE\SYSTEM\STATIC
set dszport=2
f:
cd \waffle\solar1
solar -f -u %user% -t %1 -s %2 
slrxfer -v -f -u %user%
slrreply -u %user% -f -r %4 %5 %6 %7
cd ..
:done
if (%2)==(0) if exist f:\waffle\user\%user%\bugboard.* 
                            echo Copying News batch to H:\
if (%2)==(0) if exist f:\waffle\user\%user%\bugboard.* 
                            copy f:\waffle\user\%user%\bugboard.* H:\ >nul
if (%2)==(0) if exist f:\waffle\user\%user%\bugboard.* 
                            del f:\waffle\user\%user%\bugboard.*
set user=
set dszport=
set waffle=
set solar=
set solar95=
set path=%p%
set p=
:end
===========================================================================

slrxfer.exe is meant to be called from solar.exe but mine doesn't seem to
want to :-(

The solargo.exe program reads the USERINFO.DAT file that the ZipNews.MEC
file produced, and looks up the name in a ZN_USERS.LST file.  This file is
just a series of BBS names followed by the Waffle user name:

===========================================================================
SYSOP kevin
KEVIN SARTORELLI kevin
BRENDON MILLARD brendon
STEPHEN VAN HAM stephen
===========================================================================

If someone wants to re-write the SOLARGO.EXE program so it prompts for a
username and maintains this file I'd LOVE it.....  Currently a new user is
given a message and then kicked out to run ZipNews so their name is entered
into this file.  I just lack time.....

The Waffle username is written out to USER.BAT which is then called.  This
seemed to be the safest way of setting a DOS environment variable - all my
C routines seemed to shove it into the wrong environment.

The only other thing I do is to add a 'driver: fossil' to the Waffle STATIC
file.

Anyone care to re-write this, feel free :-)
Anyone want to share how they do this - please do!

Cheers
Kevin

kevin@nui-wgtn.gen.nz

