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