;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