Commodore:

10 POKE 59459,255: PO=59471: REM PET
10 POKE 56579,255: PO=56577: REM CBM64
10 POKE 37138,255: PO=37136: REM VIC20
20 DIM B(100), T(100)
30 N=0: TI$="000000"
40 POKE PO, 0
100 GET A$
110 IF A$="" THEN 100
120 IF A$=" " THEN K=0
130 IF A$="R" THEN K=1
140 IF A$="L" THEN K=2
150 IF A$="F" THEN K=3
160 IF A$="G" THEN 300
170 N=N+1: IF N>100 THEN 300
180 B(N)=K
190 T(N)=TI
200 POKE PO,0
220 FOR J=1 TO 200: NEXT
230 POKE PO,K
240 GOTO 100
300 TI$="000000"
310 POKE PO,0
320 FOR M=1 TO N
330 IF TI<T(M) THEN 330
340 POKE PO,0
350 FOR J=1 TO 200: NEXT
360 POKE PO,B(M)
370 NEXT M

BBC:

10 DIM B(100)
20 DIM T(100)
30 N=0: TIME=0
40 J=0: K=0
50 PORT=&FE60: ?&FE62=3
100 A$=INKEY$(0)
130 IF A$="" THEN 100
140 IF A$=" " THEN K=0
150 IF A$="L" THEN K=2
160 IF A$="R" THEN K=1
170 IF A$="F" THEN K=3
180 IF A$="G" THEN 300
190 N=N+1
200 B(N)=K
210 T(N)=TIME
220 ?PORT=0
230 J=INKEY(25)
240 ?PORT=K
260 GOTO 100
300 TIME=0
310 FOR M=1 TO N
320 REPEAT UNTIL TIME > T(M)
330 ?PORT=0
340 K=INKEY(25)
350 ?PORT=B(M)
360 NEXT M

Sinclair:

10 DIM b(100)
20 DIM t(100)
30 LET i=0: LET n=0: LET j=0: LET k=0
100 LET a$=INKEY$
110 LET i=i+1
120 IF i<j THEN GO TO 100
130 IF a$="" THEN GO TO 100
140 IF a$=" " THEN LET k=0
150 IF a$="l" THEN LET k=2
160 IF a$="r" THEN LET k=1
170 IF a$="f" THEN LET k=3
180 IF a$="g" THEN GO TO 300
190 LET n=n+1
200 LET b(n)=k
210 LET t(n)=i
220 OUT 255,0
230 FOR j=1 TO 100: NEXT j
240 OUT 255,k
250 LET j=1
260 GO TO 100
300 LET i=0
310 FOR m=1 TO n
320 FOR j=1 TO t(m): NEXT j
330 OUT 255,0
340 FOR j=1 TO 100: NEXT j
350 OUT 255,b(m)
360 NEXT m
370 OUT 255,0


