?login_element?

Subversion Repositories NedoOS

Rev

Rev 147 | 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.         jr prarr_cross8c_go
  114.  
  115.         SHAPESPROC shapes_prarr_cross8c
  116. ;hl=x
  117. ;a=y
  118.         bit 0,l
  119.         ld de,sprcross8c_l+1
  120.         jr nz,$+5+2
  121.          ld de,sprcross8c_r+1
  122.          dec hl
  123.          dec hl
  124. prarr_cross8c_go
  125.         ld b,h
  126.         ld c,l
  127.         ld l,a ;y
  128.         sub 3
  129.         ld (prarr_crosscolumny),a
  130.        
  131.         ld lx,4 ;wid
  132.        
  133.         push hl ;y
  134.         ex de,hl
  135.         ld de,13*2
  136.  
  137.         bit 7,b
  138.         jr z,$+2+2+1+2
  139.          inc bc
  140.          inc bc
  141.          add hl,de
  142.          dec lx
  143.         dec bc ;x
  144.         dec bc ;x
  145.         bit 7,b
  146.         jr z,$+2+2+1+2
  147.          inc bc
  148.          inc bc
  149.          add hl,de
  150.          dec lx
  151.        
  152.         ex de,hl
  153.         pop hl ;y
  154. ;l=y
  155. ;bc=x
  156. ;de=spr
  157. ;lx=wid
  158.         call prarr_calcscr
  159. ;bc=40
  160. ;de=scr
  161. ;lx=ширина
  162. ;ly=200-y
  163.        
  164.         ld a,(prarr_crosscolumny)
  165.         add a,3
  166.         ex de,hl
  167.         dup 3
  168.         or a
  169.         jr z,prarr_cross_preskip
  170.         sbc hl,bc
  171.         dec a
  172.         edup
  173. prarr_cross_preskip
  174.         ex de,hl
  175.        
  176. prarr_crosscolumn0
  177.         ld hy,ly
  178.         push de
  179.         push hl
  180. prarr_crosscolumny=$+2
  181.         ld hx,0
  182.          dup 12
  183.         ld a,hx
  184.         inc hx
  185.         cp scrhgt
  186.         jr nc,1f;prarr_crosscolumnskipbyte
  187.         ld a,(de) ;scr
  188.         and (hl) ;mask
  189.         inc hl
  190.         xor (hl) ;pixels
  191.         dec hl
  192.         ld (de),a ;scr
  193.         ex de,hl
  194.         add hl,bc
  195.         ex de,hl
  196. 1;prarr_crosscolumnskipbyte
  197.          inc hl
  198.         ;dec hy
  199.         ;jp z,prarr_crosscolumnq
  200.          inc hl
  201.          edup
  202.         ld a,(de) ;scr
  203.         and (hl) ;mask
  204.         inc hl
  205.         xor (hl) ;pixels
  206.         ld (de),a ;scr
  207. ;prarr_crosscolumnq
  208.         pop hl
  209.         ld de,13*2
  210.         add hl,de
  211.         pop de
  212.         bit 6,d
  213.         jr z,prarr_crosscolumn_set6d
  214.         bit 5,d
  215.         jr z,prarr_crosscolumn_to2
  216.         ld a,d
  217.         sub 0x60
  218.         ld d,a
  219.         inc de
  220.         dec lx
  221.         jp nz,prarr_crosscolumn0
  222.         ret
  223. prarr_crosscolumn_set6d
  224.         set 6,d
  225.         dec lx
  226.         jp nz,prarr_crosscolumn0
  227.         ret
  228. prarr_crosscolumn_to2
  229.         ld a,d
  230.         sub 0x20
  231.         ld d,a
  232.         dec lx
  233.         jp nz,prarr_crosscolumn0
  234.         ret
  235.        
  236.         SHAPESPROC shapes_prarr8c
  237. ;hl=x
  238. ;a=y
  239.         ld b,h
  240.         ld c,l
  241.         ld l,a
  242.         bit 0,c
  243.         ld de,sprarr8c_l
  244.         jr z,$+5 ;de=спрайт для чётного x
  245.         ld de,sprarr8c_r ;de=спрайт для нечётного x
  246.         ld a,(de)
  247.         ld lx,a
  248.         inc de
  249. ;l=y
  250. ;bc=x
  251. ;de=spr
  252. ;lx=wid
  253.         call prarr_calcscr
  254. ;bc=40
  255. ;de=scr
  256. ;lx=ширина
  257. ;ly=200-y
  258.         jr prarrcolumn0
  259.        
  260.         SHAPESPROC shapes_prarr
  261. ;hl=x
  262. ;a=y
  263.         call prarr_calccur
  264. prarrcolumn0
  265.         ld hy,ly
  266.         push de
  267.         push hl
  268.         dup 12
  269.         ld a,(de) ;scr
  270.         and (hl) ;mask
  271.         inc hl
  272.         xor (hl) ;pixels
  273.         ld (de),a ;scr
  274.         dec hy
  275.         jp z,prarrcolumnq
  276.         inc hl
  277.         ex de,hl
  278.         add hl,bc
  279.         ex de,hl
  280.         edup
  281.         ld a,(de) ;scr
  282.         and (hl) ;mask
  283.         inc hl
  284.         xor (hl) ;pixels
  285.         ld (de),a ;scr
  286. prarrcolumnq
  287.         pop hl
  288.         ld de,13*2
  289.         add hl,de
  290.         pop de
  291.         bit 6,d
  292.         jr z,prarrcolumn_set6d
  293.         bit 5,d
  294.         jr z,prarrcolumn_to2
  295.         ld a,d
  296.         sub 0x60
  297.         ld d,a
  298.         inc de
  299.         dec lx
  300.         jp nz,prarrcolumn0
  301.         ret
  302. prarrcolumn_set6d
  303.         set 6,d
  304.         dec lx
  305.         jp nz,prarrcolumn0
  306.         ret
  307. prarrcolumn_to2
  308.         ld a,d
  309.         sub 0x20
  310.         ld d,a
  311.         dec lx
  312.         jp nz,prarrcolumn0
  313.         ret
  314.  
  315. prarr_calccur
  316. ;hl=x
  317. ;a=y
  318. ;out: hl=scr+, de=gfx, lx=wid, bc=40
  319.         ld e,a
  320.         push hl ;x
  321.         ld c,l
  322.         rr c
  323.          push af ;CY=x0
  324.         push de ;y
  325.         ld a,(prarr_zone)
  326.         cp ZONE_WORK
  327.         ld de,sprarr_l
  328.         ld bc,sprarr_r
  329.         jr nz,prarr_calcscr_nocross
  330.         pop de ;y
  331.          pop af ;CY=x0
  332.         pop hl
  333.          ccf
  334.         dec hl
  335.         dec hl
  336.         dec hl
  337.         dec e
  338.         dec e
  339.         dec e
  340.         push hl
  341.          push af ;CY=x0
  342.         push de ;y
  343.         ld de,sprcross_l
  344.         ld bc,sprcross_r
  345.         ld a,(curtool1)
  346.         cp TOOL_WINDOW
  347.         jr nz,$+2+3+3
  348.         ld de,sprwindow_l
  349.         ld bc,sprwindow_r
  350.         cp TOOL_FILL
  351.         jr nz,$+2+3+3
  352.         ld de,sprfill_l
  353.         ld bc,sprfill_r
  354.         cp TOOL_TEXT
  355.         jr nz,$+2+3+3
  356.         ld de,sprtext_l
  357.         ld bc,sprtext_r
  358. prarr_calcscr_nocross
  359.         pop hl ;y
  360. ;l=y
  361. ;de=spr_l
  362. ;bc=spr_r
  363.         pop af ;CY=x0
  364.         jr nc,prarr_nor ;de=спрайт для чётного x
  365.         ld d,b
  366.         ld e,c ;de=спрайт для нечётного x
  367. prarr_nor
  368.         pop bc ;x
  369.         ld a,(de)
  370.         ld lx,a
  371.         inc de
  372. ;l=y
  373. ;bc=x
  374. ;de=spr
  375. ;lx=wid
  376.         ;ret
  377.        
  378. prarr_calcscr
  379. ;l=y
  380. ;bc=x
  381. ;de=spr
  382. ;lx=wid
  383.         push de ;spr
  384.         ld h,0 ;y HSB
  385.         ld a,scrhgt
  386.         sub l ;y
  387.         ld ly,a ;200-y
  388.         ld d,scrbase/256/8
  389.         ld e,l
  390.         add hl,hl
  391.         add hl,hl
  392.         add hl,de ;y*5
  393.         add hl,hl
  394.         add hl,hl
  395.         add hl,hl ;y*40 + scrbase
  396.         pop de ;spr
  397.         srl b ;теперь b=0
  398.         rr c ;c=x/2
  399.         ld a,scrwid/2
  400.         sub c ;scrwid/2-(x/2)
  401.         cp lx
  402.         jr nc,$+2+2 ;scrwid/2-(x/2) >= ширина
  403.         ld lx,a ;scrwid/2-(x/2) < ширина
  404.         srl c
  405.         jr nc,$+4
  406.         set 6,h
  407.         srl c
  408.         jr nc,$+4
  409.         set 5,h
  410.         add hl,bc
  411.         ex de,hl
  412.         ld bc,40
  413. ;bc=40
  414. ;de=scr
  415. ;lx=ширина
  416. ;ly=200-y
  417.         ret
  418.  
  419. sprarr_l
  420. ;mask,pixels = 0xppmm
  421. ;%rlrrrlll
  422.         db 4
  423.         dw 0x0000,0xb800,0xb800,0xb800,0xb800,0xb800,0xb800,0xb800,0xb800,0x0047,0x00ff,0x00ff,0x00ff
  424.         dw 0x00ff,0x00b8,0x4700,0xff00,0xff00,0xff00,0xff00,0xff00,0x0000,0x0047,0x00ff,0x00ff,0x00ff
  425.         dw 0x00ff,0x00ff,0x00ff,0x00b8,0x4700,0xff00,0xff00,0x4700,0x4700,0x4700,0xb800,0xb800,0x0047
  426.         dw 0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00b8,0x4700,0x00b8,0x00ff,0x00ff,0x00b8,0x00b8,0x00ff
  427. sprarr_r
  428. ;mask,pixels = 0xppmm
  429. ;%rlrrrlll
  430.         db 5
  431.         dw 0x0047,0x0047,0x0047,0x0047,0x0047,0x0047,0x0047,0x0047,0x0047,0x00ff,0x00ff,0x00ff,0x00ff
  432.         dw 0x00b8,0x4700,0xff00,0xff00,0xff00,0xff00,0xff00,0xff00,0x4700,0x00b8,0x00ff,0x00ff,0x00ff
  433.         dw 0x00ff,0x00ff,0x00b8,0x4700,0xff00,0xff00,0xff00,0xff00,0xb800,0xb800,0x0047,0x0047,0x00ff
  434.         dw 0x00ff,0x00ff,0x00ff,0x00ff,0x00b8,0x4700,0xff00,0x0000,0x00b8,0x00b8,0x4700,0x4700,0x00b8
  435.         dw 0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00b8,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  436.  
  437. sprarr8c_l
  438. ;mask,pixels = 0xppmm
  439. ;%rlrrrlll
  440.         db 4
  441.         dw 0x0000,0x3800,0x3800,0x3800,0x3800,0x3800,0x3800,0x3800,0x3800,0x0047,0x00ff,0x00ff,0x00ff
  442.         dw 0x00ff,0x00b8,0x0700,0x3f00,0x3f00,0x3f00,0x3f00,0x3f00,0x0000,0x0047,0x00ff,0x00ff,0x00ff
  443.         dw 0x00ff,0x00ff,0x00ff,0x00b8,0x0700,0x3f00,0x3f00,0x0700,0x0700,0x0700,0x3800,0x3800,0x0047
  444.         dw 0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00b8,0x0700,0x00b8,0x00ff,0x00ff,0x00b8,0x00b8,0x00ff
  445. sprarr8c_r
  446. ;mask,pixels = 0xppmm
  447. ;%rlrrrlll
  448.         db 5
  449.         dw 0x0047,0x0047,0x0047,0x0047,0x0047,0x0047,0x0047,0x0047,0x0047,0x00ff,0x00ff,0x00ff,0x00ff
  450.         dw 0x00b8,0x0700,0x3f00,0x3f00,0x3f00,0x3f00,0x3f00,0x3f00,0x0700,0x00b8,0x00ff,0x00ff,0x00ff
  451.         dw 0x00ff,0x00ff,0x00b8,0x0700,0x3f00,0x3f00,0x3f00,0x3f00,0x3800,0x3800,0x0047,0x0047,0x00ff
  452.         dw 0x00ff,0x00ff,0x00ff,0x00ff,0x00b8,0x0700,0x3f00,0x0000,0x00b8,0x00b8,0x0700,0x0700,0x00b8
  453.         dw 0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00b8,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  454.  
  455. sprcross_l
  456. ;mask,pixels = 0xppmm
  457. ;%rlrrrlll
  458.         db 4
  459.         dw 0x00ff,0x00ff,0x00ff,0xffff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  460.         dw 0xb8ff,0xb8ff,0xb8ff,0xffff,0xb8ff,0xb8ff,0xb8ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  461.         dw 0x00ff,0x00ff,0x00ff,0xffff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  462.         dw 0x00ff,0x00ff,0x00ff,0x47ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  463. sprcross_r
  464. ;mask,pixels = 0xppmm
  465. ;%rlrrrlll
  466.         db 4
  467.         dw 0x00ff,0x00ff,0x00ff,0xb8ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  468.         dw 0x00ff,0x00ff,0x00ff,0xffff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  469.         dw 0x47ff,0x47ff,0x47ff,0xffff,0x47ff,0x47ff,0x47ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  470.         dw 0x00ff,0x00ff,0x00ff,0xffff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  471.        
  472. sprwindow_l
  473. ;mask,pixels = 0xppmm
  474. ;%rlrrrlll
  475.         db 4
  476.         dw 0x00ff,0x00ff,0x00ff,0xffff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  477.         dw 0xb8ff,0xb8ff,0xb8ff,0xffff,0xb8ff,0xb8ff,0xb8ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  478.         dw 0x00ff,0x00ff,0x00ff,0xffff,0x00ff,0x00ff,0xb8ff,0xb8ff,0xb8ff,0x00ff,0x00ff,0x00ff,0x00ff
  479.         dw 0x00ff,0x00ff,0x00ff,0x47ff,0x00ff,0x00ff,0xffff,0xb8ff,0xffff,0x00ff,0x00ff,0x00ff,0x00ff
  480. sprwindow_r
  481. ;mask,pixels = 0xppmm
  482. ;%rlrrrlll
  483.         db 5
  484.         dw 0x00ff,0x00ff,0x00ff,0xb8ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  485.         dw 0x00ff,0x00ff,0x00ff,0xffff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  486.         dw 0x47ff,0x47ff,0x47ff,0xffff,0x47ff,0x47ff,0x47ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  487.         dw 0x00ff,0x00ff,0x00ff,0xffff,0x00ff,0x00ff,0xffff,0x47ff,0xffff,0x00ff,0x00ff,0x00ff,0x00ff
  488.         dw 0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x47ff,0x47ff,0x47ff,0x00ff,0x00ff,0x00ff,0x00ff
  489.        
  490. sprfill_l
  491. ;mask,pixels = 0xppmm
  492. ;%rlrrrlll
  493.         db 4
  494.         dw 0x00ff,0x00ff,0x00ff,0xffff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  495.         dw 0xb8ff,0xb8ff,0xb8ff,0xffff,0xb8ff,0xb8ff,0xb8ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  496.         dw 0x00ff,0x00ff,0x00ff,0xffff,0x00ff,0x00ff,0x00ff,0xb8ff,0xb8ff,0x00ff,0x00ff,0x00ff,0x00ff
  497.         dw 0x00ff,0x00ff,0x00ff,0x47ff,0x00ff,0x47ff,0x47ff,0xb8ff,0xffff,0x47ff,0x00ff,0x00ff,0x00ff
  498. sprfill_r
  499. ;mask,pixels = 0xppmm
  500. ;%rlrrrlll
  501.         db 5
  502.         dw 0x00ff,0x00ff,0x00ff,0xb8ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  503.         dw 0x00ff,0x00ff,0x00ff,0xffff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  504.         dw 0x47ff,0x47ff,0x47ff,0xffff,0x47ff,0x47ff,0x47ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  505.         dw 0x00ff,0x00ff,0x00ff,0xffff,0x00ff,0xb8ff,0xb8ff,0x47ff,0xffff,0xb8ff,0x00ff,0x00ff,0x00ff
  506.         dw 0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x47ff,0x47ff,0x00ff,0x00ff,0x00ff,0x00ff
  507.        
  508. sprtext_l
  509. ;mask,pixels = 0xppmm
  510. ;%rlrrrlll
  511.         db 4
  512.         dw 0x00ff,0x00ff,0x00ff,0xffff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  513.         dw 0xb8ff,0xb8ff,0xb8ff,0xffff,0xb8ff,0xb8ff,0xb8ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  514.         dw 0x00ff,0x00ff,0x00ff,0xffff,0x00ff,0x00ff,0xb8ff,0x00ff,0x00ff,0xb8ff,0x00ff,0x00ff,0x00ff
  515.         dw 0x00ff,0x00ff,0x00ff,0x47ff,0x00ff,0x00ff,0xffff,0x47ff,0x47ff,0xffff,0x00ff,0x00ff,0x00ff
  516. sprtext_r
  517. ;mask,pixels = 0xppmm
  518. ;%rlrrrlll
  519.         db 5
  520.         dw 0x00ff,0x00ff,0x00ff,0xb8ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  521.         dw 0x00ff,0x00ff,0x00ff,0xffff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  522.         dw 0x47ff,0x47ff,0x47ff,0xffff,0x47ff,0x47ff,0x47ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  523.         dw 0x00ff,0x00ff,0x00ff,0xffff,0x00ff,0x00ff,0xffff,0xb8ff,0xb8ff,0xffff,0x00ff,0x00ff,0x00ff
  524.         dw 0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x47ff,0x00ff,0x00ff,0x47ff,0x00ff,0x00ff,0x00ff
  525.  
  526. ;;;;;;; для палитры (инвертируют внутри первых 8 цветов)
  527.        
  528. sprcross8c_l
  529. ;mask,pixels = 0xppmm
  530. ;%rlrrrlll
  531.         db 4
  532.         dw 0x00ff,0x00ff,0x00ff,0x3fff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  533.         dw 0x38ff,0x38ff,0x38ff,0x3fff,0x38ff,0x38ff,0x38ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  534.         dw 0x00ff,0x00ff,0x00ff,0x3fff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  535.         dw 0x00ff,0x00ff,0x00ff,0x07ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  536. sprcross8c_r
  537. ;mask,pixels = 0xppmm
  538. ;%rlrrrlll
  539.         db 4
  540.         dw 0x00ff,0x00ff,0x00ff,0x38ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  541.         dw 0x00ff,0x00ff,0x00ff,0x3fff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  542.         dw 0x07ff,0x07ff,0x07ff,0x3fff,0x07ff,0x07ff,0x07ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  543.         dw 0x00ff,0x00ff,0x00ff,0x3fff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  544.  
  545. sprring8c_l
  546. ;mask,pixels = 0xppmm
  547. ;%rlrrrlll
  548.         db 4
  549.         dw 0x00ff,0x38ff,0x07ff,0x07ff,0x07ff,0x38ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  550.         dw 0x3fff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x3fff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  551.         dw 0x07ff,0x38ff,0x00ff,0x00ff,0x00ff,0x38ff,0x07ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  552.         dw 0x00ff,0x00ff,0x07ff,0x07ff,0x07ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  553. sprring8c_r
  554. ;mask,pixels = 0xppmm
  555. ;%rlrrrlll
  556.         db 4
  557.         dw 0x00ff,0x00ff,0x38ff,0x38ff,0x38ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  558.         dw 0x38ff,0x07ff,0x00ff,0x00ff,0x00ff,0x07ff,0x38ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  559.         dw 0x3fff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x3fff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  560.         dw 0x00ff,0x07ff,0x38ff,0x38ff,0x38ff,0x07ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff,0x00ff
  561.  
  562.        
  563. arrbuf
  564.         ds 13*5
  565.