1: DECLARE SUB LoadFont (f$) 2: DECLARE SUB BackGround (a!) 3: DECLARE SUB MsgBox (ms$, Tit$) 4: DECLARE SUB InputBox (x!, y!, t$, Prm$) 5: DECLARE SUB Window2 (Length!, Height!, Row!, Column!, tt$) 6: DECLARE SUB Print2 (x!, y!, cv!, t$) 7: DECLARE SUB UnLoadFont () 8: DECLARE SUB opencom () 9: DECLARE SUB connect () 10: DECLARE SUB Font (t$, cl!) 11: DECLARE SUB TextBx (SX!, SY!, eX!, Ey!, t$, r!, l!, pw$, tb$, del!) 12: DECLARE SUB Button2 (x1!, y1!, x2!, y2!, p!, t$) 13: DECLARE SUB SLEEP2 (t!) 14: DECLARE SUB SCapt (f$) 15: DECLARE SUB SLoad (f$) 16: DIM SHARED txt(255) AS STRING 17: DIM SHARED C 18: DIM SHARED Wxyz(4) 19: KEY 15, CHR$(0) + CHR$(55) 20: ON KEY(1) GOSUB Capt: KEY(1) ON 21: ON KEY(2) GOSUB Load: KEY(2) ON 22: SCREEN 12 23: CLS 24: LoadFont "C:\ASCIn.FNT" 25: BackGround 3 26: MsgBox "Pentagon Terminal", ":-)" 27: InputBox 50, 50, pw$, "Enter the password" 28: IF pw$ = CHR$(73) + CHR$(32) + CHR$(3) + CHR$(32) + CHR$(85) THEN ELSE MsgBox "*** Unauthorized Access ***", ":-(": END 29: 30: UnLoadFont 31: END 32: 33: Capt: 34: SCapt "Win1.BSV" 35: RETURN 36: 37: Load: 38: SLoad "Win1.BSV" 39: RETURN 40: 41: SUB BackGround (a) 42: C = a 43: LINE (0, 0)-(640, 480), a, BF 44: END SUB 45: 46: SUB Button1 (x, y, s, p, tle$) 47: IF p = 0 THEN clr1 = 15: clr2 = 8 ELSE clr1 = 8: clr2 = 15 48: eX = x + s: Ey = y + s 49: LINE (x, y)-(eX, Ey), 1, BF 50: LINE (x, y)-(eX, Ey), 0, B 51: LINE (x + 5, y + 5)-(eX - 5, Ey - 5), 1, BF 52: LINE (x + 4, y + 4)-(eX - 4, Ey - 4), 0, B 53: LINE (x, Ey)-(x + 4, Ey - 4), 0 54: LINE (eX, y)-(eX - 4, y + 4), 0 55: PAINT (x + 1, y + 1), clr1, 0 56: PAINT (eX - 1, Ey - 1), clr2, 0 57: END SUB 58: 59: SUB Button2 (x1, y1, x2, y2, p, t$) 60: IF p = 1 THEN q = 1: GOTO PUSHED 61: LINE (x1, y1)-(x1, y2 - 1), 15 62: LINE (x1, y1)-(x2 - 1, y1), 15 63: LINE (x2 - 1, y1 + 1)-(x2 - 1, y2 - 1), 8 64: LINE (x2 - 1, y2 - 1)-(x1 + 1, y2 - 1), 8 65: LINE (x1, y2)-(x2, y2), 0 66: LINE (x2, y2)-(x2, y1), 0 67: LINE (x1 + 1, y1 + 1)-(x2 - 2, y2 - 2), 7, BF 68: IF p = 3 THEN Print2 INT(((x2 - x1) / 2) - ((LEN(t$) / 2) * 8) + x1), y1 + 14, 0, t$: DO UNTIL INKEY$ = CHR$(13): LOOP: q = 1 ELSE GOTO ssd 69: PUSHED: 70: LINE (x1, y1)-(x1, y2), 0 71: LINE (x1, y1)-(x2, y1), 0 72: LINE (x1 + 1, y1 + 1)-(x1 + 1, y2 - 1), 8 73: LINE (x1 + 1, y1 + 1)-(x2 - 1, y1 + 1), 8 74: LINE (x1 + 1, y2)-(x2, y2), 15 75: LINE (x2, y2)-(x2, y1 + 1), 15 76: LINE (x1 + 2, y1 + 2)-(x2 - 1, y2 - 1), 7, BF 77: ssd: 78: IF LEN(t$) * 8 > x2 - x1 THEN EXIT SUB 79: wdt = x2 - x1 80: Print2 INT((wdt / 2) - ((LEN(t$) / 2) * 8) + x1), y1 + 14 + q, 0, t$ 81: IF p = 3 THEN SLEEP2 .13 82: END SUB 83: 84: SUB CheckBox (x1, y1, cc, t$, cl) 85: x2 = x1 + 10 86: y2 = y1 + 10 87: LINE (x1, y1)-(x2, y2), cl, B 88: m$ = "BM" + LTRIM$(RTRIM$(STR$(x1))) + "," + LTRIM$(RTRIM$(STR$(y1))) + "C" + LTRIM$(RTRIM$(STR$(cl))): DRAW "X" + VARPTR$(m$) 89: IF cc = 1 THEN DRAW "F9BH9BR10G9" 90: Print2 x2 + 5, y2 + 2, cl, t$ 91: END SUB 92: 93: SUB connect 94: 'Window2 639,479,0,0,"Terminal Emulation 95: a = 20: a = a + 17 96: Print2 10, a, 0, "Start Typing when modems connect... Press <Esc> to hang up:" 97: a = a + 17: Print2 10, a, 0, "" 98: DO UNTIL ch$ = CHR$(27) 99: ch$ = INKEY$ 100: IF ch$ <> "" THEN PRINT #1, ch$; 101: IF LOC(1) <> 0 THEN inchar$ = INPUT$(1, #1) ELSE inchar$ = "" 102: IF inchar$ = CHR$(8) AND POS(0) <> 1 THEN 103: LOCATE , POS(0) - 1 104: PRINT " "; 105: LOCATE , POS(0) - 1 106: ELSEIF inchar$ = CHR$(8) AND POS(0) = 1 AND CSRLIN <> 1 THEN 107: LOCATE CSRLIN - 1, 80 108: PRINT " "; 109: LOCATE , POS(0) - 1 110: 'ELSEIF inchar$ = CHR$(8) THEN 111: END IF 112: IF inchar$ = CHR$(13) THEN a = a + 17: Print2 10, a, 0, "" ELSE Print2 -1, -1, 0, inchar$ 113: IF inchar$ = CHR$(1) THEN END 114: LOOP 115: FOR r = 1 TO 5 116: PRINT #1, "ATH" 117: NEXT r 118: PRINT #1, "ATS0=0" 119: CLOSE #1 120: END SUB 121: 122: SUB Font (t$, cl) 123: IF cl = -1 THEN ELSE f$ = "C" + LTRIM$(RTRIM$(STR$(cl))): DRAW "X" + VARPTR$(f$) 124: IF txt(32) = "" THEN LOCATE 1, 1: PRINT "System Error. Unable to continue.": END 125: FOR qww = 1 TO LEN(t$) 126: IF ASC(MID$(t$, qww, 1)) = 0 THEN DRAW "X" + VARPTR$(txt(32)) ELSE DRAW "X" + VARPTR$(txt(ASC(MID$(t$, qww, 1)))): DRAW "BL": GOTO 1011 127: 1011 NEXT qww 128: END SUB 129: 130: SUB InputBox (x, y, t$, Prm$) 131: Z = 90 132: s = 50 133: DIM back(1 TO 9998) 134: GET (x, y)-(x + 100 + Z, y + 50 + Z), back 135: LINE (x, y)-(x + 100 + Z, y + 50 + Z), 0, BF 136: LINE (x + 2, y + 2)-(x + 98 + Z, y + 48 + Z), 1, BF 137: LINE (x + 10, y + 10)-(x + 90 + Z, y + 40 + Z), 0, BF 138: LINE (x + 12, y + 12)-(x + 88 + Z, y + 38 + Z), 7, BF 139: Xy = x + 15 140: yX = y + 67 - s + Z 141: Xx = x + 85 + Z 142: yY = y + 82 - s + Z 143: Xyz$ = "BM" + STR$(x + 14) + "," + STR$(y + 25) 144: DRAW "X" + VARPTR$(Xyz$) 145: Font Prm$, 0 146: TextBx Xy, yX, Xx, yY, t$, 1, 17, "", "", 0 147: PUT (x, y), back, PSET 148: END SUB 149: 150: SUB LoadFont (f$) 151: OPEN f$ FOR INPUT AS #1: t = 0 152: DO UNTIL EOF(1) 153: LINE INPUT #1, a$ 154: txt(t) = a$ 155: t = t + 1 156: LOOP 157: CLOSE 1 158: END SUB 159: 160: SUB MsgBox (ms$, Tit$) 161: wt$ = "Ok" 162: s = 17 163: v = 15 164: s = s + v 165: FOR w = 1 TO LEN(ms$): l = l + 1: IF MID$(ms$, w, 1) = CHR$(13) THEN s = s + v 166: NEXT w 167: IF LEN(Tit$) >= LEN(ms$) THEN pix = INT(LEN(Tit$) * 8.2) ELSE pix = INT(LEN(ms$) * 8.2) 168: IF INT(LEN(wt$) * 8.2) > pix THEN pix = INT(LEN(" (Press ENTER to continue.)") * 8.2) 169: x = 320 - INT(pix / 2) 170: y = 175 - s 171: DIM back(1 TO 9998) 172: GET (x, y)-(x + pix, y + s + v), back 173: LINE (x + 1, y + 1)-(x + pix - 1, y + v), 1, BF 174: m$ = "BM" + RTRIM$(LTRIM$(STR$(x + 5))) + ", " + RTRIM$(LTRIM$(STR$(y + v + 1))) 175: DRAW "X" + VARPTR$(m$) 176: Font Tit$, 15 177: LINE (x, y)-(x + pix, y + s + v), 0, B 178: LINE (x, y + v)-(x + pix, y + s + v), 0, B 179: LINE (x + 1, y + v + 1)-(x + pix - 1, y + s + v - 1), 7, BF 180: m$ = "BM" + RTRIM$(LTRIM$(STR$(x + 2))) + ", " + RTRIM$(LTRIM$(STR$(y + v + v + 1))) 181: DRAW "X" + VARPTR$(m$) 182: j = y 183: FOR a = 1 TO LEN(ms$) 184: IF MID$(ms$, a, 1) = CHR$(13) THEN j = j + v: m$ = "BM" + RTRIM$(LTRIM$(STR$(x + 2))) + ", " + RTRIM$(LTRIM$(STR$(j + v + v + 1))): DRAW "X" + VARPTR$(m$) 185: Font MID$(ms$, a, 1), 0 186: NEXT a 187: j = j + v: m$ = "BM" + RTRIM$(LTRIM$(STR$(INT(x + (pix / 2) + (LEN(wt$) / 2) - 30)))) + ", " + RTRIM$(LTRIM$(STR$(j + v + v + 1))): DRAW "X" + VARPTR$(m$) 188: 'Font wt$ 189: d = INT(x + (pix / 2) + (LEN(wt$) / 2) - 30) 190: j = INT(j + v + v + 1) 191: m = 117 192: n = -107 193: Button2 j - n, d - m, j + 35 - n, d + 14 - m, 3, wt$ 194: PUT (x, y), back, PSET 195: END SUB 196: 197: SUB opencom 198: OPEN "Term.CFG" FOR INPUT AS #2 199: INPUT #2, comport$ 200: CLOSE #2 201: OPEN comport$ + ",N,8,1" FOR RANDOM AS #1 LEN = 4800 202: END SUB 203: 204: SUB Print2 (x, y, cv, t$) 205: IF x = -1 AND y = -1 THEN d$ = "C" + LTRIM$(RTRIM$(STR$(cv))): GOTO 3 206: IF x = -2 THEN x = (POS(0) * 8) - 7: g = -2 207: IF y = -2 THEN y = CSRLIN * 16: n = -2 208: IF x = -3 THEN x = Wxyz(2) + 7 209: IF y = -3 THEN y = Wxyz(1) + 35 210: d$ = "BM" + LTRIM$(RTRIM$(STR$(x))) + "," + LTRIM$(RTRIM$(STR$(y))) + " C" + LTRIM$(RTRIM$(STR$(cv))) 211: 3 DRAW "X" + VARPTR$(d$) 212: Font t$, cv 213: IF g = -2 THEN LOCATE CSRLIN, POS(0) + LEN(t$) 214: IF n = -2 THEN LOCATE CSRLIN + 1, 1 215: END SUB 216: 217: SUB SCapt (f$) 218: DEF SEG = &HA000 219: BSAVE f$, 0, 64000 220: END SUB 221: 222: SUB setmodemoption 223: COLOR 2 224: InputBox 70, 70, portno$, "COM(1 or 2): " 225: InputBox 70, 70, speed$, "Modem Speed: " 226: comport$ = "COM" + portno$ + ":" + speed$ 227: OPEN "BASTerm.CFG" FOR OUTPUT AS #2 228: PRINT #2, comport$ 229: CLOSE #2 230: END SUB 231: 232: SUB SLEEP2 (t) 233: a = TIMER 234: DO UNTIL TIMER >= a + t: LOOP 235: END SUB 236: 237: SUB SLoad (f$) 238: DEF SEG = &HA000 239: BLOAD f$, 0 240: END SUB 241: 242: SUB TextBx (SX, SY, eX, Ey, t$, r, l, pw$, tb$, del) 243: IF LEN(tb$) > l AND r = 1 THEN tb$ = MID$(tb$, 1, l) 244: t$ = tb$: w = LEN(tb$) 245: IF del = 1 THEN ds = 0 ELSE ds = LEN(tb$) 246: IF LEN(pw$) > 1 THEN pw$ = LEFT$(pw$, 1) 247: LINE (SX - 1, SY - 1)-(eX + 1, Ey + 1), 0, B 248: LINE (SX, SY)-(eX, Ey), 15, BF 249: MX$ = "M" + STR$(SX + 2) + "," + STR$(Ey - 0) 250: DRAW "BX" + VARPTR$(MX$) 251: IF pw$ = "" THEN Font tb$, 0 ELSE Font STRING$(LEN(tb$), pw$), 0 252: IF r = 1 THEN ELSE EXIT SUB 253: 12 a$ = INKEY$ 254: IF a$ = "" GOTO 12 255: IF a$ = CHR$(8) THEN IF LEN(t$) - ds = 0 THEN GOTO 12 ELSE t$ = LEFT$(t$, LEN(t$) - 1): w = w - 1: LINE (SX - 1, SY - 1)-(eX + 1, Ey + 1), 0, B: LINE (SX, SY)-(eX, Ey), 15, BF: DRAW "BX" + VARPTR$(MX$): IF pw$ = "" THEN Font t$, 0: GOTO 12 ELSE Font STRING$(LEN(t$), pw$), 0: GOTO 12 256: IF a$ = CHR$(13) THEN EXIT SUB 257: IF w >= l THEN GOTO 12 258: t$ = t$ + a$: w = w + LEN(a$) 259: B$ = a$ 260: IF pw$ = "" THEN Font B$, 0 ELSE Font pw$, 0 261: GOTO 12 262: END SUB 263: 264: SUB UnLoadFont 265: FOR q = 0 TO 255 266: txt(q) = "" 267: NEXT q 268: END SUB 269: 270: SUB waitforcall 271: CLS : BackGround C 272: Window2 630, 470, 0, 0, "Terminal Emulation" 273: COLOR 3 274: opencom 275: PRINT #1, "ATS0=1" 276: connect 277: END SUB 278: 279: SUB Window2 (Length, Height, Row, Column, tt$) 280: Wxyz(1) = Row 281: Wxyz(2) = Column 282: Wxyz(3) = Row + Height 283: Wxyz(4) = Column + Length 284: LINE (Column, Row)-(Column + Length, Row + Height), 0, B 285: FOR i% = 1 TO 2 286: Row = Row + 1: Column = Column + 1: Height = Height - 1: Length = Length - 1 287: LINE (Column, Row)-(Column + Length, Row), 7 288: LINE (Column, Row)-(Column, Row + Height), 7 289: NEXT i% 290: Row = Row + 1: Column = Column + 1: Height = Height - 1: Length = Length - 1 291: LINE (Column, Row)-(Column + Length, Row), 0 292: LINE (Column, Row)-(Column, Row + Height), 0 293: LINE (Column, Row)-(Column + 18, Row + 18), 7, BF 294: LINE (Column, Row)-(Column + 18, Row + 18), 0, B 295: LINE (Column + 18, Row - 2)-(Column + 18, Row + 5), 0 296: LINE (Column - 2, Row + 18)-(Column + 5, Row + 18), 0 297: LINE (Column + 5, Row + 7)-(Column + 13, Row + 9), 15, BF: LINE (Column + 5, Row + 7)-(Column + 13, Row + 9), 0, B 298: LINE (Column + 14, Row + 7)-(Column + 14, Row + 9), 8 299: LINE (Column + 6, Row + 10)-(Column + 14, Row + 10), 8, B 300: LINE (Column + 18, Row)-(Column + Length, Row + 18), 9, BF 301: LINE (Column + 18, Row)-(Column + Length, Row + 18), 0, B 302: LINE (Column + Length, Row - 3)-(Column + Length + 2, Row + Height), 7, BF 303: LINE (Column + Length, Row - 3)-(Column + Length + 3, Row + Height), 0, B 304: LINE (Column + Length, Row - 2)-(Column + Length, Row - 1), 7 305: LINE (Column + Length - 18, Row - 2)-(Column + Length - 18, Row - 1), 0 306: LINE (Column + Length, Row + 18)-(Column + Length + 2, Row + 18), 0 307: LINE (Column, Row + Height - 3)-(Column + Length, Row + Height - 3), 0, B 308: LINE (Column, Row + Height - 2)-(Column + Length + 2, Row + Height), 7, BF 309: LINE (Column - 2, Row + Height)-(Column + Length + 2, Row + Height), 0, B 310: LINE (Column - 2, Row + Height - 18)-(Column, Row + Height - 18), 0 311: LINE (Column + Length - 2, Row + Height - 18)-(Column + Length + 2, Row + Height - 18), 0 312: LINE (Column + 18, Row + Height)-(Column + 18, Row + Height - 2), 0 313: LINE (Column + Length - 18, Row + Height)-(Column + Length - 18, Row + Height - 2), 0 314: LINE (Column + 1, Row + 19)-(Column + Length - 1, Row + Height - 4), 7, BF 315: mm$ = "BM" + RTRIM$(LTRIM$(STR$(Column + 20))) + "," + LTRIM$(RTRIM$(STR$(Row + 17))) 316: DRAW "X" + VARPTR$(mm$) 317: Font tt$, 0 318: END SUB 319: |