Matrix comes to the Apple II

Matrix comes to the Apple II

Wayne Goldsmith has produced a new version of the proverbial Matrix screen for the Apple II computer. Using standard ascii text, this little Apple II program will produce an effect to that seen in the Matrix Movies.


10  REM  MATRIX V1.01
20  REM  WAYNE GOLDSMITH 2023
25  REM  80 COL MODE:PRINT CHR$(4)"PR#3"
30  HOME 
31  DIM CHAR(84)
32  FOR I = 1 TO 84
33  READ CHAR(I)
34  NEXT I
35  DATA  32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49, 50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71, 72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90
36  DATA  97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112, 113,114,115,116,117,118,119,120,121,122
39 X = 0:Y = 0:L = 0
40  REM  CALC COLUMN POS
50 X =  INT (80 *  RND (1))
60  REM  CALC COLUMN LENGTH
70 L =  INT (22 *  RND (1))
80  REM  DISPLAY COLUMN
100  FOR Y = 1 TO L
105  FOR R = 1 TO 3
115  POKE 1403,X
120  VTAB Y
125  GOSUB 1000
126  IF R > 2 THEN  GOSUB 4000
127  IF R < 3 THEN  INVERSE : PRINT CHR$ (CHAR(C)): NORMAL 
135  NEXT R
140  NEXT Y
142 COUNT = COUNT + 1
143  IF COUNT = 3 THEN  GOSUB 3000
144  IF COUNT = 2 THEN  GOSUB 2000
150  GOTO 39
1000  REM  GENERATE CONTENT
1010 C =  INT (84 *  RND (1))
1020  REM  FOR T=1 TO 10
1030  REM  NEXT T
1090  RETURN 
2000  REM  RND COLUMN WIPER
2005  FOR WI = 1 TO 3
2010 X =  INT (80 *  RND (1))
2020 L =  INT (23 *  RND (1))
2030  FOR Y = 1 TO L
2040  POKE 1403,X: VTAB Y
2045  FOR T = 1 TO 10
2046  NEXT T
2050  PRINT  CHR$ (32)
2060  NEXT Y
2065  NEXT WI
2080  RETURN 
3000  REM  RND FLASH CHARACTER
3005  IF L < 1 THEN L = 1
3010 INV =  INT (22 *  RND (1))
3015  IF INV = 0 THEN 3010
3020  POKE 1403,X: VTAB INV
3025  GOSUB 1000
3030  FLASH : PRINT  CHR$ (CHAR(C))
3050 COUNT = 0
3060  NORMAL 
3070  RETURN 
4000  REM  PRINT NORMAL CHARACTER
4010  POKE 1403,X
4020  VTAB Y
4030  PRINT  CHR$ (CHAR(C))
4040  RETURN 

Source: https://github.com/sgreycode/AppleSoftMatrix
Author: