Category : Communication (modem) tools and utilities
Archive   : PCB_ALL3.ZIP
Filename : PCB_ALL.SLT

 
Output of file : PCB_ALL.SLT contained in archive : PCB_ALL3.ZIP
str user_name[] = "PUT YOUR NAME HERE";

main()
{
int stat;
int t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12;
int tmark;
int door;
int loop;
int graphics;
graphics = 0; // only a flag, you MUST change letters
door = 0; // in the prompts if you want graphics
loop =0; // or wish to skip checking for new mail
alarm(1);

if (not _entry_pass)
{
prints ("Sorry, No password defined in your dialing directory for this BBS");
return;
}

t1 = track("(Enter) to", 0);
t2 = track("=yes?", 1);
t3 = track("More", 0);
t4 = track("DOOR 1", 0); // Check for VARIOUS door possibilities
t5 = track("DOOR;1", 0);
t6 = track("DOOR 2", 0);
t7 = track("DOOR;2", 0);
t8 = track(": Zmodem ", 1); // DOOR 1 assumed if not mentioned,
t9 = track("(DSZ", 1); // also appears like this sometimes
t10 = track("[Main Board]", 1); // ProDoor 'main board' prompt
t11 = track(": Main Board", 1); // Another ProDoor 'main board' prompt
t12 = track("Board Command?", 1); // PCBoard prompt

tmark = timer_start(2500); // wait up to 3 minutes for login.

if (waitfor("=no?", 10)) // *** Do you want graphics Enter=yes?
// waits up to 10 seconds for first
{ // PCBoard prompt.
graphics = 1; // This was put in to avoid having to
cputs("n q^M"); // wait 10 secs if PCBoard did prompt
} // for graphics.....NO Graphics Selected

if (graphics == 1)
waitfor("first name?", 4); // wait 4 secs for name prompt if PCB
// prompted for graphics
else
waitfor("first name?", 15); // if there is no prompt for graphics,
// wait up to 15 sec for first name.

cputs(user_name); // enter full name and password at
cputs(" "); // first name prompt
cputs(_entry_pass);
cputs("^M");

while (not time_up(tmark))
{
terminal(); // let Telix process any chars and keys

stat = track_hit(0); // see which (if any) track was hit

if (stat == t1 || stat == t2) // Press (Enter) to continue?, and
cputs("^M"); // Scan messages (Enter)=yes?

else if (stat == t3) // More: (Enter) or (Y)es, (N)o, (NS)
cputs("n^M");

else if (stat==t8 || stat==t9 || stat==t4 || stat==t5)
{
door = 1; // set flag, ProDoor behind DOOR 1
track_free(t4); // Yes, you can do a quadruple OR!!!
track_free(t5); // free tracks to speed up loop
track_free(t8);
track_free(t9);
}

else if (stat == t6 || stat == t7)
{
door = 2; // set flag, ProDoor behind DOOR 2
track_free(t6); // free tracks to speed up loop
track_free(t7);
}
else if (stat == t10 || stat == t11) // Don't break until all the way to
break; // Prodoor [Main Board] or..........

else if (stat == t12 && door != 0) // If at 'Main Board' prompt, send
// command to open ProDoor.
{ // loop counter used to stop script from
loop = loop +1; // sending OPEN more than once, some
if (door > 0 && loop > 1) // PCBoards have Zmodem in PCBoard, and
break; // no ProDoor.

else if (door == 1)
cputs("Open 1^M");

else if (door == 2)
cputs("Open 2^M");

}
else if (stat == t12 && door == 0) // PCBoard Main board prompt, ProDOOR
break; // is not available.
} // The DOOR is detected by assuming you
// have defined Zmodem as the default
// protocol at the PCB main board
// prompt. You can check it by typing
// V at the PCBoard main board prompt.

timer_free(tmark); // free timer channel

track_free(0); // free all remaining track handles

}


  3 Responses to “Category : Communication (modem) tools and utilities
Archive   : PCB_ALL3.ZIP
Filename : PCB_ALL.SLT

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/