Subversion Repositories pentevo

Rev

Rev 801 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed | ?url?

  1.  
  2. ; LAST UPDATE: 07.09.2022 savelij
  3.  
  4. K_P_P           EQU 0X50BD                      ; адрес вывода монохрома
  5. K_P_A           EQU 0X5ABD                      ; адрес вывода атрибутов
  6.  
  7. DRAW_KOSHAK     PUSH AF
  8.                 ADD A,A
  9.                 LD L,A
  10.                 LD E,A
  11.                 LD H,0
  12.                 LD D,H
  13.                 ADD HL,HL
  14.                 ADD HL,HL
  15.                 ADD HL,HL
  16.                 ADD HL,DE
  17.                 ADD HL,HL
  18.                 ADD HL,HL
  19.                 LD DE,KOSHAK
  20.                 ADD HL,DE
  21.                 LD DE,K_P_P
  22.                 LD C,3
  23. DRAWK2          LD B,8
  24. DRAWK1          LD A,(HL)
  25.                 LD (DE),A
  26.                 INC HL
  27.                 INC E
  28.                 LD A,(HL)
  29.                 LD (DE),A
  30.                 INC HL
  31.                 INC E
  32.                 LD A,(HL)
  33.                 LD (DE),A
  34.                 INC HL
  35.                 DEC E
  36.                 DEC E
  37.                 INC D
  38.                 DJNZ DRAWK1
  39.                 LD A,0X20
  40.                 ADD A,E
  41.                 LD E,A
  42.                 LD A,D
  43.                 SUB 8
  44.                 LD D,A
  45.                 DEC C
  46.                 JR NZ,DRAWK2
  47.                 LD HL,0X4747                    ; цвет кошака
  48.                 LD (K_P_A),HL
  49.                 LD (K_P_A+1),HL
  50.                 LD (K_P_A+0X20),HL
  51.                 LD (K_P_A+0X21),HL
  52.                 LD (K_P_A+0X40),HL
  53.                 LD (K_P_A+0X41),HL
  54.                 POP AF
  55.                 RET
  56.  
  57. CP_TIME_KOSHAK  PUSH AF
  58.                 BIT 3,(IY+55)
  59.                 JR Z,CPTK2
  60.                 LD A,(WAITINGL)
  61.                 INC A
  62.                 LD (WAITINGL),A
  63.                 CP 0X0C                         ; счетчик задержки перерисовки кошака
  64.                 JR C,CPTK1
  65.                 XOR A
  66.                 LD (WAITINGL),A
  67.                 LD A,(NUMKOSHAK)
  68.                 INC A
  69.                 LD (NUMKOSHAK),A
  70.                 CALL DRAW_KOSHAK
  71.                 CP 9                            ; максимальный номер спрайта кошака
  72.                 JR C,CPTK1
  73.                 XOR A
  74.                 LD (NUMKOSHAK),A
  75. ;               LD HL,ZEVOK
  76. ;               INC (HL)
  77.                 CALL DRAW_KOSHAK
  78.                 RES 3,(IY+55)                   ; запрет анимации кошака
  79.                 JR CPTK4
  80.  
  81. CPTK2           LD HL,(WAITINGH)
  82.                 INC HL
  83.                 LD (WAITINGH),HL
  84.                 LD A,H
  85.                 AND 2
  86.                 JR Z,CPTK1;5
  87. CPTK3           SET 3,(IY+55)                   ; счетчик досчитал, разрешение анимации кошака
  88. CPTK4           LD HL,0
  89.                 LD (WAITINGH),HL
  90. ;CPTK5          LD A,(ZEVOK)
  91. ;               CP 6
  92. ;               JR C,CPTK1
  93. ;               CALL RESTORE_KOSHAK
  94. ;               XOR A
  95. ;               LD (ZEVOK),A
  96. ;               CALL START_SONGLN
  97. CPTK1           POP AF
  98.                 RET
  99.  
  100. RESTORE_KOSHAK  RES 3,(IY+55)
  101.                 XOR A
  102.                 LD (ZEVOK),A
  103.                 LD A,(NUMKOSHAK)
  104.                 AND A
  105.                 RET Z
  106.                 XOR A
  107.                 LD H,A
  108.                 LD L,A
  109.                 LD (WAITINGH),HL
  110.                 LD (WAITINGL),HL
  111.                 JP DRAW_KOSHAK
  112.