home *** CD-ROM | disk | FTP | other *** search
/ Archive Magazine 1996 / ARCHIVE_96.iso / discs / mag_discs / volume_8 / issue_01 / graphics / PRETTY (.txt) < prev   
RISC OS BBC BASIC V Source  |  1994-08-18  |  2KB  |  83 lines

  1.  >ColTest
  2. " at line ";
  3.  "X480 Y352 C16M"
  4. setcolour(0,0,0,0)
  5.  0,0,960,704
  6.  coloursquare
  7. setcolour(r%,g%,b%,effect%)
  8.  colour%
  9. %colour%=(b%<<24)+(g%<<16)+(r%<<8)
  10.  &40743,colour%,,,0,effect%
  11.  code% 1024
  12.  pass%=0 
  13.   P%=code%
  14. [OPT pass%
  15. .screenbase
  16.   STMFD r13!,{r0-r1,r14}
  17.   ADR r0,input
  18.   ADR r1,output
  19.   SWI "OS_ReadVduVariables"
  20.   LDR r8,[r1]
  21.   LDR r9,[r1,#4]
  22.   MOV r0,#48
  23.   MUL r1,r8,r0
  24.   ADD r9,r9,r1
  25.   ADD r9,r9,#448
  26.   LDMFD r13!,{r0-r1,r15}
  27. .input
  28.   EQUD  6
  29.   EQUD 149
  30.   EQUD -1
  31. .output
  32.   EQUD 0
  33.   EQUD 0
  34.   EQUD 0
  35. .setcolour
  36.   STMFD r13!,{r0-r4,r14}
  37.   MUL r3,r8,r1
  38.   ADD r3,r3,r9
  39.   ADD r3,r3,r0,LSL#2
  40. 12  MOV r0,r0      ; put the colour word into r0
  41. R r0,r0,r1,LSL#8
  42. R r0,r0,r2,LSL#16
  43.   STR r0,[r3]
  44.   LDMFD r13!,{r0-r4,r15}
  45. .coloursquare
  46.   STMFD r13!,{r0-r9,r14}
  47.   BL screenbase
  48. .bigloop
  49.   MOV r2,#255
  50. .zloop1
  51.   MOV r1,#255
  52. .yloop1
  53.   MOV r0,#255
  54. .xloop1
  55.   BL setcolour
  56.   SUBS r0,r0,#1
  57.   BGE xloop1
  58.   SWI "OS_ReadEscapeState"
  59.   BCS end
  60.   SUBS r1,r1,#1
  61.   BGE yloop1
  62.   SUBS r2,r2,#4
  63.   BGE zloop1
  64.   MOV r2,#0
  65. .zloop2
  66.   MOV r1,#255
  67. .yloop2
  68.   MOV r0,#255
  69. .xloop2
  70.   BL setcolour
  71.   SUBS r0,r0,#1
  72.   BGE xloop2
  73.   SWI "OS_ReadEscapeState"
  74.   BCS end
  75.   SUBS r1,r1,#1
  76.   BGE yloop2
  77.   ADD r2,r2,#4
  78.   CMP r2,#256
  79.   BLT zloop2
  80.   B bigloop
  81.   LDMFD r13!,{r0-r9,r15}
  82.  pass%
  83.