Subversion Repositories pentevo

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
507 savelij 1
 
2
;LAST UPDATE: 06.03.2011 savelij
3
 
4
SELECTOR        XOR A
5
                OUT (PEVO_CONF),A
6
                CALL DETECTMOUSE
7
                EI     
8
                LD A,(FLAGS)
9
                AND 2                           ;Ž‚…Š€ €‹ˆ—ˆŸ Œ›˜ˆ
10
                JR Z,_RULNMO
11
;FIX ŠŽ‹…‘Ž Œ›˜ˆ
12
MKEYPR          EI
13
                HALT
14
                LD A,0XFA
15
                IN A,(0XDF)
16
                CPL
17
                AND 7
18
                JR NZ,MKEYPR
19
_RULNMO         CALL SAVE2X2                    ;…‘‹ˆ Œ…ž €…—€’€‹ˆ Ž‚…• ‘’…‹Šˆ
20
                CALL SET_ADR_ATR                ;“‘’€Ž‚Š€ Ž‚ŽƒŽ €„…‘€ „‹Ÿ –‚…’Ž‰ Ž‹Ž‘Šˆ
21
                LD HL,FLAGS_KEY
22
                RES 5,(HL)                      ;€ Š‹€‚ˆ€’“… ˆ—…ƒŽ … €†€’Ž
23
                JR MAINLOP
24
 
25
;€†€’€ ‘’…‹Š€ ‚‚…•
26
UP              CALL CURSOR_UP                  ;‘Œ…ˆ‹ˆ ’…Š“™ˆ‰ “Š’ € -1
27
                JR SET_POS1                    
28
 
29
;€†€’€ ‘’…‹Š€ ‚€‚Ž
30
RIGHT           BIT 1,(IX+6)                    ;Ž‚…Š€ Ž‘’Ž Œ…ž ˆ‹ˆ ”€‰‹Ž‚Ž…
31
                PUSH AF                         ;‘Ž•€ˆ‹ˆ …‡“‹œ’€’ Ž‚…Šˆ
32
                CALL NZ,PAGEDN                  ;…‘‹ˆ ”€‰‹Ž‚Ž…, ’Ž ‹ˆ‘’€ˆ… ‘’€ˆ—Ž…
33
                POP AF                          ;‚Ž‘‘’€Ž‚ˆ‹ˆ …‡“‹œ’€’ Ž‚…Šˆ
34
                JR NZ,SET_POS1                  ;…‘‹ˆ ”€‰‹Ž‚Ž… Ž„Ž‹†€…Œ
35
                LD A,(IX+0X0A)
36
                AND A
37
                JR Z,SET_POS
38
                DEC A                           ;ˆ€—… ……•Ž„ Š“‘ސ€ € Ž‘‹…„ˆ‰ “Š’
39
                JR SET_POS                      ;ˆ‡Œ…Ÿ…Œ Ž‹Ž†…ˆ… Š“‘ސ€ ˆ Ž„Ž‹†€…Œ
40
 
41
;€†€’€ ‘’…‹Š€ ‚ˆ‡
42
DOWN            CALL CURSOR_DOWN                ;‘Œ…ˆ‹ˆ ’…Š“™ˆ‰ “Š’ € +1
43
                JR SET_POS1
44
 
45
;€†€’€ ‘’…‹Š€ ‚‹…‚Ž
46
LEFT            BIT 1,(IX+6)                    ;Ž‚…Š€ Ž‘’Ž Œ…ž ˆ‹ˆ ”€‰‹Ž‚Ž…
47
                PUSH AF                         ;‘Ž•€ˆ‹ˆ …‡“‹œ’€’ Ž‚…Šˆ
48
                CALL NZ,PAGEUP                  ;…‘‹ˆ ”€‰‹Ž‚Ž…, ’Ž ‹ˆ‘’€ˆ… ‘’€ˆ—Ž…
49
                POP AF                          ;‚Ž‘‘’€Ž‚ˆ‹ˆ …‡“‹œ’€’ Ž‚…Šˆ
50
                JR NZ,SET_POS1                  ;…‘‹ˆ ”€‰‹Ž‚Ž… Ž„Ž‹†€…Œ
