[General Omni Discussion] AlaskaLinuxUser:
You can even do ascii movies!

You can also do a "movie" by making ascii text images that take up your devices full screen, and then intersperse each capture between the lines. You can either make each a seperate capture, such as from a real movie, or edit the images you have. For example, I have a blinking OmniRom logo:

ui_print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");
ui_print("MMMMMMMMMWNNNNNNNNNNNNNNNNNNNNNNWMMMMMMMMM");
ui_print("MMMMMM0l. 'lKMMMMMM");
ui_print("MMMMO' ,OMMMM");
ui_print("MMWl 'oO000000000000000000Oo. dMMM");
ui_print("MMk dWMMMMMMMMMMMMMMMMMMMMMMWd 0MM");
ui_print("MMx 'WMMMMMMMMMMMMMMMMMMMMMMMMM, kMM");
ui_print("MMk ,MMMMMMMMMMMMMMMMMMMMMMMMMM, kMM");
ui_print("MMk ,MMMMMMMMMMMMMMMMMMMMMMMMMM, kMM");
ui_print("MMk ,MMWddWMMMMMMMMMMMMMMWxoWMM, kMM");
ui_print("MMk ,MMMd cWMMMMNNNNMMMMWc oMMM, kMM");
ui_print("MMk ,MMMMO.'c;.. ..;c'.0MMMM, kMM");
ui_print("MMk ,MMKc. .cKMM, kMM");
ui_print("MMk ,K: ;0, kMM");
ui_print("MMk :0:. .0: kMM");
ui_print("MMO OMM");
ui_print("MMMd xMMM");
ui_print("MMMM0; ;KMMMM");
ui_print("MMMMMMKo'.........................lXMMMMMM");
ui_print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");
ui_print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");

ui_print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");
ui_print("MMMMMMMMMWNNNNNNNNNNNNNNNNNNNNNNWMMMMMMMMM");
ui_print("MMMMMM0l. 'lKMMMMMM");
ui_print("MMMMO' ,OMMMM");
ui_print("MMWl 'oO000000000000000000Oo. dMMM");
ui_print("MMk dWMMMMMMMMMMMMMMMMMMMMMMWd 0MM");
ui_print("MMx 'WMMMMMMMMMMMMMMMMMMMMMMMMM, kMM");
ui_print("MMk ,MMMMMMMMMMMMMMMMMMMMMMMMMM, kMM");
ui_print("MMk ,MMMMMMMMMMMMMMMMMMMMMMMMMM, kMM");
ui_print("MMk ,MMWddWMMMMMMMMMMMMMMWxoWMM, kMM");
ui_print("MMk ,MMMd cWMMMMNNNNMMMMWc oMMM, kMM");
ui_print("MMk ,MMMMO.'c;.. ..;c'.0MMMM, kMM");
ui_print("MMk ,MMKc. .cKMM, kMM");
ui_print("MMk ,K: ;0, kMM");
ui_print("MMk :o. .o: kMM");
ui_print("MMO OMM");
ui_print("MMMd xMMM");
ui_print("MMMM0; ;KMMMM");
ui_print("MMMMMMKo'.........................lXMMMMMM");
ui_print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");
ui_print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");

ui_print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");
ui_print("MMMMMMMMMWNNNNNNNNNNNNNNNNNNNNNNWMMMMMMMMM");
ui_print("MMMMMM0l. 'lKMMMMMM");
ui_print("MMMMO' ,OMMMM");
ui_print("MMWl 'oO000000000000000000Oo. dMMM");
ui_print("MMk dWMMMMMMMMMMMMMMMMMMMMMMWd 0MM");
ui_print("MMx 'WMMMMMMMMMMMMMMMMMMMMMMMMM, kMM");
ui_print("MMk ,MMMMMMMMMMMMMMMMMMMMMMMMMM, kMM");
ui_print("MMk ,MMMMMMMMMMMMMMMMMMMMMMMMMM, kMM");
ui_print("MMk ,MMWddWMMMMMMMMMMMMMMWxoWMM, kMM");
ui_print("MMk ,MMMd cWMMMMNNNNMMMMWc oMMM, kMM");
ui_print("MMk ,MMMMO.'c;.. ..;c'.0MMMM, kMM");
ui_print("MMk ,MMKc. .cKMM, kMM");
ui_print("MMk ,K: ;0, kMM");
ui_print("MMk :u. .u: kMM");
ui_print("MMO OMM");
ui_print("MMMd xMMM");
ui_print("MMMM0; ;KMMMM");
ui_print("MMMMMMKo'.........................lXMMMMMM");
ui_print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");
ui_print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");

