
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