' "**************************************************************" ' "* REKLAMNI PANO rezolucije 128 x 64 tacaka *" ' "* Verzija: 1.11 29.04.1993. *" ' "* Copyright (C) 1993. by: Stankovic Goran dipl.ing.el. *" ' "* www.qsl.net/yt2fsg goranstank@email.com *" ' "**************************************************************" CLS SCREEN 2 VIEW PRINT 17 TO 25 DIM ek%(1024), ch1%(255, 7), ch2%(255, 15), mem%(4 * 1024) PRINT "**************************************************************" PRINT "* REKLAMNI PANO rezolucije 128 x 64 tacaka *" PRINT "* Verzija: 1.11 29.04.1993. *" PRINT "* Copyright (C) 1993. by: Stankovic Goran dipl.ing.el. *" PRINT "**************************************************************" PRINT vreme = 10000 CLOSE imef$ = "CHR8_8.FNT" GOSUB font1 'GOTO test1 imef$ = "CHR8_16.FNT" GOSUB font2 'GOTO test2 '================================================================== DO OPEN "REK_PAN.INI" FOR INPUT AS #1 DO LINE INPUT #1, red$ red$ = UCASE$(red$) PRINT red$ PRINT a11$ = LEFT$(red$, 1) a13$ = LEFT$(red$, 3) a14$ = LEFT$(red$, 4) a15$ = LEFT$(red$, 5) a16$ = LEFT$(red$, 6) IF a16$ = "FONT1=" THEN imef$ = MID$(red$, 7, LEN(red$) - 6) GOSUB font1 END IF IF a16$ = "FONT2=" THEN imef$ = MID$(red$, 7, LEN(red$) - 6) GOSUB font2 END IF IF a16$ = "SCREEN" THEN GOSUB slika IF a14$ = "TEXT" THEN GOSUB text IF a11$ = "-" OR a11$ = "?" THEN PRINT key$ = INKEY$ IF EOF(1) OR key$ = CHR$(0) + CHR$(67) THEN EXIT DO LOOP CLOSE LOOP '=========================================================== END '----------------------------------------------------- font1: OPEN imef$ FOR RANDOM AS #2 FIELD #2, 128 AS a1$ FOR i% = 0 TO 15 GET #2 FOR l% = 0 TO 1 FOR k% = 0 TO 7 FOR j% = 0 TO 7 a3% = j% * 8 + l% * 64 + k% + 1 a4% = i% * 16 + l% * 8 + k% a2$ = MID$(a1$, a3%, 1) a2% = ASC(a2$) 'PRINT a2%; ch1%(a4%, j%) = a2% NEXT j% NEXT k% NEXT l% NEXT i% CLOSE #2 RETURN '----------------------------------------------------- font2: OPEN imef$ FOR RANDOM AS #2 FIELD #2, 128 AS a1$ FOR i% = 0 TO 31 GET #2 FOR k% = 0 TO 7 FOR j% = 0 TO 15 a3% = j% * 8 + k% + 1 a4% = i% * 8 + k% a2$ = MID$(a1$, a3%, 1) a2% = ASC(a2$) 'PRINT a2%; ch2%(a4%, j%) = a2% NEXT j% NEXT k% NEXT i% CLOSE #2 RETURN '--------------------------------------------------------- slika: i% = 7 DO IF MID$(red$, i%, 1) = "=" THEN EXIT DO i% = i% + 1 LOOP vreme = VAL(MID$(red$, 8, i% - 9)) imef$ = MID$(red$, i% + 1, LEN(red$) - i%) OPEN imef$ FOR RANDOM AS #2 FIELD #2, 128 AS a1$ FOR i% = 0 TO 7 GET #2 FOR j% = 0 TO 127 a2$ = MID$(a1$, j% + 1, 1) a2% = ASC(a2$) ek%(j% + i% * 128) = a2% NEXT j% NEXT i% CLOSE #2 GOSUB izbaci GOSUB pause RETURN '---------------------------------------------------------- text: i% = 5 DO IF MID$(red$, i%, 1) = "=" THEN EXIT DO i% = i% + 1 LOOP vreme = VAL(MID$(red$, 8, i% - 9)) imef$ = MID$(red$, i% + 1, LEN(red$) - i%) kara$ = MID$(red$, 6, 1) IF kara$ = "1" THEN OPEN imef$ FOR INPUT AS #2 brl% = 1: red% = 0 DO LINE INPUT #2, xx$ xx$ = LEFT$(xx$, 16) + " " PRINT brl%; ": "; xx$ FOR j% = 1 TO 16 a2$ = MID$(xx$, j%, 1) a1% = ASC(a2$) FOR red1% = 0 TO 7 ek%(red% * 128 + red1% * 16 + j% - 1) = ch1%(a1%, red1%) NEXT red1% NEXT j% brl% = brl% + 1 red% = red% + 1 IF red% = 8 THEN red% = 0 GOSUB izbaci GOSUB pause END IF 'key$ = INKEY$ IF EOF(2) OR key$ = CHR$(0) + CHR$(67) THEN EXIT DO LOOP CLOSE #2 GOTO ret END IF OPEN imef$ FOR INPUT AS #2 brl% = 1: red% = 0 DO LINE INPUT #2, xx$ xx$ = LEFT$(xx$, 16) + " " PRINT brl%; ": "; xx$ FOR j% = 1 TO 16 a2$ = MID$(xx$, j%, 1) a1% = ASC(a2$) FOR red1% = 0 TO 15 ek%(red% * 256 + red1% * 16 + j% - 1) = ch2%(a1%, red1%) NEXT red1% NEXT j% brl% = brl% + 1 red% = red% + 1 IF red% = 4 THEN red% = 0 GOSUB izbaci GOSUB pause END IF 'key$ = INKEY$ IF EOF(2) OR key$ = CHR$(0) + CHR$(67) THEN EXIT DO LOOP CLOSE #2 ret: RETURN '------------------------------------------------------ izbaci: 'OUT 956, 0 'DEF SEG = 40960 DEF SEG = 47104 '&HB8000 FOR j% = 0 TO 31 FOR k% = 0 TO 1 FOR i% = 0 TO 15 b% = ek%(i% + j% * 32 + k% * 16) b0% = (b% AND 128) * 1.5 + (b% AND 64) * .75 + (b% AND 32) * .375 + (b% AND 16) * .1875 b1% = (b% AND 8) * 24 + (b% AND 4) * 12 + (b% AND 2) * 6 + (b% AND 1) * 3 POKE i% * 2 + j% * 80 + k% * 8192, b0% POKE i% * 2 + 1 + j% * 80 + k% * 8192, b1% NEXT i% NEXT k% NEXT j% DEF SEG 'OUT 956, 255 RETURN '-------------------------------------------------------- pause: FOR i = 0 TO vreme key$ = INKEY$ IF key$ = CHR$(0) + CHR$(67) THEN i = vreme IF key$ = CHR$(0) + CHR$(68) THEN CLOSE : END NEXT i RETURN '-------------------------------------------------- test1: FOR red% = 0 TO 7 xx$ = "" FOR i% = 0 TO 15 xx$ = xx$ + CHR$(i% + red% * 16 + 32) NEXT i% PRINT xx$ FOR j% = 1 TO 16 a2$ = MID$(xx$, j%, 1) a1% = ASC(a2$) FOR red1% = 0 TO 7 ek%(red% * 128 + red1% * 16 + j% - 1) = ch1%(a1%, red1%) NEXT red1% NEXT j% NEXT red% GOSUB izbaci END test2: FOR red% = 0 TO 3 xx$ = "" FOR i% = 0 TO 15 xx$ = xx$ + CHR$(i% + red% * 16 + 32) NEXT i% PRINT xx$ FOR j% = 0 TO 15 a2$ = MID$(xx$, j% + 1, 1) a1% = ASC(a2$) FOR red1% = 0 TO 15 ek%(red% * 256 + red1% * 16 + j%) = ch2%(a1%, red1%) NEXT red1% NEXT j% NEXT red% GOSUB izbaci END