ui_print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");
ui_print("MMMMMMMMMWNNNNNNNNNNNNNNNNNNNNNNWMMMMMMMMM");
ui_print("MMMMMM0l. 'lKMMMMMM");
ui_print("MMMMO' ,OMMMM");
ui_print("MMWl 'oO000000000000000000Oo. dMMM");
ui_print("MMk dWMMMMMMMMMMMMMMMMMMMMMMWd 0MM");
ui_print("MMx 'WMMMMMMMMMMMMMMMMMMMMMMMMM, kMM");
ui_print("MMk ,MMMMMMMMMMMMMMMMMMMMMMMMMM, kMM");
ui_print("MMk ,MMMMMMMMMMMMMMMMMMMMMMMMMM, kMM");
ui_print("MMk ,MMWddWMMMMMMMMMMMMMMWxoWMM, kMM");
ui_print("MMk ,MMMd cWMMMMNNNNMMMMWc oMMM, kMM");
ui_print("MMk ,MMMMO.'c;.. ..;c'.0MMMM, kMM");
ui_print("MMk ,MMKc. .cKMM, kMM");
ui_print("MMk ,K: ;0, kMM");
ui_print("MMk :.. ..: kMM");
ui_print("MMO OMM");
ui_print("MMMd xMMM");
ui_print("MMMM0; ;KMMMM");
ui_print("MMMMMMKo'.........................lXMMMMMM");
ui_print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");
ui_print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");

ui_print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");
ui_print("MMMMMMMMMWNNNNNNNNNNNNNNNNNNNNNNWMMMMMMMMM");
ui_print("MMMMMM0l. 'lKMMMMMM");
ui_print("MMMMO' ,OMMMM");
ui_print("MMWl 'oO000000000000000000Oo. dMMM");
ui_print("MMk dWMMMMMMMMMMMMMMMMMMMMMMWd 0MM");
ui_print("MMx 'WMMMMMMMMMMMMMMMMMMMMMMMMM, kMM");
ui_print("MMk ,MMMMMMMMMMMMMMMMMMMMMMMMMM, kMM");
ui_print("MMk ,MMMMMMMMMMMMMMMMMMMMMMMMMM, kMM");
ui_print("MMk ,MMWddWMMMMMMMMMMMMMMWxoWMM, kMM");
ui_print("MMk ,MMMd cWMMMMNNNNMMMMWc oMMM, kMM");
ui_print("MMk ,MMMMO.'c;.. ..;c'.0MMMM, kMM");
ui_print("MMk ,MMKc. .cKMM, kMM");
ui_print("MMk ,K: ;0, kMM");
ui_print("MMk :u. .u: kMM");
ui_print("MMO OMM");
ui_print("MMMd xMMM");
ui_print("MMMM0; ;KMMMM");
ui_print("MMMMMMKo'.........................lXMMMMMM");
ui_print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");
ui_print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");

ui_print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");
ui_print("MMMMMMMMMWNNNNNNNNNNNNNNNNNNNNNNWMMMMMMMMM");
ui_print("MMMMMM0l. 'lKMMMMMM");
ui_print("MMMMO' ,OMMMM");
ui_print("MMWl 'oO000000000000000000Oo. dMMM");
ui_print("MMk dWMMMMMMMMMMMMMMMMMMMMMMWd 0MM");
ui_print("MMx 'WMMMMMMMMMMMMMMMMMMMMMMMMM, kMM");
ui_print("MMk ,MMMMMMMMMMMMMMMMMMMMMMMMMM, kMM");
ui_print("MMk ,MMMMMMMMMMMMMMMMMMMMMMMMMM, kMM");
ui_print("MMk ,MMWddWMMMMMMMMMMMMMMWxoWMM, kMM");
ui_print("MMk ,MMMd cWMMMMNNNNMMMMWc oMMM, kMM");
ui_print("MMk ,MMMMO.'c;.. ..;c'.0MMMM, kMM");
ui_print("MMk ,MMKc. .cKMM, kMM");
ui_print("MMk ,K: ;0, kMM");
ui_print("MMk :o. .o: kMM");
ui_print("MMO OMM");
ui_print("MMMd xMMM");
ui_print("MMMM0; ;KMMMM");
ui_print("MMMMMMKo'.........................lXMMMMMM");
ui_print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");
ui_print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");

