ASSIGN S0 "MEOW"
ASSIGN S1 "ATDT439-3060^M"
ASSIGN S2 "YOUR NAME^M"
ASSIGN S3 "PASSWORD^M"
SET BAUDRATE 2400
SET PARITY NONE
SET DATABITS 8
SET STOPBITS 1
SET DUPLEX FULL

start:
GOSUB set_scrn
GOSUB del_old
GOSUB chk_fst
IF NOT LINKED
  GOSUB con_scrn
  GOSUB manual
  IF NOT CONNECTED
    GOSUB make_old
    QUIT
  ENDIF
ENDIF
EMULATE ANSI
LOG OPEN S8
PAUSE 3
TRANSMIT "^M"
WAITFOR "What is your first name?"
PAUSE 1
TRANSMIT S2
WAITFOR "Password (Dots will echo)?"
WHEN "Press (Enter) to continue?" "^M"
PAUSE 1
TRANSMIT S3
ISFILE S7
IF SUCCESS
  WAITFOR "(H)elp, More?" FOREVER
  PAUSE 1
  TRANSMIT "N^M"
ENDIF
WAITFOR "New Bulletin(s):" 10
RGET S4 80 5
IF NOT WAITFOR
  ASSIGN S4 "^M"
ENDIF
PAUSE 1
TRANSMIT "^M"
WAITFOR "Main Board Command?"
ISFILE S7
IF SUCCESS
  GOSUB del_old
ENDIF
GOSUB get_bltn
GOSUB get_nfns
EXECUTE "M.ASP"

set_scrn:
  IF MONO
    INIT N1 7
    INIT N2 7
    INIT N3 7
    INIT N4 7
  ELSE
    INIT N1 31
    INIT N2 159
    INIT N3 12
    INIT N4 14
  ENDIF
  STRFMT S7 "%s.OLD" S0
  STRFMT S8 "%s.LOG" S0
RETURN

con_scrn:
  CLEAR
  STRFMT S9 "Logging onto %s..." S0
  DATE S5
  TIME S6 0
  BOX 0 0 4 32 N1
  ATSAY 2 2 N2 S9
  ATSAY 1 35 N3 "Time started, this session:"
  ATSAY 1 63 N4 S6
RETURN

manual:
  LOCATE 6 0
  TRANSMIT S1
  RFLUSH
  RGET S9 13 65
  RGET S9 13 5
  SUBSTR S4 S9 1 13
  STRFMT S9 "ECHO %s %s - %s >> %s.TXT" S5 S6 S4 S0
  DOS S9
RETURN                            

chk_fst:
  STRFMT S9 "COMPDATE %s" S0
  DOS S9
RETURN

make_old:
  ISFILE S8
  IF SUCCESS
    STRFMT S9 "COPY %s %s" S8 S7
  ELSE
    STRFMT S9 "COPY %s %s" S7 S8
  ENDIF
  DOS S9
RETURN

del_old:
  ISFILE S7
  IF SUCCESS
    STRFMT S9 "DEL %s" S7
    DOS S9
  ENDIF
RETURN

get_view:
  PAUSE 1
  TRANSMIT "V^M"
  WAITFOR "Main Board Command?" 60
RETURN

get_bltn:
  WHEN ", More?" "^M"
  FIND S4 "^M"
  IF FOUND
    GOTO end_bltn
  ENDIF
  TRANSMIT "B "
  STRCAT S4 " X "
  SUBSTR S8 S4 1 99
next_tx:
  ASSIGN S4 S8
  INIT N5 0
next_chr:
  SUBSTR S8 S4 N5 1
  STRCMP S8 " "
  IF NOT SUCCESS
    INC N5
    GOTO next_chr
  ENDIF
  SUBSTR S8 S4 0 N5
  INC N5
  STRCMP S8 "X"
  IF NOT SUCCESS
    STRFMT S9 "%s^M" S8
    TRANSMIT S9
    WAITFOR "Bulletin List Command?" FOREVER
    SUBSTR S8 S4 N5 99
    GOTO next_tx
  ENDIF
  PAUSE 1
  TRANSMIT "^M"
  WAITFOR "Main Board Command?" FOREVER
end_bltn:
  CWHEN
RETURN

get_nfns:
  WHEN ", More?" "^M"
  PAUSE 1
  TRANSMIT "N S A^M"
  WAITFOR "Main Board Command?" FOREVER
  CWHEN
RETURN

