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