ui_print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");
ui_print("MMMMMMMMMWNNNNNNNNNNNNNNNNNNNNNNWMMMMMMMMM");
ui_print("MMMMMM0l. 'lKMMMMMM");
ui_print("MMMMO' ,OMMMM");
ui_print("MMWl 'oO000000000000000000Oo. dMMM");
ui_print("MMk dWMMMMMMMMMMMMMMMMMMMMMMWd 0MM");
ui_print("MMx 'WMMMMMMMMMMMMMMMMMMMMMMMMM, kMM");
ui_print("MMk ,MMMMMMMMMMMMMMMMMMMMMMMMMM, kMM");
ui_print("MMk ,MMMMMMMMMMMMMMMMMMMMMMMMMM, kMM");
ui_print("MMk ,MMWddWMMMMMMMMMMMMMMWxoWMM, kMM");
ui_print("MMk ,MMMd cWMMMMNNNNMMMMWc oMMM, kMM");
ui_print("MMk ,MMMMO.'c;.. ..;c'.0MMMM, kMM");
ui_print("MMk ,MMKc. .cKMM, kMM");
ui_print("MMk ,K: ;0, kMM");
ui_print("MMk :0:. .0: kMM");
ui_print("MMO OMM");
ui_print("MMMd xMMM");
ui_print("MMMM0; ;KMMMM");
ui_print("MMMMMMKo'.........................lXMMMMMM");
ui_print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");
ui_print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");

This example works on my device screen, as it is somewhat small, but you may need a different size for a "movie" on your screen.

And, if you really want, you can also do the matrix by adding these lines interspersed in your script:

