Rev 1000 | Details | Compare with Previous | Last modification | View Log
Rev | Author | Line No. | Line |
---|---|---|---|
930 | alone | 1 | DEVICE ZXSPECTRUM1024 |
2 | include "../../_sdk/sys_h.asm" |
||
3 | |||
1000 | alone | 4 | include "settings.ast" |
5 | |||
930 | alone | 6 | SLOT 0 |
7 | page 8 |
||
8 | SLOT 3 |
||
9 | |||
10 | EGA=1 |
||
11 | FREESCROLL=1;TODO 0 |
||
12 | PRFULLMAP=0 |
||
13 | |||
966 | alone | 14 | MEGALZ=1 ;⥪ Hrust2 |
15 | |||
930 | alone | 16 | STACK=0x4000;0x61a8 |
17 | GAMESTACK=0x3f80;0xFFFF |
||
18 | |||
19 | INT_IM2=0 |
||
20 | SETIM2_TWICE=0 |
||
21 | INT_USE_BC=1-EGA |
||
22 | |||
23 | scrbase=0x4000+4 |
||
24 | iconsscraddr=scrbase+25+(32*40) |
||
25 | faceiconsscraddr=scrbase+(17*8*40)+1 |
||
26 | sprmaxwid=48;32 |
||
27 | sprmaxhgt=32 |
||
28 | scrwid=128+8;160 ;double pixels |
||
29 | scrhgt=192;200 |
||
30 | INTSTACK=0x3f00 |
||
31 | tempsp=0x3f06 ;6 bytes for prspr |
||
32 | |||
33 | FIXMOUSE=0 ;⠪ VERAENGN, 1 室 |
||
34 | |||
35 | FILAT EQU 8*6+64 ;ਡ. |
||
36 | FILAT2 EQU 8*6+1+64 ;ਡ. |
||
37 | |||
38 | PGTILES0=0x20 |
||
39 | PGTILES1=0x21 |
||
40 | PGTILES2=0x22 |
||
41 | PGTILES3=0x23 |
||
42 | PGICONS=0x24 |
||
43 | PGSPRITES0=0x25 |
||
44 | PGSPRITES1=0x26 |
||
45 | PGSPRTRAN0=0x27 |
||
46 | PGSPRTRAN1=0x28 |
||
47 | PGHUD=0x29 |
||
48 | PGDAYNIGHT=0x2a |
||
49 | |||
50 | szARROWS=45*32 |
||
51 | |||
52 | ;25.08.08 |
||
53 | ;६ |
||
54 | ;IM2 EQU #6666 ;ᯮ 뢠 |
||
55 | SHADSCR EQU #4000 ; ࠭ () |
||
56 | SCR EQU #C000 ;᭮ ࠭ |
||
57 | SCRWD EQU 24 ;ਭ ࠭ |
||
58 | SCRHG EQU 24 ; ࠭ -/- |
||
59 | FRAME EQU 2 ;- ३ ﬨ ࠭ |
||
60 | MAX_X EQU 245 ;। X |
||
61 | MAX_Y EQU 181 ;। Y |
||
62 | QVESH EQU 18 ;- 饩 誥 |
||
63 | SPD_HERO EQU 1 ;V ६饭 ( - V) |
||
64 | ROTSPD EQU 2 ; ⨨ ।⮢ |
||
65 | STEPS EQU 2 ;- ᥫ . ६. ன 1 蠣 |
||
66 | STEP1 EQU (16/STEPS)-1 |
||
67 | STEP2 EQU (8/STEPS)-1 |
||
68 | DSTV EQU 1 ; 쪮 室. |
||
69 | DSTP EQU 2 ; 쪮 室. ᮭ |
||
70 | FR EQU 16 ; |
||
71 | SCMOD EQU 20 ;প । 室 ० |
||
72 | FRM EQU 25 ; (३) |
||
73 | FRM2 EQU 6 ;- ३ . 뢠 |
||
74 | PERS EQU 10 ;- ᮭ . ࠧ. |
||
75 | TOKEN EQU 7 ;- ࠢ (⮪) ⥪-1 |
||
76 | MAXTASK EQU 5 ;. - |
||
77 | SPD_NGT EQU 1200 ;- ३, १ . . ࠩ |
||
78 | ; ᮬ |
||
79 | VIDSPD EQU 3 ;. (MAX 2) |
||
80 | COUNT EQU 26 ;- |
||
81 | |||
82 | ;࠭ |
||
83 | PG_SPR EQU 0 ;6912:ࠩ 2*2 512 , EGA:cursors |
||
84 | PG_MAP EQU 1 ;,ᨢ,,ਯ,㪨 |
||
85 | PG_EXCH=2 ; 0x9000 (VIDEOS) |
||
86 | PG_MISC EQU 3 ;ᯠ. ⥪,祢 , 㯠.,ᨢ |
||
87 | PG_HERO EQU 4 ;ࠩ |
||
88 | PG_MUZ EQU 6 ;,몠 |
||
89 | PG_VIEW EQU 7 ;㯠. ࠭ |
||
90 | |||
91 | ;slot 3 |
||
92 | ;page 0 |
||
93 | org PROGSTART |
||
94 | begin |
||
95 | jp begin2 ;/prsprqwid (sprites in file are made so that they return here) |
||
96 | begin2 |
||
97 | ld sp,STACK |
||
98 | OS_HIDEFROMPARENT |
||
99 | |||
100 | ld e,3+0x80 ;6912+keep |
||
101 | OS_SETGFX ;e=0:EGA, e=2:MC, e=3:6912, e=6:text ;+SET FOCUS ;e=-1: disable gfx (out: e=old gfxmode) |
||
102 | |||
103 | ;ld e,1 |
||
104 | ;OS_SETSCREEN |
||
105 | ld e,0 ;color byte |
||
106 | OS_CLS |
||
107 | ;ld e,0 |
||
108 | ;OS_SETSCREEN |
||
109 | ;ld e,0 ;color byte |
||
110 | ;OS_CLS |
||
111 | |||
112 | OS_GETMAINPAGES |
||
113 | ;dehl=pages in 0000,4000,8000,c000 |
||
114 | ld a,e |
||
115 | ld (pggfx),a |
||
116 | ld a,h |
||
117 | ld (pgcode8000),a |
||
118 | ld a,l |
||
119 | ld (pgcodec000),a |
||
120 | ;OS_NEWPAGE |
||
121 | ;ld a,e |
||
122 | ld (tpgs+0),a |
||
123 | |||
124 | OS_NEWPAGE |
||
125 | ld a,e |
||
126 | ld (tpgs+PG_EXCH),a |
||
127 | |||
128 | OS_NEWPAGE |
||
129 | ld a,e |
||
130 | ld (pgfake),a ; ࠭ 㤥 뢠 ᮢ ࠩ⮢ |
||
131 | ld (pgfake2),a |
||
132 | ;OS_NEWPAGE |
||
133 | ;ld a,e |
||
134 | ;ld (pgmain4000),a |
||
135 | |||
136 | ld de,res_path |
||
137 | OS_CHDIR |
||
138 | ;ld de,muzfilename |
||
139 | ;call openstream_file |
||
140 | ;ld a,7 |
||
141 | ;call setpg |
||
142 | ;ld de,music |
||
143 | ;ld hl,music_sz |
||
144 | ;call readstream_file |
||
145 | ;call closestream_file |
||
146 | |||
147 | ld hl,levelfilenames |
||
148 | loadlevels0 |
||
149 | ld a,(hl) ;pg |
||
150 | inc hl |
||
151 | cp -1 |
||
152 | jr z,loadlevels0q |
||
153 | or a |
||
154 | jr z,loadlevels0_nonewpg |
||
155 | push hl |
||
156 | ld h,tpgs/256 |
||
157 | ld l,a |
||
158 | push hl |
||
159 | OS_NEWPAGE |
||
160 | pop hl |
||
161 | ld (hl),e |
||
162 | ld a,l |
||
163 | pop hl |
||
164 | loadlevels0_nonewpg |
||
165 | call setpg |
||
166 | ld e,(hl) |
||
167 | inc hl |
||
168 | ld d,(hl) |
||
169 | inc hl |
||
170 | push hl |
||
171 | push de ;addr |
||
172 | ex de,hl |
||
173 | call openstream_file |
||
174 | pop de |
||
175 | ld hl,0x4000 |
||
176 | call readstream_file |
||
177 | call closestream_file |
||
178 | pop hl |
||
179 | xor a |
||
180 | ld b,a |
||
181 | ld c,a |
||
182 | cpir ;hl=after #0 |
||
183 | jr loadlevels0 |
||
184 | loadlevels0q |
||
185 | |||
186 | if !EGA |
||
187 | ld a,(user_scr1_high) ;ok |
||
188 | SETPG16K |
||
189 | ld a,PG_VIEW |
||
190 | call PAGE |
||
191 | ld hl,0xc000 |
||
192 | ld de,0x4000 |
||
193 | ld bc,0x4000 |
||
194 | ldir |
||
195 | ld a,(user_scr0_high) ;ok |
||
196 | SETPG16K |
||
197 | call setpggfxc000 |
||
198 | ld hl,0xc000 |
||
199 | ld de,0x4000 |
||
200 | ld bc,0x4000 |
||
201 | ldir |
||
202 | call setpgcodec000 |
||
203 | endif |
||
204 | |||
205 | ;call PAGE_PG_VIEW |
||
206 | ;ld hl,wasARROWS |
||
207 | ;ld de,ARROWS |
||
208 | ;ld bc,szARROWS |
||
209 | ;ldir ;TODO recode for EGA |
||
210 | |||
211 | ld a,PGDAYNIGHT |
||
212 | call setpg |
||
213 | ld hl,0xc000 |
||
214 | ld de,0xc000+(152*32/2) |
||
215 | ld bc,48*32/2 |
||
216 | ldir |
||
217 | ld hl,0xc000+(200*32/2) |
||
218 | ld de,0xc000+(200*32/2)+(152*32/2) |
||
219 | ld bc,48*32/2 |
||
220 | ldir |
||
221 | |||
222 | call changescrpg_current |
||
223 | ;ld (curscrnum_int),a |
||
224 | |||
225 | xor a |
||
226 | call setpg |
||
227 | |||
228 | ld hl,prsprqwid |
||
229 | ld (0x0101),hl ;ࠩ 䠩 ⮢ ⠪, 室 0x0100 |
||
230 | |||
231 | jp MMENU |
||
232 | |||
1001 | alone | 233 | if RUS |
930 | alone | 234 | varsfn |
235 | db "vars.bin",0 |
||
236 | savefn |
||
237 | db "vera.ini",0 |
||
1001 | alone | 238 | else |
239 | varsfn |
||
240 | db "varseng.bin",0 |
||
241 | savefn |
||
242 | db "veraeng.ini",0 |
||
243 | endif |
||
930 | alone | 244 | |
245 | align 256 |
||
246 | tpgs |
||
247 | ds 64;256 |
||
248 | |||
249 | include "palev.ast" ;verapalevening |
||
250 | include "palnight.ast" ;verapalnight |
||
251 | include "paldawn.ast" ;verapaldawn |
||
252 | include "palday.ast" ;verapalday |
||
253 | standardpal |
||
254 | STANDARDPAL |
||
255 | pal |
||
256 | ds 32,0xff |
||
257 | emptypal |
||
258 | ds 32,0xff |
||
259 | |||
260 | egaon |
||
937 | alone | 261 | db 0 ;/1 |
930 | alone | 262 | |
263 | quiter |
||
264 | if 1==0 |
||
265 | halt |
||
266 | pgmuznum=$+1 |
||
267 | ld a,0 |
||
268 | SETPG32KHIGH |
||
269 | ld hl,muz |
||
270 | OS_SETMUSIC |
||
271 | halt |
||
272 | endif |
||
273 | call swapimer |
||
274 | im 1 |
||
275 | call killmuz ;because we played music not by OS |
||
276 | QUIT |
||
277 | |||
278 | killmuz |
||
279 | ld a,0xfe |
||
280 | call shut1ay |
||
281 | ld a,0xff |
||
282 | shut1ay |
||
283 | ld bc,0xfffd |
||
284 | out (c),a |
||
285 | ld de,0x0e00 |
||
286 | shutay0 |
||
287 | dec d |
||
288 | ld b,0xff |
||
289 | out (c),d |
||
290 | ld b,0xbf |
||
291 | out (c),e |
||
292 | jr nz,shutay0 |
||
293 | ret |
||
294 | |||
295 | redattr_killable2b |
||
296 | dw 0 |
||
297 | |||
298 | if EGA |
||
299 | prtileega |
||
300 | ; ⠩ 2*2 ⥭ ࠭ |
||
301 | ;DE= ⥭ ࠭ (D=2*Y+SHADSCR, E=2*X) |
||
302 | ;HL= ⠩ (0xc000,0xc020...) |
||
303 | ; EGA 㬭 4 |
||
304 | add hl,hl |
||
305 | add hl,hl |
||
306 | ld a,h |
||
307 | rlca |
||
308 | rlca |
||
309 | and 3 |
||
310 | add a,PGTILES0 |
||
311 | call setpg |
||
312 | ld a,h |
||
313 | or 0xc0 |
||
314 | ld h,a |
||
315 | ex de,hl |
||
316 | res 6,h ;2*Y |
||
317 | ld a,l ;2*X |
||
318 | ld l,h |
||
319 | ld h,0 |
||
320 | ld b,h |
||
321 | ld c,l ;hl=bc=2*Y |
||
322 | add hl,hl |
||
323 | add hl,hl |
||
324 | add hl,bc ;10*Y |
||
325 | add hl,hl |
||
326 | add hl,hl ;40*Y |
||
327 | add hl,hl |
||
328 | add hl,hl |
||
329 | add hl,hl |
||
330 | add hl,hl ;16*40*Y |
||
331 | add a,scrbase&0xff |
||
332 | ld c,a ;2*X |
||
333 | ld b,0x40 |
||
334 | add hl,bc |
||
335 | call setpgsscr40008000_current ;shadow |
||
336 | ld bc,0x1008 |
||
337 | ;b=hgt,c=wid (/2) |
||
338 | ;de=gfx |
||
339 | ;hl=scr |
||
340 | ld a,55 ;"scf" |
||
341 | ld (wasdrawimg),a |
||
342 | jp primgega_onescreen_setpgsmain40008000 |
||
343 | ;jp primgega |
||
344 | |||
345 | ; 3*3 ᭮ ࠭ (FIXME - ᥩ ! 뢠 IM2) |
||
346 | ;HL- ࠩ |
||
347 | ;DE- ࠭ ( न D-X, E-Y) |
||
348 | BLOCK33 |
||
349 | ld a,PGICONS |
||
350 | call setpg |
||
351 | ex de,hl |
||
352 | ;ld hl,0x4000+24 ;TODO |
||
353 | ld bc,0x180c |
||
354 | ;b=hgt,c=wid (/2) |
||
355 | ;de=gfx |
||
356 | ;hl=scr |
||
932 | alone | 357 | primgega |
930 | alone | 358 | push bc |
359 | call setpgsscr40008000;_current ;visible |
||
360 | pop bc |
||
361 | push bc |
||
362 | push de |
||
363 | push hl |
||
364 | call primgega_onescreen |
||
365 | call setpgsscr40008000_current ;shadow |
||
366 | pop hl |
||
367 | pop de |
||
368 | pop bc |
||
369 | jp primgega_onescreen_setpgsmain40008000 |
||
370 | endif |
||
371 | |||
372 | if 1;!EGA |
||
373 | setpggfxc000 |
||
374 | pggfx=$+1 |
||
375 | ld a,0 |
||
376 | SETPG32KHIGH |
||
377 | ret |
||
378 | endif |
||
379 | setpgcodec000 |
||
380 | pgcodec000=$+1 |
||
381 | ld a,0 |
||
382 | SETPG32KHIGH |
||
383 | ret |
||
384 | |||
385 | setcurscr1 |
||
386 | call setcurscr0 |
||
387 | jr setcurscr_change |
||
388 | |||
389 | ; ࠭, ⥪騬 0- |
||
390 | BLACK |
||
391 | ld a,(user_scr0_high) ;ok |
||
392 | SETPG4000 |
||
393 | |||
394 | LD HL,#4000 |
||
395 | LD DE,#4001 |
||
396 | LD BC,6911 |
||
397 | LD (HL),L |
||
398 | LDIR |
||
399 | ; LD A,16 |
||
400 | ;CURSCR LD (PG_+1),A |
||
401 | setcurscr0 |
||
402 | ld a,(curscrnum) |
||
403 | or a |
||
404 | jr z,PAGE_PG_VIEW ;nz??? |
||
405 | setcurscr_change |
||
406 | call changescrpg_current |
||
407 | ld (curscrnum_int),a |
||
408 | ;ld e,a |
||
409 | ;OS_SETSCREEN |
||
410 | |||
411 | PAGE_PG_VIEW |
||
412 | if EGA |
||
413 | LD A,PG_VIEW |
||
414 | else |
||
415 | push bc |
||
416 | ld a,(user_scr1_high) ;ok |
||
417 | SETPGC000 |
||
418 | pop bc |
||
419 | ret |
||
420 | endif |
||
421 | |||
422 | ;ࠩ ४祭 ࠭ 128- |
||
423 | ;A- 㦭 ࠭ |
||
424 | PAGE |
||
425 | setpg |
||
426 | push bc |
||
427 | ;and 0xe7 |
||
428 | ;cp 2 |
||
429 | ;jr z,$ |
||
430 | ;cp 5 |
||
431 | ;jr z,$ |
||
432 | ;ld ($+4),a |
||
433 | ;ld a,(tpgs) ;⠪ ॥ࠡ쭮 , .. ᯮ ࠡ稪 뢠! |
||
434 | ld c,a |
||
435 | ld b,tpgs/256 |
||
436 | ld a,(bc) |
||
437 | SETPGC000 |
||
438 | pop bc |
||
439 | ret |
||
440 | |||
441 | ; PUSH BC |
||
442 | ; LD (NUMPAGE),A |
||
443 | ;PG_ OR 16+8 |
||
444 | ; LD BC,#7FFD |
||
445 | ; OUT (C),A |
||
446 | ; POP BC |
||
447 | ; RET |
||
448 | ;NUMPAGE DB 0 |
||
449 | |||
450 | setpgscr7 |
||
451 | push bc |
||
452 | ld a,(user_scr1_high) ;ok |
||
453 | SETPGC000 |
||
454 | pop bc |
||
455 | ret |
||
456 | |||
457 | if EGA |
||
458 | swapre |
||
459 | arroffega_scraddr2=$+1 |
||
460 | ld de,0 |
||
461 | ld hl,(arroffega_scraddr) |
||
462 | ld (arroffega_scraddr),de |
||
463 | ld (arroffega_scraddr2),hl |
||
464 | arroffega_bufaddr2=$+1 |
||
465 | LD de,mouse_buf2 |
||
466 | ld hl,(arroffega_bufaddr) |
||
467 | ld (arroffega_bufaddr),de |
||
468 | ld (arroffega_bufaddr2),hl |
||
469 | ret |
||
470 | endif |
||
471 | |||
472 | FMCNT2 DB SCMOD ;稪 |
||
473 | |||
474 | ; 誨 |
||
475 | ;( ᭮ ࠭ ⥭) |
||
476 | mouse_buf |
||
477 | if EGA |
||
478 | ds 16*16/2 |
||
479 | mouse_buf2 |
||
480 | ds 16*16/2 |
||
481 | else |
||
482 | DS 48 |
||
483 | endif |
||
484 | ;ࠩ |
||
485 | ARROW DS 64 |
||
486 | ; ⠥ ⠩ ⥭ ࠭ |
||
487 | A_TILE DS 40*2 ;max 144*2 |
||
488 | DB 0 |
||
489 | |||
490 | reter |
||
491 | ret |
||
492 | |||
493 | setpgmain4000 |
||
494 | ld a,(user_scr0_high) ;ok |
||
495 | SETPG4000 |
||
496 | ret |
||
497 | |||
498 | setpgsmain40008000 |
||
499 | ;pgmain4000=$+1 |
||
500 | ;ld a,0 |
||
501 | ld a,(user_scr0_high) ;ok |
||
502 | SETPG4000 |
||
503 | pgcode8000=$+1 |
||
504 | ld a,0 |
||
505 | SETPG8000 |
||
506 | ret |
||
507 | |||
508 | setpgscr4000;_current |
||
509 | call getuser_scr_high_cur |
||
510 | SETPG4000 |
||
511 | ret |
||
512 | |||
513 | setpgscr4000_scr2 |
||
514 | call getuser_scr_high |
||
515 | SETPG4000 |
||
516 | ret |
||
517 | |||
518 | setpgsscr40008000;_current |
||
519 | call getuser_scr_low_cur |
||
520 | SETPG4000 |
||
521 | call getuser_scr_high_cur |
||
522 | SETPG8000 |
||
523 | ret |
||
524 | |||
525 | setpgsscr40008000_current |
||
526 | call getuser_scr_low |
||
527 | SETPG4000 |
||
528 | call getuser_scr_high |
||
529 | SETPG8000 |
||
530 | ret |
||
531 | |||
532 | setpgc000_shadowscr |
||
533 | call getuser_scr_high |
||
534 | SETPGC000 |
||
535 | ret |
||
536 | |||
537 | setpgc000_curscr |
||
538 | call getuser_scr_high_cur |
||
539 | SETPGC000 |
||
540 | ret |
||
541 | |||
542 | getuser_scr_low |
||
543 | getuser_scr_low_patch=$+1 |
||
544 | getuser_scr_low_patchN=0xff&(user_scr0_low^user_scr1_low) |
||
545 | ld a,(user_scr1_low) ;ok |
||
546 | ret |
||
547 | |||
548 | getuser_scr_high |
||
549 | getuser_scr_high_patch=$+1 |
||
550 | getuser_scr_high_patchN=0xff&(user_scr0_high^user_scr1_high) |
||
551 | ld a,(user_scr1_high) ;ok |
||
552 | ret |
||
553 | |||
554 | getuser_scr_low_cur |
||
555 | getuser_scr_low_cur_patch=$+1 |
||
556 | getuser_scr_low_cur_patchN=0xff&(user_scr0_low^user_scr1_low) |
||
557 | ld a,(user_scr0_low) ;ok |
||
558 | ret |
||
559 | |||
560 | getuser_scr_high_cur |
||
561 | getuser_scr_high_cur_patch=$+1 |
||
562 | getuser_scr_high_cur_patchN=0xff&(user_scr0_high^user_scr1_high) |
||
563 | ld a,(user_scr0_high) ;ok |
||
564 | ret |
||
565 | |||
566 | changescrpg_current |
||
567 | ld hl,getuser_scr_low_patch |
||
568 | ld a,(hl) |
||
569 | xor getuser_scr_low_patchN |
||
570 | ld (hl),a |
||
571 | ld hl,getuser_scr_high_patch |
||
572 | ld a,(hl) |
||
573 | xor getuser_scr_high_patchN |
||
574 | ld (hl),a |
||
575 | ld hl,getuser_scr_low_cur_patch |
||
576 | ld a,(hl) |
||
577 | xor getuser_scr_low_cur_patchN |
||
578 | ld (hl),a |
||
579 | ld hl,getuser_scr_high_cur_patch |
||
580 | ld a,(hl) |
||
581 | xor getuser_scr_high_cur_patchN |
||
582 | ld (hl),a |
||
583 | |||
584 | ld a,1 |
||
585 | curscrnum=$+1 |
||
586 | xor 0 |
||
587 | ld ($-1),a |
||
588 | ret |
||
589 | |||
590 | if 1==0 |
||
591 | changescrpg |
||
592 | call changescrpg_current |
||
593 | ld (curscrnum_int),a |
||
594 | ret |
||
595 | endif |
||
596 | |||
936 | alone | 597 | primgega_pgdaynight |
598 | ld a,PGDAYNIGHT |
||
599 | jr primgega_pga |
||
930 | alone | 600 | primgega_pghud |
601 | ld a,PGHUD |
||
602 | primgega_pga |
||
603 | ;a=pg |
||
604 | ;b=hgt,c=wid (/2) |
||
605 | ;de=gfx |
||
606 | ;hl=scr |
||
607 | push bc |
||
608 | push de |
||
609 | push hl |
||
610 | push af |
||
611 | ld a,55 |
||
612 | ld (im_arroff),a |
||
613 | call ARROFF |
||
614 | pop af |
||
615 | ld (primgega_pg),a |
||
616 | ;ld a,PGHUD |
||
617 | call setpg |
||
618 | call setpgsscr40008000;_current ;visible |
||
619 | pop hl |
||
620 | pop de |
||
621 | pop bc |
||
622 | push bc |
||
623 | push de |
||
624 | push hl |
||
625 | call primgega_onescreen |
||
626 | call ARRON |
||
627 | ld a,55+128 ;"or a" |
||
628 | ld (im_arroff),a |
||
629 | primgega_pg=$+1 |
||
630 | ld a,PGHUD |
||
631 | call setpg |
||
632 | call setpgsscr40008000_current ;shadow |
||
633 | pop hl |
||
634 | pop de |
||
635 | pop bc |
||
636 | ld a,55 ;"scf" |
||
637 | ld (wasdrawimg),a |
||
638 | primgega_onescreen_setpgsmain40008000 |
||
639 | call primgega_onescreen |
||
640 | jp setpgsmain40008000 |
||
641 | primgega_onescreen |
||
642 | ;b=hgt,c=wid (/2) |
||
643 | ;de=gfx |
||
644 | ;hl=scr |
||
645 | ;call from DAY_NGT |
||
646 | primgega0 |
||
647 | push bc |
||
648 | ld hx,b |
||
649 | push hl |
||
650 | ld bc,40 |
||
651 | primgegacolumn0 |
||
652 | ld a,(de) |
||
653 | inc de |
||
654 | ld (hl),a |
||
655 | add hl,bc |
||
656 | dec hx |
||
657 | jr nz,primgegacolumn0 |
||
658 | pop hl |
||
659 | ld a,0x9f;0xa0 |
||
660 | cp h |
||
661 | ld bc,0x4000 |
||
662 | adc hl,bc |
||
663 | jp pe,primgegacolumn0q ; 砥 |
||
664 | ;8000->000 ( 6000) a000->e001 ( 4001) |
||
665 | inc a |
||
666 | xor h |
||
667 | ld h,a |
||
668 | primgegacolumn0q |
||
669 | pop bc |
||
670 | dec c |
||
671 | jr nz,primgega0 |
||
672 | ret |
||
673 | |||
674 | getimgega_onescreen |
||
675 | ;b=hgt,c=wid (/2) |
||
676 | ;de=gfx |
||
677 | ;hl=scr |
||
678 | ;call from DAY_NGT |
||
679 | getimgega0 |
||
680 | push bc |
||
681 | ld hx,b |
||
682 | push hl |
||
683 | ld bc,40 |
||
684 | getimgegacolumn0 |
||
685 | ld a,(hl) |
||
686 | ld (de),a |
||
687 | inc de |
||
688 | add hl,bc |
||
689 | dec hx |
||
690 | jr nz,getimgegacolumn0 |
||
691 | pop hl |
||
692 | ld a,0x9f;0xa0 |
||
693 | cp h |
||
694 | ld bc,0x4000 |
||
695 | adc hl,bc |
||
696 | jp pe,getimgegacolumn0q ; 砥 |
||
697 | ;8000->000 ( 6000) a000->e001 ( 4001) |
||
698 | inc a |
||
699 | xor h |
||
700 | ld h,a |
||
701 | getimgegacolumn0q |
||
702 | pop bc |
||
703 | dec c |
||
704 | jr nz,getimgega0 |
||
705 | ret |
||
706 | |||
707 | climgega |
||
708 | ;in IM2 |
||
709 | ;ld a,55 ;"scf" |
||
710 | ;ld (wasdrawimg),a |
||
711 | push bc |
||
712 | push de |
||
713 | push hl |
||
714 | ;ld a,55 |
||
715 | ;ld (im_arroff),a |
||
716 | ;call ARROFF |
||
717 | call setpgsscr40008000;_current ;visible |
||
718 | pop hl |
||
719 | pop de |
||
720 | pop bc |
||
721 | push bc |
||
722 | push de |
||
723 | push hl |
||
724 | call climgega_onescreen |
||
725 | ;call ARRON |
||
726 | ;ld a,55+128 ;"or a" |
||
727 | ;ld (im_arroff),a |
||
728 | call setpgsscr40008000_current ;shadow |
||
729 | pop hl |
||
730 | pop de |
||
731 | pop bc |
||
732 | ;ld a,55 ;"scf" |
||
733 | ;ld (wasdrawimg),a |
||
734 | climgega_onescreen |
||
735 | ;b=hgt,c=wid (/2) |
||
736 | ;e=gfx byte |
||
737 | ;hl=scr |
||
738 | climgega0 |
||
739 | push bc |
||
740 | ld hx,b |
||
741 | push hl |
||
742 | ld a,e |
||
743 | ld bc,40 |
||
744 | climgegacolumn0 |
||
745 | ld (hl),a |
||
746 | add hl,bc |
||
747 | dec hx |
||
748 | jr nz,climgegacolumn0 |
||
749 | pop hl |
||
750 | ld a,0x9f;0xa0 |
||
751 | cp h |
||
752 | ld bc,0x4000 |
||
753 | adc hl,bc |
||
754 | jp pe,climgegacolumn0q ; 砥 |
||
755 | ;8000->000 ( 6000) a000->e001 ( 4001) |
||
756 | inc a |
||
757 | xor h |
||
758 | ld h,a |
||
759 | climgegacolumn0q |
||
760 | pop bc |
||
761 | dec c |
||
762 | jr nz,climgega0 |
||
763 | ;call setpgcodec000 |
||
764 | jp setpgsmain40008000 |
||
765 | |||
766 | clsega |
||
767 | call changescrpg_current |
||
768 | call clsega_onescreen |
||
769 | call changescrpg_current |
||
770 | clsega_onescreen |
||
771 | call setpgsscr40008000 |
||
772 | ld hl,0x4000 |
||
773 | ld de,0x4001 |
||
774 | ld bc,0x7fff |
||
775 | ld (hl),l;0 |
||
776 | ldir |
||
777 | jp setpgsmain40008000 |
||
778 | |||
779 | ; IM2 |
||
780 | IM2MEN |
||
781 | LD HL,IM2MC |
||
782 | INC (HL) |
||
783 | LD A,(HL) |
||
784 | CP VIDSPD |
||
785 | JR NZ,IM2M1 |
||
786 | LD E,0 |
||
787 | |||
788 | ;. . . |
||
789 | ;LD A,(PG_+1) |
||
790 | ;BIT 3,A |
||
791 | ;LD A,7 |
||
792 | ;JR Z,$+4 |
||
793 | ;LD A,5 |
||
794 | ;PUSH AF |
||
795 | ;CALL PAGE |
||
796 | call setpgc000_shadowscr |
||
797 | |||
798 | LD HL,(VIDEO_SP) |
||
799 | LD (MMENU2_1),HL |
||
800 | CALL VIDEO_2 |
||
801 | |||
802 | LD HL,mouse_buf |
||
803 | LD DE,A_TILE |
||
804 | LD BC,48 |
||
805 | LDIR |
||
806 | LD HL,(ARRTO+1) |
||
807 | LD (MMN2+1),HL |
||
808 | |||
809 | ;. |
||
810 | ;POP AF |
||
811 | ;CALL PAGE |
||
812 | call setpgc000_shadowscr ;??? |
||
813 | ;LD A,(PG_+1) |
||
814 | ;XOR 8 |
||
815 | ;LD (PG_+1),A |
||
816 | call changescrpg_current |
||
817 | ld (curscrnum_int),a |
||
818 | ld e,a |
||
819 | OS_SETSCREEN |
||
820 | JR IM2M2 |
||
821 | |||
822 | IM2M1 |
||
823 | ;. . . |
||
824 | ;LD A,(PG_+1) |
||
825 | ;BIT 3,A |
||
826 | ;LD A,5 |
||
827 | ;JR Z,$+4 |
||
828 | ;LD A,7 |
||
829 | ;CALL PAGE |
||
830 | call setpgc000_curscr |
||
831 | |||
832 | CALL ARROFF |
||
833 | IM2M2 CALL ARRON |
||
834 | JP MUS |
||
835 | |||
836 | MMENU2 |
||
837 | MMENU2_1=$+1 |
||
838 | LD HL,VIDEOS |
||
839 | LD A,0 ;稪 ३ |
||
840 | IM2MC EQU $-1 |
||
841 | CP VIDSPD+1 |
||
842 | RET NZ |
||
843 | XOR A |
||
844 | LD (IM2MC),A |
||
845 | |||
846 | LD (VIDEO_SP),HL |
||
847 | ;LD A,(PG_+1) |
||
848 | ;BIT 3,A ;. . . |
||
849 | ;LD A,7 |
||
850 | ;JR Z,$+4 |
||
851 | ;LD A,5 |
||
852 | ;CALL PAGE |
||
853 | call setpgc000_shadowscr |
||
854 | |||
855 | LD IX,A_TILE |
||
856 | MMN2 LD HL,0 |
||
857 | CALL ARRTO+3 |
||
858 | |||
859 | ;뢮 1 |
||
860 | VIDEO |
||
861 | LD E,1 |
||
862 | VIDEO_2 |
||
863 | LD (VIDSP+1),SP |
||
864 | VIDEO_SP=$+1 |
||
865 | VID1m2=$+1 |
||
866 | LD SP,VIDEOS |
||
867 | jp VID1go |
||
868 | VID1 |
||
869 | LD (HL),C ; 0x01xx |
||
870 | VID1go |
||
871 | POP HL |
||
872 | |||
873 | ; 楤 뢠 |
||
874 | ;뢠, POP HL 㦭 |
||
875 | ;POP BC:LD H,B:LD L,C |
||
876 | |||
877 | POP BC ;1 |
||
878 | LD (HL),C |
||
879 | INC H |
||
880 | LD (HL),B |
||
881 | INC H |
||
882 | |||
883 | POP BC |
||
884 | LD (HL),C |
||
885 | INC H |
||
886 | LD (HL),B |
||
887 | INC H |
||
888 | |||
889 | POP BC |
||
890 | LD (HL),C |
||
891 | INC H |
||
892 | LD (HL),B |
||
893 | INC H |
||
894 | |||
895 | POP BC |
||
896 | LD (HL),C |
||
897 | INC H |
||
898 | LD (HL),B |
||
899 | |||
900 | POP BC ;ਡ |
||
901 | LD H,B |
||
902 | ;LD (HL),C |
||
903 | DJNZ VID1 |
||
904 | LD (VIDEO_SP),SP |
||
905 | |||
906 | VIDSP LD SP,0 |
||
907 | |||
908 | VID2_1=$+1 |
||
909 | LD A,0 ;. |
||
910 | ADD A,E |
||
911 | CP 5 ;- |
||
912 | JR C,VID4 |
||
913 | VID3 XOR A |
||
914 | LD HL,VIDEOS |
||
915 | LD (VIDEO_SP),HL |
||
916 | VID4 LD (VID2_1),A |
||
917 | RET |
||
918 | |||
919 | ; "1,2,3,4,5" |
||
920 | DIGKp1 |
||
921 | db 0 |
||
922 | |||
923 | KEYSp1 |
||
924 | db 0 |
||
925 | |||
926 | ; + |
||
927 | MKEYSp1 |
||
928 | db 0 |
||
929 | |||
930 | include "int.asm" |
||
931 | include "prspr.asm" |
||
932 | include "saveload.asm" ;㧪/ ﭨ |
||
933 | include "IM2.asm" |
||
934 | INCLUDE "PRINT.asm" ; ࠩ⮢, ⥪ .. |
||
935 | INCLUDE "TALK.asm" ;㦨 |
||
1001 | alone | 936 | include "talktext.asm" |
930 | alone | 937 | |
938 | ;砫 ࠭塞 ६ |
||
939 | VARS INCLUDE "VARS.asm" ;ॠ쭮 ᯠ뢠 |
||
940 | ENDVARS |
||
941 | LEN_S EQU (256*6)-(ENDVARS-VARS) |
||
1001 | alone | 942 | display "VARS=",VARS |
943 | display "LEN_S=",LEN_S |
||
930 | alone | 944 | daynightphase |
945 | db 0 |
||
946 | if EGA |
||
947 | gamemenucolorline;=#DAD9 |
||
948 | ds 6 |
||
949 | else |
||
950 | gamemenucolorline=#DAD9 |
||
951 | endif |
||
952 | |||
953 | if EGA |
||
954 | NEV1 |
||
955 | xor d |
||
956 | NEV2 |
||
957 | xor h |
||
958 | NEV3 |
||
959 | xor l ; 祩 0 - ᮢ ⮫쪮 ᨫ |
||
960 | endif |
||
961 | DS LEN_S;-3 ;ࠥ 6- ᥪ |
||
962 | endvars |
||
963 | |||
964 | ABOT |
||
965 | ;DISP #4000 |
||
966 | include "about.asm" |
||
967 | ; ENT |
||
968 | ;LENPR EQU $-ABOT |
||
969 | ;DISPLAY "ABOUT=",ABOT,LENPR |
||
970 | |||
971 | display "=",$ |
||
972 | res_path |
||
973 | db "vera",0 |
||
974 | |||
975 | levelfilenames |
||
976 | db 0 |
||
977 | dw SPR;0xc000 |
||
978 | db "0_page.bin",0 |
||
979 | db 1 |
||
980 | ;dw DNPK |
||
981 | dw 0xc000;DNPK |
||
982 | mapfn |
||
1001 | alone | 983 | if RUS |
930 | alone | 984 | db "1_page.bin",0 |
1001 | alone | 985 | else |
986 | db "1_pageng.bin",0 |
||
987 | endif |
||
930 | alone | 988 | db 3 |
989 | dw 0xc000 |
||
1001 | alone | 990 | if RUS |
930 | alone | 991 | db "3_page.bin",0 |
1001 | alone | 992 | else |
993 | db "3_pageng.bin",0 |
||
994 | endif |
||
930 | alone | 995 | db 4 |
996 | dw 0xc000 |
||
997 | db "4_page.bin",0 |
||
998 | db 6 |
||
999 | dw 0xc000 |
||
1000 | db "6_page.bin",0 |
||
1001 | db 7 |
||
1002 | dw 0xdb00 |
||
1003 | db "7_page.bin",0 |
||
1004 | db PGTILES0;8 |
||
1005 | dw 0xc000 |
||
1006 | db "tiles0.bin",0 |
||
1007 | db PGTILES1;9 |
||
1008 | dw 0xc000 |
||
1009 | db "tiles1.bin",0 |
||
1010 | db PGTILES2;10 |
||
1011 | dw 0xc000 |
||
1012 | db "tiles2.bin",0 |
||
1013 | db PGTILES3;11 |
||
1014 | dw 0xc000 |
||
1015 | db "tiles3.bin",0 |
||
1016 | db PGICONS;12 |
||
1017 | dw 0xc000 |
||
1018 | db "icons.bin",0 |
||
1019 | db PGSPRITES0;13 |
||
1020 | dw 0xc000 |
||
1021 | db "sprites0.bin",0 |
||
1022 | db PGSPRITES1;14 |
||
1023 | dw 0xc000 |
||
1024 | db "sprites1.bin",0 |
||
1025 | db PGSPRTRAN0;15 |
||
1026 | dw 0xc000 |
||
1027 | db "sprtran0.bin",0 |
||
1028 | db PGSPRTRAN1;16 |
||
1029 | dw 0xc000 |
||
1030 | db "sprtran1.bin",0 |
||
1031 | db PGHUD;17 |
||
1032 | dw 0xc000 |
||
1033 | db "hud.bin",0 |
||
1034 | hudmsg=0xc000+6144 |
||
1035 | db PGDAYNIGHT;18 |
||
1036 | dw 0xc000 |
||
1037 | db "daynight.bin",0 |
||
1038 | db -1 |
||
1039 | |||
1040 | include "../../_sdk/file.asm" |
||
1041 | |||
1042 | ARROWS |
||
1043 | INCBIN "spr2x2x.C" ;1440 ;५ 㦭 |
||
1044 | ; ds szARROWS |
||
1045 | REZULT ds 192 ;EQU #5802 ; 192 ᪨ |
||
1046 | ; ਣ ࠭ #4000 - |
||
1047 | |||
1048 | display "-----",$ |
||
1049 | ;============================================================= |
||
1050 | ;=================== 0x6000+ |
||
1051 | |||
1052 | ds 0x8000-$;IM2-1536-$;ORG IM2-1536 |
||
1053 | ;INCLUDE "IM2.asm" |
||
1054 | ;IMVEC EQU ($/256+1)*256; 뢠 |
||
1055 | ;START EQU IMVEC+257 ; ᭮ ணࠬ |
||
1056 | |||
1057 | ;᭮ ணࠬ |
||
1058 | GAME |
||
1059 | |||
1060 | LD HL,MUS |
||
1061 | LD (IM2Nm2),HL ; ᮢ |
||
1062 | LD HL,1 |
||
1063 | LD (SPN+1),HL |
||
1064 | if SETIM2_TWICE |
||
1065 | CALL SETIM2 |
||
1066 | endif |
||
1067 | |||
1068 | if !EGA |
||
1069 | CALL BLACK |
||
1070 | endif |
||
1071 | CALL EXCH ;뫮 ﭮ 9000<->c000 ६ |
||
1072 | |||
1073 | ;LD HL,MUSNUM |
||
1074 | ;DEC (HL) ;??? |
||
1075 | |||
1076 | NEW_OLDp1=$+1 |
||
1077 | LD A,0 |
||
1078 | AND A |
||
1079 | PUSH AF |
||
1080 | JR NZ,OLD |
||
1081 | |||
1082 | LD A,PG_MUZ |
||
1083 | CALL PAGE |
||
1084 | ;LD HL,VARSPK |
||
1085 | ;LD DE,VARS |
||
1086 | ;CALL DEHRUST ;⥯ 㧨 GAMEOVER_MMENU |
||
1087 | |||
1088 | LD DE,#4000 |
||
1089 | PUSH DE,DE |
||
1090 | if 1==0 |
||
1091 | LD A,PG_MISC |
||
1092 | CALL PAGE |
||
1093 | ld hl,#c000 |
||
1094 | PUSH DE |
||
1095 | LD BC,KSCR-MAPMAS |
||
1096 | LDIR |
||
1097 | POP HL |
||
1098 | LD DE,#C000 |
||
1099 | LD A,PG_MAP |
||
1100 | CALL PAGE |
||
1101 | CALL DEHRUST |
||
1102 | else |
||
1103 | LD A,PG_MAP |
||
1104 | CALL PAGE |
||
1105 | endif |
||
1106 | |||
1107 | POP DE |
||
1108 | LD HL,DNPK |
||
1109 | CALL DEHRUST |
||
1110 | |||
1111 | ;LD A,PG_VIEW |
||
1112 | CALL PAGE_PG_VIEW |
||
1113 | POP HL |
||
1114 | LD DE,NG |
||
1115 | LD BC,608 |
||
1116 | LDIR |
||
1117 | |||
1118 | OLD LD A,PG_MAP |
||
1119 | CALL PAGE |
||
1120 | |||
1121 | CALL INIGAME |
||
1122 | LD (FLASH+1),A ;A<>0 |
||
1123 | |||
1124 | if EGA |
||
1125 | ld a,255 ; ५ |
||
1126 | ld (curarrowtype),a |
||
1127 | ld de,emptypal |
||
1128 | OS_SETPAL |
||
1129 | ld e,0+0x80 ;EGA+keep |
||
1130 | OS_SETGFX ;e=0:EGA, e=2:MC, e=3:6912, e=6:text ;+SET FOCUS ;e=-1: disable gfx (out: e=old gfxmode) |
||
1131 | ld a,1 |
||
1132 | ld (egaon),a |
||
1133 | call clsega ;ࠡ稪 뢠 㦥 뢠 ᮢ ५! |
||
1134 | ;ld de,verapalevening |
||
1135 | ;ld de,verapalnight |
||
1136 | ;ld de,verapaldawn |
||
1137 | ld de,verapalday |
||
1138 | OS_SETPAL |
||
1139 | endif |
||
1140 | |||
1141 | ;LD A,PG_VIEW |
||
1142 | CALL PAGE_PG_VIEW |
||
1143 | if !EGA |
||
1144 | LD HL,VIEW |
||
1145 | CALL LC5 ;ᯠ. . ࠭ |
||
1146 | endif |
||
1147 | |||
1148 | LD A,(KARM) |
||
1149 | CALL MSK |
||
1150 | |||
1151 | if EGA |
||
1152 | ;draw HUD |
||
1153 | ;ld a,PGHUD |
||
1154 | ;call setpg |
||
1155 | ld bc,0xc020 |
||
1156 | ld de,0xc000 |
||
1157 | ld hl,scrbase+24 |
||
1158 | ;b=hgt,c=wid (/2) |
||
1159 | ;de=gfx |
||
1160 | ;hl=scr |
||
1161 | call primgega_pghud |
||
1162 | ;jr $ |
||
1163 | ;else |
||
1164 | endif |
||
1165 | CALL FONE |
||
1166 | CALL PRMAP ; ⥭ . |
||
1167 | CALL MOVE ;. ᭮. ࠭ |
||
1168 | |||
1169 | LD A,R |
||
1170 | LD (RND+1),A |
||
1171 | |||
1172 | CALL MUSNXT |
||
1173 | |||
1174 | LD HL,IM2N |
||
1175 | LD (IM2Nm2),HL |
||
1176 | |||
1177 | if !EGA |
||
1178 | ;LD A,16+8 |
||
1179 | ;CALL CURSCR |
||
1180 | call setcurscr1 |
||
1181 | endif |
||
1182 | |||
1183 | POP AF ;NEW_OLDp1 |
||
1184 | LD A,1 |
||
1185 | CALL Z,TALK |
||
1186 | |||
1187 | ;᭮ 横 |
||
1188 | MAPING |
||
1189 | if EGA |
||
1190 | ld a,55 |
||
1191 | ld (im_swapscr),a |
||
1192 | endif |
||
1193 | MAPINGwait |
||
1194 | HALT |
||
1195 | MAPINGp2=$+1 |
||
1196 | LD A,0 ;timer |
||
1197 | MAPINGp4=$+1 |
||
1198 | CP FRAME |
||
1199 | JR C,MAPINGwait |
||
1200 | XOR A |
||
1201 | LD (MAPINGp2),A |
||
1202 | |||
1203 | MAPS CALL MOVE ;. ᭮. ࠭ |
||
1204 | CALL PRMAP ; ⥭ . |
||
1205 | |||
1206 | SPDHERO LD A,SPD_HERO |
||
1207 | DEC A |
||
1208 | LD (SPDHERO+1),A |
||
1209 | JR NZ,CrdHero |
||
1210 | SPH LD A,SPD_HERO |
||
1211 | LD (SPDHERO+1),A |
||
1212 | RunHero LD A,0 ;६頥 ன? |
||
1213 | AND A |
||
1214 | CALL NZ,RUNING |
||
1215 | CrdHero LD DE,0 ;騥 न ᥫ |
||
1216 | ;D-Y, E-X |
||
1217 | SprHero LD HL,hero ;騩 ࠩ |
||
1218 | |||
1219 | LD A,PG_HERO |
||
1220 | CALL PAGE |
||
1221 | CLR_MAPm2=$+1 |
||
1222 | CALL HERO ;/HERO2 ; ⥭ ࠭ |
||
1223 | CLR_MAPp1=$+1 |
||
1224 | LD A,0 |
||
1225 | DEC A |
||
1226 | CALL Z,CLMAP ;⠭ (᪠ ) |
||
1227 | MAINLOOP |
||
1228 | LD HL,(mouse_crd) |
||
1229 | CALL CALC |
||
1230 | ;KEYS |
||
1231 | LD A,(KEYSp1) |
||
1232 | BIT 5,A |
||
1233 | JP NZ,STEAL ; ० (SS+CS) |
||
1234 | BIT 7,A |
||
1235 | CALL NZ,TLKNG ;⠭ (Enter) |
||
1236 | |||
1237 | CALL MOVMAP |
||
1238 | |||
1239 | LD A,(DIGKp1) ; "1,2,3,4,5" |
||
1240 | CP 31 |
||
1241 | JR NZ,CHG |
||
1242 | XOR A |
||
1243 | LD (CHANGE),A |
||
1244 | CHG CALL NZ,CHANGE |
||
1245 | |||
1246 | LD A,PG_MAP |
||
1247 | CALL PAGE |
||
1248 | LD A,#FE ;"C" |
||
1249 | IN A,(#FE) |
||
1250 | BIT 3,A |
||
1251 | CALL Z,CENTR ;ன 業 |
||
1252 | |||
1253 | ; + |
||
1254 | MKEYS |
||
1255 | LD A,(MKEYSp1) |
||
1256 | MKEYSp2 |
||
1257 | LD H,28 |
||
1258 | RLA |
||
1259 | PUSH AF |
||
1260 | CALL C,VLIST ;DWN |
||
1261 | DEC H |
||
1262 | POP AF |
||
1263 | RLA |
||
1264 | PUSH AF |
||
1265 | CALL C,VLIST ;UP |
||
1266 | POP AF |
||
1267 | RLA |
||
1268 | PUSH AF |
||
1269 | CALL C,VUSE1 ;ࠢ |
||
1270 | POP AF |
||
1271 | RLA |
||
1272 | CALL C,FIRE ; |
||
1273 | |||
1274 | MKY ;LD A,PG_VIEW |
||
1275 | CALL PAGE_PG_VIEW |
||
1276 | |||
1277 | ; ? |
||
1278 | CALL SCRLMAP |
||
1279 | DIALOG LD A,0 |
||
1280 | DEC A |
||
1281 | JP Z,CURS1 |
||
1282 | |||
1283 | ; 誮 |
||
1284 | LD HL,(mouse_crd) ;H-X,L-Y |
||
935 | alone | 1285 | CALL BOX ;뤥 |
930 | alone | 1286 | CALL VMESH |
1287 | JP NZ,CCURS |
||
1288 | |||
1289 | ; .࠭ |
||
1290 | ; ࠭栬 ࠭ |
||
1291 | LD BC,#0000 |
||
1292 | LD D,B |
||
1293 | LD E,B |
||
1294 | ; |
||
1295 | ; LD BC,#00FF |
||
1296 | ; LD DE,#0010 |
||
1297 | |||
1298 | LD A,H ;X |
||
1299 | AND A |
||
1300 | JR NZ,SR |
||
1301 | DEC C ;-1 |
||
1302 | LD E,16 |
||
1303 | |||
1304 | ;ࠢ |
||
1305 | ; LD BC,#0001 |
||
1306 | ; LD DE,#00F0 |
||
1307 | |||
1308 | SR CP MAX_X ;240 |
||
1309 | JR C,SD |
||
1310 | LD C,1 |
||
1311 | LD E,-16 |
||
1312 | |||
1313 | ; |
||
1314 | ; LD BC,#0100 |
||
1315 | ; LD DE,#F000 |
||
1316 | |||
1317 | SD LD A,L ;Y |
||
1318 | CP MAX_Y |
||
1319 | JR C,SU |
||
1320 | INC B ;1 |
||
1321 | LD D,-16 |
||
1322 | |||
1323 | ; |
||
1324 | ; LD BC,#FF00 |
||
1325 | ; LD DE,#1000 |
||
1326 | |||
1327 | SU AND A |
||
1328 | JR NZ,SRUN |
||
1329 | LD B,-1 |
||
1330 | LD D,16 |
||
1331 | |||
1332 | SRUN LD A,B |
||
1333 | OR C |
||
1334 | JP Z,CCURS ;࠭ |
||
1335 | LD A,2 ; |
||
1336 | |||
1337 | ; ᨬ ⮣ |
||
1338 | ;ﭥ , 塞 ᬥ饭 . |
||
1339 | |||
1340 | ;ઠ ࠭ |
||
1341 | ;ઠ ࠡ뢠 0 |
||
1342 | ;.. 㬥襭 0 砥 255 |
||
1343 | |||
1344 | SCROLL |
||
1345 | EXA |
||
1346 | LD HL,(DispMapX) ;H-Y, L-X |
||
1347 | LD A,H |
||
1348 | ADD A,B |
||
1349 | CP 64-(SCRHG/2-1) |
||
1350 | JR C,SL1 ; 諨 । |
||
1351 | LD B,0 |
||
1352 | LD D,B |
||
1353 | LD A,H |
||
1354 | SL1 LD H,A |
||
1355 | LD A,L |
||
1356 | ADD A,C |
||
1357 | CP 64-(SCRWD/2-1) |
||
1358 | JR C,SL2 |
||
1359 | LD C,0 |
||
1360 | LD E,C |
||
1361 | LD A,L |
||
1362 | SL2 LD L,A |
||
1363 | PUSH HL |
||
1364 | |||
1365 | LD HL,(CrdHero+1) |
||
1366 | LD A,H |
||
1367 | ADD A,D |
||
1368 | LD H,A |
||
1369 | LD A,L |
||
1370 | ADD A,E |
||
1371 | LD L,A |
||
1372 | POP DE |
||
1373 | EX DE,HL |
||
1374 | |||
1375 | ; - ன 室 |
||
1376 | ;1-,0- |
||
1377 | MODscrl LD A,0 |
||
1378 | if FREESCROLL |
||
1379 | ld a,1 |
||
1380 | endif |
||
1381 | AND A |
||
1382 | JR NZ,NOBOUND |
||
1383 | |||
1384 | ;ઠ 室 |
||
1385 | ; |
||
1386 | |||
1387 | LD A,(HEROCRD+1) ;Y |
||
1388 | DEC A |
||
1389 | SUB H |
||
1390 | JR C,NOSCRL1 |
||
1391 | CP SCRHG/2-1 |
||
1392 | JR C,K4 |
||
1393 | BIT 7,B |
||
1394 | JR Z,K4 |
||
1395 | LD B,0 |
||
1396 | NOSCRL1 BIT 7,B |
||
1397 | JR NZ,K4 |
||
1398 | LD B,0 |
||
1399 | |||
1400 | K4 LD A,(HEROCRD) ;X |
||
1401 | SUB L |
||
1402 | JR C,NOSCRL2 |
||
1403 | CP SCRWD/2 |
||
1404 | JR C,K3 |
||
1405 | BIT 7,C |
||
1406 | JR Z,K3 |
||
1407 | LD C,0 |
||
1408 | NOSCRL2 BIT 7,C |
||
1409 | JR NZ,K3 |
||
1410 | LD C,0 |
||
1411 | |||
1412 | K3 LD A,C |
||
1413 | OR B |
||
1414 | JR Z,CURSR ; ࠭ |
||
1415 | |||
1416 | LD A,B |
||
1417 | AND A |
||
1418 | JR NZ,K5 |
||
1419 | LD A,(DispMapX+1) ;Y |
||
1420 | LD H,A |
||
1421 | LD A,(CrdHero+2) |
||
1422 | LD D,A |
||
1423 | |||
1424 | K5 LD A,C |
||
1425 | AND A |
||
1426 | JR NZ,NOBOUND |
||
1427 | LD A,(DispMapX) ;X |
||
1428 | LD L,A |
||
1429 | LD A,(CrdHero+1) |
||
1430 | LD E,A |
||
1431 | |||
1432 | NOBOUND |
||
1433 | LD (DispMapX),HL ;H-Y, L-X |
||
1434 | LD (CrdHero+1),DE |
||
1435 | if EGA |
||
1436 | ld a,3 ;3,2 - ⠥, 1 - ⠥ ( ) |
||
1437 | else |
||
1438 | XOR A |
||
1439 | endif |
||
1440 | LD (MAPFLAG+1),A ; ࠭ |
||
1441 | |||
1442 | EXA |
||
1443 | CP 2 |
||
1444 | JR Z,CURS1p1 |
||
1445 | CURSR CALL SCRLMAP |
||
1446 | JR C,CURS1 |
||
1447 | CCURS LD A,0 ;騩 |
||
1448 | LD B,A |
||
1449 | LD A,(F3+1) ; 誥 ? |
||
1450 | AND A |
||
1451 | LD A,(KARM) |
||
1452 | JR Z,CURS0 ; |
||
1453 | LD B,6 ; 㪨 |
||
1454 | CURS0 AND A |
||
1455 | JR NZ,CURS1p1 |
||
1456 | LD A,(UNDER+1) |
||
1457 | AND A |
||
1458 | LD A,6 ;㪠 (६ ।) |
||
1459 | JR NZ,CURS1p1 |
||
1460 | CURS01 LD A,(DISTP) |
||
1461 | AND A |
||
1462 | JR Z,CURS1 |
||
1463 | LD B,5 ; |
||
1464 | CURS1 LD A,B |
||
1465 | CURS1p1 |
||
1466 | CALL MASK ; ࠩ , 㦭 |
||
1467 | |||
1468 | CALL FTASK |
||
1469 | |||
1470 | ; |
||
1471 | END_G_1=$+1 |
||
1472 | LD A,1 |
||
1473 | DEC A |
||
1474 | JP NZ,ENDGAME |
||
1475 | ;jp ENDGAME |
||
1476 | CALL DAY_NGT |
||
1477 | CALL VOLCH ; -/+ |
||
1478 | REMAP LD A,0 ; ਭ㤨⥫쭮 ࠭ |
||
1479 | DEC A |
||
1480 | JP NZ,MAPING |
||
1481 | LD (REMAP+1),A |
||
1482 | if EGA |
||
1483 | ld a,3 ;3,2 - ⠥, 1 - ⠥ ( ) |
||
1484 | endif |
||
1485 | LD (MAPFLAG+1),A |
||
1486 | JP MAPING |
||
1487 | |||
1488 | ; (쭨) |
||
1489 | GAMEOVER_MMENU |
||
1490 | ld hl,gamemenucolorline |
||
1491 | ld (hl),0 ; ⨢ |
||
1492 | |||
1493 | call SETIM1 ;⮡ 2 ࠧ SETIM2 |
||
1494 | if EGA |
||
1495 | ld de,emptypal |
||
1496 | OS_SETPAL |
||
1497 | |||
1498 | ld de,varsfn |
||
1499 | OS_OPENHANDLE |
||
1500 | push bc |
||
1501 | ld de,VARS |
||
1502 | LD hl,0x600 |
||
1503 | OS_READHANDLE |
||
1504 | pop bc ;b=handle |
||
1505 | OS_CLOSEHANDLE |
||
1506 | |||
1507 | ld a,PG_MAP |
||
1508 | call setpg |
||
1509 | ld de,mapfn |
||
1510 | OS_OPENHANDLE |
||
1511 | push bc |
||
1512 | ld de,0xc000 |
||
1513 | LD hl,0x4000 |
||
1514 | OS_READHANDLE |
||
1515 | pop bc ;b=handle |
||
1516 | OS_CLOSEHANDLE |
||
1517 | |||
1518 | xor a |
||
1519 | ld (curscrnum_int),a |
||
1520 | ld e,a |
||
1521 | OS_SETSCREEN |
||
1522 | |||
1523 | ld e,3+0x80 ;6912+keep |
||
1524 | OS_SETGFX ;e=0:EGA, e=2:MC, e=3:6912, e=6:text ;+SET FOCUS ;e=-1: disable gfx (out: e=old gfxmode) |
||
1525 | call BLACK |
||
1526 | ld de,standardpal |
||
1527 | OS_SETPAL |
||
1528 | xor a |
||
1529 | ld (egaon),a |
||
1530 | endif |
||
1531 | MMENU |
||
1532 | DI |
||
1533 | ; LD (backsp+1),SP |
||
1534 | LD SP,GAMESTACK;#5FFF |
||
1535 | LD HL,MUS |
||
1536 | LD (IM2Nm2),HL |
||
1537 | CALL INIMOUS ;樠 誨 |
||
1538 | CALL BLACK |
||
1539 | LD A,255 |
||
1540 | CALL MUSNXT+3 |
||
1541 | CALL SETIM2 ; ࠧ !!! |
||
1542 | CALL EXCH ; 9000<->c000 |
||
1543 | |||
1544 | LD A,PG_HERO |
||
1545 | CALL PAGE |
||
1546 | LD HL,VIDS |
||
1547 | LD DE,VIDEOS |
||
1548 | CALL DEHRUST ; 9000 |
||
1549 | SKPMN |
||
1550 | CALL VID3 ;樠 ? |
||
1551 | LD (MMENU2_1),HL |
||
1552 | LD (IM2MC),A ;६ |
||
1553 | DEC A |
||
1554 | LD (MCM+1),A |
||
1555 | |||
1556 | call setpgscr4000 |
||
1557 | |||
1558 | LD A,PG_MISC |
||
1559 | CALL PAGE |
||
1560 | LD HL,KSCR |
||
1561 | LD DE,#4000 |
||
1562 | PUSH DE,DE |
||
1563 | LD BC,3673 |
||
1564 | LDIR |
||
1565 | |||
1566 | ;LD A,PG_VIEW |
||
1567 | CALL PAGE_PG_VIEW |
||
1568 | ;call setpgscr7 |
||
1569 | ;call setpgc000_shadowscr |
||
1570 | |||
1571 | POP HL |
||
1572 | CALL LC5 |
||
1573 | |||
1574 | if EGA |
||
1575 | ;ld a,(tpgs+PG_VIEW) |
||
1576 | ;SETPG4000 |
||
1577 | call setpgscr4000_scr2 |
||
1578 | ld hl,0xc000 |
||
1579 | ld de,0x4000 |
||
1580 | ld bc,6912 |
||
1581 | ldir |
||
1582 | |||
1583 | call setpgscr4000 |
||
1584 | endif |
||
1585 | |||
1586 | HALT |
||
1587 | DI |
||
1588 | LD B,5 |
||
1589 | MMLP PUSH BC |
||
1590 | CALL VIDEO |
||
1591 | POP BC |
||
1592 | DJNZ MMLP |
||
1593 | EI |
||
1594 | |||
1595 | LD HL,#C000 |
||
1596 | POP DE |
||
1597 | LD BC,6912 |
||
1598 | LDIR |
||
1599 | |||
1600 | call setpgmain4000 |
||
1601 | |||
1602 | XOR A |
||
1603 | CALL MSK |
||
1604 | CALL ARRON |
||
1605 | |||
1606 | ;LD A,16+8 |
||
1607 | MMENUS ;CALL CURSCR |
||
1608 | call setcurscr1 |
||
1609 | |||
1610 | LD HL,IM2MEN |
||
1611 | LD (IM2Nm2),HL |
||
1612 | |||
1613 | LD IX,MNKEYS2 |
||
1614 | LD DE,#0905 |
||
1615 | LD HL,#5878 |
||
1616 | LD BC,#0B15 |
||
1617 | LD A,E |
||
1618 | |||
1619 | CALL MCYCL ;横 ࠡ , 室 enter |
||
1620 | |||
1621 | LD HL,NEW_OLDp1 |
||
1622 | DEC C |
||
1623 | LD (HL),C |
||
1624 | JP Z,GAME ; |
||
1625 | DEC C |
||
1626 | JR Z,OGM ; |
||
1627 | DEC C |
||
1628 | JR Z,ABOUT; |
||
1629 | DEC C,C |
||
1630 | JP Z,EXIT |
||
1631 | |||
1632 | ABOUT |
||
1633 | PUSH BC |
||
1634 | |||
1635 | LD HL,MUS |
||
1636 | LD (IM2Nm2),HL |
||
1637 | |||
1638 | ;LD A,16+8 |
||
1639 | ;CALL CURSCR |
||
1640 | call setcurscr1 |
||
1641 | ;LD A,PG_MISC |
||
1642 | ;CALL PAGE |
||
1643 | ;LD HL,ABOUTS |
||
1644 | ;LD DE,#4000 |
||
1645 | ;CALL DEHRUST |
||
1646 | POP BC |
||
1647 | LD D,1 |
||
1648 | CALL PRINTER;#4000 |
||
1649 | CALL BLACK |
||
1650 | JP SKPMN |
||
1651 | |||
1652 | OGM ;CALL SETIM1 |
||
1653 | JP LOAD ;-> GAME |
||
1654 | |||
1655 | ; ப ࠭ 䠩 |
||
1656 | LINE_HL INC H |
||
1657 | LD A,H |
||
1658 | AND 7 |
||
1659 | RET NZ |
||
1660 | LD A,L |
||
1661 | ADD A,32 |
||
1662 | LD L,A |
||
1663 | RET C |
||
1664 | LD A,H |
||
1665 | SUB 8 |
||
1666 | LD H,A |
||
1667 | RET |
||
1668 | |||
1669 | DIV32 SRL H,L |
||
1670 | DIV16 SRL H,L |
||
1671 | DIV8 SRL H |
||
1672 | SRL H |
||
1673 | SRL H |
||
1674 | SRL L |
||
1675 | SRL L |
||
1676 | SRL L |
||
1677 | RET |
||
1678 | |||
1679 | ;⠭ IM2 |
||
1680 | if INT_IM2 |
||
1681 | SETIM2 |
||
1682 | DI |
||
1683 | LD HL,IMVEC ; 뢠 |
||
1684 | LD BC,256 |
||
1685 | LD D,H |
||
1686 | LD E,B |
||
1687 | LD (HL),IM2/256 |
||
1688 | LD A,H |
||
1689 | LDIR |
||
1690 | LD I,A |
||
1691 | IM 2 |
||
1692 | EI |
||
1693 | RET |
||
1694 | else |
||
1695 | SETIM2=swapimer |
||
1696 | endif |
||
1697 | |||
1698 | SETIM1 |
||
1699 | DI |
||
1700 | ;LD A,(PG_+1) |
||
1701 | ;LD (SCRNUM+1),A ;??? |
||
1702 | LD A,PG_MUZ |
||
1703 | CALL PAGE |
||
1704 | CALL MUTE |
||
1705 | ;LD A,16+8 |
||
1706 | ;CALL CURSCR |
||
1707 | call setcurscr1 |
||
1708 | LD A,PG_MISC |
||
1709 | CALL PAGE |
||
1710 | if INT_IM2 |
||
1711 | LD IY,23610 |
||
1712 | LD A,63 |
||
1713 | LD I,A |
||
1714 | IM 1 |
||
1715 | else |
||
1716 | call swapimer |
||
1717 | endif |
||
1718 | EI |
||
1719 | ;LD HL,LODSAV |
||
1720 | ;LD DE,LOAD |
||
1721 | ;LD BC,LENLS |
||
1722 | ;LDIR |
||
1723 | RET |
||
1724 | |||
1725 | ; |
||
1726 | GMEN |
||
1727 | if EGA |
||
1728 | LD A,(gamemenucolorline);(#DAD9) ;- ਡ |
||
1729 | CP 56+64 |
||
1730 | RET NZ |
||
1731 | |||
1732 | xor a |
||
1733 | ld (curarrowtype),a |
||
1734 | |||
1735 | LD HL,SND_SPK |
||
1736 | LD (SAMPLE+1),HL |
||
1737 | |||
1738 | POP HL ; ४樨 SP |
||
1739 | POP HL |
||
1740 | |||
936 | alone | 1741 | ld bc,0x0834 |
1742 | ld de,hudmenuofft |
||
930 | alone | 1743 | ld hl,scrbase+(5*8*40)+6 |
1744 | ;b=hgt,c=wid (/2) |
||
1745 | ;de=gfx |
||
1746 | ;hl=scr |
||
936 | alone | 1747 | call primgega_pgdaynight |
1748 | |||
1749 | ld de,hudmenuoff0 |
||
1750 | ld hl,scrbase+(6*8*40)+6 |
||
1751 | ld bc,0x1834 |
||
1752 | call primgega_pgdaynight |
||
937 | alone | 1753 | ld de,hudmenu0 |
1754 | ld hl,scrbase+(6*8*40)+7 |
||
1755 | ld bc,0x182c |
||
1756 | call primgega_pgdaynight |
||
936 | alone | 1757 | ld de,hudmenuoff1 |
1758 | ld hl,scrbase+(9*8*40)+6 |
||
1759 | ld bc,0x1834 |
||
1760 | call primgega_pgdaynight |
||
1761 | ld de,hudmenuoff2 |
||
1762 | ld hl,scrbase+(12*8*40)+6 |
||
1763 | ld bc,0x1834 |
||
1764 | call primgega_pgdaynight |
||
1765 | |||
1766 | ld bc,0x1034 |
||
1767 | ld de,hudmenuoffb |
||
1768 | ld hl,scrbase+(15*8*40)+6 |
||
1769 | call primgega_pgdaynight |
||
930 | alone | 1770 | |
1771 | else |
||
1772 | ; LD A,PG_VIEW |
||
1773 | CALL PAGE_PG_VIEW |
||
1774 | LD A,(gamemenucolorline);(#DAD9) ;- ਡ |
||
1775 | CP 56+64 |
||
1776 | RET NZ |
||
1777 | |||
1778 | LD HL,SND_SPK |
||
1779 | LD (SAMPLE+1),HL |
||
1780 | |||
1781 | POP HL ; ४樨 SP |
||
1782 | POP HL |
||
1783 | |||
1784 | XOR A |
||
1785 | CALL MASK |
||
1786 | |||
1787 | ;뢮 |
||
1788 | LD HL,SPRMENU |
||
1789 | LD DE,#C0A6 |
||
1790 | LD A,12*8 ; |
||
1791 | MN2 EX AF,AF' ;' |
||
1792 | PUSH DE |
||
1793 | LD C,13 ;ਭ |
||
1794 | LDI |
||
1795 | JP PE,$-2 |
||
1796 | POP DE |
||
1797 | EX DE,HL |
||
1798 | CALL LINE_HL |
||
1799 | EX DE,HL |
||
1800 | EX AF,AF' ;' |
||
1801 | DEC A |
||
1802 | JR NZ,MN2 |
||
1803 | |||
1804 | ;訢 |
||
1805 | |||
1806 | LD HL,#D8A6 |
||
1807 | LD E,12 |
||
1808 | LD A,FILAT |
||
1809 | LD C,19 |
||
1810 | FIL LD B,13 |
||
1811 | LD (HL),A |
||
1812 | INC L |
||
1813 | DJNZ $-2 |
||
1814 | ADD HL,BC |
||
1815 | DEC E |
||
1816 | JR NZ,FIL |
||
1817 | |||
1818 | LD A,#68 |
||
1819 | LD H,A |
||
1820 | LD L,A |
||
1821 | LD (#D8A6),HL |
||
1822 | LD (#D8B1),HL |
||
1823 | LD (#DA0B),HL |
||
1824 | LD (#DA0D),A |
||
1825 | LD (#DA06),A |
||
1826 | LD (#DA12),A |
||
1827 | endif |
||
1828 | |||
1829 | XOR A |
||
1830 | LD (MCM+1),A |
||
1831 | |||
1832 | LD IX,MNKEYS ; 뤥 㭪⮢ |
||
1833 | LD DE,#0B04 |
||
1834 | LD HL,FILAT2+(FILAT*256) |
||
1835 | LD BC,#0B15 |
||
1836 | LD A,3 |
||
1837 | CALL MCYCL |
||
1838 | DEC C |
||
1839 | JR Z,GAM |
||
1840 | DEC C |
||
1841 | JP NZ,GAMEOVER_MMENU |
||
1842 | SAV ;CALL SETIM1 |
||
1843 | JP SAVE |
||
1844 | |||
1845 | if 1==0 |
||
1846 | ERROR |
||
1847 | CALL ERR |
||
1848 | ;LD A,PG_VIEW |
||
1849 | CALL PAGE_PG_VIEW |
||
1850 | LD HL,#D800 |
||
1851 | LD DE,#5800 |
||
1852 | LD BC,768 |
||
1853 | LDIR |
||
1854 | CALL SETIM2 |
||
1855 | ;SCRNUM LD A,0 |
||
1856 | JP MMENUS |
||
1857 | |||
1858 | ERROR2 |
||
1859 | CALL ERR |
||
1860 | endif |
||
1861 | |||
1862 | SAVE_OK ;CALL SETIM2 |
||
1863 | ; LD A,PG_VIEW |
||
1864 | CALL PAGE_PG_VIEW |
||
1865 | |||
1866 | GAM CALL FONE |
||
1867 | XOR A |
||
1868 | LD H,A |
||
1869 | LD L,A |
||
935 | alone | 1870 | CALL BOX ;뤥 |
930 | alone | 1871 | JP REMAP+6 |
1872 | |||
1873 | ; |
||
1874 | ;OUT: C- ࠭ 㭪 (1-X) |
||
1875 | MCYCL |
||
1876 | ;a=⢮ 㭪⮢ |
||
1877 | ;l=ਡ |
||
1878 | ;h=ਡ |
||
1879 | ;b=ਭ 㭪 |
||
1880 | ;c=饭 室 ப |
||
1881 | LD (MENLP-1),A ;- 㭪⮢ |
||
1882 | LD (SCANMOD+1),A |
||
1883 | LD A,L |
||
1884 | LD (MN_V1+1),A ;ਡ. |
||
1885 | LD A,H |
||
1886 | LD (MN_V2+1),A ;ਡ. |
||
1887 | LD A,B |
||
1888 | LD (MN_V3+1),A ;ਭ 㭪 |
||
1889 | LD A,C |
||
1890 | LD (MN_V4+1),A ;饭 |
||
1891 | |||
937 | alone | 1892 | if EGA |
1893 | xor a ;騩 㭪 |
||
1894 | ld (oldmenuoption),a |
||
1895 | endif |
||
930 | alone | 1896 | LD A,1 |
937 | alone | 1897 | LD (SETCURp1),A ;⥪騩 㭪 - 孨 |
930 | alone | 1898 | |
1899 | ; |
||
1900 | MNLOOP PUSH IX,IX,DE |
||
1901 | HALT |
||
1902 | MCM LD A,0 |
||
1903 | AND A |
||
1904 | DI |
||
1905 | CALL NZ,MMENU2 ;show anim and arrow |
||
1906 | EI |
||
1907 | POP DE,IX |
||
1908 | CALL PUNKT |
||
937 | alone | 1909 | if EGA |
1910 | ld hl,(egaon) |
||
1911 | dec l |
||
1912 | jr nz,MNLOOPnoega |
||
1913 | oldmenuoption=$+1 |
||
1914 | cp 0 ;訩 ⥪騩 㭪 |
||
1915 | jr z,MNLOOPnodraw ; ᮢ뢠, ⥪騩 㭪 |
||
1916 | ld (oldmenuoption),a |
||
1917 | MNLOOPnoega |
||
1918 | endif |
||
930 | alone | 1919 | EXA |
1920 | LD C,1 |
||
1921 | LD A,3 ;- 㭪⮢ |
||
1922 | MENLP EXA |
||
1923 | SUB 3 |
||
1924 | CALL MNLOCK |
||
1925 | INC C |
||
1926 | EXA |
||
1927 | DEC A |
||
1928 | JR NZ,MENLP |
||
937 | alone | 1929 | MNLOOPnodraw |
930 | alone | 1930 | POP IX |
1931 | DEC C |
||
1932 | LD HL,MKEYSp1 |
||
1933 | |||
1934 | LD A,(HL) |
||
1935 | AND %00010000 |
||
1936 | LD B,A |
||
1937 | LD A,(HL) |
||
1938 | AND %11000000 ; 誨 |
||
1939 | |||
1940 | BIT 5,(HL) ;ࠢ 誨 |
||
1941 | JR Z,$+3 ; |
||
1942 | SCF ;ENTER |
||
1943 | |||
1944 | RRA |
||
1945 | OR B |
||
1946 | LD B,A |
||
1947 | LD A,(KEYSp1) |
||
1948 | AND %11100000 |
||
1949 | OR B |
||
1950 | |||
1951 | LD (HL),0 |
||
1952 | |||
1953 | ADD A,A ;7- (ENTER) |
||
1954 | JR C,FIR_K |
||
1955 | LD B,1 |
||
1956 | ADD A,A ;6- |
||
1957 | JR C,CDWN |
||
1958 | ADD A,A ;5- |
||
1959 | JR C,CDWN-3 |
||
1960 | ADD A,A ;4- |
||
1961 | JR C,FIR_M |
||
1962 | LD A,FRM |
||
1963 | JR CDU |
||
1964 | LD BC,#FF01 |
||
1965 | ;/ |
||
1966 | CDWN LD A,FRM |
||
1967 | DEC A |
||
1968 | JR Z,CDWUP |
||
1969 | CDU CP FRM-1 |
||
1970 | LD (CDWN+1),A |
||
1971 | JR NZ,MNLOOP |
||
1972 | CDWUP LD HL,SETCURp1 |
||
1973 | LD A,(HL) |
||
1974 | CP C |
||
1975 | JR Z,MNLOOP |
||
1976 | ADD A,B |
||
1977 | LD (HL),A |
||
1978 | JR MNLOOP |
||
1979 | |||
1980 | ;OUT: B-⥪騩 㭪 |
||
1981 | ; CY- 㭪 |
||
1982 | ; NC- 㭪 |
||
1983 | PUNKT |
||
1984 | LD HL,(mouse_crd) |
||
1985 | CALL DIV8 |
||
1986 | LD A,H ;X |
||
1987 | SUB 7 |
||
1988 | CP D ;D=ਭ |
||
1989 | JP NC,SETCUR |
||
1990 | PN1 LD BC,0 |
||
1991 | LD (PN1+1),HL |
||
1992 | XOR A |
||
1993 | SBC HL,BC |
||
1994 | JP Z,SETCUR |
||
1995 | ADD HL,BC |
||
1996 | LD A,L ;Y |
||
1997 | SUB E |
||
1998 | JP DIV3 |
||
1999 | |||
2000 | ; 誮/ |
||
2001 | FIR_M ;XOR A |
||
2002 | ;LD (HL),A |
||
2003 | LD (PN1+1),HL ;ᯥ樠쭮 ਭ㦤 ࠢ⢮ |
||
2004 | ;jr $ |
||
2005 | CALL PUNKT ;OUT: B-⥪騩 㭪 |
||
2006 | JP C,MNLOOP ; 㭪 , MNLOOP |
||
2007 | LD A,(SETCURp1) |
||
2008 | CP B |
||
2009 | JP NZ,MNLOOP |
||
2010 | |||
2011 | ; ࠭ (Enter) |
||
2012 | FIR_K LD HL,SND_NXT |
||
2013 | LD (SAMPLE+1),HL |
||
2014 | LD A,(SETCURp1) |
||
2015 | LD C,A |
||
2016 | XOR A |
||
2017 | LD (SCANMOD+1),A |
||
2018 | RET |
||
2019 | |||
2020 | ;뤥 㭪⮢ |
||
2021 | MNLOCK |
||
2022 | PUSH AF |
||
2023 | PUSH BC |
||
2024 | PUSH DE |
||
2025 | PUSH IX |
||
2026 | MN_V2 LD B,FILAT ;ਡ. 뤥 㭪 |
||
2027 | JR NZ,MN_V1_ok |
||
2028 | LD A,C |
||
937 | alone | 2029 | LD (SETCURp1),A ;⥪騩 㭪 - 뤥 㥬 |
930 | alone | 2030 | |
2031 | MN_V1 LD B,FILAT2 ;ਡ. 뤥 |
||
2032 | MN_V1_ok |
||
2033 | if EGA |
||
2034 | ld a,(egaon) |
||
2035 | rrca |
||
936 | alone | 2036 | jr nc,MN_noega;MNEND |
937 | alone | 2037 | |
936 | alone | 2038 | ld a,b |
2039 | cp FILAT ;ਡ. 뤥 㭪 |
||
2040 | jr z,MN_unselect |
||
937 | alone | 2041 | |
936 | alone | 2042 | ld de,hudmenu2 |
2043 | ld hl,scrbase+(12*8*40)+7 |
||
2044 | dec c |
||
2045 | jr nz,$+5+3 |
||
2046 | ld de,hudmenu0 |
||
2047 | ld hl,scrbase+(6*8*40)+7 |
||
2048 | dec c |
||
2049 | jr nz,$+5+3 |
||
2050 | ld de,hudmenu1 |
||
2051 | ld hl,scrbase+(9*8*40)+7 |
||
2052 | ld bc,0x182c |
||
2053 | ;b=hgt,c=wid (/2) |
||
2054 | ;de=gfx |
||
2055 | ;hl=scr |
||
2056 | call primgega_pgdaynight |
||
937 | alone | 2057 | jr MNEND |
936 | alone | 2058 | MN_unselect |
2059 | ld de,hudmenuoff2 |
||
2060 | ld hl,scrbase+(12*8*40)+6 |
||
2061 | dec c |
||
2062 | jr nz,$+5+3 |
||
2063 | ld de,hudmenuoff0 |
||
2064 | ld hl,scrbase+(6*8*40)+6 |
||
2065 | dec c |
||
2066 | jr nz,$+5+3 |
||
2067 | ld de,hudmenuoff1 |
||
2068 | ld hl,scrbase+(9*8*40)+6 |
||
2069 | ld bc,0x1834 |
||
2070 | ;b=hgt,c=wid (/2) |
||
2071 | ;de=gfx |
||
2072 | ;hl=scr |
||
2073 | call primgega_pgdaynight |
||
937 | alone | 2074 | jr MNEND |
936 | alone | 2075 | MN_noega |
930 | alone | 2076 | endif |
2077 | LD E,(IX) |
||
2078 | LD D,(IX+1) |
||
2079 | LD A,(DE) ; 㦥 襭, ᨬ |
||
2080 | CP B |
||
2081 | JR Z,MNEND |
||
2082 | LD A,B |
||
2083 | LD C,3 ; ப 뤥 |
||
2084 | MNLP0 LD H,(IX+2) |
||
2085 | LD L,(IX+3) |
||
2086 | MN_V3 LD B,11 |
||
2087 | MNLP1 ADD HL,HL |
||
2088 | JR NC,MNLP |
||
2089 | LD (DE),A |
||
2090 | MNLP INC DE |
||
2091 | DJNZ MNLP1 |
||
2092 | MN_V4 LD HL,21 |
||
2093 | ADD HL,DE |
||
2094 | EX DE,HL |
||
2095 | INC IX,IX |
||
2096 | DEC C |
||
2097 | JR NZ,MNLP0 |
||
2098 | MNEND POP IX |
||
2099 | LD BC,8 |
||
2100 | ADD IX,BC |
||
2101 | POP DE |
||
2102 | POP BC |
||
2103 | POP AF |
||
2104 | RET |
||
2105 | |||
2106 | ;뤥 |
||
2107 | BOX |
||
2108 | PUSH HL |
||
2109 | CALL DIV8 |
||
2110 | LD BC,#0638 |
||
2111 | LD A,L |
||
2112 | CP 22 |
||
2113 | JR NZ,BX1 |
||
2114 | LD A,H |
||
2115 | CP 25 |
||
2116 | JR C,BX1 |
||
2117 | LD C,56+64 |
||
935 | alone | 2118 | BX1 |
2119 | LD HL,gamemenucolorline;#DAD9 |
||
930 | alone | 2120 | LD A,(HL) |
2121 | CP C |
||
2122 | JR Z,BX2 |
||
2123 | LD (HL),C |
||
2124 | INC L |
||
2125 | DJNZ $-2 |
||
935 | alone | 2126 | if EGA |
2127 | ;ld a,(egaon) |
||
2128 | ;or a |
||
2129 | ;ret nz ;TODO? |
||
2130 | ld a,c |
||
2131 | cp 56+64 |
||
2132 | ld de,menuline0 |
||
2133 | jr nz,$+5 |
||
2134 | ld de,menuline1 |
||
2135 | ld hl,scrbase+(176*40)+25 |
||
2136 | ld bc,0x0818 |
||
2137 | ;b=hgt,c=wid (/2) |
||
2138 | ;de=gfx |
||
2139 | ;hl=scr |
||
2140 | call primgega_pghud |
||
2141 | |||
2142 | endif |
||
930 | alone | 2143 | BX2 POP HL |
2144 | RET |
||
2145 | |||
2146 | MNKEYS DW #D8C7 |
||
2147 | DB %11100001,%10000000 |
||
2148 | DB %11111111,%11100000 |
||
2149 | DB %11000000,%01100000 |
||
2150 | |||
2151 | DW #D927 |
||
2152 | DB %11000001,0 |
||
2153 | DB %11111111,%11100000 |
||
2154 | DB %00110000,%11100000 |
||
2155 | |||
2156 | DW #D987 |
||
2157 | DB %11100001,0 |
||
2158 | DB %11111111,%11100000 |
||
2159 | DB %00010000,%11100000 |
||
2160 | |||
2161 | MNKEYS2 |
||
2162 | DW #D8E8 |
||
2163 | DB %11101100,0 |
||
2164 | DB %11111111,0 |
||
2165 | DB %00110010,0 |
||
2166 | |||
2167 | DW #D947 |
||
2168 | DB %11000110,0 |
||
2169 | DB %11111111,128 |
||
2170 | DB %00111001,0 |
||
2171 | |||
2172 | DW #D9A8 |
||
2173 | DB %11111000,0 |
||
2174 | DB %11111110,0 |
||
2175 | DB %00000100,0 |
||
2176 | |||
2177 | DW #DA07 |
||
2178 | DB %11111100,0 |
||
2179 | DB %11111111,#C0 |
||
2180 | DB %00000011,0 |
||
2181 | |||
2182 | DW #DA6A |
||
2183 | DB %10011000,0 |
||
2184 | DB %11111000,0,0,0 |
||
2185 | |||
2186 | ; |
||
2187 | ENDGAME |
||
2188 | if EGA |
||
2189 | ld e,3+0x80 ;6912+keep |
||
2190 | OS_SETGFX ;e=0:EGA, e=2:MC, e=3:6912, e=6:text ;+SET FOCUS ;e=-1: disable gfx (out: e=old gfxmode) |
||
2191 | ld de,emptypal;standardpal |
||
2192 | OS_SETPAL |
||
2193 | xor a |
||
2194 | ld (egaon),a |
||
2195 | inc a |
||
2196 | ld (curscrnum_int),a |
||
2197 | ld e,a |
||
2198 | OS_SETSCREEN |
||
2199 | endif |
||
2200 | DI |
||
2201 | LD A,PG_MUZ |
||
2202 | CALL PAGE |
||
2203 | CALL MUTE |
||
2204 | ; CALL BLACK |
||
2205 | xor a |
||
2206 | ld (MUSONp1),a ;fix (Sergio) |
||
2207 | |||
2208 | LD A,PG_MISC |
||
2209 | CALL PAGE |
||
2210 | LD HL,FINAL |
||
2211 | LD DE,#4000 |
||
2212 | PUSH DE |
||
2213 | LD BC,FINLEN |
||
2214 | LDIR |
||
2215 | RET |
||
2216 | |||
2217 | ;室 ᥬ/ᨪ |
||
2218 | EXIT |
||
2219 | EI |
||
2220 | HALT |
||
2221 | DI |
||
2222 | call swapimer |
||
2223 | ;LD A,16 |
||
2224 | ;LD (PG_+1),A ;??? |
||
2225 | LD A,PG_MUZ |
||
2226 | CALL PAGE |
||
2227 | CALL MUTE |
||
2228 | IM 1 |
||
2229 | EI |
||
2230 | ld hl,0 ;result |
||
2231 | QUIT |
||
2232 | |||
2233 | ;ன ६頥 . |
||
2234 | ;⠭ . |
||
2235 | RUNING |
||
2236 | JR COUNT1 ;JR ROTATE |
||
2237 | COUNT1 LD A,0 ;稪 蠣 |
||
2238 | INC A |
||
2239 | CP 4 |
||
2240 | JR C,RH1 |
||
2241 | XOR A |
||
2242 | RH1 LD (COUNT1+1),A |
||
2243 | EX AF,AF' ;' |
||
2244 | |||
2245 | VUS LD A,0 |
||
2246 | AND A |
||
2247 | JP NZ,VUSE3 ; |
||
2248 | |||
2249 | COUNT2 LD A,0 ; 稪 ६饭 |
||
2250 | ; ⪨ (=16 .. |
||
2251 | ; ⮪ 2*2 ) |
||
2252 | INC A |
||
2253 | CP 16/STEPS |
||
2254 | JR C,RH2 |
||
2255 | XOR A |
||
2256 | RH2 LD (COUNT2+1),A |
||
2257 | CALL Z,NxtStep |
||
2258 | LD HL,(CrdHero+1) ;H-Y, L-X |
||
2259 | NAPRAVL LD BC,0 ;饭 ࠢ |
||
2260 | LD A,H |
||
2261 | DUP STEPS |
||
2262 | SUB B ; न ।. - ᥫ |
||
2263 | EDUP |
||
2264 | LD H,A |
||
2265 | LD A,L ; न |
||
2266 | DUP STEPS |
||
2267 | SUB C ; ᨬ |
||
2268 | EDUP |
||
2269 | LD L,A ; ࠢ |
||
2270 | LD (CrdHero+1),HL ;H-Y, L-X |
||
2271 | |||
2272 | ; 㯯 ࠢ (ࢫ ᥣ 8) |
||
2273 | ;롨ࠥ 1 4 ࠩ⮢ ᨬ 1- 稪 蠣 |
||
2274 | SPRHERO LD HL,Right |
||
2275 | INC HL |
||
2276 | EX AF,AF' ;' |
||
2277 | ADD A,A |
||
2278 | LD C,A |
||
2279 | LD B,0 |
||
2280 | ADD HL,BC |
||
2281 | SH1 LD C,(HL) ;BC= 㦭 ࠩ |
||
2282 | INC HL |
||
2283 | LD B,(HL) |
||
2284 | LD (SprHero+1),BC |
||
2285 | RET |
||
2286 | |||
2287 | ; , .. ᬥ ࠢ |
||
2288 | ROTATE LD A,2 ; ࠢ, ᭠砫 ⮨ ࠢ |
||
2289 | Prev LD B,2 ; ࠢ 㦭 ਤ |
||
2290 | RotMod NOP ; ⨬ (INC A/DEC A) |
||
2291 | CP 255 |
||
2292 | JR NZ,R1 |
||
2293 | LD A,7 |
||
2294 | R1 CP 8 |
||
2295 | JR C,R2 |
||
2296 | XOR A |
||
2297 | R2 LD (ROTATE+1),A |
||
2298 | CP B |
||
2299 | LD B,A |
||
2300 | JR NZ,R3 |
||
2301 | XOR A ; ।. 祭 ࠢ |
||
2302 | LD (RUNING+1),A ; 饥 ⠫ ࠢ, |
||
2303 | R3 LD A,B ; 祭 |
||
2304 | ADD A,A |
||
2305 | ;롨ࠥ ⠡窨 㦭 ࠩ ⠥ |
||
2306 | LD HL,RotTabl |
||
2307 | LD C,A |
||
2308 | LD B,0 |
||
2309 | ADD HL,BC |
||
2310 | JR SH1 |
||
2311 | ;H-y, L-x |
||
2312 | ;뢠 騩 蠣, ⠪ ࠢ |
||
2313 | NxtStep |
||
2314 | LD A,PG_MAP |
||
2315 | CALL PAGE |
||
2316 | |||
2317 | PATHadr LD HL,0 ; ᮤন ࠢ |
||
2318 | ; ६頥 ன |
||
2319 | LD A,(HL) ;ࠢ |
||
2320 | LD B,A |
||
2321 | INC A |
||
2322 | JP Z,EndStep ; A=255, ன ⨣ 楫! |
||
2323 | DEC HL |
||
2324 | LD (PATHadr+1),HL ; . ࠢ. |
||
2325 | LD A,(HL) |
||
2326 | LD (OLDpath),A |
||
2327 | |||
2328 | LD A,B |
||
2329 | LD D,B |
||
2330 | CALL NAPR |
||
2331 | LD (NAPRAVL+1),BC ;࠭塞 饭 ࠢ |
||
2332 | LD HL,(HEROCRD) |
||
2333 | LD A,H |
||
2334 | SUB B |
||
2335 | LD B,D |
||
2336 | LD D,A |
||
2337 | LD A,L ; न |
||
2338 | SUB C ; ᨬ |
||
2339 | LD E,A ; ࠢ |
||
2340 | |||
2341 | LD A,B |
||
2342 | ROTAT LD HL,VeraTab |
||
2343 | ADD A,A ;A=A*9 |
||
2344 | ADD A,A |
||
2345 | ADD A,A |
||
2346 | ADD A,B |
||
2347 | LD C,A |
||
2348 | LD B,0 |
||
2349 | ADD HL,BC ;HL= ⠡ 㯯 ࠩ⮢ |
||
2350 | LD B,(HL) |
||
2351 | |||
2352 | LD A,(ROTATE+1) ;।饥 ࠢ |
||
2353 | LD C,A |
||
2354 | CP B |
||
2355 | JR NZ,ROT |
||
2356 | INIT LD (SPRHERO+1),HL |
||
2357 | LD (HEROCRD),DE |
||
2358 | RET |
||
2359 | |||
2360 | ; |
||
2361 | ROT AND A |
||
2362 | LD A,B |
||
2363 | JR Z,P1 |
||
2364 | LD A,C |
||
2365 | SUB B |
||
2366 | JR NC,P2 |
||
2367 | NEG |
||
2368 | |||
2369 | P1 CP 5 |
||
2370 | JR C,P0-2 |
||
2371 | LD E,#3D ;DEC A |
||
2372 | JR P0 |
||
2373 | |||
2374 | P2 CP 5 |
||
2375 | LD E,#3D ;DEC A |
||
2376 | JR C,P0 |
||
2377 | LD E,#3C ;INC A |
||
2378 | |||
2379 | P0 LD A,ROTATE-RUNING-2 ;塞 JR |
||
2380 | LD (RUNING+1),A |
||
2381 | ; LD A,E |
||
2382 | ;P3 XOR 0 ;0/1 ⢠ ⮬ |
||
2383 | ld a,(P3p1) ;0/1 ⢠ ⮬ |
||
2384 | xor e |
||
2385 | LD (RotMod),A |
||
2386 | |||
2387 | LD A,B |
||
2388 | LD (Prev+1),A |
||
2389 | |||
2390 | LD HL,(PATHadr+1) |
||
2391 | INC HL |
||
2392 | CALL ES2 |
||
2393 | POP HL ;譨 POP 室 NextStep |
||
2394 | JP ROTATE |
||
2395 | |||
2396 | ; 蠣. ன ⨣ 楫! |
||
2397 | EndStep |
||
2398 | POP AF ;譨 POP 室 楤 NxtStep |
||
2399 | XOR A |
||
2400 | LD (RunHero+1),A |
||
2401 | LD (FTASK),A |
||
2402 | ES2 LD (PATHadr+1),HL |
||
2403 | LD A,STEP1 |
||
2404 | LD (COUNT2+1),A |
||
2405 | LD A,STEP2 |
||
2406 | LD (COUNT1+1),A |
||
2407 | RET ;室 楤 RUNING |
||
2408 | |||
2409 | ;ਢ ᮫ न |
||
2410 | ; ᥫ ࠭ |
||
2411 | ;H-Y, L-X |
||
2412 | Abs_Pix LD HL,(HEROCRD) ;न |
||
2413 | LD A,H |
||
2414 | ADD A,A ;A=A*16 |
||
2415 | ADD A,A |
||
2416 | ADD A,A |
||
2417 | ADD A,A |
||
2418 | SUB 16 ;.. 㦭 न |
||
2419 | LD H,A |
||
2420 | |||
2421 | LD A,L |
||
2422 | ADD A,A ;A=A*16 |
||
2423 | ADD A,A |
||
2424 | ADD A,A |
||
2425 | ADD A,A |
||
2426 | LD L,A |
||
2427 | RET |
||
2428 | |||
2429 | ; 誠 |
||
2430 | VNE LD A,(F3+1) |
||
2431 | AND A |
||
2432 | RET Z |
||
2433 | XOR A |
||
2434 | LD (F3+1),A |
||
2435 | VNE2 LD A,(PRTIME+1) |
||
2436 | AND A |
||
2437 | RET NZ |
||
2438 | LD (CLT+1),A |
||
2439 | CPL |
||
2440 | LD (SVER+1),A |
||
2441 | RET |
||
2442 | |||
2443 | ;롮 誠 |
||
2444 | VMESH |
||
2445 | LD A,H ;X |
||
2446 | CP MAX_X |
||
2447 | JR NC,VNE |
||
2448 | SUB 200 |
||
2449 | JR C,VNE |
||
2450 | CALL DIV24 ;b=A/24 |
||
2451 | LD A,B |
||
2452 | CP 2 |
||
2453 | JR NC,VNE |
||
2454 | LD D,A ;X |
||
2455 | LD A,L ;Y |
||
2456 | CP 30 |
||
2457 | JR C,VNE |
||
2458 | CP 94 |
||
2459 | JR NC,VNE |
||
2460 | SUB 28 |
||
2461 | JR C,VNE |
||
2462 | CALL DIV24 ;b=A/24 |
||
2463 | LD A,B |
||
2464 | CP 3 |
||
2465 | JR NC,VNE |
||
2466 | |||
2467 | ADD A,A;Y |
||
2468 | ADD A,D |
||
2469 | LD E,A |
||
2470 | LD D,0 |
||
2471 | |||
2472 | LD HL,(MSTRT+2) |
||
2473 | ADD HL,DE |
||
2474 | LD (VADR+1),HL; ன ⮨ |
||
2475 | LD A,1 |
||
2476 | LD (F3+1),A ; 誥! |
||
2477 | |||
2478 | LD B,(HL); 誠 . ⮨ |
||
2479 | |||
2480 | ; :A- |
||
2481 | PRVESH |
||
2482 | LD A,(PRTIME+1) |
||
2483 | AND A |
||
2484 | RET NZ |
||
2485 | |||
2486 | ;⮡ ⮦ ⠫ |
||
2487 | SVER LD A,255 ;।. . |
||
2488 | CP B |
||
2489 | JR Z,SV2 |
||
2490 | LD A,B |
||
2491 | LD (SVER+1),A |
||
2492 | |||
2493 | ADD A,A |
||
2494 | LD E,A |
||
2495 | LD D,0 |
||
2496 | LD HL,V |
||
2497 | ADD HL,DE |
||
2498 | LD E,(HL) |
||
2499 | INC HL |
||
2500 | LD D,(HL) ;DE- |
||
2501 | LD (PRT+3),DE |
||
2502 | XOR A |
||
2503 | LD (CLT+1),A |
||
2504 | LD (PRT+1),A |
||
2505 | SV2 INC A |
||
2506 | RET |
||
2507 | |||
2508 | ;࠭ ⥪⮬ |
||
2509 | CLADR=#C8D9 |
||
2510 | CLADR2=#C8F9 |
||
2511 | |||
2512 | CLTXT |
||
2513 | ;in IM2 |
||
2514 | if EGA |
||
2515 | ld hl,scrbase+(40*112)+#19 |
||
2516 | ld bc,0x1018 |
||
2517 | ld e,0x3f ;color 7 ;0xc9 ;color 9 |
||
2518 | ;b=hgt,c=wid (/2) |
||
2519 | ;de=gfx |
||
2520 | ;hl=scr |
||
2521 | jp climgega |
||
2522 | else |
||
2523 | LD HL,0 |
||
2524 | DUP 8 |
||
2525 | LD (CLADR),HL |
||
2526 | LD (CLADR+2),HL |
||
2527 | LD (CLADR+4),HL |
||
2528 | CLADR=CLADR+256 |
||
2529 | EDUP |
||
2530 | |||
2531 | DUP 8 |
||
2532 | LD (CLADR2),HL |
||
2533 | LD (CLADR2+2),HL |
||
2534 | LD (CLADR2+4),HL |
||
2535 | CLADR2=CLADR2+256 |
||
2536 | EDUP |
||
2537 | RET |
||
2538 | endif |
||
2539 | |||
2540 | ;祭 ࠭ |
||
2541 | ;⭮ ० |
||
2542 | TURBO |
||
2543 | LD HL,MAPINGp4 |
||
2544 | LD A,FRAME |
||
2545 | DEC (HL) |
||
2546 | JR Z,$+4 |
||
2547 | LD A,1 |
||
2548 | LD (HL),A |
||
2549 | JR KOF |
||
2550 | |||
2551 | ; ० |
||
2552 | STEAL |
||
2553 | LD A,(CHANGE) |
||
2554 | AND A |
||
2555 | JP NZ,KOF |
||
2556 | |||
2557 | LD A,#FB |
||
2558 | IN A,(#FE) ;SS/CS+T |
||
2559 | BIT 4,A |
||
2560 | JR Z,TURBO |
||
2561 | |||
2562 | LD H,27 |
||
2563 | LD A,#F7 |
||
2564 | IN A,(#FE) ;SS/CS+3/4-⠭ / |
||
2565 | BIT 2,A |
||
2566 | JR Z,VLST |
||
2567 | INC H |
||
2568 | BIT 3,A |
||
2569 | JR Z,VLST |
||
2570 | BIT 0,A |
||
2571 | JP Z,SKIP ;⪠ |
||
2572 | |||
2573 | LD A,#BF |
||
2574 | IN A,(#FE) ;SS/CS+J/K - ५ - J |
||
2575 | ;࠭ - K |
||
2576 | AND 12 |
||
2577 | CP 12 |
||
2578 | JR Z,RMOUS |
||
2579 | BIT 2,A |
||
2580 | JR Z,BORDER |
||
2581 | |||
2582 | LD A,(RunHero+1) |
||
2583 | AND A |
||
2584 | JR NZ,RMOUS |
||
2585 | |||
2586 | STPIN LD A,0 |
||
2587 | INC A |
||
2588 | CP 8 |
||
2589 | JR C,STN1 |
||
2590 | XOR A |
||
2591 | STN1 LD (STPIN+1),A |
||
2592 | ADD A,A |
||
2593 | LD HL,CRDJP |
||
2594 | LD E,A |
||
2595 | LD D,0 |
||
2596 | ADD HL,DE |
||
2597 | LD E,(HL) |
||
2598 | INC HL |
||
2599 | LD D,(HL) |
||
2600 | LD (HEROCRD),DE |
||
2601 | STN2 LD A,PG_MAP |
||
2602 | CALL PAGE |
||
2603 | CALL CENTR2 |
||
2604 | JR KOF |
||
2605 | RMOUS LD A,32 ;. ࠢ. |
||
2606 | JP MKEYSp2 |
||
2607 | |||
2608 | CRDJP DW #3906 ; |
||
2609 | DW #0537 ; |
||
2610 | DW #2F1B ; 誥 |
||
2611 | DW #3236 ; |
||
2612 | DW #2807 ; |
||
2613 | DW #1908 ; 㧭 |
||
2614 | DW #0407 ; ; |
||
2615 | DW #1E32 ; ⥪ |
||
2616 | |||
2617 | ; ࠭ . (ன 室 ࠭) |
||
2618 | BORDER LD A,(MODscrl+1) |
||
2619 | XOR 1 |
||
2620 | LD (MODscrl+1),A |
||
2621 | JR KOF |
||
2622 | |||
2623 | ;⠭ 饩 |
||
2624 | VLST |
||
2625 | CALL VLIST |
||
2626 | KOF LD A,201 |
||
2627 | LD (CHANGE),A |
||
2628 | JP MKY |
||
2629 | |||
2630 | ; - ࠬ |
||
2631 | CHANGE |
||
2632 | NOP ;RET |
||
2633 | EX AF,AF' ;' |
||
2634 | LD A,201 |
||
2635 | LD (CHANGE),A |
||
2636 | EX AF,AF' ;' |
||
2637 | RRA |
||
2638 | JR NC,MUS_ONOF ;"1" |
||
2639 | RRA |
||
2640 | JR NC,SNDONOF ;"2" |
||
2641 | RRA |
||
2642 | RET C |
||
2643 | ;/⪫ 誨 - "3" |
||
2644 | MS_ONOF LD HL,mouse+1 |
||
2645 | LD A,(HL) |
||
2646 | CPL |
||
2647 | LD (HL),A |
||
2648 | RET |
||
2649 | |||
2650 | ;/⪫ 㪮 |
||
2651 | SNDONOF LD A,PG_MAP |
||
2652 | CALL PAGE |
||
2653 | LD HL,SOUND |
||
2654 | LD A,201 |
||
2655 | XOR (HL) |
||
2656 | LD (HL),A |
||
2657 | LD HL,SND_TSK |
||
2658 | LD (SAMPLE+1),HL |
||
2659 | CALL NZ,AY_OFF |
||
2660 | RET |
||
2661 | |||
2662 | ;/⪫ 모 |
||
2663 | MUS_ONOF |
||
2664 | HALT |
||
2665 | LD A,(MUSONp1) |
||
2666 | XOR 1 |
||
2667 | LD (MUSONp1),A |
||
2668 | DI |
||
2669 | LD A,PG_MUZ |
||
2670 | CALL PAGE |
||
2671 | CALL MUTE |
||
2672 | EI |
||
2673 | RET |
||
2674 | |||
2675 | ; |
||
2676 | VOLCH |
||
2677 | LD B,#FF |
||
2678 | NOP |
||
2679 | LD A,PG_MUZ |
||
2680 | CALL PAGE |
||
2681 | LD HL,VOLUME |
||
2682 | LD A,(HL) |
||
2683 | ADD A,B |
||
2684 | CP -16 |
||
2685 | JR Z,MUSNXT |
||
2686 | CP 1 |
||
2687 | JR Z,STPVOL |
||
2688 | LD (HL),A |
||
2689 | RET |
||
2690 | |||
2691 | STPVOL LD HL,#C9FF |
||
2692 | LD (VOLCH+1),HL |
||
2693 | RET |
||
2694 | |||
2695 | MUSNXT2 XOR A |
||
2696 | LD (VOLCH+2),A |
||
2697 | RET |
||
2698 | |||
2699 | ;室 . |
||
2700 | MUSNXT |
||
2701 | LD A,(MUSNUM) |
||
2702 | LD B,A |
||
2703 | LD A,PG_MUZ |
||
2704 | CALL PAGE |
||
2705 | LD A,B |
||
2706 | INC A |
||
2707 | CP 6 ;- |
||
2708 | JR C,$+3 |
||
2709 | XOR A |
||
2710 | LD (MUSNUM),A |
||
2711 | LD HL,MUSTAB |
||
2712 | ADD A,A |
||
2713 | LD E,A |
||
2714 | LD D,0 |
||
2715 | ADD HL,DE |
||
2716 | LD E,(HL) |
||
2717 | INC HL |
||
2718 | LD D,(HL) |
||
2719 | EX DE,HL |
||
2720 | LD DE,MUSIC |
||
2721 | CP 10 |
||
2722 | JR NZ,$+5 |
||
2723 | LD DE,#C000 |
||
2724 | PUSH DE |
||
2725 | EI |
||
2726 | HALT |
||
2727 | CALL DEHRUST |
||
2728 | POP HL |
||
2729 | LD DE,100 |
||
2730 | AND A |
||
2731 | SBC HL,DE |
||
2732 | DI |
||
2733 | CALL PLAY ;樠. . |
||
2734 | EI |
||
2735 | LD HL,#0001 |
||
2736 | JR STPVOL+3 |
||
2737 | |||
2738 | MUSTAB DW MUSM,MUS0,MUS1,MUS2,MUS3,MUSF |
||
2739 | |||
2740 | CLRMK XOR A |
||
2741 | LD (MKEYSp1),A |
||
2742 | RET |
||
2743 | FIRE |
||
2744 | CALL CLRMK |
||
2745 | CALL GMEN |
||
2746 | LD A,(DIALOG+1) ; ? |
||
2747 | AND A |
||
2748 | JP NZ,TALKING |
||
2749 | |||
2750 | ;ᯮ짮 饩 |
||
2751 | F3 LD A,0 ; , 誥 |
||
2752 | AND A |
||
2753 | JR Z,F4 |
||
2754 | VADR LD HL,0 |
||
2755 | LD A,(KARM) ; 饩 㪥 , ६ |
||
2756 | LD D,(HL) |
||
2757 | AND A |
||
2758 | JR NZ,VA1 |
||
2759 | OR D |
||
2760 | RET Z |
||
2761 | XOR A |
||
2762 | JR F32 ;६ |
||
2763 | VA1 SUB 7 |
||
2764 | DEC D |
||
2765 | INC D |
||
2766 | JR Z,F31 ; |
||
2767 | |||
2768 | ;ਬ塞 誥 |
||
2769 | PUSH HL |
||
2770 | CALL SVOYST |
||
2771 | POP HL |
||
2772 | INC BC |
||
2773 | LD A,(BC) |
||
2774 | CP D |
||
2775 | JP NZ,NOTUSE ; ਬ |
||
2776 | INC BC |
||
2777 | LD A,(BC) |
||
2778 | CALL F31 |
||
2779 | XOR A |
||
2780 | LD (F3+1),A |
||
2781 | INC BC |
||
2782 | LD A,(BC) |
||
2783 | |||
2784 | LD HL,SND_OBJ |
||
2785 | LD (SAMPLE+1),HL |
||
2786 | JP TLSN |
||
2787 | |||
2788 | F31 LD D,-7 |
||
2789 | F32 LD (HL),A |
||
2790 | LD A,D |
||
2791 | ADD A,7 |
||
2792 | LD (KARM),A |
||
2793 | LD (CCURS+1),A |
||
2794 | LD HL,INV+1 ;. ࠩ 3*3 |
||
2795 | INC (HL) |
||
2796 | LD HL,SND_TK |
||
2797 | LD (SAMPLE+1),HL |
||
2798 | RET |
||
2799 | |||
2800 | F4 LD A,(VUS+1) |
||
2801 | AND A |
||
2802 | RET NZ |
||
2803 | |||
2804 | CALL MANAGE |
||
2805 | LD A,B |
||
2806 | AND A |
||
2807 | JR Z,F41 |
||
2808 | CP 5 |
||
2809 | JP NZ,VUSE2 |
||
2810 | |||
2811 | F41 LD HL,(mouse_crd);L-y,H-x |
||
2812 | CALL DIV8 |
||
2813 | LD A,H ;X |
||
2814 | CP 24 |
||
2815 | JR C,F5 |
||
2816 | LD A,L ;Y ;⠭ 饩 誥 |
||
2817 | CP 3 |
||
2818 | RET NZ |
||
2819 | VLIST |
||
2820 | CALL CLRMK |
||
2821 | LD A,H |
||
2822 | LD HL,(MSTRT+2) |
||
2823 | LD DE,6 ;蠣 ⠭ 饩: 1 -1 |
||
2824 | LD BC,MESHOK |
||
2825 | SUB 27 |
||
2826 | JR Z,VESHUP ; |
||
2827 | DEC A |
||
2828 | JP Z,VESHDW ; |
||
2829 | ;reter |
||
2830 | RET |
||
2831 | |||
2832 | jpix |
||
2833 | jp (ix) |
||
2834 | |||
2835 | ; |
||
2836 | PATH |
||
2837 | F5 SRL H ;X |
||
2838 | SRL L ;Y |
||
2839 | |||
2840 | LD (FTSK+1),HL |
||
2841 | |||
2842 | ;MG1 CALL MAG2-1 ; |
||
2843 | ld ix,(curmagic) |
||
2844 | call jpix |
||
2845 | |||
2846 | LD A,(curarrowtype) ; 㦥 - ࠩ ᤥ |
||
2847 | AND A ;??? 255!!! TODO |
||
2848 | JR NZ,F6 |
||
2849 | |||
2850 | ; LD A,PG_VIEW |
||
2851 | CALL PAGE_PG_VIEW |
||
2852 | |||
2853 | PUSH HL |
||
2854 | CALL NP |
||
2855 | CALL Z,MASK |
||
2856 | POP HL |
||
2857 | |||
2858 | F6 LD D,L |
||
2859 | LD E,H |
||
2860 | LD HL,(DispMapX) ;H-Y, L-X |
||
2861 | ADD HL,DE |
||
2862 | OLDC LD DE,0 |
||
2863 | LD (OLDC+1),HL |
||
2864 | EX DE,HL |
||
2865 | AND A |
||
2866 | SBC HL,DE |
||
2867 | RET Z ; 㦥 몠 |
||
2868 | LD HL,(HEROCRD) ;H-Y, L-X |
||
2869 | |||
2870 | ; ன ६頥, ⠭ |
||
2871 | LD A,(RunHero+1) |
||
2872 | AND A |
||
2873 | JR Z,NEWpath |
||
2874 | LD BC,OLDpath |
||
2875 | LD (PATHadr+1),BC |
||
2876 | |||
2877 | NEWpath LD A,PG_MAP |
||
2878 | ;A=1 |
||
2879 | LD (CLR_MAPp1),A ; ⠭ |
||
2880 | CALL PAGE |
||
2881 | ;HL=(HEROCRD) ;H=Y,L=X |
||
2882 | ;de=㤠 ;D=Y,E=X |
||
2883 | CALL SRCH_PATH |
||
2884 | LD A,(HL) |
||
2885 | INC A |
||
2886 | RET Z ; |
||
2887 | LD (RunHero+1),A |
||
2888 | LD (PATHadr+1),HL |
||
2889 | F7 |
||
2890 | LD A,201 |
||
2891 | LD (FTASK),A |
||
2892 | RET |
||
2893 | |||
2894 | VESHUP AND A |
||
2895 | SBC HL,DE |
||
2896 | SBC HL,BC |
||
2897 | RET C |
||
2898 | VSH_ ADD HL,BC |
||
2899 | LD (MSTRT+2),HL |
||
2900 | LD HL,INV+1 |
||
2901 | INC (HL) |
||
2902 | |||
2903 | LD HL,SND_LST |
||
2904 | LD (SAMPLE+1),HL |
||
2905 | NP |
||
2906 | LD A,(KARM) |
||
2907 | AND A |
||
2908 | RET NZ |
||
2909 | NP2 LD A,1 ;㠫쭮 ⨥ |
||
2910 | LD (CCURS+1),A |
||
2911 | RET |
||
2912 | |||
2913 | VESHDW ADD HL,DE |
||
2914 | AND A |
||
2915 | SBC HL,BC |
||
2916 | LD A,L |
||
2917 | CP QVESH-4 |
||
2918 | RET NC |
||
2919 | JR VSH_ |
||
2920 | |||
2921 | ;. ⥪ |
||
966 | alone | 2922 | if MEGALZ |
2923 | include "unmegalz.asm" ;DEC40 |
||
2924 | |||
2925 | GL INCBIN "gleb.mlz" |
||
2926 | ZL INCBIN "zlovet.mlz" |
||
2927 | HV INCBIN "hevor.mlz" |
||
2928 | BK_ INCBIN "bukvin.mlz" |
||
2929 | JO INCBIN "jora.mlz" |
||
2930 | PT INCBIN "petro.mlz" |
||
2931 | AL INCBIN "alena.mlz" |
||
2932 | FK INCBIN "fekla.mlz" |
||
2933 | ZD_ INCBIN "zadolb.mlz" |
||
2934 | RP INCBIN "replic.mlz" |
||
2935 | else ;HRUST2 |
||
930 | alone | 2936 | GL INCBIN "GLEB.p" |
2937 | ZL INCBIN "ZLOVET.p" |
||
2938 | HV INCBIN "HEVOR.p" |
||
2939 | BK_ INCBIN "BUKVIN.p" |
||
2940 | JO INCBIN "JORA.p" |
||
2941 | PT INCBIN "PETRO.p" |
||
2942 | AL INCBIN "ALENA.p" |
||
2943 | FK INCBIN "FEKLA.p" |
||
2944 | ZD_ INCBIN "ZADOLB.p" |
||
2945 | RP INCBIN "REPLIC.p" |
||
966 | alone | 2946 | endif |
930 | alone | 2947 | |
2948 | SPRMENU |
||
2949 | INCBIN "GAMEMEN4.C" ;ࠩ |
||
2950 | |||
2951 | ENDPROG ;EQU SPRMENU+1248 |
||
2952 | |||
2953 | page PG_MAP |
||
2954 | MAP EQU #C000 |
||
2955 | if 1==1 |
||
2956 | org 0xc000 |
||
2957 | if EGA |
||
2958 | incbin "map.dat" |
||
2959 | else |
||
2960 | incbin "map6912.dat" |
||
2961 | endif |
||
2962 | incbin "mapflags.dat" |
||
2963 | endif |
||
2964 | MASSIVE EQU MAP+8192 |
||
2965 | ORG MASSIVE+4096;,PG_MAP |
||
2966 | DNPK |
||
2967 | INCBIN "Day_nght.p" ;467 . ࠩ |
||
2968 | ;page PG_MAP |
||
2969 | ;ORG DNPK+467;,PG_MAP |
||
2970 | INCLUDE "SCRIPTS.asm" ;ਯ |
||
2971 | |||
2972 | SRCH_PATH |
||
2973 | INCLUDE "PATH-48H.asm" ; 531 |
||
2974 | stack DS 4*(DX_MAP+DY_MAP) ;+ 512 |
||
2975 | ;⮣ 1043 |
||
2976 | |||
2977 | ;DISPLAY /H,/T,MMENU |
||
2978 | ;DISPLAY /H,/T,mouse+1 |
||
2979 | ;DISPLAY /H,/T,ROLL |
||
2980 | ;DISPLAY /H,/T,SCANTYP+1 |
||
2981 | ;DISPLAY /H,/T,MSPEED+1 |
||
2982 | ;DISPLAY /H,/T,MUSONp1 |
||
2983 | ;DISPLAY /H,/T,SOUND |
||
2984 | |||
2985 | LN_MISC EQU $-#C000 |
||
2986 | MISCFRE EQU #FFFF-$ |
||
2987 | LN_MAP EQU stack-DNPK |
||
2988 | |||
2989 | DISPLAY "PG_MISC FREE=",MISCFRE |
||
2990 | DISPLAY "PG_MAP FREE = ",#FFFF-stack-512 |
||
2991 | ;DISPLAY " = ",IM2 |
||
2992 | ;DISPLAY ". = ",ENDPROG-IM2 |
||
2993 | ; DISPLAY ". ⥪⮢ = ",NOTUSE-GL |
||
2994 | ; DISPLAY ". ਯ⮢ = ",SND-RUN_Q |
||
2995 | DISPLAY " = ",#C000-ENDPROG |
||
2996 | ;DISPLAY "६ = ",IM2-VARS |
||
2997 | |||
2998 | MAPMAS EQU #C000 |
||
2999 | KSCR EQU MAPMAS+4053 |
||
3000 | BKEY EQU KSCR+3673 |
||
3001 | ABOUTS EQU BKEY+4267 ; , |
||
3002 | FINPACK EQU ABOUTS+1781 |
||
3003 | ;LODSAV EQU FINPACK+1787 |
||
3004 | page PG_MISC |
||
3005 | ORG #C000;,PG_MISC |
||
3006 | TEXT ;㤠 ᯠ. ⥪ |
||
3007 | INCBIN "MapMass.p" ;4053 ;㯠 (ᯠ뢠 PG_MAP), ⮬ 뢠 ⥪⮬ ⥪饣 |
||
3008 | INCBIN "KeyScr4.plc" ;3673 |
||
3009 | INCBIN "BELLKEY4.plc" ;4267 |
||
3010 | INCBIN "ABOUTY.p" ;1781 |
||
3011 | INCBIN "BVssVMft.p" ;1787 ; 䨭 |
||
3012 | ;DISP #5800 |
||
3013 | ;INCLUDE "saveload.asm" ;㧪/ ﭨ |
||
3014 | ;ENT |
||
3015 | ;LENLS EQU $-LODSAV |
||
3016 | FINAL INCLUDE "FINAL.asm" ; |
||
3017 | |||
3018 | page PG_SPR |
||
3019 | ORG #C000;,PG_SPR |
||
3020 | if EGA |
||
3021 | include "cursors.ast" ;276 (0x114) |
||
3022 | ;include "hud.ast" |
||
3023 | SPR=0xc000 ; ⠩ (⮬ 뢮 뢠) |
||
3024 | else |
||
3025 | SPR |
||
3026 | INCBIN "SPRITEMh.C" ;16384 |
||
3027 | endif |
||
3028 | |||
3029 | page PG_HERO |
||
3030 | ORG #C000;,PG_HERO |
||
3031 | if !EGA |
||
3032 | hero |
||
3033 | VIDS EQU hero+6144 |
||
3034 | INCBIN "HeroSprX.C" ;6144 |
||
3035 | else |
||
3036 | hero=0;0x8000/4 |
||
3037 | VIDS |
||
3038 | endif |
||
3039 | INCBIN "VIDEO.p" ;㯠. =10202, ᯠ.=12132 |
||
3040 | |||
3041 | page PG_MUZ |
||
3042 | ORG #C000+5782;,PG_MUZ |
||
3043 | PLAY |
||
3044 | MUTE EQU PLAY+5 |
||
3045 | VOLUME EQU PLAY+10 |
||
3046 | MUSM EQU PLAY+2139 |
||
3047 | MUS0 EQU MUSM+912 |
||
3048 | MUS1 EQU MUS0+722 |
||
3049 | MUS2 EQU MUS1+413 |
||
3050 | MUS3 EQU MUS2+1074 |
||
3051 | MUSF EQU MUS3+1161 |
||
3052 | VARSPK EQU MUSF+3099 |
||
3053 | MUSIC EQU #C000+3222 |
||
3054 | |||
3055 | page PG_MUZ |
||
3056 | ;ORG MUSIC |
||
3057 | ;incbin "Menu.m--" |
||
3058 | ORG PLAY-824;,PG_MUZ |
||
3059 | INTRO |
||
3060 | INCBIN "B1_otrez.m--"; |
||
3061 | INCBIN "PLAYERX.C" ; 모 |
||
3062 | INCBIN "Menu.p" |
||
3063 | INCBIN "vera_00.p" |
||
3064 | INCBIN "vera_01.p" |
||
3065 | INCBIN "vera_02.p" |
||
3066 | INCBIN "vera_03.p" |
||
3067 | INCBIN "russia80.p" |
||
3068 | ;INCBIN "VARS_PAK.p" ;1020 |
||
3069 | |||
3070 | LN_MUZ EQU VARSPK+1020-INTRO |
||
3071 | LN_HERO EQU 6144+10202 |
||
3072 | |||
3073 | page PG_VIEW |
||
3074 | ORG #C000+6912;,PG_VIEW |
||
3075 | FNT |
||
3076 | SPR33 EQU FNT+2048 |
||
3077 | wasARROWS EQU SPR33+3456 |
||
3078 | VIEW EQU wasARROWS+szARROWS |
||
3079 | NG_MASK EQU VIEW+1039 |
||
3080 | WIN_SPR EQU NG_MASK+384 ; 192 |
||
3081 | NG EQU WIN_SPR+496 ; ᯠ. ࠩ |
||
3082 | ;REZULT EQU #5802 ; 192 |
||
3083 | INCBIN "4AXORFIX.F" ;2048 䮭 Pulsar' |
||
3084 | if EGA |
||
3085 | ds 3456 |
||
3086 | else |
||
3087 | INCBIN "spr3x3.C" ;3456 ;TODO 㡨 EGA |
||
3088 | endif |
||
3089 | ds 1440 ;INCBIN "spr2x2x.C" ;1440 ;५ 㦭 |
||
3090 | if EGA |
||
3091 | ds 1039+384+496 |
||
3092 | else |
||
3093 | INCBIN "IFACE.plc" ;1039 ;TODO 㡨 EGA |
||
3094 | INCBIN "Ngh_arr3.C" ;384 ࠩ ᪨ ५ OR ;TODO 㡨 EGA |
||
3095 | INCBIN "WIN_SPR.C" ;496 ࠩ ;TODO 㡨 EGA |
||
3096 | endif |
||
3097 | |||
3098 | LN_VIEW EQU NG-FNT |
||
3099 | |||
3100 | page PGHUD |
||
3101 | org 0xc000 |
||
3102 | include "hud.ast" |
||
3103 | szhud=$-0xc000 |
||
3104 | |||
3105 | page PGDAYNIGHT |
||
3106 | org 0xc000 |
||
3107 | include "daynight.ast" |
||
3108 | ;hudmenu |
||
3109 | include "hudmenu.ast" |
||
3110 | szdaynight=$-0xc000 |
||
3111 | |||
3112 | ; ࠭ ᮤন ࠭ |
||
3113 | ; :RUN SOBJ |
||
3114 | ; ORG SPRMENU |
||
3115 | ;SOBJ INCLUDE "SAVEOBJ" |
||
3116 | |||
3117 | ;ORG MMENU ;start here |
||
3118 | |||
3119 | ;savebin "VERAVARS.C",VARS,endvars-VARS |
||
3120 | |||
1001 | alone | 3121 | if RUS |
930 | alone | 3122 | savebin "vera.com",begin,ENDPROG-begin |
3123 | savebin "vera/vars.bin",VARS,0x600 |
||
1001 | alone | 3124 | else |
3125 | savebin "veraeng.com",begin,ENDPROG-begin |
||
3126 | savebin "vera/varseng.bin",VARS,0x600 |
||
3127 | endif |
||
930 | alone | 3128 | |
3129 | page PG_SPR |
||
3130 | savebin "vera/0_page.bin",SPR,16384 |
||
3131 | page PG_MAP |
||
1001 | alone | 3132 | if RUS |
930 | alone | 3133 | savebin "vera/1_page.bin",0xc000,LN_MAP+0x3000;,DNPK,LN_MAP |
1001 | alone | 3134 | else |
3135 | savebin "vera/1_pageng.bin",0xc000,LN_MAP+0x3000;,DNPK,LN_MAP |
||
3136 | endif |
||
930 | alone | 3137 | ;savebin "vera/1_page.bin",DNPK,LN_MAP |
3138 | page PG_MISC |
||
1001 | alone | 3139 | if RUS |
930 | alone | 3140 | savebin "vera/3_page.bin",0xc000,LN_MISC |
1001 | alone | 3141 | else |
3142 | savebin "vera/3_pageng.bin",0xc000,LN_MISC |
||
3143 | endif |
||
930 | alone | 3144 | page PG_HERO |
3145 | savebin "vera/4_page.bin",0xc000,LN_HERO |
||
3146 | page PG_MUZ |
||
3147 | savebin "vera/6_page.bin",0xc000,0x4000;INTRO,LN_MUZ |
||
3148 | page PG_VIEW |
||
3149 | savebin "vera/7_page.bin",FNT,LN_VIEW |
||
3150 | page PGHUD |
||
3151 | savebin "vera/hud.bin",0xc000,szhud |
||
3152 | page PGDAYNIGHT |
||
3153 | savebin "vera/daynight.bin",0xc000,szdaynight |
||
3154 | |||
3155 | LABELSLIST "../../../us/user.l" |
||
1001 | alone | 3156 | |
3157 | display "HEROCRD=",HEROCRD |
||
3158 |