home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Jason Aller Floppy Collection
/
341.img
/
TCS161S.ZIP
/
TCS.PAS
< prev
next >
Wrap
Pascal/Delphi Source File
|
1990-07-28
|
6KB
|
189 lines
(*
TCS Staff Members
─────────────────
Renegade Bithead Kid Devious Lord Zombie
Doc Savage Barimor Maniac
Lord Blix The Viper
TCS BBS Software v1.61
Program TCS;
{$R- Range checking Off Don't change }
{$S- Stack checking On Makes code larger/slower }
{$I- I/O checking Off Don't change }
{$D+ Debug information On Helps finding bugs }
{$F+ Force far calls On Required for Overlaying }
{$V- Var-string checking Relaxed Don't change }
{$B- Boolean evaluation Short Cicuit Don't change }
{$N- Numeric processing Software Change if you have an 8087 }
{$O+ Overlay checking On Don't change }
{$M 34000,0,0 Stack/heap 64k/none Don't change }
{$DEFINE OVERLAY}
Uses
{$IFDEF OVERLAY}
Initovr, { Overlay Initialization }
{$ENDIF}
Crt, { Turbo Pascal 5.0 Crt library }
Dos, { Turbo Pascal 5.0 Dos library }
Printer, { Turbo Pascal 5.0 Printer library }
{$IFDEF OVERLAY}
Overlay, { Turbo Pascal 5.0 Overlay library }
{$ENDIF}
Main, { Main menu shell }
Gentypes, { All type and constant declarations }
Configrt, { Configuration declarations / procedures }
Modem, { Modem support }
Statret, { System status declarations / procedures }
Gensubs, { General subroutines: lowest level }
Subs1, { First subroutine library }
Windows, { Routines to manage the split screen }
Subs2, { Second subroutine library: higher level I/O }
Textret, { Message Base routines }
Mailret, { E-Mail routines }
Userret, { User routines }
Flags, { Board access flag routines }
Mainr1, { High-level routines, set one }
Ansiedit, { Full-screen editor }
Lineedit, { Line editor }
Chatstuf, { Chat mode routines }
Mainr2, { High-level routines, set two }
Overret1, { High-level routines, set three }
Subs3, { Third subroutine library: externals, etc }
About, { About this BBS section }
Bulletin, { Bulletin section }
Configur, { Configuration section }
Database, { Database section }
Doors, { Door section }
Email, { Electronic mail section }
Filexfer, { File Transfer section }
Voting, { Voting section }
Mycomman, { User Utilities section }
Gfiles, { G-Files section }
Viewansi, { Screen Viewing section }
Rumors, { Random Rumors section }
Gamble, { Gambling section }
Trivia, { Uses The Trivia section }
Mainmenu, { Main menu commands }
Waitcall, { Waiting for calls }
Getlogin, { Log-in procedure }
Init; { Initialization routines }
(* stack5; *) { Reports stack usage - usually commented out }
{$IFDEF OVERLAY}
{$O About}
{$O Bulletin}
{$O Configur}
{$O Database}
{$O Doors}
{$O Email}
{$O Filexfer}
{$O Gfiles}
{$O Viewansi}
{$O Voting}
{$O waitcall}
{$O Getlogin}
{$O Init}
{$O Rumors}
{$O Subs3}
{$O gamble}
{$O Trivia}
{$ENDIF}
var gototcsterm:boolean;
q :integer;
begin
checkbreak:=false;
readconfig;
validconfiguration;
initboard (true);
fromdoor:=paramcount>=3;
repeat
gototcsterm:=false;
returnfromdoor;
if not fromdoor then begin
gototcsterm:=waitforacall;
if gototcsterm then else getloginproc
end;
if not gototcsterm then begin
votingbooth (true);
begin
repeat
if fromdoor and (returnto='D') then doorsmenu;
cursection:=mainsysop;
randomrumor;
echoit:=true;
q:=menu ('Main Menu','MAIN','ABCDEFGHIJKLMNOPQRSTUVWXYZ+-!&$%@=*.');
writeln;
case q of
1:aboutthisbbs;
2:bbslist;
3:summonsysop;
4:datamenu;
5:emailmenu;
6:feedback;
7:offtcs;
8:mainhelp;
9:begin
writeln;
writestr ('Which Info-Form would you like to fill out [#1-5]? *');
if (valu(input)>0) or (valu(input)<6) then
infoform (valu(input)) else
writeln (^M'Invalid Info-Form Number!'^M);
end;
10: if usegambling then begin;
credits:=0;
game;
end;
11:configure;
12:listusers;
13:bulletinmenu;
14:printnews;
15:doorsmenu;
16:gfilesection;
17:write (^M+'That command not available from this menu.'+^M);
18:rumormenu;
19:showsystemstatus;
20:udsection;
21:playTrivia;
22:votingbooth(false);
23:showlastcallers;
24:transfername;
25:allstatus;
26:setlastcall;
27:changepwd;
28:write (^M+'If you want your name changed then leave [F]eedback to the Sysop.'+^M);
29:requestraise;
30:showad;
31:donations;
32:mainsysopcommands;
33:setmenutype;
34:viewansiscreens;
35:showcredits;
end
until hungupon
end;
fromdoor:=false;
if not disconnected then disconnect;
ensureclosed;
clrscr;
if sysnext then begin
dontanswer;
halt (4)
end;
initboard (false)
end
until not gototcsterm;
dontanswer;
halt (0)
end.