ui_print(" . .'. ");
ui_print(" .l ,. ");
ui_print(".', .. ");
ui_print(" '' ... ");
ui_print(" c;..:' ");
ui_print(" .. .. ");
ui_print(".c;.;;. ;c..c. ;:. ");
ui_print(".c,.,,. ,c..;' ',. ");
ui_print(" .. .'. .. .,,..'. ");
ui_print(" ;. .' .::. .ll',ll.,;. ");
ui_print(" ,. . ... .' '. .'. ");
ui_print(".,' .,. ,, ::: ',..,' ;:: ");
ui_print("'c' :c' cc. :c; ;l.'c, ;c; ");
ui_print(" .. . .. .. . ");
ui_print("'c,.,;..;;. ,..:l..:. ");
ui_print(".,'.,,'.,,. ;,, ':..;; ");
ui_print(" '' ... .. ' ... ..... ");
ui_print("':' 'l' .c''l, ,::.,;. ;,. ");
ui_print(" .. ....'. .. .'. . . ");
ui_print(".c, ',.c;..'; ;;. ':, ',..,' ");
ui_print(".c,..;;.,;. ', .c. ,' .;;'';:.");
ui_print(" . .. . .. .'. '. ");
ui_print(" ,,..;' ,c;.c,c ;. ,. .:. ");
ui_print(" .. .;..'..'.' .. . .'. ");
ui_print(".''.cc, ,' .,. ... .'' ',. ,' .' ");
ui_print(".:c..x, c; , c'c ',; ;,. ,; ,;.");
ui_print(" .' .' . ... .. .'. .. .'.");
ui_print(".;. ., ,, ;:. .;. ;:. c:.'lo.");
ui_print(" '. .;;..,,.:;. .. ',. ,, .:' ");
ui_print(" .. .. .'. .'. .. , ... . ");
ui_print("':' .,,..:: ., :l''l; ,:: ; ");
ui_print(" .. .. .'. . .'..' .. .. ");
ui_print(".;; ,'.,ll..'. ,..;, ''' .;. ");
ui_print(".:: .. .c;.:;;.':'.:; ;': .:, ");
ui_print(" .. ,, . '.. ... '' ");
ui_print(" '. 'KK; c,:.lo, ., ;. ");
ui_print("',; .dx. ,., ,' ' .. ");
ui_print(" .. ... .. .,. .. .. ,. ");
ui_print(".:; .c;;.:c.::' ;l' .:: .c: ");
ui_print(" . .'..... . .. ... ... ");
ui_print(";::... ;0k:;::. ,, .. 'c. ,::.");
ui_print(".,, ., .lx,.,,..;; .' ,;. .,,.");
ui_print(" .. . .lo'... ''' .'. .'' .. ");
ui_print("''; ';',XXl,::.clc '. :lc .::.");
ui_print(" .. .. c; .. .' . .' .. ");
ui_print(" .. ',..''..,,.''..;,. .'. '. ");
ui_print(".;; .:. ,;..:c.c':.;;. .:' ,;:.");
ui_print("... . .. .. .. . .. ");
ui_print(".:c..;'.;;. ' ;c..c;'',; ':, .::.");
ui_print(" .. ....'. .. .'. . . ");
ui_print(".c, ',.c;..'; ;;. ':, ',..,' ");
ui_print(".c,..;;.,;. ', .c. ,' .;;'';:.");
ui_print(" . .. . .. .'. '. ");
ui_print(" ,,..;' ,c;.c,c ;. ,. .:. ");
ui_print(" .. .;..'..'.' .. . .'. ");
ui_print(".''.cc, ,' .,. ... .'' ',. ,' .' ");
ui_print(".:c..x, c; , c'c ',; ;,. ,; ,;.");
ui_print(" .' .' . ... .. .'. .. .'.");
ui_print(" .. .'. .. .,,..'. ");
ui_print(" ;. .' .::. .ll',ll.,;. ");
ui_print(" ,. . ... .' '. .'. ");
ui_print(".,' .,. ,, ::: ',..,' ;:: ");
ui_print("'c' :c' cc. :c; ;l.'c, ;c; ");
ui_print(" .. . .. .. . ");
ui_print("'c,.,;..;;. ,..:l..:. ");
ui_print(".,'.,,'.,,. ;,, ':..;; ");
ui_print(" '' ... .. ' ... ..... ");
ui_print(" .. . .lo'... ''' .'. .'' .. ");
ui_print("''; ';',XXl,::.clc '. :lc .::.");
ui_print(" .. .. c; .. .' . .' .. ");
ui_print(" .. ',..''..,,.''..;,. .'. '. ");
ui_print(".;; .:. ,;..:c.c':.;;. .:' ,;:.");
ui_print(".', .. ");
ui_print(" '' ... ");
ui_print(" c;..:' ");
ui_print(" .. .. ");
ui_print(".c;.;;. ;c..c. ;:. ");
ui_print(".c,.,,. ,c..;' ',. ");
ui_print(".c, ',.c;..'; ;;. ':, ',..,' ");
ui_print(".c,..;;.,;. ', .c. ,' .;;'';:.");
ui_print(" . .. . .. .'. '. ");
ui_print(" ,,..;' ,c;.c,c ;. ,. .:. ");
ui_print(" .. .;..'..'.' .. . .'. ");
ui_print(".''.cc, ,' .,. ... .'' ',. ,' .' ");
ui_print(".:c..x, c; , c'c ',; ;,. ,; ,;.");
ui_print(" .' .' . ... .. .'. .. .'.");
ui_print(" .. .'. .. .,,..'. ");
ui_print(" ;. .' .::. .ll',ll.,;. ");
ui_print(" ,. . ... .' '. .'. ");
ui_print(".,' .,. ,, ::: ',..,' ;:: ");
ui_print("'c' :c' cc. :c; ;l.'c, ;c; ");
ui_print(" '. .;;..,,.:;. .. ',. ,, .:' ");
ui_print(" .. .. .'. .'. .. , ... . ");
ui_print("':' .,,..:: ., :l''l; ,:: ; ");
ui_print(" .. .. .'. . .'..' .. .. ");
ui_print(".;; ,'.,ll..'. ,..;, ''' .;. ");
ui_print(".:: .. .c;.:;;.':'.:; ;': .:, ");
ui_print(" .. ,, . '.. ... '' ");
ui_print(" '. 'KK; c,:.lo, ., ;. ");
ui_print("',; .dx. ,., ,' ' .. ");
ui_print(" .. ... .. .,. .. .. ,. ");
ui_print(".:; .c;;.:c.::' ;l' .:: .c: ");
ui_print(" . .'..... . .. ... ... ");
ui_print(";::... ;0k:;::. ,, .. 'c. ,::.");
ui_print(".,, ., .lx,.,,..;; .' ,;. .,,.");
ui_print(" .. . .lo'... ''' .'. .'' .. ");
ui_print("''; ';',XXl,::.clc '. :lc .::.");

This scrolling matrix will not quite be as smooth as the matrix you are used to, as it will pause between functions, but it isn't half bad!