?login_element?

Subversion Repositories NedoOS

Rev

Rev 344 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download

  1. ;вывод стрелки на экран (тут же запоминание и стирание)
  2. ;и буфер стрелки
  3.  
  4.         SHAPESPROC shapes_memorizearr
  5. ;hl=x
  6. ;a=y
  7.         call prarr_calccur
  8.         ld hl,arrbuf
  9. memorizearrcolumn0
  10.         ld hy,ly
  11.         push de
  12.         push hl
  13.         dup 12
  14.         ld a,(de) ;scr
  15.         ld (hl),a ;buf
  16.         dec hy
  17.         jp z,memorizearrcolumnq
  18.         inc hl
  19.         ex de,hl
  20.         add hl,bc
  21.         ex de,hl
  22.         edup
  23.         ld a,(de) ;scr
  24.         ld (hl),a ;buf
  25. memorizearrcolumnq
  26.         pop hl
  27.         ld de,13
  28.         add hl,de
  29.         pop de
  30.         bit 6,d
  31.         jr z,memorizearrcolumn_set6d
  32.         bit 5,d
  33.         jr z,memorizearrcolumn_to2
  34.         ld a,d
  35.         sub 0x60
  36.         ld d,a
  37.         inc de
  38.         dec lx
  39.         jp nz,memorizearrcolumn0
  40.         ret
  41. memorizearrcolumn_set6d
  42.         set 6,d
  43.         dec lx
  44.         jp nz,memorizearrcolumn0
  45.         ret
  46. memorizearrcolumn_to2
  47.         ld a,d
  48.         sub 0x20
  49.         ld d,a
  50.         dec lx
  51.         jp nz,memorizearrcolumn0
  52.         ret
  53.  
  54.         SHAPESPROC shapes_rearr
  55. ;hl=x
  56. ;a=y
  57.         call prarr_calccur
  58.         ld hl,arrbuf
  59. rearrcolumn0
  60.         ld hy,ly
  61.         push de
  62.         push hl
  63.         dup 12
  64.         ld a,(hl) ;buf
  65.         ld (de),a ;scr
  66.         dec hy
  67.         jp z,rearrcolumnq
  68.         inc hl
  69.         ex de,hl
  70.         add hl,bc
  71.         ex de,hl
  72.         edup
  73.         ld a,(hl) ;buf
  74.         ld (de),a ;scr
  75. rearrcolumnq
  76.         pop hl
  77.         ld de,13
  78.         add hl,de
  79.         pop de
  80.         bit 6,d
  81.         jr z,rearrcolumn_set6d
  82.         bit 5,d
  83.         jr z,rearrcolumn_to2
  84.         ld a,d
  85.         sub 0x60
  86.         ld d,a
  87.         inc de
  88.         dec lx
  89.         jp nz,rearrcolumn0
  90.         ret
  91. rearrcolumn_set6d
  92.         set 6,d
  93.         dec lx
  94.         jp nz,rearrcolumn0
  95.         ret
  96. rearrcolumn_to2
  97.         ld a,d
  98.         sub 0x20
  99.         ld d,a
  100.         dec lx
  101.         jp nz,rearrcolumn0
  102.         ret
  103.  
  104.         SHAPESPROC shapes_prarr_ring8c
  105. ;hl=x
  106. ;a=y
  107.         bit 0,l
  108.         ld de,sprring8c_l+1
  109.         jr nz,$+5+2
  110.          ld de,sprring8c_r+1
  111.          dec hl
  112.          dec hl
  113.         if 1==0
  114.         jr prarr_cross8c_go
  115.  
  116.         SHAPESPROC shapes_prarr_cross8c
  117. ;hl=x
  118. ;a=y
  119.         bit 0,l
  120.         ld de,sprcross8c_l+1
  121.         jr nz,$+5+2
  122.          ld de,sprcross8c_r+1
  123.          dec hl
  124.          dec hl
  125.         endif
  126. prarr_cross8c_go
  127.         ld b,h
  128.         ld c,l
  129.         ld l,a ;y
  130.         sub 3
  131.         ld (prarr_crosscolumny),a
  132.        
  133.         ld lx,4 ;wid
  134.        
  135.         push hl ;y
  136.         ex de,hl
  137.         ld de,13*2
  138.  
  139.         bit 7,b
  140.         jr z,$+2+2+1+2
  141.          inc bc
  142.          inc bc
  143.          add hl,de
  144.          dec lx
  145.         dec bc ;x
  146.         dec bc ;x
  147.         bit 7,b
  148.         jr z,$+2+2+1+2
  149.          inc bc
  150.          inc bc
  151.          add hl,de
  152.          dec lx
  153.        
  154.         ex de,hl
  155.         pop hl ;y
  156. ;l=y
  157. ;bc=x
  158. ;de=spr
  159. ;lx=wid
  160.         call prarr_calcscr
  161. ;bc=40
  162. ;de=scr
  163. ;lx=ширина
  164. ;ly=200-y
  165.        
  166.         ld a,(prarr_crosscolumny)
  167.         add a,3
  168.         ex de,hl
  169.         dup 3
  170.         or a
  171.         jr z,prarr_cross_preskip
  172.         sbc hl,bc
  173.         dec a
  174.         edup
  175. prarr_cross_preskip
  176.         ex de,hl
  177.        
  178. prarr_crosscolumn0
  179.         ld hy,ly
  180.         push de
  181.         push hl
  182. prarr_crosscolumny=$+2
  183.         ld hx,0
  184.          dup 12
  185.         ld a,hx
  186.         inc hx
  187.         cp scrhgt
  188.         jr nc,1f;prarr_crosscolumnskipbyte
  189.         ld a,(de) ;scr
  190.         and (hl) ;mask
  191.         inc hl
  192.         xor (hl) ;pixels
  193.         dec hl
  194.         ld (de),a ;scr
  195.         ex de,hl
  196.         add hl,bc
  197.         ex de,hl
  198. 1;prarr_crosscolumnskipbyte
  199.          inc hl
  200.         ;dec hy
  201.         ;jp z,prarr_crosscolumnq
  202.          inc hl
  203.          edup
  204.         ld a,(de) ;scr
  205.         and (hl) ;mask
  206.         inc hl
  207.         xor (hl) ;pixels
  208.         ld (de),a ;scr
  209. ;prarr_crosscolumnq
  210.         pop hl
  211.         ld de,13*2
  212.         add hl,de
  213.         pop de
  214.         bit 6,d
  215.         jr z,prarr_crosscolumn_set6d
  216.         bit 5,d
  217.         jr z,prarr_crosscolumn_to2
  218.         ld a,d
  219.         sub 0x60
  220.         ld d,a
  221.         inc de
  222.         dec lx
  223.         jp nz,prarr_crosscolumn0
  224.         ret
  225. prarr_crosscolumn_set6d
  226.         set 6,d
  227.         dec lx
  228.         jp nz,prarr_crosscolumn0
  229.         ret
  230. prarr_crosscolumn_to2
  231.         ld a,d
  232.         sub 0x20
  233.         ld d,a
  234.         dec lx
  235.         jp nz,prarr_crosscolumn0
  236.         ret
  237.        
  238.         SHAPESPROC shapes_prarr8c
  239. ;hl=x
  240. ;a=y
  241.         call prarr_calccur
  242. prarrcolumn0
  243.         ld hy,ly
  244.         push de
  245.         push hl
  246.         dup 12
  247.         ld a,(de) ;scr
  248.         and (hl) ;mask
  249.         inc hl
  250.         xor (hl) ;pixels
  251.         ld (de),a ;scr
  252.         dec hy
  253.         jp z,prarrcolumnq
  254.         inc hl
  255.         ex de,hl
  256.         add hl,bc
  257.         ex de,hl
  258.         edup
  259.         ld a,(de) ;scr
  260.         and (hl) ;mask
  261.         inc hl
  262.         xor (hl) ;pixels
  263.         ld (de),a ;scr
  264. prarrcolumnq
  265.         pop hl
  266.         ld de,13*2
  267.         add hl,de
  268.         pop de
  269.         bit 6,d
  270.         jr z,prarrcolumn_set6d
  271.         bit 5,d
  272.         jr z,prarrcolumn_to2
  273.         ld a,d
  274.         sub 0x60
  275.         ld d,a
  276.         inc de
  277.         dec lx
  278.         jp nz,prarrcolumn0
  279.         ret
  280. prarrcolumn_set6d
  281.         set 6,d
  282.         dec lx
  283.         jp nz,prarrcolumn0
  284.         ret
  285. prarrcolumn_to2
  286.         ld a,d
  287.         sub 0x20
  288.         ld d,a
  289.         dec lx
  290.         jp nz,prarrcolumn0
  291.         ret
  292.  
  293. prarr_calccur
  294. ;hl=x
  295. ;a=y
  296. ;out: hl=scr+, de=gfx, lx=wid, bc=40
  297.         push hl ;x
  298.         rr l
  299.         ld l,a ;l=y
  300.         ld de,sprarr8c_l
  301.         jr nc,prarr_nor ;de=спрайт для чётного x
  302.         ld de,sprarr8c_r ;de=спрайт для нечётного x
  303. prarr_nor
  304.         pop bc ;x
  305.         ld a,(de)
  306.         ld lx,a
  307.         inc de
  308. ;l=y
  309. ;bc=x
  310. ;de=spr
  311. ;lx=wid
  312.         ;ret
  313.        
  314. prarr_calcscr
  315. ;l=y
  316. ;bc=x
  317. ;de=spr
  318. ;lx=wid
  319.         push de ;spr
  320.         ld h,0 ;y HSB
  321.         ld a,scrhgt
  322.         sub l ;y
  323.         ld ly,a ;200-y
  324.         ld d,scrbase/256/8
  325.         ld e,l
  326.         add hl,hl
  327.         add hl,hl
  328.         add hl,de ;y*5
  329.         add hl,hl
  330.         add hl,hl
  331.         add hl,hl ;y*40 + scrbase
  332.         pop de ;spr
  333.         srl b ;теперь b=0
  334.         rr c ;c=x/2
  335.         ld a,scrwid/2
  336.         sub c ;scrwid/2-(x/2)
  337.         cp lx
  338.         jr nc,$+2+2 ;scrwid/2-(x/2) >= ширина
  339.         ld lx,a ;scrwid/2-(x/2) < ширина
  340.         srl c
  341.         jr nc,$+4
  342.         set 6,h
  343.         srl c
  344.         jr nc,$+4
  345.         set 5,h
  346.         add hl,bc
  347.         ex de,hl
  348.         ld bc,40
  349. ;bc=40
  350. ;de=scr
  351. ;lx=ширина
  352. ;ly=200-y
  353.         ret
  354.  
  355.         if 1==0
  356. sprarr_l
  357. ;mask,pixels = 0xppmm
  358. ;%rlrrrlll
  359.         db 4
  360.         dw 0x0000,0xb800,0xb800,0xb800,0xb800,0xb800,0xb800,0xb800,0xb800,0x0047,0x00ff,0x00ff,0x00ff
  361.         dw 0x00ff,0x00b8,0x4700,0xff00,0xff00,0xff00,0xff00,0xff00,0x0000,0x0047,0x00ff,0x00ff,0x00ff
  362.         dw 0x00ff,0x00ff,0x00ff,0x00b8,0x4700,0xff00,0xff00,0x4700,0x4700,0x4700,0xb800,0xb800,0x0047
  363.         dw 0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00b8,0x4700,0x00b8,0x00ff,0x00ff,0x00b8,0x00b8,0x00ff
  364. sprarr_r
  365. ;mask,pixels = 0xppmm
  366. ;%rlrrrlll
  367.         db 5
  368.         dw 0x0047,0x0047,0x0047,0x0047,0x0047,0x0047,0x0047,0x0047,0x0047,0x00ff,0x00ff,0x00ff,0x00ff
  369.         dw 0x00b8,0x4700,0xff00,0xff00,0xff00,0xff00,0xff00,0xff00,0x4700,0x00b8,0x00ff,0x00ff,0x00ff
  370.         dw 0x00ff,0x00ff,0x00b8,0x4700,0xff00,0xff00,0xff00,0xff00,0xb800,0xb800,0x0047,0x0047,0x00ff
  371.         dw 0x00ff,0x00ff,0x00ff,0x00ff,0x00b8,0x4700,0xff00,0x0000,0x00b8,0x00b8,0x4700,0x4700,0x00b8
  372.         dw 0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00b8,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  373.         endif
  374.  
  375. sprarr8c_l
  376. ;mask,pixels = 0xppmm
  377. ;%rlrrrlll
  378.         db 4
  379.         dw 0x0000,0x3800,0x3800,0x3800,0x3800,0x3800,0x3800,0x3800,0x3800,0x0047,0x00ff,0x00ff,0x00ff
  380.         dw 0x00ff,0x00b8,0x0700,0x3f00,0x3f00,0x3f00,0x3f00,0x3f00,0x0000,0x0047,0x00ff,0x00ff,0x00ff
  381.         dw 0x00ff,0x00ff,0x00ff,0x00b8,0x0700,0x3f00,0x3f00,0x0700,0x0700,0x0700,0x3800,0x3800,0x0047
  382.         dw 0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00b8,0x0700,0x00b8,0x00ff,0x00ff,0x00b8,0x00b8,0x00ff
  383. sprarr8c_r
  384. ;mask,pixels = 0xppmm
  385. ;%rlrrrlll
  386.         db 5
  387.         dw 0x0047,0x0047,0x0047,0x0047,0x0047,0x0047,0x0047,0x0047,0x0047,0x00ff,0x00ff,0x00ff,0x00ff
  388.         dw 0x00b8,0x0700,0x3f00,0x3f00,0x3f00,0x3f00,0x3f00,0x3f00,0x0700,0x00b8,0x00ff,0x00ff,0x00ff
  389.         dw 0x00ff,0x00ff,0x00b8,0x0700,0x3f00,0x3f00,0x3f00,0x3f00,0x3800,0x3800,0x0047,0x0047,0x00ff
  390.         dw 0x00ff,0x00ff,0x00ff,0x00ff,0x00b8,0x0700,0x3f00,0x0000,0x00b8,0x00b8,0x0700,0x0700,0x00b8
  391.         dw 0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00b8,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  392.  
  393.         if 1==0
  394. sprcross_l
  395. ;mask,pixels = 0xppmm
  396. ;%rlrrrlll
  397.         db 4
  398.         dw 0x00ff,0x00ff,0x00ff,0xffff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  399.         dw 0xb8ff,0xb8ff,0xb8ff,0xffff,0xb8ff,0xb8ff,0xb8ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  400.         dw 0x00ff,0x00ff,0x00ff,0xffff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  401.         dw 0x00ff,0x00ff,0x00ff,0x47ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  402. sprcross_r
  403. ;mask,pixels = 0xppmm
  404. ;%rlrrrlll
  405.         db 4
  406.         dw 0x00ff,0x00ff,0x00ff,0xb8ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  407.         dw 0x00ff,0x00ff,0x00ff,0xffff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  408.         dw 0x47ff,0x47ff,0x47ff,0xffff,0x47ff,0x47ff,0x47ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  409.         dw 0x00ff,0x00ff,0x00ff,0xffff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  410.        
  411. sprwindow_l
  412. ;mask,pixels = 0xppmm
  413. ;%rlrrrlll
  414.         db 4
  415.         dw 0x00ff,0x00ff,0x00ff,0xffff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  416.         dw 0xb8ff,0xb8ff,0xb8ff,0xffff,0xb8ff,0xb8ff,0xb8ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  417.         dw 0x00ff,0x00ff,0x00ff,0xffff,0x00ff,0x00ff,0xb8ff,0xb8ff,0xb8ff,0x00ff,0x00ff,0x00ff,0x00ff
  418.         dw 0x00ff,0x00ff,0x00ff,0x47ff,0x00ff,0x00ff,0xffff,0xb8ff,0xffff,0x00ff,0x00ff,0x00ff,0x00ff
  419. sprwindow_r
  420. ;mask,pixels = 0xppmm
  421. ;%rlrrrlll
  422.         db 5
  423.         dw 0x00ff,0x00ff,0x00ff,0xb8ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  424.         dw 0x00ff,0x00ff,0x00ff,0xffff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  425.         dw 0x47ff,0x47ff,0x47ff,0xffff,0x47ff,0x47ff,0x47ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  426.         dw 0x00ff,0x00ff,0x00ff,0xffff,0x00ff,0x00ff,0xffff,0x47ff,0xffff,0x00ff,0x00ff,0x00ff,0x00ff
  427.         dw 0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x47ff,0x47ff,0x47ff,0x00ff,0x00ff,0x00ff,0x00ff
  428.        
  429. sprfill_l
  430. ;mask,pixels = 0xppmm
  431. ;%rlrrrlll
  432.         db 4
  433.         dw 0x00ff,0x00ff,0x00ff,0xffff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  434.         dw 0xb8ff,0xb8ff,0xb8ff,0xffff,0xb8ff,0xb8ff,0xb8ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  435.         dw 0x00ff,0x00ff,0x00ff,0xffff,0x00ff,0x00ff,0x00ff,0xb8ff,0xb8ff,0x00ff,0x00ff,0x00ff,0x00ff
  436.         dw 0x00ff,0x00ff,0x00ff,0x47ff,0x00ff,0x47ff,0x47ff,0xb8ff,0xffff,0x47ff,0x00ff,0x00ff,0x00ff
  437. sprfill_r
  438. ;mask,pixels = 0xppmm
  439. ;%rlrrrlll
  440.         db 5
  441.         dw 0x00ff,0x00ff,0x00ff,0xb8ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  442.         dw 0x00ff,0x00ff,0x00ff,0xffff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  443.         dw 0x47ff,0x47ff,0x47ff,0xffff,0x47ff,0x47ff,0x47ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  444.         dw 0x00ff,0x00ff,0x00ff,0xffff,0x00ff,0xb8ff,0xb8ff,0x47ff,0xffff,0xb8ff,0x00ff,0x00ff,0x00ff
  445.         dw 0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x47ff,0x47ff,0x00ff,0x00ff,0x00ff,0x00ff
  446.        
  447. sprtext_l
  448. ;mask,pixels = 0xppmm
  449. ;%rlrrrlll
  450.         db 4
  451.         dw 0x00ff,0x00ff,0x00ff,0xffff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  452.         dw 0xb8ff,0xb8ff,0xb8ff,0xffff,0xb8ff,0xb8ff,0xb8ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  453.         dw 0x00ff,0x00ff,0x00ff,0xffff,0x00ff,0x00ff,0xb8ff,0x00ff,0x00ff,0xb8ff,0x00ff,0x00ff,0x00ff
  454.         dw 0x00ff,0x00ff,0x00ff,0x47ff,0x00ff,0x00ff,0xffff,0x47ff,0x47ff,0xffff,0x00ff,0x00ff,0x00ff
  455. sprtext_r
  456. ;mask,pixels = 0xppmm
  457. ;%rlrrrlll
  458.         db 5
  459.         dw 0x00ff,0x00ff,0x00ff,0xb8ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  460.         dw 0x00ff,0x00ff,0x00ff,0xffff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  461.         dw 0x47ff,0x47ff,0x47ff,0xffff,0x47ff,0x47ff,0x47ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  462.         dw 0x00ff,0x00ff,0x00ff,0xffff,0x00ff,0x00ff,0xffff,0xb8ff,0xb8ff,0xffff,0x00ff,0x00ff,0x00ff
  463.         dw 0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x47ff,0x00ff,0x00ff,0x47ff,0x00ff,0x00ff,0x00ff
  464.         endif
  465. ;;;;;;; для палитры (инвертируют внутри первых 8 цветов)
  466.         if 1==0
  467. sprcross8c_l
  468. ;mask,pixels = 0xppmm
  469. ;%rlrrrlll
  470.         db 4
  471.         dw 0x00ff,0x00ff,0x00ff,0x3fff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  472.         dw 0x38ff,0x38ff,0x38ff,0x3fff,0x38ff,0x38ff,0x38ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  473.         dw 0x00ff,0x00ff,0x00ff,0x3fff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  474.         dw 0x00ff,0x00ff,0x00ff,0x07ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  475. sprcross8c_r
  476. ;mask,pixels = 0xppmm
  477. ;%rlrrrlll
  478.         db 4
  479.         dw 0x00ff,0x00ff,0x00ff,0x38ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  480.         dw 0x00ff,0x00ff,0x00ff,0x3fff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  481.         dw 0x07ff,0x07ff,0x07ff,0x3fff,0x07ff,0x07ff,0x07ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  482.         dw 0x00ff,0x00ff,0x00ff,0x3fff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  483.         endif
  484.        
  485. sprring8c_l
  486. ;mask,pixels = 0xppmm
  487. ;%rlrrrlll
  488.         db 4
  489.         dw 0x00ff,0x38ff,0x07ff,0x07ff,0x07ff,0x38ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  490.         dw 0x3fff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x3fff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  491.         dw 0x07ff,0x38ff,0x00ff,0x00ff,0x00ff,0x38ff,0x07ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  492.         dw 0x00ff,0x00ff,0x07ff,0x07ff,0x07ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  493. sprring8c_r
  494. ;mask,pixels = 0xppmm
  495. ;%rlrrrlll
  496.         db 4
  497.         dw 0x00ff,0x00ff,0x38ff,0x38ff,0x38ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  498.         dw 0x38ff,0x07ff,0x00ff,0x00ff,0x00ff,0x07ff,0x38ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  499.         dw 0x3fff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x3fff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  500.         dw 0x00ff,0x07ff,0x38ff,0x38ff,0x38ff,0x07ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  501.  
  502. sprringon_l
  503. ;mask,pixels = #ppmm
  504. ;%rlrrrlll
  505.         db 4
  506.         dw #00ff,#3847,#07b8,#07b8,#07b8,#3847,#00ff,#00ff,#00ff,#00ff,#00ff,#00ff,#00ff
  507.         dw #3f00,#00ff,#00ff,#00ff,#00ff,#00ff,#3f00,#00ff,#00ff,#00ff,#00ff,#00ff,#00ff
  508.         dw #07b8,#3847,#00ff,#00ff,#00ff,#3847,#07b8,#00ff,#00ff,#00ff,#00ff,#00ff,#00ff
  509.         dw #00ff,#00ff,#07b8,#07b8,#07b8,#00ff,#00ff,#00ff,#00ff,#00ff,#00ff,#00ff,#00ff
  510. sprringon_r
  511. ;mask,pixels = #ppmm
  512. ;%rlrrrlll
  513.         db 4
  514.         dw #00ff,#00ff,#3847,#3847,#3847,#00ff,#00ff,#00ff,#00ff,#00ff,#00ff,#00ff,#00ff
  515.         dw #3847,#07b8,#00ff,#00ff,#00ff,#07b8,#3847,#00ff,#00ff,#00ff,#00ff,#00ff,#00ff
  516.         dw #3f00,#00ff,#00ff,#00ff,#00ff,#00ff,#3f00,#00ff,#00ff,#00ff,#00ff,#00ff,#00ff
  517.         dw #00ff,#07b8,#3847,#3847,#3847,#07b8,#00ff,#00ff,#00ff,#00ff,#00ff,#00ff,#00ff
  518.  
  519. sprringoff_l
  520. ;mask,pixels = #ppmm
  521. ;%rlrrrlll
  522.         db 4
  523.         dw #00ff,#0047,#00b8,#00b8,#00b8,#0047,#00ff,#00ff,#00ff,#00ff,#00ff,#00ff,#00ff
  524.         dw #0000,#00ff,#00ff,#00ff,#00ff,#00ff,#0000,#00ff,#00ff,#00ff,#00ff,#00ff,#00ff
  525.         dw #00b8,#0047,#00ff,#00ff,#00ff,#0047,#00b8,#00ff,#00ff,#00ff,#00ff,#00ff,#00ff
  526.         dw #00ff,#00ff,#00b8,#00b8,#00b8,#00ff,#00ff,#00ff,#00ff,#00ff,#00ff,#00ff,#00ff
  527. sprringoff_r
  528. ;mask,pixels = #ppmm
  529. ;%rlrrrlll
  530.         db 4
  531.         dw #00ff,#00ff,#0047,#0047,#0047,#00ff,#00ff,#00ff,#00ff,#00ff,#00ff,#00ff,#00ff
  532.         dw #0047,#00b8,#00ff,#00ff,#00ff,#00b8,#0047,#00ff,#00ff,#00ff,#00ff,#00ff,#00ff
  533.         dw #0000,#00ff,#00ff,#00ff,#00ff,#00ff,#0000,#00ff,#00ff,#00ff,#00ff,#00ff,#00ff
  534.         dw #00ff,#00b8,#0047,#0047,#0047,#00b8,#00ff,#00ff,#00ff,#00ff,#00ff,#00ff,#00ff
  535.        
  536. arrbuf
  537.         ds 13*5
  538.