' ****** START INCLUDE PUTSTRING(x%, y%, s$) ****** SUB PUTSTRING(x%, y%, s$) FOR c = 1 TO LEN(s$) sc$ = MID$(s$, c, 1) this$ = _GETCHR$(ASC(sc$)) FOR yi = 0 TO 7 FOR xi = 0 TO 7 x_pset% = x% + xi + (c-1)*8 : y_pset% = y% + yi IF MID$(this$, (xi + yi*8) + 1, 1) = "X" AND BETWEEN(x_pset%, 0, _WIDTH-1) AND BETWEEN(y_pset%, 0, _HEIGHT-1) THEN PSET (x_pset%, y_pset%) NEXT xi NEXT yi NEXT c END SUB ' ****** END INCLUDE PUTSTRING(x%, y%, s$) ****** d = 1 again: _alert("shifting by increments of " + d) _ALERT("whole screen, horizontal minus") GOSUB resetimage for i = 1 to 20 scroll -d,0,TRUE _delay 1.5 next i _ALERT("middle screen, horizontal plus") GOSUB resetimage for i = 1 to 20 scroll (4,4)-(24,24),+d,0,TRUE _delay 1.5 next i _ALERT("whole screen, vertical minus") GOSUB resetimage for i = 1 to 20 scroll 0,-d,TRUE _delay 1.5 next i _ALERT("middle screen, vertical plus") GOSUB resetimage for i = 1 to 20 scroll (4,4)-(24,24),0,+d,TRUE _delay 1.5 next i _ALERT("whole screen, diagonal minus") GOSUB resetimage for i = 1 to 20 scroll -d,-d,TRUE _delay 1.5 next i _ALERT("middle screen, diagonal plus") GOSUB resetimage for i = 1 to 20 scroll (4,4)-(24,24),+d,+d,TRUE _delay 1.5 next i d = d + 1 goto again: resetimage: screen _newimage (31,31,14) for i = 0 to 31 step 2 line (i+1, 0) - (i+1, 30), int(i/2) + 1 next i for i = 0 to 31 step 2 line (0, i+1) - (30, i+1), int(i/2) + 1 next i putstring(7,10, "Hi") _delay 1 RETURN