51
                XOR A                           ;ˆ€—… ……•Ž„ Š“‘ސ€ € …‚›‰ “Š’
52
SET_POS         BIT 7,(IX+7)
53
                JR Z,SET_POS3
54
                LD L,(IX+8)
55
                LD H,(IX+9)
56
                LD (HL),A
57
                INC HL
58
                LD (HL),A
59
                INC HL
60
                LD (HL),0
61
                JR SET_POS1
62
 
63
SET_POS3        LD (IX+7),A                     ;ˆ‡Œ…ˆ‹ˆ Ž‡ˆ–ˆž Š“‘ސ€
64
                LD (IX+8),A
65
                LD (IX+9),0                     ;ˆ‡Œ…ˆ‹ˆ ŽŒ… ‚›€ŽƒŽ “Š’€
66
SET_POS1        CALL COLOR_CURSOR               ;……ˆ‘ނЀ –‚…’Ž‰ Ž‹Ž‘Šˆ Œ…ž
67
SET_POS2        CALL GLUDIN                     ;“ŒŠ“‹ˆ ‚ AY
68
MAINLOP         LD HL,FLAGS_KEY
69
                RES 5,(HL)                      ;‘Ž‘ €†€’›• ŠŽŽŠ
70
                LD A,(FLAGS)
71
                AND 2                           ;Ž‚…Š€ €‹ˆ—ˆŸ Œ›˜ˆ
72
                JP Z,MAINNMO
73
                LD HL,(ARXY)                    ;‘’€€Ÿ ŠŽŽ„ˆ€’€ Œ›˜ˆ
74
                PUSH HL
75
                CALL MOUSE                      ;ŽŽ‘ Ž’Ž‚ Œ›˜ˆ
76
                POP BC
77
                AND A
78
                SBC HL,BC
79
                JR Z,NO_SELECT                  ;… ›‹Ž „‚ˆ†…ˆŸ Œ›˜ˆ
80
                CALL RESTORE_KOSHAK             ;›‹Ž „‚ˆ†…ˆ… Œ›˜ˆ, ‘Ž‘ ‘—…’—ˆŠŽ‚ ŠŽ˜€Š€
81
                CALL MOUOPT                     ;Ž‚…Š€ €‚…„…ˆŸ Œ›˜ˆ € ‡€„€Ž… ŽŠŽ
82
NO_SELECT       LD BC,0XFADF
83
                IN A,(C)                        ;ŽŽ‘ €†€’ˆŸ ŠŽŽŠ Œ›˜ˆ
84
                AND 7
85
                CP 6
86
                JR Z,PRESS_MOUSE                ;…‘‹ˆ €†€’€ ‹…‚€Ÿ ŠŽŠ€ Œ›˜ˆ
87
                CP 5
88
                JP Z,RESTART                    ;…‘‹ˆ €†€’€ €‚€Ÿ ŠŽŠ€ Œ›˜ˆ
89
                CALL PRINTTIME                  ;ށŽ‚ˆ‹ˆ ‚…ŒŸ …‘‹ˆ ˆ‡Œ…ˆ‹Ž‘œ
90
                EI
91
                HALT
92
                CALL REST2X2                    ;‚Ž‘‘’€Ž‚ˆ‹ˆ Š“‘ŽŠ Š€€ Ž„ Œ›˜œž
93
                CALL DRAW_MOUSE                 ;€ˆ‘Ž‚€‹ˆ Š“‘ސ Œ›˜ˆ
94
                JR MAINQMO                      ;Ž„Ž‹†…ˆ… ŽŽ‘€
95
 
96
PRESS_MOUSE     CALL OPMSPL
97
                AND A
98
                JR Z,CP_MOUSE4
99
                LD (LAST_K),A
100
                CALL TIMELP
101
                JR SELECT_KEY
102
 
103
CP_MOUSE4       CALL MOUOPT                     ;Ž‚…Š€ Ž€„€ˆŸ Œ›˜ˆ ‚ …„…‹› ’…Š“™…ƒŽ ŽŠ€
104
                JR C,MAINNMO                    ;… Ž€‹ˆ ˆ …„…Œ „€‹……
