JBEV - Sin Wave demo for different systems.

IBM

Original:

5 D$="................................................................................*"
10 PRINT "sinus (c) jbev 2022"
90 W=79
100 W=W/2:H=W-1
110 T=T+.125
115 I=I+.001
120 A=INT(W+W*SIN(T))
130 B=INT(W+W*COS(T*I))
140 IF A<B THEN L=A:R=B
150 IF A>B THEN L=B:R=A
155 IF A=B THEN L=A:M=0:R=0:GOTO 190
160 M=(L+R)/2
170 M=M-L
180 R=R-(M+L)
190 PRINT TAB(L);LEFT$(D$,M);"*";LEFT$(D$,R)
240 IF I<.9690001 THEN 110
270 I=0:T=0:GOTO 110

Condensed 1

10 W=38:T=0:I=0 
20 A=INT(W+W*SIN(T)):B=INT(W+W*COS(T*I)):IF A>B THEN SWAP A,B 
30 PRINT TAB(A);STRING$(B-A,".");"*" 
40 T=T+.125:I=I+.001:IF I<.97 GOTO 20 
50 I=0:T=0:GOTO 20

Condensed Qbasic

10 A=38+38*SIN(T):B=38+38*COS(T*I):IF A>B THEN SWAP A,B
20 PRINT TAB(A);STRING$(B-A,".");"*":T=T+.125:I=I+.001:GOTO 10

1 line

1 A=40+40*SIN(T):B=40+40*COS(T*I):IF A>B THEN SWAP A,B:?TAB(A)STRING$(B-A,".")"*":T=T+.1:I=I+.001:GOTO<code>

<code>1 A=39+39*SIN(T):B=39+39*COS(T*I):IF A>B SWAP A,B:?TAB(A)STRING$(B-A,46)"*":T=T+.1:I=I+.001:GOTO 1

VAX VMS Basic

10  ! Centered Asterisk Ribbon Pattern
20  D$ = "................................................................................"
30  W = 38
40  T = 0.0
50  I = 0.0
60  A = INT(W + W * SIN(T))
70  B = INT(W + W * COS(T * I))
80  L = A
90  R = B
100 IF L <= R GOTO 130
110 L = B
120 R = A
130 M1 = INT((R - L) / 2)
140 M2 = (R - L) - M1
150 PRINT TAB(L); LEFT$(D$, M1); "*"; LEFT$(D$, M2)
160 CALL LIB$WAIT(0.05)
170 T = T + 0.125
180 I = I + 0.001
190 IF I < 0.97 GOTO 60
200 GOTO 40

TRS-80 (Tested on a MDL3)

5 D$="................................................................"
90 W=63
100 W=W/2:H=W-1
110 T=T+.125
120 I=I+.001
121 A=INT(W+H*SIN(T))
130 B=INT(W+H*COS(T*I))
140 IF A<B THEN L=A:R=B
150 IF A>B THEN L=B:R=A
155 IF A=B THEN PRINT TAB(L);"*":GOTO 240
156 M=INT((L+R)/2)
160 M=M-L
180 R=R-(M+L)
185 IF M=0 THEN PRINT TAB(L);"*";LEFT$(D$,R):GOTO 240
190 PRINT TAB(L);LEFT$(D$,M);"*";LEFT$(D$,R)
240 IF I<.9690001 THEN 110
270 I=0:T=0:GOTO 110