home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 025.lha / 136Colors (.txt) < prev    next >
Encoding:
AmigaBASIC Source Code  |  1987-04-02  |  2.1 KB  |  85 lines

  1. Dither:
  2.  
  3. ' WRITTEN BY ARTHUR BLUME, ©1986
  4.  
  5. ' This program produces 136 differently-
  6. ' colored boxes on the screen in hi-res,
  7. ' using dithering.
  8.  
  9. ' But you can tell everyone it's the
  10. ' new 136-color hi-res mode!
  11.  
  12.  
  13. Setup:
  14. SCREEN 1,640,400,4,4
  15. WINDOW 2,,,0,1
  16. WINDOW OUTPUT 2
  17. DIM D(500)
  18. XS=38:YS=25:XO=404:YO=140
  19.  
  20. Colors:
  21. FOR D=0 TO 15:READ A,B,C:PALETTE D,A/15,B/15,C/15:NEXT
  22. DATA 0,0,0,15,0,0,0,15,0,0,0,15
  23. DATA 15,15,0,15,0,15,0,15,15,15,15,15
  24. DATA 1,10,13,11,12,1,7,7,1,15,11,8
  25. DATA 15,5,15,14,8,9,15,0,4,13,15,6
  26.  
  27. Title:
  28. LINE (342,68)-(565,129),1,B
  29. LINE (346,72)-(561,125),3,B
  30. LOCATE 7,40
  31. COLOR 3,0:PRINT "136 Colors (C) 1986 by Arthur Blume"
  32. LOCATE 11,50
  33. COLOR 2,0:PRINT "Wow!  ";
  34. COLOR 6,0:PRINT "136 ";
  35. COLOR 2,0:PRINT "Colors"
  36. LOCATE 13,46
  37. COLOR 7,0:PRINT "in ";
  38. COLOR 1,0:PRINT "Hi-Res! ";
  39. COLOR 5,0:PRINT "No HAM Mode."
  40. LOCATE 15,49
  41. COLOR 4,0:PRINT "Press ESC to exit."
  42.  
  43. DoDithering:
  44. LINE (0,0)-(XS-4,YS-5),7,B
  45. FOR Col=1 TO 15
  46.  
  47.     C=Col
  48.     FOR XX=XO TO XO+1
  49.       FOR YY=YO TO YO+YS-1
  50.       PSET (XX,YY),C
  51.       GOSUB Flip
  52.       NEXT
  53.  
  54.     NEXT
  55.  
  56.   GET (XO,YO)-(XO+1,YO+YS-1),D
  57.     FOR ZZ=XO+2 TO XO+1+XS STEP 2
  58.     PUT (ZZ,YO),D
  59.     NEXT ZZ
  60.  
  61.   GET (XO,YO)-(XO-5+XS,YO-6+YS),D
  62.   FOR X=0 TO Col
  63.     PUT (X*XS,Col*YS),D
  64.   NEXT
  65.  
  66.   GET (XO+1,YO)-(XO-4+XS,YO-6+YS),D
  67.   FOR Y=Col TO 15
  68.     PUT (Col*XS,Y*YS),D,OR
  69.   NEXT
  70.  
  71.   LINE (XO,YO)-(XO+1+XS,YO-1+YS),0,BF
  72.  
  73. NEXT
  74.  
  75. Done:
  76. WHILE INKEY$="":WEND
  77. SCREEN CLOSE 1:CLS:PRINT "Done."
  78.  
  79. END
  80.  
  81. Flip:
  82. IF C=Col THEN C=0 :ELSE C=Col
  83. RETURN
  84.  
  85.