General Information \\ Author: Leo Laporte \\ Language: ACTION! \\ Compiler/Interpreter: ACTION! \\ Published: 10/19/83 \\ {{{ ; Atari LOGO ; Translated from the BASIC ; by Leo Laporte, 10/19/83 PROC fuji() BYTE top, bottom, xpos, cntr = [0] BYTE ARRAY data = [ 37 41 43 45 46 29 48 35 49 37 50 39 51 41 52 43 53 44 54 45 55 46 55 47 56 48 57 48 57 49 58 49 58 50 59 50 59 51 59 51 59 52 60 52 60 52 60 52 60 52 60 52 60 52 60 ] CARD x color = 1 top = 5 bottom = 61 FOR xpos = 80 TO 84 DO Plot(xpos, top) Drawto(xpos, bottom) Plot(160-xpos, top) Drawto(160-xpos, bottom) OD FOR xpos = 86 TO 115 DO IF xpos > 90 THEN top = data(cntr) cntr ==+ 1 FI bottom = data(cntr) cntr ==+ 1 Plot(xpos, top) Drawto(xpos, bottom) Plot(160-xpos, top) Drawto(160-xpos, bottom) OD RETURN PROC letters() BYTE x,y,i CARD cntr=[0] BYTE ARRAY atari = [ 49 55 61 76 81 87 93 104 0 48 56 61 76 80 88 93 105 0 47 57 61 76 79 89 93 106 0 46 58 61 76 78 90 93 107 0 45 50 54 59 67 70 77 82 86 91 93 96 103 108 0 45 49 55 59 67 70 77 81 87 91 93 96 104 108 0 45 48 56 59 67 70 77 80 88 91 93 96 104 108 0 45 48 56 59 67 70 77 80 88 91 93 96 104 108 0 45 48 56 59 67 70 77 80 88 91 93 96 104 108 0 45 48 56 59 67 70 77 80 88 91 93 96 103 108 0 45 59 67 70 77 91 93 107 0 45 59 67 70 77 91 93 106 0 45 59 67 70 77 91 93 105 0 45 59 67 70 77 91 93 104 0 45 48 56 59 67 70 77 80 88 91 93 96 100 105 0 45 48 56 59 67 70 77 80 88 91 93 96 101 106 0 45 48 56 59 67 70 77 80 88 91 93 96 102 107 0 45 48 56 59 67 70 77 80 88 91 93 96 103 108 0 45 48 56 59 67 70 77 80 88 91 93 96 104 109 0 45 48 56 59 67 70 77 80 88 91 93 96 105 109 0 1 1 ] i = 66 color = 1 DO x = atari(cntr) cntr ==+ 1 IF x = 0 THEN x = 112 y = 115 Plot(x,i) Drawto(y,i) i ==+ 1 ELSE y = atari(cntr) cntr ==+ 1 IF x = 1 AND y = 1 THEN EXIT FI Plot(x,i) Drawto(y,i) IF x = 112 THEN i ==+ 1 FI FI OD RETURN PROC delay(BYTE time) BYTE jifs = 20 jifs = 0 DO UNTIL (jifs >= time) OD RETURN PROC jingle() BYTE ARRAY music= [ 121 121 121 121 91 96 108 121 0 ] BYTE note, cntr = [0] DO note = music(cntr) cntr ==+ 1 IF note = 0 THEN EXIT FI SndRst() Delay(2) Sound(0, note, 10, 8) Delay(8) OD Delay(12) SndRst() RETURN PROC scroll() BYTE wsync = 54282, vcount = 54283, clr = 53270, ch = 764, cntr, chgclr = [0], incclr, delay DO FOR cntr = 1 TO 4 DO incclr = chgclr FOR delay = 1 TO 9 DO OD DO wsync = 0 clr = incclr incclr ==+ 1 UNTIL vcount & 128 OD OD chgclr ==+ 1 UNTIL ch <> 255 OD RETURN PROC main() Graphics(23) fuji() letters() jingle() scroll() RETURN }}}