105
                LD E,(IX+7)                     ;‚‡Ÿ‹ˆ ŽŒ… “Š’€ Š“„€ Ž€‹ˆ Œ›˜œž
106
                BIT 7,E
107
                JR Z,CP_MOUSE5
108
                LD L,(IX+8)
109
                LD H,(IX+9)
110
                LD E,(HL)
111
CP_MOUSE5       LD D,0
112
                LD HL,(PRESSEDKEY)              ;€„…‘ ‘ˆ‘Š€ •Ž’Š……‚ ’…Š“™…ƒŽ ŽŠ€
113
                ADD HL,DE                       ;€„…‘ •Ž’Š…Ÿ ‚›€ŽƒŽ “Š’€
114
                LD DE,LAST_K
115
                LDI                             ;Œˆ’€–ˆŸ €†€’ˆŸ ‡€„€Ž‰ ŠŽŠˆ
116
                JR ENTER
117
 
118
MAINNMO         CALL PRINTTIME                  ;ށŽ‚‹…ˆ… ‚…Œ…ˆ, …‘‹ˆ ‚ ŽŽ ŽŽ‚ˆ‹Ž‘œ
119
                EI
120
                HALT
121
MAINQMO         LD A,(FLAGS_KEY)
122
                BIT 5,A                         ;Ž‚…Š€ €†€’ˆŸ ŠŽŽŠ Š‹€‚ˆ€’“›
123
                CALL Z,CP_TIME_KOSHAK           ;…‘‹ˆ … €†€’Ž ˆ—…ƒŽ, Ž‚…Ÿ…Œ ‘—…’—ˆŠ ŠŽ˜€Š€
124
                JP Z,MAINLOP                    ;Ž„Ž‹†€…Œ ŽŽ‘ “€‚‹…ˆŸ
125
                CALL BREAK_KEY                  ;Ž‚…Š€ € BREAK
126
                JR C,SELECT_KEY                 ;…‘‹ˆ BREAK €†€’ ……‡€“‘Š€…Œ‘Ÿ
127
RESTART         LD A,1
128
                OUT (PEVO_CONF),A
129
                RET
130
 
131
SELECT_KEY      CALL RESTORE_KOSHAK             ;€†€’Ž …—’Ž € Š‹€‚…, ‘Ž‘ ‘—…’—ˆŠ€ ŠŽ˜€Š€
132
                LD HL,LAST_K
133
                LD A,(HL)                       ;‚‡Ÿ‹ˆ €†€’“ž Š‹€‚ˆ˜“
134
                LD B,0
135
                LD HL,MAIN_KEYS
136
                LD C,(HL)                       ;ŠŽ‹ˆ—…‘’‚Ž „Ž‘’“›• ŠŽŽŠ
137
                LD D,C
138
                INC HL
139
                CPIR
140
                JR NZ,NOMAINKEYS                ;ˆ—…ƒŽ … €˜‹ˆ, „€‹…… ‘ŒŽ’ˆŒ ŠŽŠˆ ’…Š“™…ƒŽ ŽŠ€
141
                                                ;€†€’Ž —’Ž-’Ž ˆ‡ ƒ‹€‚›• ŠŽŽŠ, „Ž‘’“›• ‚‘…ƒ„€
142
                LD HL,ADREXEKEYS
143
                LD A,D                          ;ŠŽ‹ˆ—…‘’‚Ž ŠŽŽŠ ‚ ’€‹ˆ–… -1
144
                SUB C                           ;Ž‹“—ˆ‹ˆ ‚›€›‰ ŽŒ…
145
                DEC A
146
                ADD A,A
147
                ADD A,L
148
                LD L,A
149
                ADC A,H
150
                SUB L
151
                LD H,A
152
                LD A,(HL)
153
                INC HL
154
                LD H,(HL)
155
                LD L,A
156
                JP (HL)
157
 
158
;Ž‚…Š€ •Ž’Š……‚ ‚ ’…Š“™…Œ ŽŠ…
159
NOMAINKEYS      LD HL,(PRESSEDKEY)              ;€„…‘ ‘ˆ‘Š€ €†€’›• ŠŽŽŠ ’…Š“™…ƒŽ ŽŠ€
160
                LD C,A
