?login_element?

Subversion Repositories NedoOS

Rev

Blame | Last modification | View Log | Download | RSS feed

  1. ;fill_atributes
  2.  
  3. ATTR    EQU 48+6;+64
  4.  
  5.         ORG #6000
  6.  
  7.         CALL  FILL
  8.  
  9.         CALL    WAITKEY
  10.         LD HL,#4000
  11.         LD DE,#4001
  12.         LD BC,6911
  13.         LDIR
  14.         JR #6000
  15.  
  16. ;ждет нажатия на любую клавишу
  17. WAITKEY
  18.         XOR     A
  19.         IN      A,(#FE)
  20.         CPL
  21.         AND     #1F
  22.         JR      Z,WAITKEY
  23.         RET
  24.  
  25. FILL
  26.         LD A,6
  27.         OUT (254),A
  28.  
  29.         LD BC,TABLE
  30. fill_1
  31.         LD HL,#581F
  32.         LD A,(BC)
  33.         AND A
  34.         RET Z
  35. ;       INC BC
  36. ;       LD E,A
  37. fill_2
  38.         LD A,(BC)
  39.         AND A
  40.         JR Z,fill_4
  41.         LD D,A
  42.         LD A,L
  43. fill_3
  44.         LD (HL),ATTR
  45.         DEC L
  46.         DEC D
  47.         JR NZ,fill_3
  48.         ADD A,32
  49.         LD L,A
  50.         ADC A,H
  51.         SUB L
  52.         LD H,A
  53.         INC BC
  54.         JR fill_2
  55. fill_4
  56.         HALT   ;тут задержка до следующего кадра
  57.         INC BC ;(главное - bc не портить!)
  58.         JR fill_1
  59.  
  60. ;таблица - последовательность кадров.
  61. ;конец кадра - 0
  62. ;конец таблицы - 255
  63. ;в каждом кадре указывается,
  64. ;сколько знакомест в строке заливать
  65.  
  66.  
  67. TABLE
  68.         DB 1,0,2,2,0,3,3,3
  69.         DB 0,4,4,4,3,0,5,5
  70.         DB 5,4,3,0,6,6,6,6
  71.         DB 5,4,0,7,7,7,7,6
  72.         DB 5,4,0,8,8,8,8,7
  73.         DB 7,6,4,0,9,9,9,9
  74.         DB 8,8,7,6,4,0,10,10
  75.         DB 10,10,10,9,8,7,6,5
  76.         DB 0,11,11,11,11,11,10,10
  77.         DB 9,8,7,5,0,12,12,12
  78.         DB 12,12,11,11,10,9,8,7
  79.         DB 5,0,13,13,13,13,13,12
  80.         DB 12,11,11,10,9,7,5,0
  81.         DB 14,14,14,14,14,13,13,13
  82.         DB 12,11,10,9,8,5,0,15
  83.         DB 15,15,15,15,15,14,14,13
  84.         DB 12,12,11,9,8,6,0,16
  85.         DB 16,16,16,16,16,15,15,14
  86.         DB 14,13,12,11,10,8,6,0
  87.         DB 17,17,17,17,17,17,16,16
  88.         DB 15,15,14,13,12,11,10,8
  89.         DB 6,0,18,18,18,18,18,18
  90.         DB 17,17,17,16,15,15,14,13
  91.         DB 12,10,9,6,0,19,19,19
  92.         DB 19,19,19,18,18,18,17,17
  93.         DB 16,15,14,13,12,11,9,6
  94.         DB 0,20,20,20,20,20,20,19
  95.         DB 19,19,18,18,17,16,16,15
  96.         DB 14,12,11,9,6,0,21,21
  97.         DB 21,21,21,21,21,20,20,19
  98.         DB 19,18,18,17,16,15,14,13
  99.         DB 11,9,7,0,22,22,22,22
  100.         DB 22,22,22,21,21,20,20,19
  101.         DB 19,18,17,16,15,14,13,11
  102.         DB 9,7,0,23,23,23,23,23
  103.         DB 23,23,22,22,22,21,21,20
  104.         DB 19,19,18,17,16,15,13,12
  105.         DB 10,7,0,24,24,24,24,24
  106.         DB 24,24,23,23,23,22,22,21
  107.         DB 21,20,19,18,17,16,15,14
  108.         DB 12,10,7,0,25,25,25,25
  109.         DB 25,25,25,24,24,24,23,23
  110.         DB 22,22,21,20,20,19,18,17
  111.         DB 15,14,12,10,0,26,26,26
  112.         DB 26,26,26,26,25,25,25,24
  113.         DB 24,23,23,22,22,21,20,19
  114.         DB 18,17,16,14,12,0,27,27
  115.         DB 27,27,27,27,27,26,26,26
  116.         DB 25,25,25,24,23,23,22,21
  117.         DB 20,20,18,17,16,14,0,28
  118.         DB 28,28,28,28,28,28,28,27
  119.         DB 27,27,26,26,25,25,24,23
  120.         DB 23,22,21,20,19,18,16,0
  121.         DB 29,29,29,29,29,29,29,29
  122.         DB 28,28,28,27,27,26,26,25
  123.         DB 25,24,23,22,21,20,19,18
  124.         DB 0,30,30,30,30,30,30,30
  125.         DB 30,29,29,29,28,28,27,27
  126.         DB 26,26,25,24,24,23,22,21
  127.         DB 20,0,31,31,31,31,31,31
  128.         DB 31,31,30,30,30,29,29,29
  129.         DB 28,28,27,26,26,25,24,23
  130.         DB 22,21,0,32,32,32,32,32
  131.         DB 32,32,32,31,31,31,30,30
  132.         DB 30,29,29,28,27,27,26,25
  133.         DB 24,24,23,0,32,32,32,32
  134.         DB 32,32,32,32,32,32,32,32
  135.         DB 31,31,30,30,29,29,28,28
  136.         DB 27,26,25,24,0,32,32,32
  137.         DB 32,32,32,32,32,32,32,32
  138.         DB 32,32,32,32,31,31,30,30
  139.         DB 29,28,28,27,26,0,32,32
  140.         DB 32,32,32,32,32,32,32,32
  141.         DB 32,32,32,32,32,32,32,32
  142.         DB 31,30,30,29,28,28,0,32
  143.         DB 32,32,32,32,32,32,32,32
  144.         DB 32,32,32,32,32,32,32,32
  145.         DB 32,32,32,31,31,30,29,0
  146.         DB 32,32,32,32,32,32,32,32
  147.         DB 32,32,32,32,32,32,32,32
  148.         DB 32,32,32,32,32,32,31,31
  149.         DB 0,32,32,32,32,32,32,32
  150.         DB 32,32,32,32,32,32,32,32
  151.         DB 32,32,32,32,32,32,32,32
  152.         DB 32,0,255
  153.  
  154. TBLEND
  155.  
  156.         DISPLAY "Длина таблицы:",$-TABLE
  157.