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                  ;… ›‹Ž „‚ˆ†…ˆŸ Œ›˜ˆ
573 savelij 80
;               CALL RESTORE_KOSHAK             ;›‹Ž „‚ˆ†…ˆ… Œ›˜ˆ, ‘Ž‘ ‘—…’—ˆŠŽ‚ ŠŽ˜€Š€
507 savelij 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                         ;Ž‚…Š€ €†€’ˆŸ ŠŽŽŠ Š‹€‚ˆ€’“›
573 savelij 123
;               CALL Z,CP_TIME_KOSHAK           ;…‘‹ˆ … €†€’Ž ˆ—…ƒŽ, Ž‚…Ÿ…Œ ‘—…’—ˆŠ ŠŽ˜€Š€
507 savelij 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
 
573 savelij 131
SELECT_KEY      
132
;               CALL RESTORE_KOSHAK             ;€†€’Ž …—’Ž € Š‹€‚…, ‘Ž‘ ‘—…’—ˆŠ€ ŠŽ˜€Š€
507 savelij 133
                LD HL,LAST_K
134
                LD A,(HL)                       ;‚‡Ÿ‹ˆ €†€’“ž Š‹€‚ˆ˜“
135
                LD B,0
136
                LD HL,MAIN_KEYS
137
                LD C,(HL)                       ;ŠŽ‹ˆ—…‘’‚Ž „Ž‘’“›• ŠŽŽŠ
138
                LD D,C
139
                INC HL
140
                CPIR
141
                JR NZ,NOMAINKEYS                ;ˆ—…ƒŽ … €˜‹ˆ, „€‹…… ‘ŒŽ’ˆŒ ŠŽŠˆ ’…Š“™…ƒŽ ŽŠ€
142
                                                ;€†€’Ž —’Ž-’Ž ˆ‡ ƒ‹€‚›• ŠŽŽŠ, „Ž‘’“›• ‚‘…ƒ„€
143
                LD HL,ADREXEKEYS
144
                LD A,D                          ;ŠŽ‹ˆ—…‘’‚Ž ŠŽŽŠ ‚ ’€‹ˆ–… -1
145
                SUB C                           ;Ž‹“—ˆ‹ˆ ‚›€›‰ ŽŒ…
146
                DEC A
147
                ADD A,A
148
                ADD A,L
149
                LD L,A
150
                ADC A,H
151
                SUB L
152
                LD H,A
153
                LD A,(HL)
154
                INC HL
155
                LD H,(HL)
156
                LD L,A
157
                JP (HL)
158
 
159
;Ž‚…Š€ •Ž’Š……‚ ‚ ’…Š“™…Œ ŽŠ…
160
NOMAINKEYS      LD HL,(PRESSEDKEY)              ;€„…‘ ‘ˆ‘Š€ €†€’›• ŠŽŽŠ ’…Š“™…ƒŽ ŽŠ€
161
                LD C,A
162
                LD A,H
163
                OR L
164
                JP Z,MAINLOP                    ;…‘‹ˆ ‘ˆ‘Š€ …’, Ž„Ž‹†€…Œ ŽŽ‘
165
                LD A,C
166
                LD C,(IX+2)
167
                LD E,(HL)
168
                INC HL
169
                DEC C                           ;ŠŽ‹ˆ—…‘’‚Ž ŠŽŽŠ
170
                DEC C                           ;‚›‘Ž’€ ŽŠ€ -2
171
                LD D,C
172
                LD B,0
173
                CPIR                            ;‘Š€ˆŽ‚€ˆ… ‘ˆ‘Š€ ‡€„€›• Š‹€‚ˆ˜
174
                JR NZ,OSTAT_KEYS
175
                LD A,D                          ;‚›‘Ž’€ ŽŠ€
176
                SUB C
177
                DEC A                           ;Ž‹“—ˆ‹ˆ ŽŒ… €†€’މ ŠŽŠˆ ˆ -1
178
                BIT 7,(IX+7)
179
                JR Z,ENTER1
180
                LD L,(IX+8)
181
                LD H,(IX+9)
182
                LD (HL),A
183
                INC HL
184
                LD (HL),A
185
                JR ENTER
186
 
187
ENTER1          LD (IX+7),A                     ;ŽŒ… “Š’€ ‚ ŽŠ…
188
                LD (IX+8),A                     ;ŽŒ… €†€’މ Š‹€‚ˆ˜ˆ Ž “Š€‡€ŽŒ“ ‘ˆ‘Š“
189
ENTER           LD A,(FLAGS)
190
                AND 2
191
                CALL NZ,TIMELP                  ;ށŽ‚‹…ˆ… ‚…Œ…ˆ …‘‹ˆ ŽŽ ˆ‡Œ…ˆ‹Ž‘œ 
192
                CALL REST2X2                    ;‘’…‹ˆ Š“‘ސ Œ›˜ˆ
193
                CALL GLUDIN                     ;“ŒŠ“‹ˆ ‚ AY
194
                LD A,(IX+7)                     ;ŽŒ… ˆ‡ ‘ˆ‘Š€ ŠŽ’ސ›‰ ‚›‡‚€’œ
195
                BIT 7,A
196
                JR Z,JUMP2HL1
197
                LD L,(IX+8)
198
                LD H,(IX+9)
199
                LD A,(HL)
200
JUMP2HL1        LD L,(IX+0X0E)
201
                LD H,(IX+0X0F)                  ;‚‡Ÿ‹ˆ ‘ˆ‘ŽŠ €„…‘Ž‚ 1 ˆ‡ ŠŽ’ސ›• “„…Œ ‚›‡›‚€’œ
202
JUMP2HL         ADD A,A
203
                ADD A,L
204
                LD L,A
205
                ADC A,H
206
                SUB L
207
                LD H,A
208
                LD A,(HL)
209
                INC HL
210
                LD H,(HL)
211
                LD L,A
212
                LD A,1
213
                OUT (PEVO_CONF),A
214
                JP (HL)
215
 
216
OSTAT_KEYS      EX AF,AF'
217
                LD A,E
218
                SUB D
219
                JP Z,MAINLOP
220
                LD C,A
221
                EX AF,AF'
222
                CPIR
223
                JP NZ,MAINLOP
224
                LD A,E
225
                SUB C
226
                DEC A
227
                JR JUMP2HL1
228
 
229
TIMELP          CALL PRINTTIME
230
                LD A,0XFA
231
                IN A,(0XDF)                     ;ŠŽŠˆ Œ›˜ˆ
232
                CPL
233
                AND 7
234
                JR NZ,TIMELP                    ;ŽŠ€ … Ž’“‘’Ÿ’
235
                RET
236
 
237
GLUDIN          LD HL,DIN+0X0D
238
                LD A,0X0D
239
GLUDIN1         LD BC,0XFFFD
240
                OUT (C),A
241
                LD B,0XBF
242
                OUTD
243
                SUB 1
244
                JR NC,GLUDIN1
245
                RET
246
 
247
KOSHAK          BINCLUDE kot_anim.bin,9