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 |