;fill_atributes
 
 
 
ATTR    EQU 48+6;+64
 
 
 
        ORG #6000
 
 
 
        CALL  FILL
 
 
 
        CALL    WAITKEY
 
        LD HL,#4000
 
        LD DE,#4001
 
        LD BC,6911
 
        LDIR 
 
        JR #6000
 
 
 
;ждет нажатия на любую клавишу
 
WAITKEY
 
        XOR     A
 
        IN      A,(#FE)
 
        CPL 
 
        AND     #1F
 
        JR      Z,WAITKEY
 
        RET 
 
 
 
FILL
 
        LD A,6
 
        OUT (254),A
 
 
 
        LD BC,TABLE
 
fill_1
 
        LD HL,#581F
 
        LD A,(BC)
 
        AND A
 
        RET Z
 
;       INC BC
 
;       LD E,A
 
fill_2
 
        LD A,(BC)
 
        AND A
 
        JR Z,fill_4
 
        LD D,A
 
        LD A,L
 
fill_3
 
        LD (HL),ATTR
 
        DEC L
 
        DEC D
 
        JR NZ,fill_3
 
        ADD A,32
 
        LD L,A
 
        ADC A,H
 
        SUB L
 
        LD H,A
 
        INC BC
 
        JR fill_2
 
fill_4
 
        HALT   ;тут задержка до следующего кадра
 
        INC BC ;(главное - bc не портить!)
 
        JR fill_1
 
 
 
;таблица - последовательность кадров.
 
;конец кадра - 0
 
;конец таблицы - 255
 
;в каждом кадре указывается,
 
;сколько знакомест в строке заливать
 
 
 
 
 
TABLE
 
        DB 1,0,2,2,0,3,3,3
 
        DB 0,4,4,4,3,0,5,5
 
        DB 5,4,3,0,6,6,6,6
 
        DB 5,4,0,7,7,7,7,6
 
        DB 5,4,0,8,8,8,8,7
 
        DB 7,6,4,0,9,9,9,9
 
        DB 8,8,7,6,4,0,10,10
 
        DB 10,10,10,9,8,7,6,5
 
        DB 0,11,11,11,11,11,10,10
 
        DB 9,8,7,5,0,12,12,12
 
        DB 12,12,11,11,10,9,8,7
 
        DB 5,0,13,13,13,13,13,12
 
        DB 12,11,11,10,9,7,5,0
 
        DB 14,14,14,14,14,13,13,13
 
        DB 12,11,10,9,8,5,0,15
 
        DB 15,15,15,15,15,14,14,13
 
        DB 12,12,11,9,8,6,0,16
 
        DB 16,16,16,16,16,15,15,14
 
        DB 14,13,12,11,10,8,6,0
 
        DB 17,17,17,17,17,17,16,16
 
        DB 15,15,14,13,12,11,10,8
 
        DB 6,0,18,18,18,18,18,18
 
        DB 17,17,17,16,15,15,14,13
 
        DB 12,10,9,6,0,19,19,19
 
        DB 19,19,19,18,18,18,17,17
 
        DB 16,15,14,13,12,11,9,6
 
        DB 0,20,20,20,20,20,20,19
 
        DB 19,19,18,18,17,16,16,15
 
        DB 14,12,11,9,6,0,21,21
 
        DB 21,21,21,21,21,20,20,19
 
        DB 19,18,18,17,16,15,14,13
 
        DB 11,9,7,0,22,22,22,22
 
        DB 22,22,22,21,21,20,20,19
 
        DB 19,18,17,16,15,14,13,11
 
        DB 9,7,0,23,23,23,23,23
 
        DB 23,23,22,22,22,21,21,20
 
        DB 19,19,18,17,16,15,13,12
 
        DB 10,7,0,24,24,24,24,24
 
        DB 24,24,23,23,23,22,22,21
 
        DB 21,20,19,18,17,16,15,14
 
        DB 12,10,7,0,25,25,25,25
 
        DB 25,25,25,24,24,24,23,23
 
        DB 22,22,21,20,20,19,18,17
 
        DB 15,14,12,10,0,26,26,26
 
        DB 26,26,26,26,25,25,25,24
 
        DB 24,23,23,22,22,21,20,19
 
        DB 18,17,16,14,12,0,27,27
 
        DB 27,27,27,27,27,26,26,26
 
        DB 25,25,25,24,23,23,22,21
 
        DB 20,20,18,17,16,14,0,28
 
        DB 28,28,28,28,28,28,28,27
 
        DB 27,27,26,26,25,25,24,23
 
        DB 23,22,21,20,19,18,16,0
 
        DB 29,29,29,29,29,29,29,29
 
        DB 28,28,28,27,27,26,26,25
 
        DB 25,24,23,22,21,20,19,18
 
        DB 0,30,30,30,30,30,30,30
 
        DB 30,29,29,29,28,28,27,27
 
        DB 26,26,25,24,24,23,22,21
 
        DB 20,0,31,31,31,31,31,31
 
        DB 31,31,30,30,30,29,29,29
 
        DB 28,28,27,26,26,25,24,23
 
        DB 22,21,0,32,32,32,32,32
 
        DB 32,32,32,31,31,31,30,30
 
        DB 30,29,29,28,27,27,26,25
 
        DB 24,24,23,0,32,32,32,32
 
        DB 32,32,32,32,32,32,32,32
 
        DB 31,31,30,30,29,29,28,28
 
        DB 27,26,25,24,0,32,32,32
 
        DB 32,32,32,32,32,32,32,32
 
        DB 32,32,32,32,31,31,30,30
 
        DB 29,28,28,27,26,0,32,32
 
        DB 32,32,32,32,32,32,32,32
 
        DB 32,32,32,32,32,32,32,32
 
        DB 31,30,30,29,28,28,0,32
 
        DB 32,32,32,32,32,32,32,32
 
        DB 32,32,32,32,32,32,32,32
 
        DB 32,32,32,31,31,30,29,0
 
        DB 32,32,32,32,32,32,32,32
 
        DB 32,32,32,32,32,32,32,32
 
        DB 32,32,32,32,32,32,31,31
 
        DB 0,32,32,32,32,32,32,32
 
        DB 32,32,32,32,32,32,32,32
 
        DB 32,32,32,32,32,32,32,32
 
        DB 32,0,255
 
 
 
TBLEND
 
 
 
        DISPLAY "Длина таблицы:",$-TABLE