161
                LD A,H
162
                OR L
163
                JP Z,MAINLOP                    ;…‘‹ˆ ‘ˆ‘Š€ …’, Ž„Ž‹†€…Œ ŽŽ‘
164
                LD A,C
165
                LD C,(IX+2)
166
                LD E,(HL)
167
                INC HL
168
                DEC C                           ;ŠŽ‹ˆ—…‘’‚Ž ŠŽŽŠ
169
                DEC C                           ;‚›‘Ž’€ ŽŠ€ -2
170
                LD D,C
171
                LD B,0
172
                CPIR                            ;‘Š€ˆŽ‚€ˆ… ‘ˆ‘Š€ ‡€„€›• Š‹€‚ˆ˜
173
                JR NZ,OSTAT_KEYS
174
                LD A,D                          ;‚›‘Ž’€ ŽŠ€
175
                SUB C
176
                DEC A                           ;Ž‹“—ˆ‹ˆ ŽŒ… €†€’މ ŠŽŠˆ ˆ -1
177
                BIT 7,(IX+7)
178
                JR Z,ENTER1
179
                LD L,(IX+8)
180
                LD H,(IX+9)
181
                LD (HL),A
182
                INC HL
183
                LD (HL),A
184
                JR ENTER
185
 
186
ENTER1          LD (IX+7),A                     ;ŽŒ… “Š’€ ‚ ŽŠ…
187
                LD (IX+8),A                     ;ŽŒ… €†€’މ Š‹€‚ˆ˜ˆ Ž “Š€‡€ŽŒ“ ‘ˆ‘Š“
188
ENTER           LD A,(FLAGS)
189
                AND 2
190
                CALL NZ,TIMELP                  ;ށŽ‚‹…ˆ… ‚…Œ…ˆ …‘‹ˆ ŽŽ ˆ‡Œ…ˆ‹Ž‘œ 
191
                CALL REST2X2                    ;‘’…‹ˆ Š“‘ސ Œ›˜ˆ
192
                CALL GLUDIN                     ;“ŒŠ“‹ˆ ‚ AY
193
                LD A,(IX+7)                     ;ŽŒ… ˆ‡ ‘ˆ‘Š€ ŠŽ’ސ›‰ ‚›‡‚€’œ
194
                BIT 7,A
195
                JR Z,JUMP2HL1
196
                LD L,(IX+8)
197
                LD H,(IX+9)
198
                LD A,(HL)
199
JUMP2HL1        LD L,(IX+0X0E)
200
                LD H,(IX+0X0F)                  ;‚‡Ÿ‹ˆ ‘ˆ‘ŽŠ €„…‘Ž‚ 1 ˆ‡ ŠŽ’ސ›• “„…Œ ‚›‡›‚€’œ
201
JUMP2HL         ADD A,A
202
                ADD A,L
203
                LD L,A
204
                ADC A,H
205
                SUB L
206
                LD H,A
207
                LD A,(HL)
208
                INC HL
209
                LD H,(HL)
210
                LD L,A
211
                LD A,1
212
                OUT (PEVO_CONF),A
213
                JP (HL)
214
 
215
OSTAT_KEYS      EX AF,AF'
216
                LD A,E
217
                SUB D
218
                JP Z,MAINLOP
219
                LD C,A
220
                EX AF,AF'
221
                CPIR
222
                JP NZ,MAINLOP
223
                LD A,E
224
                SUB C
225
                DEC A
226
                JR JUMP2HL1
227
 
228
TIMELP          CALL PRINTTIME
229
                LD A,0XFA
230
                IN A,(0XDF)                     ;ŠŽŠˆ Œ›˜ˆ
231
                CPL
232
                AND 7
233
                JR NZ,TIMELP                    ;ŽŠ€ … Ž’“‘’Ÿ’
234
                RET
235
 
236
GLUDIN          LD HL,DIN+0X0D
237
                LD A,0X0D
238
GLUDIN1         LD BC,0XFFFD
239
                OUT (C),A
240
                LD B,0XBF
241
                OUTD
242
                SUB 1
243
                JR NC,GLUDIN1
244
                RET
245
 
246
KOSHAK          BINCLUDE kot_anim.bin,9