Subversion Repositories pentevo

Rev

Rev 801 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 801 Rev 821
Line 1... Line 1...
1
 
1
 
2
;LAST UPDATE: 03.09.2017 savelij
2
;LAST UPDATE: 03.05.2019 savelij
3
 
3
 
4
;[СОХРАНЕНИЕ КУСКА ЭКРАНА]
4
;[СОХРАНЕНИЕ КУСКА ЭКРАНА]
5
SAVE2X2         LD HL,(ADR_REST)
5
SAVE2X2         LD HL,(ADR_REST)
6
                LD DE,MOUSE_BUFF
6
                LD DE,MOUSE_BUFF
7
                LD B,8
7
                LD B,8
Line 124... Line 124...
124
                LD A,H
124
                LD A,H
125
                ADD A,(IX+_V_SIZE)
125
                ADD A,(IX+_V_SIZE)
126
                SUB 3
126
                SUB 3
127
                CP D
127
                CP D
128
                RET C           ;КУРСОР НИЖЕ ОКНА ИЛИ НА ПОСЛЕДНЕЙ ПОЛОСКЕ
128
                RET C                   ;КУРСОР НИЖЕ ОКНА ИЛИ НА ПОСЛЕДНЕЙ ПОЛОСКЕ
-
 
129
;КУРСОР В ПРЕДЕЛАХ РАБОЧЕЙ ОБЛАСТИ
-
 
130
                LD A,(IX+_NUM_KOL_H)
-
 
131
                AND A
-
 
132
                JR NZ,.L1              
-
 
133
                OR (IX+_NUM_KOL_L)
-
 
134
                JR Z,.L1
-
 
135
;ПРОВЕРКА ДЛЯ КОЛИЧЕСТВА ПУНКТОВ МЕНЬШЕ ВЫСОТЫ ОКНА - 2
-
 
136
                PUSH HL
-
 
137
                LD L,A
-
 
138
                LD H,(IX+_NUM_KOL_H)
129
                LD A,D
139
                LD A,D
-
 
140
                SUB (IX+_Y_COORD)
-
 
141
                LD C,A
-
 
142
                LD B,0
-
 
143
                AND A
-
 
144
                SBC HL,BC
-
 
145
                POP HL
-
 
146
                RET C
-
 
147
 
-
 
148
.L1             LD A,D
130
                SUB H
149
                SUB H
131
                LD C,A
150
                LD C,A
132
                LD L,(IX+_TEK_PKT_L)
151
                LD L,(IX+_TEK_PKT_L)
133
                LD H,(IX+_TEK_PKT_H)
152
                LD H,(IX+_TEK_PKT_H)
134
                LD B,0
153
                LD B,0
Line 218... Line 237...
218
                SRL H
237
                SRL H
219
                SRL H
238
                SRL H
220
                SRL L
239
                SRL L
221
                SRL L
240
                SRL L
222
                SRL L                   ;HL=HL/8
241
                SRL L                   ;HL=HL/8
223
NXTPOS2         LD A,(IX+0)
242
.NXTPOS2        LD A,(IX+0)
224
                INC A
243
                INC A
225
                JR Z,ENDWI
244
                JR Z,.ENDWI             ;КОНЕЦ СПИСКА
226
                LD A,L
245
                LD A,L
227
                CP (IX+1)
246
                CP (IX+1)
228
                JR C,NXTPOS1            ;КУРСОР ЛЕВЕЕ
247
                JR C,.NXTPOS1           ;КУРСОР ЛЕВЕЕ
229
                LD A,(IX+1)
248
                LD A,(IX+1)
230
                ADD A,(IX+4)
249
                ADD A,(IX+4)
231
                DEC A
250
                DEC A
232
                CP L
251
                CP L
233
                JR C,NXTPOS1            ;КУРСОР ПРАВЕЕ
252
                JR C,.NXTPOS1           ;КУРСОР ПРАВЕЕ
234
                LD A,H
253
                LD A,H
235
                CP (IX+2)
254
                CP (IX+2)
236
                JR C,NXTPOS1            ;КУРСОР ВЫШЕ
255
                JR C,.NXTPOS1           ;КУРСОР ВЫШЕ
237
                LD A,(IX+2)
256
                LD A,(IX+2)
238
                ADD A,(IX+3)
257
                ADD A,(IX+3)
239
                DEC A
258
                DEC A
240
                CP H
259
                CP H
241
                JR C,NXTPOS1            ;КУРСОР НИЖЕ
260
                JR C,.NXTPOS1           ;КУРСОР НИЖЕ
242
                LD A,(IX+5)             ;ПОЛУЧИЛИ КОД КНОПКИ  
261
                LD A,(IX+5)             ;ПОЛУЧИЛИ КОД КНОПКИ  
243
ENDWI           POP IX                  ;ПОПАЛИ В ЗАДАННУЮ ЗОНУ
262
.ENDWI          POP IX                  ;ПОПАЛИ В ЗАДАННУЮ ЗОНУ
244
                RET                     ;ВЫХОДИМ
263
                RET                     ;ВЫХОДИМ
245
 
264
 
246
NXTPOS1         LD DE,6                 ;ПОКА НИКУДА НЕ ПОПАЛИ
265
.NXTPOS1        LD DE,6                 ;ПОКА НИКУДА НЕ ПОПАЛИ
247
                ADD IX,DE               ;ПЕРЕХОДИМ К ПРОВЕРКЕ СЛЕДУЩЕГО
266
                ADD IX,DE               ;ПЕРЕХОДИМ К ПРОВЕРКЕ СЛЕДУЩЕГО
248
                JR NXTPOS2
267
                JR .NXTPOS2