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


Add new attachment

Only authorized users are allowed to upload new attachments.

List of attachments

Kind Attachment Name Size Version Date Modified Author Change note
png
AtariFujiLogoAction.PNG 3.8 kB 1 15-Jan-2014 14:27 Gromit So sieht das Ergebnis aus...
« This page (revision-2) was last changed on 15-Jan-2014 14:27 by Gromit