This program is a host program that works on Model 100 computers equiped with a Bricom, Autoanswer cable for the built in, 300 baud modem. The Bricom Autoanswer cable is no longer available, but a diagram for building one was published in Portable 100 magazine, November 1984, Pg 30, by Carl Oppedahl. 0 'ANSWER.BA - Bricom Systems 1984 10 MAXFILES=3:GOSUB 5000 20 REM WAIT FOR RNG NO OF RINGS 25 CLS:PRINT:PRINT:PRINT " Auto Answer Telecommunications":PRINT @135,"ON HOOK":PRINT@224,"Bricom Systems";:PRINT @315,"MENU"; 30 FOR RNG=1 TO 1:FOR DEL=1 TO 1200:NEXT DEL:GOSUB 3000 35 NEXT RNG 50 T$=TIME$' ***SET TIME DELAY FOR DISCONNECT 60 HO=VAL(MID$(T$,1,2)):MI=VAL(MID$(T$,4,2)):SE=VAL(MID$(T$,7,2)) 70 SE=SE+30 :IF SE>59 THEN SE=SE-60:MI=MI+1:IF MI>59 THEN MI=MI-60:HO=HO+1:IF HO>24 THEN HO=1 80 T$=STRING$(ABS(HO<10),"0")+RIGHT$(STR$(HO),2+(HO<10))+":"+STRING$(ABS(MI<10),"0")+RIGHT$(STR$(MI),2+(MI<10))+":"+STRING$(ABS(SE<10),"0")+RIGHT$(STR$(SE),2+(SE<10)):ON TIME$=T$GOSUB 2000:TIME$ ON 100 PRINT @134,"OFF HOOK";:PRINT @212," ";'***WAIT FOR CARRIER TONE TO START 105 CALL 28326,,19732:CALL 21200 110 FOR X=1 TO 2 115 POKE 65344,1:CALL 28399:IF PEEK(65344)<>0 THEN GOTO 115 120 NEXT X 200 REM MAIN COMMUNICATIONS ROUTINE 210 TIME$ OFF:OPEN "MDM:7I1D" FOR INPUT AS 1 220 OPEN "MDM:7I1D"FOR OUTPUT AS 2 230 PRINT #2, CR$,CR$;"BRICOM SYSTEMS' AUTO ANSWER MODEM." 240 M=0 245 PRINT #2,CR$;CR$; "COMMAND> "; 250 Z$=INPUT$(1,1):PRINT #2,Z$; 260 IF Z$=CHR$(255) THEN 2000 270 X=INSTR(1,"HFWRB",Z$) 280 ON X GOTO 4000,4100,4500,4700,1000 290 M=M+1 :IF M=5 THEN 2000 300 GOTO 4010 1000 IF Z$=CHR$(255) THEN 2000'***CHECK FOR LOG OFF 1030 PRINT #2,CR$;CR$;"DO YOU WANT TO LOG OFF (Y/N)? "; 1040 Z$=INPUT$(1,1) 1050 PRINT#2,Z$; 1060 IF Z$="Y"OR Z$="y" THEN PRINT #2,CR$;CR$; "DISCONNECT AT ";TIME$;" BYE! ";CR$;CR$;CR$:GOTO 2000 1070 GOTO 240 2000 CLOSE'***DISCONNECT 2020 CALL 21179 2030 GOTO 20 3000 PRINT @202,DATE$;" ";TIME$;'***WAIT FOR RING 3010 X=INP(208) AND 32 3040 IF X=0 THEN RETURN 3050 GOTO 3000 4000 M=0:PRINT #2,CR$;CR$;"**HELP**" 4010 PRINT #2,CR$;CR$;"COMMAND LIST: ELP ILES RITE FILE EAD FILE YE" 4020 GOTO 245 4100 PRINT #2,CR$;CR$;"**FILES**";CR$; 4120 V=VARPTR(#1)+65536:A=64652 4130 H=INT(V/256):L=V-H*256 4140 POKE A,L:POKE A+1,H 4150 FILES 4160 POKEA,0:POKE A+1,0 4210 GOTO 240 4500 PRINT #2,CR$;CR$;"**WRITE FILE**";CR$;"FILE TO WRITE? "; 4520 F$="":GOSUB 4900 4530 OPEN "RAM:"+LEFT$(F$,6) FOR OUTPUT AS 3 4540 PRINT #2,CR$;CR$; "ENTER DATA (CNTRL C TO END)" 4550 Z$=INPUT$(1,1) 4560 IF Z$=CHR$(13) THEN Z$=Z$+CHR$(10) 4580 IF Z$=CHR$(3)THEN 4590 ELSE PRINT #2,Z$;:PRINT #3,Z$;:GOTO 4550 4590 CLOSE 3:GOTO 240 4700 PRINT #2,CR$;CR$;"**READ FILE**";CR$;"FILE TO READ? "; 4720 F$="":GOSUB 4900 4730 OPEN "RAM:"+LEFT$(F$,6)FOR INPUT AS 3 4735 ON MDM GOSUB 4800:MDM ON:PRINT #2,CR$;CR$; 4740 IF EOF(3) THEN CLOSE 3:MDM OFF:GOTO 240 4750 Z$=INPUT$(1,3):PRINT #2,Z$;:GOTO 4740 4800 MDM OFF:Z$=INPUT$(1,1):IF Z$=CHR$(255) THEN 2000 ELSE IF Z$=CHR$(3) THEN CLOSE 3:GOTO 240 4810 IF Z$<>CHR$(19) THEN MDM ON: RETURN 4820 Z$=INPUT$(1,1):IF Z$<>CHR$(17) THEN 4820 ELSE IF Z$=CHR$(255) THEN 2000 4830 MDM ON: RETURN 4900 Z$=INPUT$(1,1):IF Z$=CHR$(13) THEN RETURN'***ONE WORD 4920 IF Z$=CHR$(255) THEN 2000 ELSE PRINT#2, Z$;:F$=F$+Z$:GOTO 4900 5000 ON KEY GOSUB,,,,,,,7000:KEY ON:CALL 21179'REM INITIALIZE 5040 CR$=CHR$(13)+CHR$(10) 5050 ON ERROR GOTO 6000 5060 RETURN 6000 REM ERROR ROUTINE 6010 IF ERR=51 OR ERR=55 THEN PRINT#2,CR$;CR$;"BAD FILE NAME":RESUME 240 6020 IF ERR=52 THEN PRINT #2,CR$;CR$;"FILE NOT FOUND":RESUME 240 6030 IF ERR=7 THEN PRINT #2,CR$;CR$;"OUT OF MEMORY":RESUME 240 6100 PRINT #2,CR$;CR$;"ERROR!";CR$;"DISCONNECT AT ";TIME$ 6110 RESUME 2000 7000 CLOSE:CALL 21179:MENU 10000 PRINT TIME$:FOR DEL=1 TO 1200:NEXT DEL:PRINT TIME$:STOP 10010 PRINT@ 100,X:GOTO 10000