Login

Subversion Repositories NedoOS

Rev

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

;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