Mad-Assembler v1.2.9beta by TeBe/Madteam Source: D:\!Delphi\Masm\Przyklady\pro_tracker_1.5.1\pro_tracker.asm 1 ;- ProTracker v1.51 03.05.2003 2 ;- Profi/Madteam 3 4 ;- przerobka na format Mads 19.11.2004 by TeBe 5 6 ;- drobne poprawki 7 ;- optymalizacja procedur zmiany oktawy '_up' '_dn' 8 9 = 00,00E0 filndn equ $e0 10 = 00,00E2 filord equ filndn+2 11 = 00,00E4 patno equ filord+2 12 = 00,00E5 patend equ patno+1 13 = 00,00E6 pataed equ patend+1 14 = 00,00E7 patadr equ pataed+1 15 = 00,00E9 cnts equ patadr+2 16 = 00,00EA pause equ cnts+1 17 = 00,00EB istr_4 equ pause+1 18 = 00,00EE tse equ istr_4+3 19 = 00,00F0 _ol equ tse+2 20 = 00,00F2 _sc equ _ol+2 21 = 00,00F4 _sr equ _sc+2 22 = 00,00F6 fpisz equ _sr+2 23 = 00,00F8 _dx equ fpisz+2 24 = 00,00FA lop equ _dx+2 25 = 00,00FC hlp equ lop+2 26 = 00,00FE pse equ hlp+2 27 28 = 00,0000 ZeroPage equ 0 29 30 = 00,BB00 _bnk equ $bb00 31 = 00,BB00 _bf equ $bb00 32 33 = 00,8800 volume equ $8800 34 = 00,2000 fnt equ $2000 35 = 00,C600 PatternAdres equ $c600 36 = 00,FF00 AdrTidl equ $ff00 37 = 00,FE00 AdrTid2 equ $fe00 38 39 40 opt h- 41 org fnt 42 00,2000 FF FF 00 20 FF + ins 'tracker.fnt' ;pod $2000 43 00,2406 org volume 44 00,8800 FF FF 00 88 FF + ins 'volume.tab' ;pod $8800 45 46 opt h+o+ 47 00,A806 org $2400 48 49 00,2400-44FC> 50 42 78 + dl dta b($50),b($42),a(skr) 50 00,2404 02 02 02 02 02 + dta d'""""""""""""""""""',b($82),b($82) 51 00,2418 02 02 02 02 02 + dta d'""""""""' 52 00,2420 41 00 24 dta b($41),a(dl) 53 54 00,2423 20 00 A8 init jsr move 55 00,2426 A9 00 lda #0 56 00,2428 A2 03 ldx #3 57 00,242A 9D 65 3C sta _offst,x 58 00,242D CA dex 59 00,242E 10 FA bpl *-4 60 61 00,2430 8D 14 AE sta _5+1 62 00,2433 8D B7 AE sta _a2+1 63 00,2436 8D 70 AD sta _n5+1 64 00,2439 8D C7 36 sta winpoz 65 00,243C 8D C9 36 sta p_pat 66 67 00,243F A9 40 lda #$40 68 00,2441 8D 43 3C sta _atmp+2 69 00,2444 A9 00 lda #0 70 00,2446 8D 41 3C sta _atmp 71 00,2449 8D 42 3C sta _atmp+1 72 00,244C 8D C2 36 sta n_pat 73 00,244F 8D C9 36 sta p_pat 74 00,2452 8D C7 36 sta winpoz 75 00,2455 8D 57 26 sta fi_0+1 76 00,2458 8D C8 36 sta p_trk 77 00,245B 8D CA 36 sta okt 78 00,245E 8D 91 40 sta o_win 79 00,2461 8D 92 40 sta o_licz 80 00,2464 8D 93 40 sta p_ord 81 00,2467 85 E4 sta patno 82 00,2469 A9 01 lda #1 83 00,246B 8D CC 36 sta n_inst 84 00,246E 8D C0 36 sta instr 85 00,2471 20 4B 26 jsr filneg 86 00,2474 20 72 26 jsr neg 87 00,2477 20 3A 06 jsr cl_k 88 89 00,247A BA tsx ;zapamietaj wskaznik 90 00,247B 8E CD 36 stx status ;stosu 91 92 00,247E 4C D5 43 jmp _clws 93 94 00,2481 20 F6 44 keybd jsr wait 95 00,2484 AD FC 02 lda 764 96 00,2487 C9 E7 cmp #231 97 00,2489 D0 03 bne *+5 98 00,248B 4C 71 B6 jmp _exit ;opusc program 99 00,248E C9 AD cmp #173 100 00,2490 D0 03 bne *+5 101 00,2492 4C EF 41 jmp _trans ;transpozycja 102 00,2495 C9 96 cmp #150 103 00,2497 D0 03 bne *+5 104 00,2499 4C 9C 40 jmp _exchg ;zmiana instrumentu 105 00,249C C9 47 cmp #71 106 00,249E D0 03 bne *+5 107 00,24A0 4C D1 25 jmp inc_p ;zwieksz nr. patternu 108 00,24A3 C9 46 cmp #70 109 00,24A5 D0 03 bne *+5 110 00,24A7 4C F7 25 jmp dec_p ;zmniejsz nr.patternu 111 00,24AA C9 0F cmp #15 112 00,24AC D0 03 bne *+5 113 00,24AE 4C 1B 26 jmp dn_p ;przes. w dol patt. 114 00,24B1 C9 0E cmp #14 115 00,24B3 D0 03 bne *+5 116 00,24B5 4C 31 26 jmp up_p ;przes. w gore patt. 117 00,24B8 C9 07 cmp #7 118 00,24BA D0 03 bne *+5 119 00,24BC 4C 83 25 jmp i_p ;przes. w prawo patt. 120 00,24BF C9 06 cmp #6 121 00,24C1 D0 03 bne *+5 122 00,24C3 4C AB 25 jmp d_p ;przes. w lewo patt. 123 00,24C6 C9 87 cmp #135 124 00,24C8 D0 03 bne *+5 125 00,24CA 4C 5D 25 jmp i_in ;zwieksz nr. sampla 126 00,24CD C9 86 cmp #134 127 00,24CF D0 03 bne *+5 128 00,24D1 4C 70 25 jmp d_in ;zmniejsz nr.sampla 129 00,24D4 C9 88 cmp #136 130 00,24D6 D0 03 bne *+5 131 00,24D8 4C 23 2C jmp o_jmp ;skocz do proc. orders 132 00,24DB C9 27 cmp #39 133 00,24DD D0 03 bne *+5 134 00,24DF 4C 2C 2C jmp _play ;odgrywaj modul 135 00,24E2 C9 AC cmp #172 136 00,24E4 D0 03 bne *+5 137 00,24E6 4C BC 35 jmp l_io ;procedury i/o 138 00,24E9 C9 A5 cmp #165 139 00,24EB D0 03 bne *+5 140 00,24ED 4C 85 2C jmp p_ply ;odgrywaj pattern 141 00,24F0 C9 36 cmp #54 142 00,24F2 D0 03 bne *+5 143 00,24F4 4C 60 43 jmp p_cli ;pattern do bufora 144 00,24F7 C9 37 cmp #55 145 00,24F9 D0 03 bne *+5 146 00,24FB 4C 83 43 jmp p_ilc ;pattern z bufora 147 00,24FE C9 F4 cmp #244 148 00,2500 D0 03 bne *+5 149 00,2502 4C D5 43 jmp _clws ;wyczysc cala pamiec 150 00,2505 C9 DA cmp #218 151 00,2507 D0 03 bne *+5 152 00,2509 4C 8E 44 jmp _coptr ;track do bufora 153 00,250C C9 D8 cmp #216 154 00,250E D0 03 bne *+5 155 00,2510 4C AF 44 jmp _buptr ;track z bufora 156 00,2513 C9 77 cmp #119 157 00,2515 D0 03 bne *+5 158 00,2517 4C 55 AC jmp _movi ;insert pos. track 159 00,251A C9 74 cmp #116 160 00,251C D0 03 bne *+5 161 00,251E 4C B4 AC jmp _movd ;delete pos. track 162 00,2521 C9 DB cmp #219 163 00,2523 F0 18 beq _j18 164 00,2525 C9 F3 cmp #243 165 00,2527 F0 19 beq _j18+5 166 00,2529 C9 F5 cmp #245 167 00,252B F0 1A beq _j18+10 168 00,252D C9 F0 cmp #240 169 00,252F F0 1B beq _j18+15 170 00,2531 20 32 3B jsr _offtrack 171 00,2534 20 2C 29 jsr _pput 172 00,2537 20 62 2A jsr _ppoz 173 00,253A 4C 81 24 jmp keybd 174 175 00,253D A9 00 _j18 lda #0 176 00,253F 4C 4E 25 jmp *+15 ;skok do poz 00 177 00,2542 A9 10 lda #$10 178 00,2544 4C 4E 25 jmp *+10 ;skok do poz 10 179 00,2547 A9 20 lda #$20 180 00,2549 4C 4E 25 jmp *+5 ;skok do poz 20 181 00,254C A9 30 lda #$30 ;skok do poz 30 182 00,254E 8D C7 36 sta winpoz 183 00,2551 20 80 26 jsr srt2 184 00,2554 20 72 26 jsr neg 185 00,2557 20 3A 06 jsr cl_k 186 00,255A 4C 81 24 jmp keybd 187 188 00,255D AD CC 36 i_in lda n_inst 189 00,2560 C9 1F cmp #31 190 00,2562 F0 03 beq *+5 191 00,2564 EE CC 36 inc n_inst 192 00,2567 20 9E 2A jsr p_ins 193 00,256A 20 3A 06 jsr cl_k 194 00,256D 4C 81 24 jmp keybd 195 196 00,2570 AD CC 36 d_in lda n_inst 197 00,2573 C9 01 cmp #1 198 00,2575 F0 03 beq *+5 199 00,2577 CE CC 36 dec n_inst 200 00,257A 20 9E 2A jsr p_ins 201 00,257D 20 3A 06 jsr cl_k 202 00,2580 4C 81 24 jmp keybd 203 204 00,2583 AD C8 36 i_p lda p_trk 205 00,2586 C9 03 cmp #3 206 00,2588 D0 0F bne *+17 207 00,258A 20 5F 26 jsr s_eor 208 00,258D 20 D0 26 jsr s_trk 209 00,2590 20 5F 26 jsr s_eor 210 00,2593 20 3A 06 jsr cl_k 211 00,2596 4C 81 24 jmp keybd 212 00,2599 EE C8 36 inc p_trk 213 00,259C 20 5F 26 jsr s_eor 214 00,259F 20 D0 26 jsr s_trk 215 00,25A2 20 5F 26 jsr s_eor 216 00,25A5 20 3A 06 jsr cl_k 217 00,25A8 4C 81 24 jmp keybd 218 219 00,25AB AD C8 36 d_p lda p_trk 220 00,25AE D0 0F bne *+17 221 00,25B0 20 5F 26 jsr s_eor 222 00,25B3 20 D0 26 jsr s_trk 223 00,25B6 20 5F 26 jsr s_eor 224 00,25B9 20 3A 06 jsr cl_k 225 00,25BC 4C 81 24 jmp keybd 226 00,25BF CE C8 36 dec p_trk 227 00,25C2 20 5F 26 jsr s_eor 228 00,25C5 20 D0 26 jsr s_trk 229 00,25C8 20 5F 26 jsr s_eor 230 00,25CB 20 3A 06 jsr cl_k 231 00,25CE 4C 81 24 jmp keybd 232 233 00,25D1 AD C2 36 inc_p lda n_pat 234 00,25D4 C9 21 cmp #33 ;patternow jest 34 235 00,25D6 F0 19 beq in_1 236 00,25D8 EE C2 36 inc n_pat 237 00,25DB 20 48 28 jsr set_h0 238 00,25DE 20 6B 28 jsr set_sc 239 00,25E1 A9 0F lda #15 240 00,25E3 8D BF 36 sta licznik 241 00,25E6 A9 00 lda #0 242 00,25E8 8D C9 36 sta p_pat 243 00,25EB 20 80 26 jsr srt2 244 00,25EE 20 5F 26 jsr s_eor 245 00,25F1 20 3A 06 in_1 jsr cl_k 246 00,25F4 4C 81 24 jmp keybd 247 248 00,25F7 AD C2 36 dec_p lda n_pat 249 00,25FA F0 19 beq in_2 250 00,25FC CE C2 36 dec n_pat 251 00,25FF 20 48 28 jsr set_h0 252 00,2602 20 6B 28 jsr set_sc 253 00,2605 A9 0F lda #15 254 00,2607 8D BF 36 sta licznik 255 00,260A A9 00 lda #0 256 00,260C 8D C9 36 sta p_pat 257 00,260F 20 80 26 jsr srt2 258 00,2612 20 5F 26 jsr s_eor 259 00,2615 20 3A 06 in_2 jsr cl_k 260 00,2618 4C 81 24 jmp keybd 261 262 00,261B AD C7 36 dn_p lda winpoz 263 00,261E C9 3F cmp #63 264 00,2620 F0 23 beq tam2 265 00,2622 EE C7 36 inc winpoz 266 00,2625 20 3A 06 jsr cl_k 267 00,2628 20 80 26 jsr srt2 268 00,262B 20 72 26 jsr neg 269 00,262E 4C 45 26 jmp tam2 270 271 00,2631 AD C7 36 up_p lda winpoz 272 00,2634 F0 0F beq tam2 273 00,2636 CE C7 36 dec winpoz 274 00,2639 20 3A 06 jsr cl_k 275 00,263C 20 80 26 jsr srt2 ;wyrzuc pattern na ekran 276 00,263F 20 72 26 jsr neg 277 00,2642 4C 81 24 jmp keybd 278 279 00,2645 20 3A 06 tam2 jsr cl_k 280 00,2648 4C 81 24 jmp keybd 281 282 00,264B A9 9C filneg lda scr+284 285 00,2651 85 E1 sta filndn+1 286 00,2653 18 clc 287 00,2654 A5 E0 lda filndn 288 00,2656 69 00 fi_0 adc #0 ;w ktorym track'u jest 289 00,2658 85 E0 sta filndn ;kursor 290 00,265A 90 02 bcc *+4 291 00,265C E6 E1 inc filndn+1 292 00,265E 60 rts 293 294 00,265F 20 4B 26 s_eor jsr filneg ;eor na pozycji 295 00,2662 20 66 26 jsr fneg 296 00,2665 60 rts 297 298 00,2666 A0 07 fneg ldy #7 ;eor 8 komorek 299 00,2668 B1 E0 lda (filndn),y ;pamieci ekranu 300 00,266A 49 80 eor #$80 301 00,266C 91 E0 sta (filndn),y 302 00,266E 88 dey 303 00,266F 10 F7 bpl *-7 304 00,2671 60 rts 305 306 00,2672 A2 07 neg ldx #7 ;srodkowa linia 307 00,2674 BD 9C B9 ng_2 lda scr+284,x ;okna patt. 308 00,2677 49 80 eor #$80 309 00,2679 9D 9C B9 ng_3 sta scr+284,x 310 00,267C CA dex 311 00,267D 10 F5 bpl ng_2 312 00,267F 60 rts 313 314 00,2680 20 48 28 srt2 jsr set_h0 315 00,2683 AD C7 36 lda winpoz 316 00,2686 AA tax 317 00,2687 38 sec 318 00,2688 E9 07 sbc #7 319 00,268A 10 05 bpl *+7 320 00,268C A2 00 ldx #0 | 321 00,268E 4C 98 26 jmp _sr3 | 322 00,2691 AD C7 36 lda winpoz  323 00,2694 38 sec 324 00,2695 E9 07 sbc #7 325 00,2697 AA tax 326 00,2698 F0 0E _sr3 beq *+16 327 00,269A 18 clc | 328 00,269B A5 FC lda hlp || 329 00,269D 69 0C adc #12 || 330 00,269F 85 FC sta hlp || 331 00,26A1 90 02 bcc *+4 || 332 00,26A3 E6 FD inc hlp+1 || 333 00,26A5 CA dex || 334 00,26A6 D0 F2 bne *-12 | 335 00,26A8 20 6B 28 jsr set_sc  336 00,26AB A9 0F lda #15 337 00,26AD 8D BF 36 sta licznik 338 00,26B0 AD C7 36 lda winpoz 339 00,26B3 8D C9 36 sta p_pat 340 00,26B6 38 sec 341 00,26B7 E9 07 sbc #7 342 00,26B9 10 05 bpl *+7 343 00,26BB A9 00 lda #0 | 344 00,26BD 4C C6 26 jmp *+9 | 345 00,26C0 AD C7 36 lda winpoz  346 00,26C3 38 sec 347 00,26C4 E9 07 sbc #7 348 00,26C6 8D C9 36 sta p_pat 349 00,26C9 20 26 27 jsr start 350 00,26CC 20 3A 06 jsr cl_k 351 00,26CF 60 rts 352 353 00,26D0 AE C8 36 s_trk ldx p_trk ;ustawia adres 354 00,26D3 BD D5 37 lda _tn2,x 355 00,26D6 8D 75 26 sta ng_2+1 356 00,26D9 8D 7A 26 sta ng_3+1 357 00,26DC BD D9 37 lda _tn3,x 358 00,26DF 8D 76 26 sta ng_2+2 359 00,26E2 8D 7B 26 sta ng_3+2 360 361 00,26E5 BD DD 37 lda _tn4,x 362 00,26E8 8D 57 26 sta fi_0+1 363 00,26EB 60 rts 364 365 00,26EC 8E BD 36 _put0 stx pomoc 366 00,26EF A2 07 ldx #7 367 00,26F1 A9 00 lda #' '-32 368 00,26F3 9D B1 36 sta bf_tmp,x 369 00,26F6 CA dex 370 00,26F7 10 FA bpl *-4 371 00,26F9 A0 0B ldy #11 372 00,26FB 20 1A 27 jsr writ2 373 00,26FE A0 14 ldy #20 374 00,2700 20 1A 27 jsr writ2 375 00,2703 A0 1D ldy #29 376 00,2705 20 1A 27 jsr writ2 377 00,2708 A0 26 ldy #38 378 00,270A 20 1A 27 jsr writ2 379 00,270D A0 01 ldy #1 380 00,270F A9 00 lda #' '-32 381 00,2711 91 FE sta (pse),y 382 00,2713 C8 iny 383 00,2714 91 FE sta (pse),y 384 00,2716 AE BD 36 ldx pomoc 385 00,2719 60 rts 386 387 00,271A A2 07 writ2 ldx #7 388 00,271C BD B1 36 lda bf_tmp,x 389 00,271F 91 FE sta (pse),y 390 00,2721 88 dey 391 00,2722 CA dex 392 00,2723 10 F7 bpl *-7 393 00,2725 60 rts 394 395 00,2726 AD C7 36 start lda winpoz 396 00,2729 38 sec 397 00,272A E9 07 sbc #7 398 00,272C 10 10 bpl _st0 399 00,272E AA tax 400 00,272F 20 EC 26 jsr _put0 401 00,2732 20 80 28 jsr in_pse 402 00,2735 CE BF 36 dec licznik 403 00,2738 E8 inx 404 00,2739 D0 F4 bne *-10 405 00,273B 4C 6D 27 jmp _st2 406 407 00,273E AD C7 36 _st0 lda winpoz 408 00,2741 C9 38 cmp #56 409 00,2743 90 28 bcc _st2 410 00,2745 F0 26 beq _st2 411 00,2747 A9 38 lda #56 412 00,2749 38 sec 413 00,274A ED C7 36 sbc winpoz ;A=56-winpoz 414 00,274D 18 clc 415 00,274E 6D BF 36 adc licznik 416 00,2751 8D BF 36 sta licznik 417 00,2754 A8 tay 418 00,2755 AA tax 419 00,2756 20 6B 28 jsr set_sc 420 00,2759 20 80 28 jsr in_pse 421 00,275C 88 dey 422 00,275D D0 FA bne *-4 423 00,275F 20 EC 26 jsr _put0 424 00,2762 20 80 28 jsr in_pse 425 00,2765 E8 inx 426 00,2766 E0 0F cpx #15 427 00,2768 D0 F5 bne *-9 428 00,276A 20 6B 28 jsr set_sc 429 430 00,276D AE C9 36 _st2 ldx p_pat ;wyswietla pattern 431 00,2770 20 8C 28 jsr p_hex ;na ekranie 432 00,2773 AE C5 36 ldx cf_1 433 00,2776 BD 45 AC lda hex,x 434 00,2779 A0 01 ldy #1 435 00,277B 91 FE sta (pse),y 436 00,277D C8 iny 437 00,277E AE C6 36 ldx cf_1+1 438 00,2781 BD 45 AC lda hex,x 439 00,2784 91 FE sta (pse),y 440 441 00,2786 20 9F 28 jsr y_0 442 00,2789 A0 04 ldy #4 443 00,278B 20 D6 27 jsr write 444 00,278E 20 74 28 jsr n_hlp 445 446 00,2791 20 9F 28 jsr y_0 447 00,2794 A0 0D ldy #13 448 00,2796 20 D6 27 jsr write 449 00,2799 20 74 28 jsr n_hlp 450 451 00,279C 20 9F 28 jsr y_0 452 00,279F A0 16 ldy #22 453 00,27A1 20 D6 27 jsr write 454 00,27A4 20 74 28 jsr n_hlp 455 456 00,27A7 20 9F 28 jsr y_0 457 00,27AA A0 1F ldy #31 458 00,27AC 20 D6 27 jsr write 459 00,27AF 20 74 28 jsr n_hlp 460 00,27B2 20 80 28 jsr in_pse 461 462 00,27B5 EE C9 36 inc p_pat 463 00,27B8 CE BF 36 dec licznik 464 00,27BB D0 B0 bne _st2 465 00,27BD AE C2 36 ldx n_pat 466 00,27C0 20 8C 28 jsr p_hex 467 00,27C3 AE C5 36 ldx cf_1 468 00,27C6 BD 45 AC lda hex,x 469 00,27C9 8D 22 B7 sta _e2+10 470 00,27CC AE C6 36 ldx cf_1+1 471 00,27CF BD 45 AC lda hex,x 472 00,27D2 8D 23 B7 sta _e2+11 473 00,27D5 60 rts 474 475 00,27D6 AE C1 36 write ldx nuta ;wyswietla w danym 476 00,27D9 BD FA 36 lda t_nut,x ;tracku nute,instrument 477 00,27DC 91 FE sta (pse),y ;komende 478 00,27DE C8 iny 479 00,27DF BD 1F 37 lda t_okt,x 480 00,27E2 91 FE sta (pse),y 481 00,27E4 C8 iny 482 00,27E5 BD 44 37 lda _hash,x 483 00,27E8 91 FE sta (pse),y 484 00,27EA C8 iny 485 486 00,27EB AE C0 36 ldx instr 487 00,27EE F0 3A beq zer0 488 00,27F0 20 8C 28 jsr p_hex 489 00,27F3 AE C5 36 ldx cf_1 490 00,27F6 BD 45 AC lda hex,x 491 00,27F9 91 FE sta (pse),y 492 00,27FB C8 iny 493 00,27FC AE C6 36 ldx cf_1+1 494 00,27FF BD 45 AC lda hex,x 495 00,2802 91 FE sta (pse),y 496 00,2804 C8 iny 497 498 00,2805 AE C3 36 _w1 ldx komend 499 00,2808 F0 2B beq zer1 500 00,280A BD 45 AC lda hex,x 501 00,280D 91 FE sta (pse),y 502 00,280F C8 iny 503 504 00,2810 AE C4 36 ldx kom 505 00,2813 F0 2B beq zer2 506 00,2815 20 8C 28 jsr p_hex 507 00,2818 AE C5 36 ldx cf_1 508 00,281B BD 45 AC lda hex,x 509 00,281E 91 FE sta (pse),y 510 00,2820 C8 iny 511 00,2821 AE C6 36 ldx cf_1+1 512 00,2824 BD 45 AC lda hex,x 513 00,2827 91 FE sta (pse),y 514 00,2829 60 rts 515 516 00,282A A9 0D zer0 lda #'-'-32 517 00,282C 91 FE sta (pse),y 518 00,282E C8 iny 519 00,282F 91 FE sta (pse),y 520 00,2831 C8 iny 521 00,2832 4C 05 28 jmp _w1 522 523 00,2835 A9 10 zer1 lda #'0'-32 524 00,2837 91 FE sta (pse),y 525 00,2839 C8 iny 526 00,283A 91 FE sta (pse),y 527 00,283C C8 iny 528 00,283D 91 FE sta (pse),y 529 00,283F 60 rts 530 531 00,2840 A9 10 zer2 lda #'0'-32 532 00,2842 91 FE sta (pse),y 533 00,2844 C8 iny 534 00,2845 91 FE sta (pse),y 535 00,2847 60 rts 536 537 00,2848 20 61 28 set_h0 jsr set_hl ;ustawia adres pocz. 538 00,284B AE C2 36 ldx n_pat ;wyswietlania patternu 539 00,284E F0 F7 beq *-7 540 00,2850 18 clc 541 00,2851 A5 FC lda hlp 542 00,2853 69 00 adc <$300 543 00,2855 85 FC sta hlp 544 00,2857 A5 FD lda hlp+1 545 00,2859 69 03 adc >$300 546 00,285B 85 FD sta hlp+1 547 00,285D CA dex 548 00,285E D0 F0 bne *-14 549 00,2860 60 rts 550 551 00,2861 A9 00 set_hl lda #0 552 00,2863 85 FC sta hlp 553 00,2865 AD 69 37 lda tapat 554 00,2868 85 FD sta hlp+1 555 00,286A 60 rts 556 557 00,286B A9 80 set_sc lda scr 560 00,2871 85 FF sta pse+1 561 00,2873 60 rts 562 563 00,2874 18 n_hlp clc 564 00,2875 A5 FC lda hlp 565 00,2877 69 03 adc #3 566 00,2879 85 FC sta hlp 567 00,287B 90 02 bcc *+4 568 00,287D E6 FD inc hlp+1 569 00,287F 60 rts 570 571 00,2880 18 in_pse clc 572 00,2881 A5 FE lda pse 573 00,2883 69 28 adc <40 574 00,2885 85 FE sta pse 575 00,2887 90 02 bcc *+4 576 00,2889 E6 FF inc pse+1 577 00,288B 60 rts 578 579 00,288C 8E BD 36 p_hex stx pomoc 580 00,288F 8A txa 581 00,2890 20 30 06 jsr _h 582 00,2893 8D C5 36 sta cf_1 583 00,2896 AD BD 36 lda pomoc 584 00,2899 29 0F and #$f 585 00,289B 8D C6 36 sta cf_1+1 586 00,289E 60 rts 587 588 *-----------------------------------* 589 * wyslij dane z patternu na ekran * 590 *-----------------------------------* 591 00,289F A0 01 y_0 ldy #1 592 00,28A1 B1 FC lda (hlp),y 593 00,28A3 29 1F and #$1f 594 00,28A5 F0 0F beq y_0c 595 00,28A7 8D C0 36 sta instr 596 597 00,28AA A0 00 ldy #0 598 00,28AC B1 FC lda (hlp),y 599 00,28AE 29 3F and #$3f 600 00,28B0 8D C1 36 sta nuta 601 00,28B3 4C BE 28 jmp y_4 602 603 00,28B6 8D C0 36 y_0c sta instr 604 00,28B9 A9 24 lda #36 605 00,28BB 8D C1 36 sta nuta 606 607 00,28BE A0 01 y_4 ldy #1 608 00,28C0 B1 FC lda (hlp),y 609 00,28C2 29 E0 and #$e0 610 00,28C4 C9 20 cmp #$20 611 00,28C6 F0 0B beq *+13 612 00,28C8 C9 40 cmp #$40 613 00,28CA F0 12 beq y_vol 614 00,28CC C9 80 cmp #$80 615 00,28CE F0 2B beq y_tmp 616 00,28D0 4C 08 29 jmp y_1 617 618 00,28D3 A9 0D lda #$d 619 00,28D5 8D C3 36 sta komend 620 00,28D8 A9 00 lda #0 621 00,28DA 8D C4 36 sta kom 622 00,28DD 60 rts 623 624 00,28DE A0 02 y_vol ldy #2 625 00,28E0 B1 FC lda (hlp),y 626 00,28E2 A2 00 ldx #0 627 00,28E4 DD E5 37 cmp tab_a1,x 628 00,28E7 F0 07 beq *+9 629 00,28E9 E8 inx 630 00,28EA E0 21 cpx #33 631 00,28EC D0 F6 bne *-8 632 00,28EE A2 00 ldx #0 633 00,28F0 8A txa 634 00,28F1 0A asl @ 635 00,28F2 8D C4 36 sta kom 636 00,28F5 A9 0C lda #$c 637 00,28F7 8D C3 36 sta komend 638 00,28FA 60 rts 639 640 00,28FB A0 02 y_tmp ldy #2 641 00,28FD B1 FC lda (hlp),y 642 00,28FF 8D C4 36 sta kom 643 00,2902 A9 0F lda #$f 644 00,2904 8D C3 36 sta komend 645 00,2907 60 rts 646 647 00,2908 A9 00 y_1 lda #0 648 00,290A 8D C3 36 sta komend 649 00,290D 8D C4 36 sta kom 650 00,2910 60 rts 651 652 *-----------------------* 653 * edycja nut,komend * 654 *-----------------------* 655 656 00,2911 A2 0C s_vol ldx #$c ;volume 657 00,2913 A0 40 ldy #$40 658 00,2915 4C 34 2D jmp j_kom 659 00,2918 A2 0D s_brk ldx #$d ;break 660 00,291A A0 20 ldy #$20 661 00,291C 4C 34 2D jmp j_kom 662 00,291F A2 0F s_tmp ldx #$f ;tempo 663 00,2921 A0 80 ldy #$80 664 00,2923 4C 34 2D jmp j_kom 665 666 00,2926 4C C8 29 jmp _up ;obsluga klawiszy 667 00,2929 4C F3 29 jmp _dn ;(zmiana oktaw) 668 669 00,292C 8D BD 36 _pput sta pomoc ;wpisywanie nut 670 00,292F C9 8E cmp #142 ;i komend 671 00,2931 F0 F3 beq *-11 672 00,2933 C9 8F cmp #143 673 00,2935 F0 F2 beq *-12 674 00,2937 C9 92 cmp #146 675 00,2939 F0 D6 beq s_vol ;volume 676 00,293B C9 BA cmp #186 677 00,293D F0 D9 beq s_brk ;break 678 00,293F C9 B8 cmp #184 679 00,2941 F0 DC beq s_tmp ;tempo 680 00,2943 A2 00 ldx #0 681 00,2945 C9 21 cmp #33 682 00,2947 D0 1F bne _s0 683 00,2949 A9 0D lda #'-'-32 684 00,294B 9D B1 36 sta bf_tmp,x 685 00,294E E8 inx 686 00,294F E0 05 cpx #5 687 00,2951 D0 F8 bne *-6 688 00,2953 A9 10 lda #'0'-32 689 00,2955 9D B1 36 sta bf_tmp,x 690 00,2958 E8 inx 691 00,2959 E0 08 cpx #8 692 00,295B D0 F8 bne *-6 693 00,295D A9 00 lda #0 694 00,295F 8D C1 36 sta nuta 695 00,2962 8D C0 36 sta instr 696 00,2965 4C A5 29 jmp _s3 697 00,2968 AD CC 36 _s0 lda n_inst 698 00,296B 8D C0 36 sta instr 699 00,296E AD BD 36 lda pomoc 700 00,2971 DD 99 36 cmp t_klw,x 701 00,2974 D0 49 bne _s1 702 00,2976 20 01 2A jsr _pr 703 00,2979 8A txa 704 00,297A 18 clc 705 00,297B 6D CB 36 adc przes 706 00,297E AA tax 707 00,297F 8E C1 36 stx nuta 708 00,2982 BD FA 36 lda t_nut,x 709 00,2985 8D B1 36 sta bf_tmp 710 00,2988 BD 1F 37 lda t_okt,x 711 00,298B 8D B2 36 sta bf_tmp+1 712 00,298E BD 44 37 lda _hash,x 713 00,2991 8D B3 36 sta bf_tmp+2 714 00,2994 A9 10 lda #'0'-32 715 00,2996 8D B6 36 sta bf_tmp+5 716 00,2999 8D B7 36 sta bf_tmp+6 717 00,299C 8D B8 36 sta bf_tmp+7 718 00,299F 20 CC 3B jsr _psmp 719 00,29A2 20 60 06 jsr _ondli 720 00,29A5 20 7A 2A _s3 jsr set_in 721 00,29A8 20 1A 2A jsr _pscr 722 00,29AB AD C7 36 lda winpoz 723 00,29AE C9 3F cmp #63 724 00,29B0 F0 06 beq *+8 725 00,29B2 EE C7 36 inc winpoz 726 00,29B5 20 80 26 jsr srt2 727 00,29B8 20 72 26 jsr neg 728 00,29BB 20 3A 06 jsr cl_k 729 00,29BE 60 rts 730 731 00,29BF E8 _s1 inx 732 00,29C0 E0 18 cpx #24 733 00,29C2 D0 01 bne *+3 734 00,29C4 60 rts 735 736 00,29C5 4C 68 29 jmp _s0 737 738 00,29C8 AD CA 36 _up lda okt ;podnies oktawe 1 wyzej 739 00,29CB C9 02 cmp #2 740 00,29CD F0 20 beq _up1 741 00,29CF EE CA 36 inc okt 742 00,29D2 EE CA 36 inc okt 743 00,29D5 AE CA 36 _oktShow ldx okt 744 00,29D8 BD F5 36 lda oktawa,x 745 00,29DB 8D F9 B6 sta _e1+9 746 00,29DE E8 inx 747 00,29DF BD F5 36 lda oktawa,x 748 00,29E2 8D FA B6 sta _e1+10 749 00,29E5 E8 inx 750 00,29E6 BD F5 36 lda oktawa,x 751 00,29E9 8D FB B6 sta _e1+11 752 00,29EC 20 01 2A jsr _pr 753 00,29EF 20 3A 06 _up1 jsr cl_k 754 00,29F2 60 rts 755 756 00,29F3 AD CA 36 _dn lda okt ;opusc oktawe nizej 757 00,29F6 F0 F7 beq _up1 758 00,29F8 CE CA 36 dec okt 759 00,29FB CE CA 36 dec okt 760 761 ; ldx okt 762 ; lda oktawa,x 763 ; sta _e1+9 764 ; inx 765 ; lda oktawa,x 766 ; sta _e1+10 767 ; inx 768 ; lda oktawa,x 769 ; sta _e1+11 770 ; jsr _pr 771 ; jsr cl_k 772 ; rts 773 00,29FE 4C D5 29 jmp _oktShow 774 775 00,2A01 A9 00 _pr lda #0 776 00,2A03 8D CB 36 sta przes 777 00,2A06 AD CA 36 lda okt 778 00,2A09 F0 0E beq _prQ 779 00,2A0B 4A lsr @ 780 00,2A0C A8 tay 781 00,2A0D 18 _prAdd clc 782 00,2A0E AD CB 36 lda przes 783 00,2A11 69 0C adc #12 784 00,2A13 8D CB 36 sta przes 785 00,2A16 88 dey 786 00,2A17 D0 F4 bne _prAdd 787 00,2A19 60 _prQ rts 788 789 00,2A1A A0 07 _pscr ldy #7 ;wypisz na ekran 790 00,2A1C B9 B1 36 _pscrL lda bf_tmp,y ;i do pamieci to co 791 00,2A1F 91 E0 sta (filndn),y ;wklepales z kla- 792 00,2A21 88 dey ;wiatury 793 00,2A22 10 F8 bpl _pscrL 794 795 00,2A24 AE C2 36 ldx n_pat 796 00,2A27 BD 69 37 lda tapat,x 797 00,2A2A 85 FD sta hlp+1 798 00,2A2C A9 00 lda #0 799 00,2A2E 85 FC sta hlp 800 801 00,2A30 AE C7 36 ldx winpoz 802 00,2A33 F0 0E beq *+16 803 00,2A35 18 clc 804 00,2A36 A5 FC lda hlp 805 00,2A38 69 0C adc <12 806 00,2A3A 85 FC sta hlp 807 00,2A3C 90 02 bcc *+4 808 00,2A3E E6 FD inc hlp+1 809 00,2A40 CA dex 810 00,2A41 D0 F2 bne *-12 811 812 00,2A43 AE C8 36 ldx p_trk 813 00,2A46 BD E1 37 lda _tn5,x 814 815 00,2A49 18 clc 816 00,2A4A 65 FC adc hlp 817 00,2A4C 85 FC sta hlp 818 00,2A4E A5 FD lda hlp+1 819 00,2A50 69 00 adc #0 820 00,2A52 85 FD sta hlp+1 821 822 00,2A54 AD C1 36 lda nuta 823 00,2A57 A0 00 ldy #0 824 00,2A59 91 FC sta (hlp),y 825 00,2A5B C8 iny 826 00,2A5C AD C0 36 lda instr 827 00,2A5F 91 FC sta (hlp),y 828 00,2A61 60 rts 829 830 00,2A62 A6 E4 _ppoz ldx patno ;wypisz pozycje w 831 00,2A64 20 8C 28 jsr p_hex ;orders 832 00,2A67 AE C5 36 ldx cf_1 833 00,2A6A BD 45 AC lda hex,x 834 00,2A6D 8D 4A B7 sta _e3+10 835 00,2A70 AE C6 36 ldx cf_1+1 836 00,2A73 BD 45 AC lda hex,x 837 00,2A76 8D 4B B7 sta _e3+11 838 00,2A79 60 rts 839 840 00,2A7A AE C0 36 set_in ldx instr 841 00,2A7D F0 16 beq *+24 ;ustaw nr. instrumentu 842 00,2A7F 20 8C 28 jsr p_hex 843 00,2A82 AE C5 36 ldx cf_1 844 00,2A85 BD 45 AC lda hex,x 845 00,2A88 8D B4 36 sta bf_tmp+3 846 00,2A8B AE C6 36 ldx cf_1+1 847 00,2A8E BD 45 AC lda hex,x 848 00,2A91 8D B5 36 sta bf_tmp+4 849 00,2A94 60 rts 850 851 00,2A95 A9 0D zer_in lda #'-'-32 852 00,2A97 8D B4 36 sta bf_tmp+3 853 00,2A9A 8D B5 36 sta bf_tmp+4 854 00,2A9D 60 rts 855 856 *----------------------------------* 857 * wypisz dane o instrumencie * 858 *----------------------------------* 859 00,2A9E AE CC 36 p_ins ldx n_inst 860 00,2AA1 8E C0 36 stx instr 861 00,2AA4 20 8C 28 jsr p_hex 862 00,2AA7 AE C5 36 ldx cf_1 863 00,2AAA BD 45 AC lda hex,x 864 00,2AAD 8D 98 B7 sta _e4+8 865 00,2AB0 AE C6 36 ldx cf_1+1 866 00,2AB3 BD 45 AC lda hex,x 867 00,2AB6 8D 99 B7 sta _e4+9 868 869 00,2AB9 AE CC 36 ldx n_inst 870 00,2ABC BD 80 04 lda tivol,x 871 00,2ABF 38 sec 872 00,2AC0 E9 D8 sbc #$d8 873 00,2AC2 0A asl @ 874 00,2AC3 AA tax 875 00,2AC4 20 8C 28 jsr p_hex 876 00,2AC7 AE C5 36 ldx cf_1 877 00,2ACA BD 45 AC lda hex,x 878 00,2ACD 8D C0 B7 sta _e4+48 879 00,2AD0 AE C6 36 ldx cf_1+1 880 00,2AD3 BD 45 AC lda hex,x 881 00,2AD6 8D C1 B7 sta _e4+49 882 883 00,2AD9 AE CC 36 ldx n_inst 884 00,2ADC BD 20 05 lda tendl,x 885 00,2ADF 38 sec 886 00,2AE0 FD A0 04 sbc tstrl,x 887 00,2AE3 8D BE 36 sta pomoc1 888 00,2AE6 BD 40 05 lda tendh,x 889 00,2AE9 FD C0 04 sbc tstrh,x 890 00,2AEC AA tax 891 00,2AED 20 8C 28 jsr p_hex 892 00,2AF0 AE C5 36 ldx cf_1 893 00,2AF3 BD 45 AC lda hex,x 894 00,2AF6 8D E8 B7 sta _e4+88 895 00,2AF9 AE C6 36 ldx cf_1+1 896 00,2AFC BD 45 AC lda hex,x 897 00,2AFF 8D E9 B7 sta _e4+89 898 899 00,2B02 AE BE 36 ldx pomoc1 900 00,2B05 20 8C 28 jsr p_hex 901 00,2B08 AE C5 36 ldx cf_1 902 00,2B0B BD 45 AC lda hex,x 903 00,2B0E 8D EA B7 sta _e4+90 904 00,2B11 AE C6 36 ldx cf_1+1 905 00,2B14 BD 45 AC lda hex,x 906 00,2B17 8D EB B7 sta _e4+91 907 908 00,2B1A AE CC 36 ldx n_inst 909 00,2B1D BD E0 04 lda trepl,x 910 00,2B20 38 sec 911 00,2B21 FD A0 04 sbc tstrl,x 912 00,2B24 8D BE 36 sta pomoc1 913 00,2B27 BD 00 05 lda treph,x 914 00,2B2A FD C0 04 sbc tstrh,x 915 00,2B2D AA tax 916 00,2B2E 20 8C 28 jsr p_hex 917 00,2B31 AE C5 36 ldx cf_1 918 00,2B34 BD 45 AC lda hex,x 919 00,2B37 8D 10 B8 sta _e4+128 920 00,2B3A AE C6 36 ldx cf_1+1 921 00,2B3D BD 45 AC lda hex,x 922 00,2B40 8D 11 B8 sta _e4+129 923 924 00,2B43 AE BE 36 ldx pomoc1 925 00,2B46 20 8C 28 jsr p_hex 926 00,2B49 AE C5 36 ldx cf_1 927 00,2B4C BD 45 AC lda hex,x 928 00,2B4F 8D 12 B8 sta _e4+130 929 00,2B52 AE C6 36 ldx cf_1+1 930 00,2B55 BD 45 AC lda hex,x 931 00,2B58 8D 13 B8 sta _e4+131 932 933 00,2B5B AE CC 36 ldx n_inst 934 00,2B5E BD 20 05 lda tendl,x 935 00,2B61 38 sec 936 00,2B62 FD E0 04 sbc trepl,x 937 00,2B65 8D BE 36 sta pomoc1 938 00,2B68 BD 40 05 lda tendh,x 939 00,2B6B FD 00 05 sbc treph,x 940 00,2B6E AA tax 941 00,2B6F 20 8C 28 jsr p_hex 942 00,2B72 AE C5 36 ldx cf_1 943 00,2B75 BD 45 AC lda hex,x 944 00,2B78 8D 38 B8 sta _e4+168 945 00,2B7B AE C6 36 ldx cf_1+1 946 00,2B7E BD 45 AC lda hex,x 947 00,2B81 8D 39 B8 sta _e4+169 948 949 00,2B84 AE BE 36 ldx pomoc1 950 00,2B87 20 8C 28 jsr p_hex 951 00,2B8A AE C5 36 ldx cf_1 952 00,2B8D BD 45 AC lda hex,x 953 00,2B90 8D 3A B8 sta _e4+170 954 00,2B93 AE C6 36 ldx cf_1+1 955 00,2B96 BD 45 AC lda hex,x 956 00,2B99 8D 3B B8 sta _e4+171 957 958 00,2B9C 20 AD 3B jsr _stname 959 960 00,2B9F A9 00 lda #0 961 00,2BA1 A2 16 ldx #22 962 00,2BA3 9D FD B6 sta _e1+13,x 963 00,2BA6 CA dex 964 00,2BA7 10 FA bpl *-4 965 966 00,2BA9 20 60 33 jsr on 967 968 00,2BAC A0 15 ldy #21 969 00,2BAE B1 FC lda (hlp),y 970 00,2BB0 D0 03 bne *+5 971 00,2BB2 88 dey 972 00,2BB3 10 F9 bpl *-5 973 974 00,2BB5 C8 iny 975 00,2BB6 8C 70 AD sty _n5+1 976 977 00,2BB9 A0 15 ldy #21 ;wypisz nazwe sampla 978 00,2BBB B1 FC lda (hlp),y 979 00,2BBD AA tax 980 00,2BBE BD 69 3C lda chg,x 981 00,2BC1 99 FD B6 sta _e1+13,y 982 00,2BC4 88 dey 983 00,2BC5 10 F4 bpl *-10 984 00,2BC7 20 6C 33 jsr of 985 00,2BCA 60 rts 986 987 00,2BCB AD 69 37 _kill lda tapat ;wykiluj RAM 988 00,2BCE 85 FD sta hlp+1 989 00,2BD0 A9 00 lda #0 990 00,2BD2 8D B7 AE sta _a2+1 991 00,2BD5 8D 14 AE sta _5+1 992 00,2BD8 8D 70 AD sta _n5+1 993 00,2BDB A8 tay 994 00,2BDC 85 FC sta hlp 995 00,2BDE 91 FC sta (hlp),y 996 00,2BE0 C8 iny 997 00,2BE1 D0 FB bne *-3 998 00,2BE3 A0 00 ldy #0 999 00,2BE5 E6 FD inc hlp+1 1000 00,2BE7 A6 FD ldx hlp+1 1001 00,2BE9 E0 AC cpx #$ac 1002 00,2BEB D0 F1 bne *-13 1003 1004 00,2BED A9 FF lda #$ff 1005 00,2BEF 99 00 04 sta sng,y 1006 00,2BF2 C8 iny 1007 00,2BF3 C0 80 cpy #128 1008 00,2BF5 D0 F8 bne *-6 1009 00,2BF7 AD 69 37 lda tapat 1010 00,2BFA 8D 00 04 sta sng 1011 1012 00,2BFD 20 60 33 jsr on 1013 00,2C00 A9 00 lda #0 1014 00,2C02 AA tax 1015 00,2C03 9D 00 C6 sta PatternAdres,x 1016 00,2C06 9D 00 C7 sta PatternAdres+$100,x 1017 00,2C09 9D 00 C8 sta PatternAdres+$200,x 1018 00,2C0C 9D 80 04 sta $480,x 1019 00,2C0F 9D C0 04 sta $4c0,x 1020 00,2C12 E8 inx 1021 00,2C13 D0 EE bne *-16 1022 00,2C15 20 6C 33 jsr of 1023 1024 00,2C18 A0 1F ldy #31 1025 00,2C1A A9 D8 lda #$d8 1026 00,2C1C 99 80 04 sta tivol,y 1027 00,2C1F 88 dey 1028 00,2C20 10 FA bpl *-4 1029 00,2C22 60 rts 1030 1031 1032 00,2C23 20 5F 26 o_jmp jsr s_eor 1033 00,2C26 20 F3 3C jsr orders 1034 00,2C29 4C 81 24 jmp keybd 1035 1036 1037 *--------------------* 1038 * zagraj MOD'a * 1039 *--------------------* 1040 00,2C2C 20 43 2E _play jsr _volmv 1041 1042 00,2C2F A2 00 _mst ldx #0 ;od ktorej pozycji 1043 00,2C31 86 E4 stx patno ;grac utwor 1044 1045 00,2C33 A9 06 lda #6 1046 00,2C35 85 EA sta pause 1047 00,2C37 BD 00 04 lda sng,x 1048 00,2C3A 85 E8 sta patadr+1 1049 00,2C3C 18 clc 1050 00,2C3D 69 03 adc #3 1051 00,2C3F 85 E6 sta pataed 1052 1053 00,2C41 A9 EA lda #$ea 1054 00,2C43 8D 2E 35 sta _type 1055 00,2C46 8D 2F 35 sta _type+1 1056 00,2C49 8D 30 35 sta _type+2 1057 1058 00,2C4C A2 00 ldx #0 1059 00,2C4E 86 E7 stx patadr 1060 00,2C50 8E 00 D4 stx $d400 1061 00,2C53 BD 00 04 lda sng,x 1062 00,2C56 C9 FF cmp #$ff 1063 00,2C58 F0 08 beq *+10 1064 00,2C5A E8 inx 1065 00,2C5B E0 80 cpx #128 1066 00,2C5D D0 F4 bne *-10 1067 00,2C5F 4C 65 2C jmp *+6 1068 1069 00,2C62 8E 2B 35 stx patmax+1 1070 1071 00,2C65 20 00 AC jsr _p0rom 1072 00,2C68 20 7A 31 jsr cl_ram 1073 00,2C6B A0 00 ldy #0 1074 00,2C6D 8C 00 D2 sty $d200 1075 00,2C70 8C 02 D2 sty $d202 1076 00,2C73 8C 04 D2 sty $d204 1077 00,2C76 8C 06 D2 sty $d206 1078 00,2C79 8C 08 D2 sty $d208 1079 00,2C7C 20 CB 00 jsr pre 1080 00,2C7F 20 60 06 jsr _ondli 1081 00,2C82 4C 81 24 jmp keybd 1082 1083 1084 *----------------------* 1085 * zagraj pattern * 1086 *----------------------* 1087 00,2C85 20 43 2E p_ply jsr _volmv 1088 00,2C88 AE C2 36 ldx n_pat 1089 00,2C8B BD 69 37 lda tapat,x 1090 00,2C8E 85 E8 sta patadr+1 1091 00,2C90 18 clc 1092 00,2C91 69 03 adc #3 1093 00,2C93 85 E6 sta pataed 1094 00,2C95 A9 00 lda #0 1095 00,2C97 85 E7 sta patadr 1096 1097 00,2C99 A9 01 lda #1 1098 00,2C9B 8D 2B 35 sta patmax+1 1099 1100 00,2C9E A9 06 lda #6 1101 00,2CA0 85 EA sta pause 1102 1103 00,2CA2 AE C7 36 ldx winpoz 1104 00,2CA5 F0 0E beq *+16 1105 00,2CA7 18 clc 1106 00,2CA8 A5 E7 lda patadr 1107 00,2CAA 69 0C adc #12 1108 00,2CAC 85 E7 sta patadr 1109 00,2CAE 90 02 bcc *+4 1110 00,2CB0 E6 E8 inc patadr+1 1111 00,2CB2 CA dex 1112 00,2CB3 D0 F2 bne *-12 1113 1114 00,2CB5 A9 4C lda #$4c 1115 00,2CB7 8D 2E 35 sta _type 1116 00,2CBA A9 9A lda <_prod0 1117 00,2CBC 8D 2F 35 sta _type+1 1118 00,2CBF A9 35 lda >_prod0 1119 00,2CC1 8D 30 35 sta _type+2 1120 1121 00,2CC4 20 00 AC jsr _p0rom 1122 00,2CC7 20 7A 31 jsr cl_ram 1123 00,2CCA A0 00 ldy #0 1124 00,2CCC 8C 00 D2 sty $d200 1125 00,2CCF 8C 02 D2 sty $d202 1126 00,2CD2 8C 04 D2 sty $d204 1127 00,2CD5 8C 06 D2 sty $d206 1128 00,2CD8 8C 08 D2 sty $d208 1129 00,2CDB 84 E4 sty patno 1130 00,2CDD 8C 00 D4 sty $d400 1131 00,2CE0 20 CB 00 jsr pre 1132 00,2CE3 20 60 06 jsr _ondli 1133 00,2CE6 4C 81 24 jmp keybd 1134 1135 1136 *-----------------------* 1137 * wczytanie MOD'a * 1138 *-----------------------* 1139 00,2CE9 20 CB 2B _rmod jsr _kill 1140 00,2CEC 20 8E 2E jsr _mod 1141 00,2CEF 20 FE B5 jsr _null 1142 00,2CF2 A9 01 lda #1 1143 00,2CF4 8D CC 36 sta n_inst 1144 00,2CF7 8D C0 36 sta instr 1145 00,2CFA 20 9E 2A jsr p_ins 1146 00,2CFD A9 00 lda #0 1147 00,2CFF 8D C7 36 sta winpoz 1148 00,2D02 8D 92 40 sta o_licz 1149 00,2D05 8D 91 40 sta o_win 1150 00,2D08 8D C2 36 sta n_pat 1151 00,2D0B 8D C9 36 sta p_pat 1152 00,2D0E A9 05 lda #5 1153 00,2D10 8D 94 40 sta _licz2 1154 00,2D13 20 0E 3F jsr s_pse 1155 00,2D16 20 00 3F jsr _shlp 1156 00,2D19 AD 92 40 lda o_licz 1157 00,2D1C 8D 93 40 sta p_ord 1158 00,2D1F 20 88 3E jsr _ost 1159 00,2D22 20 61 28 jsr set_hl 1160 00,2D25 20 6B 28 jsr set_sc 1161 00,2D28 A9 0F lda #15 1162 00,2D2A 8D BF 36 sta licznik 1163 00,2D2D 20 26 27 jsr start 1164 00,2D30 20 66 26 jsr fneg 1165 00,2D33 60 rts 1166 1167 *-------------------------* 1168 * wpisywanie komend * 1169 *-------------------------* 1170 00,2D34 8C C3 36 j_kom sty komend 1171 00,2D37 20 66 26 jsr fneg 1172 00,2D3A BD 45 AC lda hex,x 1173 00,2D3D 8D B6 36 sta bf_tmp+5 1174 00,2D40 A0 05 ldy #5 1175 00,2D42 49 80 eor #$80 1176 00,2D44 91 E0 sta (filndn),y 1177 00,2D46 A9 00 lda #0 1178 00,2D48 8D B7 36 sta bf_tmp+6 1179 00,2D4B 8D B8 36 sta bf_tmp+7 1180 00,2D4E C8 iny 1181 00,2D4F A9 1F lda #'?'-32 1182 00,2D51 49 80 eor #$80 1183 00,2D53 91 E0 sta (filndn),y 1184 00,2D55 C8 iny 1185 00,2D56 A9 0D lda #'-'-32 1186 00,2D58 49 80 eor #$80 1187 00,2D5A 91 E0 sta (filndn),y 1188 00,2D5C 20 3A 06 jsr cl_k 1189 00,2D5F AD FC 02 lda 764 1190 00,2D62 C9 FF cmp #$ff 1191 00,2D64 F0 F9 beq *-5 1192 00,2D66 A0 06 ldy #6 1193 00,2D68 A2 00 ldx #0 1194 00,2D6A DD 81 40 cmp o_klw,x  1195 00,2D6D D0 0C bne *+14 | 1196 00,2D6F 8E 9A 40 stx _yp || 1197 00,2D72 BD 45 AC lda hex,x || 1198 00,2D75 99 B1 36 sta bf_tmp,y || 1199 00,2D78 4C 84 2D jmp _h2 || 1200 00,2D7B E8 inx | 1201 00,2D7C E0 10 cpx #16 | 1202 00,2D7E D0 EA bne *-20 1203 00,2D80 20 3A 06 jsr cl_k 1204 00,2D83 60 rts 1205 1206 00,2D84 A9 1F _h2 lda #'?'-32 1207 00,2D86 49 80 eor #$80 1208 00,2D88 A0 07 ldy #7 1209 00,2D8A 91 E0 sta (filndn),y 1210 00,2D8C 88 dey 1211 00,2D8D AD B7 36 lda bf_tmp+6 1212 00,2D90 49 80 eor #$80 1213 00,2D92 91 E0 sta (filndn),y 1214 00,2D94 20 3A 06 jsr cl_k 1215 00,2D97 AD FC 02 lda 764 1216 00,2D9A C9 FF cmp #$ff 1217 00,2D9C F0 F9 beq *-5 1218 00,2D9E A0 07 ldy #7 1219 00,2DA0 A2 00 ldx #0 1220 00,2DA2 DD 81 40 cmp o_klw,x  1221 00,2DA5 D0 0C bne *+14 | 1222 00,2DA7 8E 9B 40 stx _yp+1 || 1223 00,2DAA BD 45 AC lda hex,x || 1224 00,2DAD 99 B1 36 sta bf_tmp,y || 1225 00,2DB0 4C BC 2D jmp _h4 || 1226 00,2DB3 E8 inx | 1227 00,2DB4 E0 10 cpx #16 | 1228 00,2DB6 D0 EA bne *-20 1229 00,2DB8 20 3A 06 jsr cl_k 1230 00,2DBB 60 rts 1231 1232 00,2DBC 20 3A 06 _h4 jsr cl_k 1233 00,2DBF A0 05 ldy #5 1234 00,2DC1 B9 B1 36 lda bf_tmp,y 1235 00,2DC4 91 E0 sta (filndn),y 1236 00,2DC6 C8 iny 1237 00,2DC7 C0 08 cpy #8 1238 00,2DC9 D0 F6 bne *-8 1239 1240 00,2DCB AD 9A 40 lda _yp 1241 00,2DCE 20 35 06 jsr _q 1242 00,2DD1 0D 9B 40 ora _yp+1 1243 00,2DD4 8D CE 36 sta param 1244 1245 00,2DD7 AE C2 36 ldx n_pat 1246 00,2DDA BD 69 37 lda tapat,x 1247 00,2DDD 85 FD sta hlp+1 1248 00,2DDF A9 00 lda #0 1249 00,2DE1 85 FC sta hlp 1250 1251 00,2DE3 AE C7 36 ldx winpoz 1252 00,2DE6 F0 0E beq *+16 1253 00,2DE8 18 clc 1254 00,2DE9 A5 FC lda hlp 1255 00,2DEB 69 0C adc <12 1256 00,2DED 85 FC sta hlp 1257 00,2DEF 90 02 bcc *+4 1258 00,2DF1 E6 FD inc hlp+1 1259 00,2DF3 CA dex 1260 00,2DF4 D0 F2 bne *-12 1261 1262 00,2DF6 AE C8 36 ldx p_trk 1263 00,2DF9 BD E1 37 lda _tn5,x 1264 1265 00,2DFC 18 clc 1266 00,2DFD 65 FC adc hlp 1267 00,2DFF 85 FC sta hlp 1268 00,2E01 A5 FD lda hlp+1 1269 00,2E03 69 00 adc #0 1270 00,2E05 85 FD sta hlp+1 1271 1272 00,2E07 A0 01 ldy #1 1273 00,2E09 B1 FC lda (hlp),y 1274 00,2E0B 29 1F and #$1f 1275 00,2E0D 0D C3 36 ora komend 1276 00,2E10 91 FC sta (hlp),y 1277 00,2E12 AD C3 36 lda komend 1278 00,2E15 C9 40 cmp #$40 ;kod komendy volume 1279 00,2E17 D0 0F bne *+17 1280 00,2E19 AD CE 36 lda param | 1281 00,2E1C 4A lsr @ | 1282 00,2E1D AA tax | 1283 00,2E1E BD E5 37 lda tab_a1,x | 1284 00,2E21 A0 02 ldy #2 | 1285 00,2E23 91 FC sta (hlp),y | 1286 00,2E25 4C 2F 2E jmp *+10 | 1287 00,2E28 AD CE 36 lda param  1288 00,2E2B A0 02 ldy #2 1289 00,2E2D 91 FC sta (hlp),y 1290 1291 00,2E2F AD C7 36 lda winpoz 1292 00,2E32 C9 3F cmp #63 1293 00,2E34 F0 06 beq *+8 1294 00,2E36 EE C7 36 inc winpoz 1295 00,2E39 20 80 26 jsr srt2 1296 00,2E3C 20 72 26 jsr neg 1297 00,2E3F 20 3A 06 jsr cl_k 1298 00,2E42 60 rts 1299 1300 ;------------; 1301 ;- _VOLMV -; 1302 ;------------; 1303 00,2E43 78 _volmv sei 1304 00,2E44 A9 00 lda #0 1305 00,2E46 8D 2F 02 sta $22f 1306 00,2E49 8D 00 D4 sta $d400 1307 00,2E4C 8D 0E D4 sta $d40e 1308 1309 00,2E4F A2 00 ldx <$4000 1310 00,2E51 A0 40 ldy >$4000 1311 00,2E53 86 FC stx hlp 1312 00,2E55 84 FD sty hlp+1 1313 1314 00,2E57 A2 00 ldx <$d800 1315 00,2E59 A0 D8 ldy >$d800 1316 00,2E5B 86 FE stx pse 1317 00,2E5D 84 FF sty pse+1 1318 1319 00,2E5F AE D2 36 ldx il_bnk 1320 00,2E62 CA dex 1321 00,2E63 BD D5 36 lda tab_1,x 1322 00,2E66 38 sec 1323 00,2E67 E9 01 sbc #1 1324 00,2E69 8D 01 D3 sta $d301 1325 1326 00,2E6C A0 00 ldy #0 1327 00,2E6E B1 FC lda (hlp),y 1328 00,2E70 91 FE sta (pse),y 1329 00,2E72 C8 iny 1330 00,2E73 D0 F9 bne *-5 1331 00,2E75 E6 FD inc hlp+1 1332 00,2E77 E6 FF inc pse+1 1333 00,2E79 A5 FF lda pse+1 1334 00,2E7B C9 F8 cmp #$f8 1335 00,2E7D D0 EF bne *-15 1336 1337 00,2E7F B9 00 F7 lda $f700,y 1338 00,2E82 99 00 F8 sta $f800,y 1339 00,2E85 C8 iny 1340 00,2E86 D0 F7 bne *-7 1341 1342 00,2E88 A9 FE lda #$fe 1343 00,2E8A 8D 01 D3 sta $d301 1344 00,2E8D 60 rts 1345 1346 ;-------------; 1347 ;- LOA_MOD -; 1348 ;-------------; 1349 * odczyt utworu 1350 1351 00,2E8E A9 00 _mod lda PatternAdres 1354 00,2E94 85 E8 sta patadr+1 1355 00,2E96 A2 65 ldx <_loa 1356 00,2E98 A0 39 ldy >_loa 1357 00,2E9A A9 04 lda #4 1358 00,2E9C 8D E6 32 sta __k+1 1359 00,2E9F A9 03 lda #3 1360 00,2EA1 20 D0 32 jsr _op ;odczyt naglowka 1361 00,2EA4 A2 3C ldx <1084 1362 00,2EA6 A0 04 ldy >1084 1363 00,2EA8 20 34 33 jsr _le 1364 00,2EAB A2 00 ldx <_bf 1365 00,2EAD A0 BB ldy >_bf 1366 00,2EAF A9 07 lda #7 1367 00,2EB1 20 3B 33 jsr _re 1368 1369 00,2EB4 A2 03 ldx #3 1370 00,2EB6 BD 38 BF lda _bf+1080,x 1371 00,2EB9 DD 6D B6 cmp title,x 1372 00,2EBC D0 06 bne *+8 1373 00,2EBE CA dex 1374 00,2EBF 10 F5 bpl *-9 1375 00,2EC1 4C ED 2E jmp _omvl 1376 1377 00,2EC4 20 27 33 jsr _cl 1378 00,2EC7 A9 10 lda #16 1379 00,2EC9 8D D3 36 sta pom_1 1380 00,2ECC A2 13 ldx <_txt5 1381 00,2ECE A0 AC ldy >_txt5 1382 00,2ED0 20 19 AF jsr _wname 1383 00,2ED3 AD FC 02 lda 764 1384 00,2ED6 C9 1C cmp #28 1385 00,2ED8 D0 F9 bne *-5 1386 00,2EDA A9 10 lda #16 1387 00,2EDC 8D D3 36 sta pom_1 1388 00,2EDF A2 13 ldx <_txt5 1389 00,2EE1 A0 AC ldy >_txt5 1390 00,2EE3 20 19 AF jsr _wname 1391 00,2EE6 AE CD 36 ldx status 1392 00,2EE9 9A txs 1393 00,2EEA 4C 81 24 jmp keybd 1394 1395 00,2EED A2 13 _omvl ldx #19 ;odczyt nazwy utworu 1396 00,2EEF BD 00 BB lda _bf,x 1397 00,2EF2 9D 62 AE sta _nam,x 1398 00,2EF5 CA dex 1399 00,2EF6 10 F7 bpl *-7 1400 1401 00,2EF8 A2 13 ldx #19 ;oblicz dlugosc nazwy 1402 00,2EFA BD 62 AE lda _nam,x 1403 00,2EFD D0 03 bne *+5 1404 00,2EFF CA dex 1405 00,2F00 10 F8 bpl *-6 1406 1407 00,2F02 E8 inx 1408 00,2F03 8E 14 AE stx _5+1 1409 1410 00,2F06 A2 13 ldx #19 ;wpisz na ekran 1411 00,2F08 BD 62 AE lda _nam,x 1412 00,2F0B A8 tay 1413 00,2F0C B9 69 3C lda chg,y 1414 00,2F0F 9D DA B6 sta _e1-22,x 1415 00,2F12 CA dex 1416 00,2F13 10 F3 bpl *-11 1417 1418 00,2F15 20 73 06 jsr _ad 1419 00,2F18 A9 01 lda #1 1420 00,2F1A 8D 1E 2F sta _co+1 1421 00,2F1D A2 00 _co ldx #0 1422 00,2F1F A0 2A _1 ldy #42 ;dlug. sampla 1423 00,2F21 B1 FE lda (pse),y 1424 00,2F23 AA tax 1425 00,2F24 C8 iny 1426 00,2F25 B1 FE lda (pse),y 1427 00,2F27 20 65 B6 jsr _mot 1428 00,2F2A AE 1E 2F ldx _co+1 1429 00,2F2D 9D 20 05 sta tendl,x 1430 00,2F30 98 tya 1431 00,2F31 9D 40 05 sta tendh,x 1432 00,2F34 C9 40 cmp #$40 1433 00,2F36 90 03 bcc *+5 1434 00,2F38 4C A4 32 jmp _long 1435 00,2F3B A0 2D ldy #45 ;glosnosc sampla 1436 00,2F3D B1 FE lda (pse),y 1437 1438 00,2F3F C9 40 cmp #64 1439 00,2F41 D0 06 bne *+8 1440 00,2F43 38 sec 1441 00,2F44 E9 01 sbc #1 1442 00,2F46 4C 4D 2F jmp *+7 1443 00,2F49 B1 FE lda (pse),y 1444 00,2F4B 29 3F and #$3f 1445 00,2F4D 4A lsr @ 1446 00,2F4E 18 clc 1447 00,2F4F 69 D8 adc #$d8 1448 00,2F51 9D 80 04 sta tivol,x 1449 1450 00,2F54 A0 2E ldy #46 1451 00,2F56 B1 FE lda (pse),y ;pocz. petli sampla 1452 00,2F58 AA tax 1453 00,2F59 C8 iny 1454 00,2F5A B1 FE lda (pse),y 1455 00,2F5C 20 65 B6 jsr _mot 1456 00,2F5F AE 1E 2F ldx _co+1 1457 00,2F62 9D E0 04 sta trepl,x 1458 00,2F65 98 tya 1459 00,2F66 9D 00 05 sta treph,x 1460 00,2F69 A0 30 ldy #48 1461 00,2F6B B1 FE lda (pse),y ;dlug. petli sampla 1462 00,2F6D AA tax 1463 00,2F6E C8 iny 1464 00,2F6F B1 FE lda (pse),y 1465 00,2F71 20 65 B6 jsr _mot 1466 00,2F74 AE 1E 2F ldx _co+1 1467 00,2F77 9D 60 05 sta tlenl,x 1468 00,2F7A 98 tya 1469 00,2F7B 9D 80 05 sta tlenh,x 1470 1471 00,2F7E A2 00 ldx #0 ;czytaj nazwy sampli 1472 00,2F80 A0 14 ldy #20 1473 00,2F82 B1 FE lda (pse),y 1474 00,2F84 9D 80 06 sta $680,x 1475 00,2F87 C8 iny 1476 00,2F88 E8 inx 1477 00,2F89 E0 16 cpx #22 1478 00,2F8B D0 F5 bne *-9 1479 1480 00,2F8D 20 60 33 jsr on ;wpisz do pamieci 1481 00,2F90 A0 15 ldy #21 ;nazwe sampla 1482 00,2F92 A2 15 ldx #21 1483 00,2F94 BD 80 06 lda $680,x 1484 00,2F97 91 E7 sta (patadr),y 1485 00,2F99 88 dey 1486 00,2F9A CA dex 1487 00,2F9B 10 F7 bpl *-7 1488 00,2F9D 20 6C 33 jsr of 1489 1490 00,2FA0 18 clc 1491 00,2FA1 A5 FE lda pse 1492 00,2FA3 69 1E adc #30 1493 00,2FA5 85 FE sta pse 1494 00,2FA7 90 02 bcc *+4 1495 00,2FA9 E6 FF inc pse+1 1496 1497 00,2FAB 18 clc 1498 00,2FAC A5 E7 lda patadr 1499 00,2FAE 69 16 adc #22 1500 00,2FB0 85 E7 sta patadr 1501 00,2FB2 90 02 bcc *+4 1502 00,2FB4 E6 E8 inc patadr+1 1503 1504 00,2FB6 EE 1E 2F inc _co+1 1505 00,2FB9 AD 1E 2F lda _co+1 1506 00,2FBC C9 20 cmp #32 1507 00,2FBE F0 03 beq *+5 1508 00,2FC0 4C 1F 2F jmp _1 1509 1510 00,2FC3 AD B6 BE lda _bf+950 ;dl. utworu 1511 00,2FC6 8D 2B 35 sta patmax+1 1512 1513 00,2FC9 AD B8 BE lda _bf+952 ;najw. num. patternu 1514 00,2FCC 8D D8 2F sta _mx+1 1515 00,2FCF A0 00 ldy #0 1516 00,2FD1 8C 0C 30 sty _mor+1 1517 00,2FD4 B9 B8 BE lda _bf+952,y ? 1518 00,2FD7 C9 00 _mx cmp #0 | 1519 00,2FD9 90 03 bcc *+5 | 1520 00,2FDB 8D D8 2F sta _mx+1 | | 1521 00,2FDE C8 iny ? | 1522 00,2FDF C0 80 cpy #128 | 1523 00,2FE1 D0 F1 bne *-13 1524 00,2FE3 AC D8 2F ldy _mx+1 1525 00,2FE6 C8 iny 1526 00,2FE7 84 EE sty tse 1527 1528 00,2FE9 C0 23 cpy #35 1529 00,2FEB 90 03 bcc *+5 1530 00,2FED 4C 78 32 jmp _optrn 1531 1532 00,2FF0 A0 7F ldy #127 ;orders 1533 00,2FF2 BE B8 BE ldx _bf+952,y 1534 00,2FF5 BD 69 37 lda tapat,x 1535 00,2FF8 99 00 04 sta sng,y 1536 00,2FFB 88 dey 1537 00,2FFC 10 F4 bpl *-10 1538 1539 00,2FFE AE B6 BE ldx _bf+950 1540 00,3001 A9 FF lda #$ff 1541 00,3003 9D 00 04 sta sng,x 1542 00,3006 E8 inx 1543 00,3007 E0 80 cpx #128 1544 00,3009 D0 F8 bne *-6 1545 1546 1547 *--------------------* 1548 * odczyt patternow * 1549 *--------------------* 1550 00,300B A0 00 _mor ldy #0 ;adres paternu w pamieci 1551 00,300D B9 69 37 lda tapat,y 1552 00,3010 85 FD sta hlp+1 1553 00,3012 A9 00 lda #0 1554 00,3014 85 FC sta hlp 1555 00,3016 A2 00 ldx <1024 1556 00,3018 A0 04 ldy >1024 1557 00,301A 20 34 33 jsr _le ;x,y -> ile wczytac 1558 00,301D 20 73 06 jsr _ad ;_bf -> pse,pse+1 1559 00,3020 A9 07 lda #7 1560 00,3022 20 3B 33 jsr _re 1561 1562 00,3025 A9 00 lda #0 1563 00,3027 85 EF sta tse+1 1564 00,3029 A0 03 _thi ldy #3 ;czytanie 4 bajtow 1565 00,302B B1 FE lda (pse),y 1566 00,302D 99 B9 36 sta tmp,y 1567 00,3030 88 dey 1568 00,3031 10 F8 bpl *-6 1569 1570 00,3033 20 C9 31 jsr e_cnv 1571 1572 00,3036 18 clc 1573 00,3037 A5 FC lda hlp 1574 00,3039 69 03 adc <3 1575 00,303B 85 FC sta hlp 1576 00,303D 90 02 bcc *+4 1577 00,303F E6 FD inc hlp+1 1578 1579 00,3041 18 clc 1580 00,3042 A5 FE lda pse 1581 00,3044 69 04 adc <4 1582 00,3046 85 FE sta pse 1583 00,3048 90 02 bcc *+4 1584 00,304A E6 FF inc pse+1 1585 1586 00,304C C6 EF dec tse+1 1587 00,304E D0 D9 bne _thi 1588 00,3050 EE 0C 30 inc _mor+1 1589 00,3053 C6 EE dec tse 1590 00,3055 D0 B4 bne _mor 1591 1592 00,3057 A9 01 lda #1 1593 00,3059 8D 68 30 sta lic+1 1594 00,305C A9 00 lda #0 1595 00,305E 8D D0 36 sta n_ins 1596 00,3061 8D D1 36 sta n_bnk 1597 00,3064 20 10 31 jsr s_hl 1598 1599 *-----------------* 1600 * odczyt sampli * 1601 *-----------------* 1602 00,3067 A0 01 lic ldy #1 ;czy wczytac 1603 00,3069 B9 20 05 lda tendl,y 1604 00,306C 19 40 05 ora tendh,y 1605 00,306F F0 50 beq _jm 1606 1607 00,3071 AC 68 30 ldy lic+1 ;czy zmiesci sie w banku 1608 00,3074 18 clc 1609 00,3075 AD 43 3C lda _atmp+2 1610 00,3078 79 40 05 adc tendh,y 1611 00,307B C9 7F cmp #$7f 1612 00,307D 90 17 bcc _nz 1613 1614 00,307F EE D1 36 inc n_bnk 1615 00,3082 AD D1 36 lda n_bnk 1616 00,3085 18 clc 1617 00,3086 69 01 adc #1 1618 00,3088 CD D2 36 cmp il_bnk 1619 00,308B F0 06 beq _sdq 1620 00,308D 20 10 31 jsr s_hl 1621 00,3090 4C 96 30 jmp _nz 1622 1623 00,3093 4C 34 43 _sdq jmp _oomem 1624 1625 00,3096 20 4B 31 _nz jsr set_b 1626 00,3099 20 3A 31 jsr st_adr 1627 00,309C BE 20 05 ldx tendl,y ;odczyt sampla 1628 00,309F B9 40 05 lda tendh,y 1629 00,30A2 A8 tay 1630 00,30A3 20 34 33 jsr _le 1631 00,30A6 A6 FC ldx hlp 1632 00,30A8 A4 FD ldy hlp+1 1633 00,30AA A9 07 lda #7 1634 00,30AC 20 3B 33 jsr _re 1635 00,30AF 20 CE 30 jsr real_a 1636 00,30B2 20 61 31 jsr cnv_sm 1637 00,30B5 20 21 31 jsr _pam 1638 1639 00,30B8 A9 00 lda #0 1640 00,30BA 85 FC sta hlp 1641 00,30BC AD 43 3C lda _atmp+2 1642 00,30BF 85 FD sta hlp+1 1643 1644 00,30C1 EE 68 30 _jm inc lic+1 1645 00,30C4 AD 68 30 lda lic+1 1646 00,30C7 C9 20 cmp #32 1647 00,30C9 D0 9C bne lic 1648 00,30CB 4C 74 31 jmp n_12 1649 1650 00,30CE AC 68 30 real_a ldy lic+1 1651 00,30D1 18 clc 1652 00,30D2 B9 A0 04 lda tstrl,y 1653 00,30D5 79 E0 04 adc trepl,y 1654 00,30D8 99 E0 04 sta trepl,y 1655 00,30DB B9 C0 04 lda tstrh,y 1656 00,30DE 79 00 05 adc treph,y 1657 00,30E1 99 00 05 sta treph,y 1658 1659 00,30E4 18 clc 1660 00,30E5 B9 A0 04 lda tstrl,y 1661 00,30E8 79 20 05 adc tendl,y 1662 00,30EB 99 20 05 sta tendl,y 1663 00,30EE B9 C0 04 lda tstrh,y 1664 00,30F1 79 40 05 adc tendh,y 1665 00,30F4 99 40 05 sta tendh,y 1666 1667 00,30F7 B9 60 05 lda tlenl,y 1668 00,30FA 19 80 05 ora tlenh,y 1669 00,30FD F0 05 beq no_lop 1670 00,30FF C9 02 cmp #2 1671 00,3101 F0 01 beq no_lop 1672 00,3103 60 rts 1673 1674 00,3104 A9 00 no_lop lda #0 1675 00,3106 99 E0 04 sta trepl,y 1676 00,3109 B9 40 05 lda tendh,y 1677 00,310C 99 00 05 sta treph,y 1678 00,310F 60 rts 1679 1680 00,3110 A9 00 s_hl lda #0 1681 00,3112 85 FC sta hlp 1682 00,3114 8D 42 3C sta _atmp+1 1683 00,3117 A9 40 lda #$40 1684 00,3119 85 FD sta hlp+1 1685 00,311B A9 41 lda #$41 1686 00,311D 8D 43 3C sta _atmp+2 1687 00,3120 60 rts 1688 1689 00,3121 AD D1 36 _pam lda n_bnk 1690 00,3124 8D 41 3C sta _atmp 1691 00,3127 AC 68 30 ldy lic+1 1692 00,312A B9 20 05 lda tendl,y 1693 00,312D 8D 42 3C sta _atmp+1 1694 00,3130 B9 40 05 lda tendh,y 1695 00,3133 18 clc 1696 00,3134 69 01 adc #1 1697 00,3136 8D 43 3C sta _atmp+2 1698 00,3139 60 rts 1699 1700 00,313A A9 00 st_adr lda #0 1701 00,313C 38 sec 1702 00,313D F9 20 05 sbc tendl,y 1703 00,3140 85 FC sta hlp 1704 00,3142 99 A0 04 sta tstrl,y 1705 00,3145 A5 FD lda hlp+1 1706 00,3147 99 C0 04 sta tstrh,y 1707 00,314A 60 rts 1708 1709 00,314B AC 68 30 set_b ldy lic+1 1710 00,314E AE D1 36 ldx n_bnk 1711 00,3151 BD D5 36 lda tab_1,x 1712 00,3154 8D 01 D3 sta $d301 1713 00,3157 BD D5 36 lda tab_1,x 1714 00,315A 38 sec 1715 00,315B E9 01 sbc #1 1716 00,315D 99 A0 05 sta tab_3,y 1717 00,3160 60 rts 1718 1719 00,3161 AC 68 30 cnv_sm ldy lic+1 1720 00,3164 B9 40 05 lda tendh,y 1721 00,3167 85 FF sta pse+1 1722 00,3169 A9 00 lda #0 1723 00,316B 85 FE sta pse 1724 00,316D A8 tay 1725 00,316E 91 FE sta (pse),y 1726 00,3170 C8 iny 1727 00,3171 D0 FB bne *-3 1728 00,3173 60 rts 1729 1730 00,3174 A9 FF n_12 lda #$ff 1731 00,3176 8D 01 D3 sta $d301 1732 00,3179 60 rts 1733 1734 00,317A A9 00 cl_ram lda #0 1735 00,317C 85 1C sta rep0_m+1 1736 00,317E 85 20 sta rep0_s+1 1737 00,3180 85 4B sta rep1_m+1 1738 00,3182 85 4F sta rep1_s+1 1739 00,3184 85 7A sta rep2_m+1 1740 00,3186 85 7E sta rep2_s+1 1741 00,3188 85 A9 sta rep3_m+1 1742 00,318A 85 AD sta rep3_s+1 1743 00,318C 85 08 sta iad0_m+1 1744 00,318E 85 37 sta iad1_m+1 1745 00,3190 85 66 sta iad2_m+1 1746 00,3192 85 95 sta iad3_m+1 1747 00,3194 85 0E sta iad0_s+1 1748 00,3196 85 3D sta iad1_s+1 1749 00,3198 85 6C sta iad2_s+1 1750 00,319A 85 9B sta iad3_s+1 1751 00,319C 85 18 sta ien0_s+1 1752 00,319E 85 47 sta ien1_s+1 1753 00,31A0 85 76 sta ien2_s+1 1754 00,31A2 85 A5 sta ien3_s+1 1755 00,31A4 85 27 sta p_0c+1 1756 00,31A6 85 56 sta p_1c+1 1757 00,31A8 85 85 sta p_2c+1 1758 00,31AA 85 B4 sta p_3c+1 1759 00,31AC 85 06 sta cm_0+1 1760 00,31AE 85 35 sta cm_1+1 1761 00,31B0 85 64 sta cm_2+1 1762 00,31B2 85 93 sta cm_3+1 1763 00,31B4 A9 40 lda #$40 1764 00,31B6 85 28 sta p_0c+2 1765 00,31B8 85 57 sta p_1c+2 1766 00,31BA 85 86 sta p_2c+2 1767 00,31BC 85 B5 sta p_3c+2 1768 00,31BE A9 D8 lda #$d8 1769 00,31C0 85 2B sta ivol10+2 1770 00,31C2 85 5A sta ivol11+2 1771 00,31C4 85 89 sta ivol12+2 1772 00,31C6 85 B8 sta ivol13+2 1773 00,31C8 60 rts 1774 1775 00,31C9 AD B9 36 e_cnv lda tmp 1776 00,31CC 29 0F and #$f 1777 00,31CE 0D BA 36 ora tmp+1 1778 00,31D1 D0 0E bne _nl 1779 1780 00,31D3 A9 24 lda #36 1781 00,31D5 A0 00 ldy #0 1782 00,31D7 91 FC sta (hlp),y 1783 00,31D9 C8 iny 1784 00,31DA A9 00 lda #0 1785 00,31DC 91 FC sta (hlp),y 1786 00,31DE 4C 09 32 jmp f_2 1787 1788 00,31E1 A0 00 _nl ldy #0 1789 00,31E3 B9 8B 37 _tst lda kod,y 1790 00,31E6 CD BA 36 cmp tmp+1 1791 00,31E9 D0 13 bne pls 1792 00,31EB AD B9 36 lda tmp 1793 00,31EE 29 0F and #$f 1794 00,31F0 D9 8C 37 cmp kod+1,y 1795 00,31F3 D0 09 bne pls 1796 00,31F5 98 tya 1797 00,31F6 4A lsr @ 1798 00,31F7 A0 00 f_1 ldy #0 1799 00,31F9 91 FC sta (hlp),y 1800 00,31FB 4C 09 32 jmp f_2 1801 1802 00,31FE C8 pls iny 1803 00,31FF C8 iny 1804 00,3200 C0 48 cpy #72 1805 00,3202 D0 DF bne _tst 1806 00,3204 A9 24 lda #36 1807 00,3206 4C F7 31 jmp f_1 1808 1809 00,3209 AD BB 36 f_2 lda tmp+2 1810 00,320C 20 30 06 jsr _h 1811 00,320F 8D BD 36 sta pomoc 1812 00,3212 AD B9 36 lda tmp 1813 00,3215 29 10 and #$10 1814 00,3217 18 clc 1815 00,3218 6D BD 36 adc pomoc 1816 00,321B A0 01 ldy #1 1817 00,321D 91 FC sta (hlp),y 1818 1819 00,321F A0 02 ldy #2 1820 00,3221 A9 00 lda #0 1821 00,3223 91 FC sta (hlp),y 1822 00,3225 A0 01 ldy #1 1823 00,3227 AD BB 36 lda tmp+2 1824 00,322A 29 0F and #$f 1825 00,322C C9 0C cmp #$c 1826 00,322E F0 10 beq _vol 1827 00,3230 C9 0F cmp #$f 1828 00,3232 F0 2D beq _tmp 1829 00,3234 C9 0D cmp #$d 1830 00,3236 F0 01 beq _break 1831 00,3238 60 rts 1832 1833 00,3239 A9 20 _break lda #$20 1834 00,323B 11 FC ora (hlp),y 1835 00,323D 91 FC sta (hlp),y 1836 00,323F 60 rts 1837 1838 00,3240 A9 40 _vol lda #$40 1839 00,3242 11 FC ora (hlp),y 1840 00,3244 91 FC sta (hlp),y 1841 00,3246 A0 02 ldy #2 1842 00,3248 AD BC 36 lda tmp+3 1843 00,324B C9 40 cmp #64 1844 00,324D D0 06 bne *+8 1845 00,324F 38 sec 1846 00,3250 E9 01 sbc #1 1847 00,3252 4C 5A 32 jmp *+8 1848 00,3255 AD BC 36 lda tmp+3 1849 00,3258 29 3F and #$3f 1850 00,325A 18 clc 1851 00,325B 4A lsr @ 1852 00,325C 69 D8 adc #$d8 1853 00,325E 91 FC sta (hlp),y 1854 00,3260 60 rts 1855 1856 00,3261 AD BC 36 _tmp lda tmp+3 1857 00,3264 C9 20 cmp #$20 1858 00,3266 B0 F8 bcs *-6 1859 00,3268 A9 80 lda #$80 1860 00,326A 11 FC ora (hlp),y 1861 00,326C 91 FC sta (hlp),y 1862 00,326E A0 02 ldy #2 1863 00,3270 AD BC 36 lda tmp+3 1864 00,3273 29 1F and #$1f 1865 00,3275 91 FC sta (hlp),y 1866 00,3277 60 rts 1867 1868 00,3278 20 27 33 _optrn jsr _cl 1869 00,327B A9 13 lda #19 1870 00,327D 8D D3 36 sta pom_1 1871 00,3280 A2 96 ldx <_txt3 1872 00,3282 A0 38 ldy >_txt3 1873 00,3284 20 19 AF jsr _wname 1874 00,3287 20 3A 06 jsr cl_k 1875 00,328A AD FC 02 lda 764 1876 00,328D C9 1C cmp #28 1877 00,328F D0 F9 bne *-5 1878 00,3291 A9 13 lda #19 1879 00,3293 8D D3 36 sta pom_1 1880 00,3296 A2 96 ldx <_txt3 1881 00,3298 A0 38 ldy >_txt3 1882 00,329A 20 19 AF jsr _wname 1883 00,329D AE CD 36 ldx status 1884 00,32A0 9A txs 1885 00,32A1 4C 81 24 jmp keybd 1886 1887 00,32A4 20 27 33 _long jsr _cl 1888 00,32A7 A9 11 lda #17 1889 00,32A9 8D D3 36 sta pom_1 1890 00,32AC A2 CF ldx <_txt4 1891 00,32AE A0 38 ldy >_txt4 1892 00,32B0 20 19 AF jsr _wname 1893 00,32B3 20 3A 06 jsr cl_k 1894 00,32B6 AD FC 02 lda 764 1895 00,32B9 C9 1C cmp #28 1896 00,32BB D0 F9 bne *-5 1897 00,32BD A9 11 lda #17 1898 00,32BF 8D D3 36 sta pom_1 1899 00,32C2 A2 CF ldx <_txt4 1900 00,32C4 A0 38 ldy >_txt4 1901 00,32C6 20 19 AF jsr _wname 1902 00,32C9 AE CD 36 ldx status 1903 00,32CC 9A txs 1904 00,32CD 4C 81 24 jmp keybd 1905 1906 00,32D0 8E DC 32 _op stx _n+1 1907 00,32D3 8C E1 32 sty __n+1 1908 00,32D6 A2 10 ldx #$10 1909 00,32D8 9D 42 03 sta $342,x 1910 00,32DB A9 00 _n lda #0 1911 00,32DD 9D 44 03 sta $344,x 1912 00,32E0 A9 00 __n lda #0 1913 00,32E2 9D 45 03 sta $345,x 1914 00,32E5 A9 04 __k lda #4 1915 00,32E7 9D 4A 03 sta $34a,x 1916 00,32EA 20 56 E4 jsr $e456 1917 00,32ED 30 01 bmi _er1 1918 00,32EF 60 rts 1919 1920 00,32F0 20 74 31 _er1 jsr n_12 1921 00,32F3 8C F0 3C sty byte 1922 00,32F6 C0 88 cpy #136 1923 00,32F8 D0 01 bne *+3 1924 00,32FA 60 rts 1925 00,32FB A9 0F lda #15 1926 00,32FD 8D D3 36 sta pom_1 1927 00,3300 A2 06 ldx <_txt0 1928 00,3302 A0 38 ldy >_txt0 1929 00,3304 20 19 AF jsr _wname 1930 00,3307 20 82 3A jsr _errkd 1931 00,330A 20 3A 06 jsr cl_k 1932 00,330D AD FC 02 lda 764 1933 00,3310 C9 1C cmp #28 1934 00,3312 D0 F9 bne *-5 1935 00,3314 A9 0F lda #15 1936 00,3316 8D D3 36 sta pom_1 1937 00,3319 A2 06 ldx <_txt0 1938 00,331B A0 38 ldy >_txt0 1939 00,331D 20 19 AF jsr _wname 1940 00,3320 AE CD 36 ldx status 1941 00,3323 9A txs 1942 00,3324 4C 81 24 jmp keybd 1943 1944 00,3327 A2 10 _cl ldx #$10 1945 00,3329 A9 0C lda #$c 1946 00,332B 9D 42 03 sta $342,x 1947 00,332E 20 56 E4 jsr $e456 1948 00,3331 30 BD bmi _er1 1949 00,3333 60 rts 1950 1951 00,3334 8E 51 33 _le stx _l+1 1952 00,3337 8C 56 33 sty __l+1 1953 00,333A 60 rts 1954 1955 00,333B 8E 47 33 _re stx _a+1 1956 00,333E 8C 4C 33 sty __a+1 1957 00,3341 A2 10 ldx #$10 1958 00,3343 9D 42 03 sta $342,x 1959 00,3346 A9 00 _a lda #0 1960 00,3348 9D 44 03 sta $344,x 1961 00,334B A9 00 __a lda #0 1962 00,334D 9D 45 03 sta $345,x 1963 00,3350 A9 00 _l lda #0 1964 00,3352 9D 48 03 sta $348,x 1965 00,3355 A9 00 __l lda #0 1966 00,3357 9D 49 03 sta $349,x 1967 00,335A 20 56 E4 jsr $e456 1968 00,335D 30 91 bmi _er1 1969 00,335F 60 rts 1970 1971 00,3360 78 on sei 1972 00,3361 A9 00 lda #0 1973 00,3363 8D 0E D4 sta $d40e 1974 00,3366 A9 FE lda #$fe 1975 00,3368 8D 01 D3 sta $d301 1976 00,336B 60 rts 1977 1978 00,336C 20 74 31 of jsr n_12 1979 00,336F A9 40 lda #$40 1980 00,3371 8D 0E D4 sta $d40e 1981 00,3374 58 cli 1982 00,3375 20 60 06 jsr _ondli 1983 00,3378 60 rts 1984 1985 ;-----------; 1986 ;- PMAIN -; 1987 ;-----------; 1988 1989 *----------- 1990 * track 0 1991 00,3379 A0 01 i_0 ldy #1 1992 00,337B B1 E7 lda (patadr),y 1993 00,337D 29 1F and #$1f 1994 00,337F F0 35 beq i_0c 1995 1996 00,3381 AA tax 1997 00,3382 BD A0 05 lda tab_3,x 1998 00,3385 85 01 sta bank0+1 1999 2000 00,3387 BD 40 05 lda tendh,x 2001 00,338A 85 18 sta ien0_s+1 2002 2003 00,338C BD A0 04 lda tstrl,x 2004 00,338F 85 27 sta p_0c+1 2005 00,3391 BD C0 04 lda tstrh,x 2006 00,3394 85 28 sta p_0c+2 2007 2008 00,3396 BD E0 04 lda trepl,x 2009 00,3399 85 1C sta rep0_m+1 2010 00,339B BD 00 05 lda treph,x 2011 00,339E 85 20 sta rep0_s+1 2012 2013 00,33A0 BD 80 04 lda tivol,x 2014 00,33A3 85 2B sta ivol10+2 2015 2016 00,33A5 A0 00 ldy #0 2017 00,33A7 B1 E7 lda (patadr),y 2018 00,33A9 29 3F and #$3f 2019 00,33AB AA tax 2020 00,33AC BD 00 FF lda AdrTidl,x 2021 00,33AF 85 08 sta iad0_m+1 2022 00,33B1 BD 25 FF lda AdrTidl+37,x 2023 00,33B4 85 0E sta iad0_s+1 2024 2025 00,33B6 A0 01 i_0c ldy #1 2026 00,33B8 B1 E7 lda (patadr),y 2027 00,33BA 29 E0 and #$e0 2028 00,33BC C9 20 cmp #$20 2029 00,33BE F0 0B beq *+13 2030 00,33C0 C9 40 cmp #$40 2031 00,33C2 F0 0C beq *+14 2032 00,33C4 C9 80 cmp #$80 2033 00,33C6 F0 11 beq _tmp0 2034 00,33C8 4C DF 33 jmp i_1 2035 2036 00,33CB E6 E5 inc patend 2037 00,33CD 4C DF 33 jmp i_1 2038 00,33D0 A0 02 ldy #2 2039 00,33D2 B1 E7 lda (patadr),y 2040 00,33D4 85 2B sta ivol10+2 2041 00,33D6 4C DF 33 jmp i_1 2042 00,33D9 A0 02 _tmp0 ldy #2 2043 00,33DB B1 E7 lda (patadr),y 2044 00,33DD 85 EA sta pause 2045 2046 *-------------- 2047 * track 1 2048 2049 00,33DF A0 04 i_1 ldy #4 2050 00,33E1 B1 E7 lda (patadr),y 2051 00,33E3 29 1F and #$1f 2052 00,33E5 F0 35 beq i_1c 2053 2054 00,33E7 AA tax 2055 00,33E8 BD A0 05 lda tab_3,x 2056 00,33EB 85 30 sta bank1+1 2057 2058 00,33ED BD 40 05 lda tendh,x 2059 00,33F0 85 47 sta ien1_s+1 2060 2061 00,33F2 BD A0 04 lda tstrl,x 2062 00,33F5 85 56 sta p_1c+1 2063 00,33F7 BD C0 04 lda tstrh,x 2064 00,33FA 85 57 sta p_1c+2 2065 2066 00,33FC BD E0 04 lda trepl,x 2067 00,33FF 85 4B sta rep1_m+1 2068 00,3401 BD 00 05 lda treph,x 2069 00,3404 85 4F sta rep1_s+1 2070 2071 00,3406 BD 80 04 lda tivol,x 2072 00,3409 85 5A sta ivol11+2 2073 2074 00,340B A0 03 ldy #3 2075 00,340D B1 E7 lda (patadr),y 2076 00,340F 29 3F and #$3f 2077 00,3411 AA tax 2078 00,3412 BD 00 FF lda AdrTidl,x 2079 00,3415 85 37 sta iad1_m+1 2080 00,3417 BD 25 FF lda AdrTidl+37,x 2081 00,341A 85 3D sta iad1_s+1 2082 2083 00,341C A0 04 i_1c ldy #4 2084 00,341E B1 E7 lda (patadr),y 2085 00,3420 29 E0 and #$e0 2086 00,3422 C9 20 cmp #$20 2087 00,3424 F0 0B beq *+13 2088 00,3426 C9 40 cmp #$40 2089 00,3428 F0 0C beq *+14 2090 00,342A C9 80 cmp #$80 2091 00,342C F0 11 beq _tmp1 2092 00,342E 4C 45 34 jmp i_2 2093 2094 00,3431 E6 E5 inc patend 2095 00,3433 4C 45 34 jmp i_2 2096 00,3436 A0 05 ldy #5 2097 00,3438 B1 E7 lda (patadr),y 2098 00,343A 85 5A sta ivol11+2 2099 00,343C 4C 45 34 jmp i_2 2100 00,343F A0 05 _tmp1 ldy #5 2101 00,3441 B1 E7 lda (patadr),y 2102 00,3443 85 EA sta pause 2103 2104 *-------------- 2105 * track 2 2106 2107 00,3445 A0 07 i_2 ldy #7 2108 00,3447 B1 E7 lda (patadr),y 2109 00,3449 29 1F and #$1f 2110 00,344B F0 35 beq i_2c 2111 2112 00,344D AA tax 2113 00,344E BD A0 05 lda tab_3,x 2114 00,3451 85 5F sta bank2+1 2115 2116 00,3453 BD 40 05 lda tendh,x 2117 00,3456 85 76 sta ien2_s+1 2118 2119 00,3458 BD A0 04 lda tstrl,x 2120 00,345B 85 85 sta p_2c+1 2121 00,345D BD C0 04 lda tstrh,x 2122 00,3460 85 86 sta p_2c+2 2123 2124 00,3462 BD E0 04 lda trepl,x 2125 00,3465 85 7A sta rep2_m+1 2126 00,3467 BD 00 05 lda treph,x 2127 00,346A 85 7E sta rep2_s+1 2128 2129 00,346C BD 80 04 lda tivol,x 2130 00,346F 85 89 sta ivol12+2 2131 2132 00,3471 A0 06 ldy #6 2133 00,3473 B1 E7 lda (patadr),y 2134 00,3475 29 3F and #$3f 2135 00,3477 AA tax 2136 00,3478 BD 00 FF lda AdrTidl,x 2137 00,347B 85 66 sta iad2_m+1 2138 00,347D BD 25 FF lda AdrTidl+37,x 2139 00,3480 85 6C sta iad2_s+1 2140 2141 00,3482 A0 07 i_2c ldy #7 2142 00,3484 B1 E7 lda (patadr),y 2143 00,3486 29 E0 and #$e0 2144 00,3488 C9 20 cmp #$20 2145 00,348A F0 0B beq *+13 2146 00,348C C9 40 cmp #$40 2147 00,348E F0 0C beq *+14 2148 00,3490 C9 80 cmp #$80 2149 00,3492 F0 11 beq _tmp2 2150 00,3494 4C AB 34 jmp i_3 2151 2152 00,3497 E6 E5 inc patend 2153 00,3499 4C AB 34 jmp i_3 2154 00,349C A0 08 ldy #8 2155 00,349E B1 E7 lda (patadr),y 2156 00,34A0 85 89 sta ivol12+2 2157 00,34A2 4C AB 34 jmp i_3 2158 00,34A5 A0 08 _tmp2 ldy #8 2159 00,34A7 B1 E7 lda (patadr),y 2160 00,34A9 85 EA sta pause 2161 2162 *-------------- 2163 * track 3 2164 2165 00,34AB A0 0A i_3 ldy #10 2166 00,34AD B1 E7 lda (patadr),y 2167 00,34AF 29 1F and #$1f 2168 00,34B1 F0 35 beq i_3c 2169 2170 00,34B3 AA tax 2171 00,34B4 BD A0 05 lda tab_3,x 2172 00,34B7 85 8E sta bank3+1 2173 2174 00,34B9 BD 40 05 lda tendh,x 2175 00,34BC 85 A5 sta ien3_s+1 2176 2177 00,34BE BD A0 04 lda tstrl,x 2178 00,34C1 85 B4 sta p_3c+1 2179 00,34C3 BD C0 04 lda tstrh,x 2180 00,34C6 85 B5 sta p_3c+2 2181 2182 00,34C8 BD E0 04 lda trepl,x 2183 00,34CB 85 A9 sta rep3_m+1 2184 00,34CD BD 00 05 lda treph,x 2185 00,34D0 85 AD sta rep3_s+1 2186 2187 00,34D2 BD 80 04 lda tivol,x 2188 00,34D5 85 B8 sta ivol13+2 2189 2190 00,34D7 A0 09 ldy #9 2191 00,34D9 B1 E7 lda (patadr),y 2192 00,34DB 29 3F and #$3f 2193 00,34DD AA tax 2194 00,34DE BD 00 FF lda AdrTidl,x 2195 00,34E1 85 95 sta iad3_m+1 2196 00,34E3 BD 25 FF lda AdrTidl+37,x 2197 00,34E6 85 9B sta iad3_s+1 2198 2199 00,34E8 A0 0A i_3c ldy #10 2200 00,34EA B1 E7 lda (patadr),y 2201 00,34EC 29 E0 and #$e0 2202 00,34EE C9 20 cmp #$20 2203 00,34F0 F0 0B beq *+13 2204 00,34F2 C9 40 cmp #$40 2205 00,34F4 F0 0C beq *+14 2206 00,34F6 C9 80 cmp #$80 2207 00,34F8 F0 11 beq _tmp3 2208 00,34FA 4C 11 35 jmp i_e 2209 2210 00,34FD E6 E5 inc patend 2211 00,34FF 4C 11 35 jmp i_e 2212 00,3502 A0 0B ldy #11 2213 00,3504 B1 E7 lda (patadr),y 2214 00,3506 85 B8 sta ivol13+2 2215 00,3508 4C 11 35 jmp i_e 2216 00,350B A0 0B _tmp3 ldy #11 2217 00,350D B1 E7 lda (patadr),y 2218 00,350F 85 EA sta pause 2219 2220 00,3511 A5 E5 i_e lda patend 2221 00,3513 D0 11 bne i_en 2222 2223 00,3515 18 clc 2224 00,3516 A5 E7 lda patadr 2225 00,3518 69 0C adc <12 2226 00,351A 85 E7 sta patadr 2227 00,351C A5 E8 lda patadr+1 2228 00,351E 69 00 adc >12 2229 00,3520 85 E8 sta patadr+1 2230 00,3522 C5 E6 cmp pataed 2231 00,3524 90 21 bcc i_end 2232 2233 00,3526 E6 E4 i_en inc patno 2234 00,3528 A6 E4 ldx patno 2235 00,352A a 2236 00,352A E0 00 patmax cpx #0 2237 00,352C 90 0B bcc i_ens 2238 2239 00,352E 4C 9A 35 _type jmp _prod0 2240 2241 00,3531 A9 06 lda #6 2242 00,3533 85 EA sta pause 2243 00,3535 A2 00 ldx #0 2244 00,3537 86 E4 stx patno 2245 2246 00,3539 BD 00 04 i_ens lda sng,x 2247 00,353C 85 E8 sta patadr+1 2248 00,353E 18 clc 2249 00,353F 69 03 adc #3 2250 00,3541 85 E6 sta pataed 2251 00,3543 A9 00 lda #0 2252 00,3545 85 E7 sta patadr 2253 2254 00,3547 AD 0F D2 i_end lda $d20f 2255 00,354A 29 08 and #8 2256 00,354C F0 0A beq quit 2257 2258 00,354E A5 EA lda pause 2259 00,3550 85 E9 sta cnts 2260 00,3552 18 clc 2261 00,3553 A0 D8 ldy #vbl 2262 00,3555 4C 00 00 jmp $0000 2263 2264 00,3558 20 00 AC quit jsr _p0rom 2265 00,355B 20 6C 33 jsr of 2266 00,355E 20 F6 44 jsr wait 2267 00,3561 A9 22 lda #$22 2268 00,3563 8D 00 D4 sta $d400 2269 00,3566 8D 2F 02 sta $22f 2270 00,3569 A9 00 lda
dl 2273 00,3570 8D 31 02 sta $231 2274 00,3573 A9 20 lda >fnt 2275 00,3575 8D F4 02 sta 756 2276 00,3578 A9 02 lda #2 2277 00,357A 8D C6 02 sta $2c6 2278 00,357D A9 08 lda #8 2279 00,357F 8D C5 02 sta $2c5 2280 00,3582 20 3A 06 jsr cl_k 2281 00,3585 A5 E4 lda patno 2282 00,3587 CD 91 40 cmp o_win 2283 00,358A B0 03 bcs *+5 2284 00,358C AD 91 40 lda o_win 2285 00,358F 38 sec 2286 00,3590 ED 91 40 sbc o_win 2287 00,3593 8D 92 40 sta o_licz 2288 00,3596 20 62 2A jsr _ppoz 2289 00,3599 60 rts 2290 2291 00,359A AE C2 36 _prod0 ldx n_pat 2292 00,359D BD 69 37 lda tapat,x 2293 00,35A0 85 E8 sta patadr+1 2294 00,35A2 18 clc 2295 00,35A3 69 03 adc #3 2296 00,35A5 85 E6 sta pataed 2297 00,35A7 A9 00 lda #0 2298 00,35A9 85 E4 sta patno 2299 00,35AB 85 E7 sta patadr 2300 00,35AD A9 01 lda #1 2301 00,35AF 8D 2B 35 sta patmax+1 2302 00,35B2 A5 EA lda pause 2303 00,35B4 85 E9 sta cnts 2304 00,35B6 18 clc 2305 00,35B7 A0 D8 ldy #vbl 2306 00,35B9 4C 00 00 jmp $0000 2307 2308 2309 ;--------; 2310 ;- IO -; 2311 ;--------; 2312 2313 00,35BC A9 00 l_io lda #0 2314 00,35BE 8D CF 36 sta l_poz 2315 00,35C1 20 3A 06 jsr cl_k 2316 00,35C4 20 32 36 jsr _xneg 2317 2318 00,35C7 A2 0A ldx #10 2319 00,35C9 BD 53 B7 lda _e3+19,x 2320 00,35CC 49 80 eor #$80 2321 00,35CE 9D 53 B7 sta _e3+19,x 2322 00,35D1 CA dex 2323 00,35D2 10 F5 bpl *-9 2324 2325 00,35D4 AD FC 02 exit lda 764 2326 00,35D7 C9 0C cmp #12 2327 00,35D9 F0 18 beq j_pi 2328 00,35DB C9 0F cmp #15 2329 00,35DD F0 2F beq _nt 2330 00,35DF C9 0E cmp #14 2331 00,35E1 F0 3E beq _pv 2332 00,35E3 C9 1C cmp #28 2333 00,35E5 F0 03 beq *+5 2334 00,35E7 4C D4 35 jmp exit 2335 2336 00,35EA 20 3B 36 jsr _lneg 2337 00,35ED 20 3A 06 jsr cl_k 2338 00,35F0 4C 81 24 jmp keybd 2339 2340 00,35F3 20 3B 36 j_pi jsr _lneg 2341 00,35F6 20 3A 06 jsr cl_k 2342 00,35F9 AE CF 36 ldx l_poz 2343 00,35FC BD 8B 36 lda _jtab1,x 2344 00,35FF 8D 09 36 sta _gproc+1 2345 00,3602 BD 92 36 lda _jtab1+7,x 2346 00,3605 8D 0A 36 sta _gproc+2 2347 00,3608 20 00 A0 _gproc jsr $a000 2348 00,360B 4C 81 24 jmp keybd 2349 2350 00,360E AD CF 36 _nt lda l_poz 2351 00,3611 C9 06 cmp #6 2352 00,3613 F0 06 beq *+8 2353 00,3615 EE CF 36 inc l_poz 2354 00,3618 20 47 36 jsr _ng0 2355 00,361B 20 3A 06 jsr cl_k 2356 00,361E 4C D4 35 jmp exit 2357 2358 00,3621 AD CF 36 _pv lda l_poz 2359 00,3624 F0 06 beq *+8 2360 00,3626 CE CF 36 dec l_poz 2361 00,3629 20 60 36 jsr _ng1 2362 00,362C 20 3A 06 jsr cl_k 2363 00,362F 4C D4 35 jmp exit 2364 2365 00,3632 A9 53 _xneg lda <_e3+19 2366 00,3634 85 F0 sta _ol 2367 00,3636 A9 B7 lda >_e3+19 2368 00,3638 85 F1 sta _ol+1 2369 00,363A 60 rts 2370 2371 00,363B A0 0A _lneg ldy #10 2372 00,363D B1 F0 lda (_ol),y 2373 00,363F 49 80 eor #$80 2374 00,3641 91 F0 sta (_ol),y 2375 00,3643 88 dey 2376 00,3644 10 F7 bpl *-7 2377 00,3646 60 rts 2378 2379 00,3647 20 32 36 _ng0 jsr _xneg 2380 00,364A AE CF 36 ldx l_poz 2381 00,364D CA dex 2382 00,364E F0 06 beq *+8 2383 00,3650 20 7F 36 jsr ol_adc 2384 00,3653 CA dex 2385 00,3654 D0 FA bne *-4 2386 00,3656 20 3B 36 jsr _lneg 2387 00,3659 20 7F 36 jsr ol_adc 2388 00,365C 20 3B 36 jsr _lneg 2389 00,365F 60 rts 2390 2391 00,3660 20 32 36 _ng1 jsr _xneg 2392 00,3663 AE CF 36 ldx l_poz 2393 00,3666 E8 inx 2394 00,3667 20 7F 36 jsr ol_adc 2395 00,366A CA dex 2396 00,366B D0 FA bne *-4 2397 00,366D 20 3B 36 jsr _lneg 2398 00,3670 38 sec 2399 00,3671 A5 F0 lda _ol 2400 00,3673 E9 28 sbc <40 2401 00,3675 85 F0 sta _ol 2402 00,3677 B0 02 bcs *+4 2403 00,3679 C6 F1 dec _ol+1 2404 00,367B 20 3B 36 jsr _lneg 2405 00,367E 60 rts 2406 2407 00,367F 18 ol_adc clc 2408 00,3680 A5 F0 lda _ol 2409 00,3682 69 28 adc <40 2410 00,3684 85 F0 sta _ol 2411 00,3686 90 02 bcc *+4 2412 00,3688 E6 F1 inc _ol+1 2413 00,368A 60 rts 2414 2415 00,368B 1D 13 _jtab1 dta l(_ldir),l(_sdir) 2416 00,368D 46 5E 34 dta l(_lsamp),l(_ssamp),l(_clall) 2417 00,3690 EE DE dta l(_clpat),l(_clsmp) 2418 2419 00,3692 B3 B0 dta h(_ldir),h(_sdir) 2420 00,3694 B3 AF AD dta h(_lsamp),h(_ssamp),h(_clall) 2421 00,3697 AD B2 dta h(_clpat),h(_clsmp) 2422 2423 2424 2425 00,3699 17 3E 16 3A t_klw dta b(23),b(62),b(22),b(58) 2426 00,369D 12 10 3D 15 dta b(18),b(16),b(61),b(21) 2427 00,36A1 39 23 01 25 dta b(57),b(35),b(01),b(37) 2428 2429 00,36A5 2F 1E 2E 1A dta b(47),b(30),b(46),b(26) 2430 00,36A9 2A 28 1D 2D dta b(42),b(40),b(29),b(45) 2431 00,36AD 1B 2B 33 0B dta b(27),b(43),b(51),b(11) 2432 2433 00,36B1 00 00 00 3F 3F + bf_tmp dta d' _____' 2434 00,36B9 00 00 00 00 tmp dta d' ' 2435 00,36BD 00 pomoc brk 2436 00,36BE 00 pomoc1 brk 2437 00,36BF 00 licznik brk 2438 00,36C0 00 instr brk 2439 00,36C1 00 nuta brk 2440 00,36C2 00 n_pat brk 2441 00,36C3 00 komend brk 2442 00,36C4 00 kom brk 2443 00,36C5 00 00 cf_1 dta a(0) 2444 00,36C7 00 winpoz brk 2445 00,36C8 00 p_trk brk 2446 00,36C9 00 p_pat brk 2447 00,36CA 00 okt brk 2448 00,36CB 00 przes brk 2449 00,36CC 00 n_inst brk ;numer sampla 2450 00,36CD 00 status brk ;stan wskaznika stosu 2451 00,36CE 00 param brk 2452 00,36CF 00 l_poz brk 2453 00,36D0 00 n_ins brk 2454 00,36D1 00 n_bnk brk 2455 00,36D2 00 il_bnk brk 2456 00,36D3 00 00 pom_1 dta d' ' 2457 00,36D5 00 00 00 00 00 + tab_1 dta d' ' ;tablica z wykrytymi bankami pamieci 2458 2459 00,36F5 11 1A 12 1A 13 oktawa dta d'1:2:3' 2460 00,36FA 63 63 64 64 65 + t_nut dta d'ccddeffggaahccddeffggaahccddeffggaah-' 2461 00,371F 11 11 11 11 11 + t_okt dta d'111111111111222222222222333333333333-' 2462 00,3744 0D 03 0D 03 0D + _hash dta d'-#-#--#-#-#--#-#--#-#-#--#-#--#-#-#--' 2463 2464 2465 00,3769 46 49 4C tapat dta b($46),b($49),b($4c) 2466 00,376C 4F 52 55 58 dta b($4f),b($52),b($55),b($58) 2467 00,3770 5B 5E 61 64 dta b($5b),b($5e),b($61),b($64) 2468 00,3774 67 6A 6D 70 dta b($67),b($6a),b($6d),b($70) 2469 00,3778 73 76 79 7C dta b($73),b($76),b($79),b($7c) 2470 00,377C 7F 82 85 88 dta b($7f),b($82),b($85),b($88) 2471 00,3780 8B 8E 91 94 dta b($8b),b($8e),b($91),b($94) 2472 00,3784 97 9A 9D A0 dta b($97),b($9a),b($9d),b($a0) 2473 00,3788 A3 A6 A9 dta b($a3),b($a6),b($a9) 2474 2475 = 00,378B kod equ * 2476 00,378B 58 03 28 03 FA + dta a($358),a($328),a($2fa),a($2d0) 2477 00,3793 A6 02 80 02 5C + dta a($2a6),a($280),a($25c),a($23a) 2478 00,379B 1A 02 FC 01 E0 + dta a($21a),a($1fc),a($1e0),a($1c5) 2479 2480 00,37A3 AC 01 94 01 7D + dta a($1ac),a($194),a($17d),a($168) 2481 00,37AB 53 01 40 01 2E + dta a($153),a($140),a($12e),a($11d) 2482 00,37B3 0D 01 FE 00 F0 + dta a($10d),a($fe),a($f0),a($e2) 2483 2484 00,37BB D6 00 CA 00 BE + dta a($d6),a($ca),a($be),a($b4) 2485 00,37C3 AA 00 A0 00 97 + dta a($aa),a($a0),a($97),a($8f) 2486 00,37CB 87 00 7F 00 78 + dta a($87),a($7f),a($78),a($71) 2487 00,37D3 00 00 dta a($00) ;kod 37 nut 2488 2489 00,37D5 9C A5 AE B7 _tn2 dta l(scr+284),l(scr+293),l(scr+302),l(scr+311) 2490 00,37D9 B9 B9 B9 B9 _tn3 dta h(scr+284),h(scr+293),h(scr+302),h(scr+311) 2491 00,37DD 00 09 12 1B _tn4 dta b(0),b(9),b(18),b(27) 2492 00,37E1 00 03 06 09 _tn5 dta b(0),b(3),b(6),b(9) 2493 2494 = 00,0400 sng equ $400 2495 = 00,0480 tivol equ sng+128 2496 = 00,04A0 tstrl equ tivol+32 2497 = 00,04C0 tstrh equ tstrl+32 2498 = 00,04E0 trepl equ tstrh+32 2499 = 00,0500 treph equ trepl+32 2500 = 00,0520 tendl equ treph+32 2501 = 00,0540 tendh equ tendl+32 2502 = 00,0560 tlenl equ tendh+32 2503 = 00,0580 tlenh equ tlenl+32 2504 = 00,05A0 tab_3 equ tlenh+32 2505 2506 00,37E5 D8 D9 DA DB tab_a1 dta b($d8),b($d9),b($da),b($db) 2507 00,37E9 DC DD DE DF dta b($dc),b($dd),b($de),b($df) 2508 00,37ED E0 E1 E2 E3 dta b($e0),b($e1),b($e2),b($e3) 2509 00,37F1 E4 E5 E6 E7 dta b($e4),b($e5),b($e6),b($e7) 2510 00,37F5 E8 E9 EA EB dta b($e8),b($e9),b($ea),b($eb) 2511 00,37F9 EC ED EE EF dta b($ec),b($ed),b($ee),b($ef) 2512 00,37FD F0 F1 F2 F3 dta b($f0),b($f1),b($f2),b($f3) 2513 00,3801 F4 F5 F6 F7 dta b($f4),b($f5),b($f6),b($f7) 2514 00,3805 F7 dta b($f7) 2515 2516 00,3806 51 4D 4D 4D 4D + _txt0 dta c'QMMMMMMMMMMMMME' 2517 00,3815 56 69 0F 6F 00 + dta b($56),d'i/o error ' 2518 00,3824 5A 4E 4E 4E 4E + dta c'ZNNNNNNNNNNNNNC' 2519 2520 00,3833 51 4D 4D 4D 4D + _txt1 dta c'QMMMMMMMMMMMMME' 2521 00,3842 56 6F 75 74 00 + dta b($56),d'out of memory' 2522 00,3851 5A 4E 4E 4E 4E + dta c'ZNNNNNNNNNNNNNC' 2523 2524 00,3860 51 4D 4D 4D 4D + _txt2 dta c'QMMMMMMMMMMMMMMMME' 2525 00,3872 56 64 11 1A 6E + dta b($56),d'd1:noname**.mod ' 2526 00,3884 5A 4E 4E 4E 4E + dta c'ZNNNNNNNNNNNNNNNNC' 2527 2528 00,3896 51 4D 4D 4D 4D + _txt3 dta c'QMMMMMMMMMMMMMMMMME' 2529 00,38A9 56 74 6F 6F 00 + dta b($56),d'too many patterns' 2530 00,38BC 5A 4E 4E 4E 4E + dta c'ZNNNNNNNNNNNNNNNNNC' 2531 2532 00,38CF 51 4D 4D 4D 4D + _txt4 dta c'QMMMMMMMMMMMMMMME' 2533 00,38E0 56 73 61 6D 70 + dta b($56),d'sample too long' 2534 00,38F1 5A 4E 4E 4E 4E + dta c'ZNNNNNNNNNNNNNNNC' 2535 2536 00,3902 51 4D 4D 4D 4D + _txt6 dta c'QMMMMMMMMMMMMMMME' 2537 00,3913 56 74 72 61 6E + dta b($56),d'transpose 00-00' 2538 00,3924 5A 4E 4E 4E 4E + dta c'ZNNNNNNNNNNNNNNNC' 2539 2540 00,3935 51 4D 4D 4D 4D + _txt7 dta c'QMMMMMMMMMMMMMME' 2541 00,3945 56 65 78 63 68 + dta b($56),d'exchange 00-00' 2542 00,3955 5A 4E 4E 4E 4E + dta c'ZNNNNNNNNNNNNNNC' 2543 2544 00,3965 00 00 00 00 00 + _loa dta d' ' 2545 2546 2547 ;-----------; 2548 ;- FUNC2 -; 2549 ;-----------; 2550 2551 *--------------------------------* 2552 * wczytanie jednego sampla * 2553 *--------------------------------* 2554 00,3975 20 27 33 _rsmp jsr _cl 2555 00,3978 A2 65 ldx <_loa 2556 00,397A A0 39 ldy >_loa 2557 00,397C A9 04 lda #4 2558 00,397E 8D E6 32 sta __k+1 2559 00,3981 A9 03 lda #3 2560 00,3983 20 D0 32 jsr _op 2561 00,3986 A2 1B ldx <27 2562 00,3988 A0 00 ldy >27 2563 00,398A 20 34 33 jsr _le 2564 00,398D A2 80 ldx <$680 _btmp 2565 00,398F A0 06 ldy >$680 2566 00,3991 A9 07 lda #7 2567 00,3993 20 3B 33 jsr _re 2568 2569 00,3996 AD 81 06 lda $681 2570 00,3999 C9 40 cmp #$40 2571 00,399B 90 03 bcc *+5 2572 00,399D 4C A4 32 jmp _long 2573 2574 00,39A0 AD 41 3C lda _atmp 2575 00,39A3 8D D1 36 sta n_bnk 2576 00,39A6 18 clc ;czy zmiesci sie w tym 2577 00,39A7 AD 80 06 lda $680 ;banku 2578 00,39AA 6D 42 3C adc _atmp+1 2579 00,39AD AD 81 06 lda $681 2580 00,39B0 6D 43 3C adc _atmp+2 2581 00,39B3 69 01 adc #1 2582 00,39B5 C9 7F cmp #$7f 2583 00,39B7 90 29 bcc _lg0 2584 2585 00,39B9 AC CC 36 ldy n_inst 2586 00,39BC A9 40 lda #$40 2587 00,39BE 85 FD sta hlp+1 2588 00,39C0 99 C0 04 sta tstrh,y 2589 00,39C3 A9 00 lda #0 2590 00,39C5 38 sec 2591 00,39C6 ED 80 06 sbc $680 2592 00,39C9 85 FC sta hlp 2593 00,39CB 99 A0 04 sta tstrl,y 2594 00,39CE EE D1 36 inc n_bnk 2595 00,39D1 AD D1 36 lda n_bnk 2596 00,39D4 18 clc 2597 00,39D5 69 01 adc #1 2598 00,39D7 CD D2 36 cmp il_bnk 2599 00,39DA F0 03 beq *+5 2600 00,39DC 4C FB 39 jmp _lg1 2601 2602 00,39DF 4C 34 43 _lg2 jmp _oomem 2603 2604 00,39E2 AC CC 36 _lg0 ldy n_inst 2605 00,39E5 AD 43 3C lda _atmp+2 2606 00,39E8 18 clc 2607 00,39E9 69 01 adc #1 2608 00,39EB 85 FD sta hlp+1 2609 00,39ED 99 C0 04 sta tstrh,y 2610 00,39F0 A9 00 lda #0 2611 00,39F2 38 sec 2612 00,39F3 ED 80 06 sbc $680 2613 00,39F6 85 FC sta hlp 2614 00,39F8 99 A0 04 sta tstrl,y 2615 2616 00,39FB AC CC 36 _lg1 ldy n_inst ;ustaw bank 2617 00,39FE AE D1 36 ldx n_bnk 2618 00,3A01 BD D5 36 lda tab_1,x 2619 00,3A04 8D 01 D3 sta $d301 2620 00,3A07 38 sec 2621 00,3A08 E9 01 sbc #1 2622 00,3A0A 99 A0 05 sta tab_3,y 2623 2624 00,3A0D AE 80 06 ldx $680 ;wczytanie sampla 2625 00,3A10 AC 81 06 ldy $681 2626 00,3A13 20 34 33 jsr _le 2627 00,3A16 A6 FC ldx hlp 2628 00,3A18 A4 FD ldy hlp+1 2629 00,3A1A A9 07 lda #7 2630 00,3A1C 20 3B 33 jsr _re 2631 00,3A1F 20 27 33 jsr _cl 2632 2633 00,3A22 AC CC 36 ldy n_inst 2634 00,3A25 AD 82 06 lda $682 2635 00,3A28 4A lsr @ 2636 00,3A29 AA tax 2637 00,3A2A BD E5 37 lda tab_a1,x 2638 00,3A2D 99 80 04 sta tivol,y 2639 2640 00,3A30 18 clc 2641 00,3A31 B9 A0 04 lda tstrl,y 2642 00,3A34 6D 80 06 adc $680 2643 00,3A37 99 20 05 sta tendl,y 2644 00,3A3A B9 C0 04 lda tstrh,y 2645 00,3A3D 6D 81 06 adc $681 2646 00,3A40 99 40 05 sta tendh,y 2647 2648 00,3A43 18 clc 2649 00,3A44 B9 A0 04 lda tstrl,y 2650 00,3A47 6D 83 06 adc $683 2651 00,3A4A 99 E0 04 sta trepl,y 2652 00,3A4D B9 C0 04 lda tstrh,y 2653 00,3A50 6D 84 06 adc $684 2654 00,3A53 99 00 05 sta treph,y 2655 2656 00,3A56 AD CC 36 lda n_inst 2657 00,3A59 8D 68 30 sta lic+1 2658 00,3A5C 20 21 31 jsr _pam 2659 00,3A5F 20 61 31 jsr cnv_sm 2660 2661 00,3A62 20 AD 3B jsr _stname 2662 00,3A65 20 60 33 jsr on 2663 00,3A68 A2 15 ldx #21 2664 00,3A6A A0 15 ldy #21 2665 00,3A6C BD 85 06 lda $685,x 2666 00,3A6F 91 FC sta (hlp),y 2667 00,3A71 88 dey 2668 00,3A72 CA dex 2669 00,3A73 10 F7 bpl *-7 2670 00,3A75 20 6C 33 jsr of 2671 00,3A78 20 74 31 jsr n_12 2672 00,3A7B 20 9E 2A jsr p_ins 2673 00,3A7E 20 3A 06 jsr cl_k 2674 00,3A81 60 rts 2675 2676 00,3A82 20 94 3A _errkd jsr convr 2677 00,3A85 A0 03 ldy #3 2678 00,3A87 AD F1 3C lda word 2679 00,3A8A 20 BC 3A jsr disp_2 2680 00,3A8D AD F2 3C lda word+1 2681 00,3A90 20 B3 3A jsr disp_1 2682 00,3A93 60 rts 2683 2684 00,3A94 A9 00 convr lda #0 2685 00,3A96 8D F1 3C sta word 2686 00,3A99 8D F2 3C sta word+1 2687 00,3A9C A2 08 ldx #8 2688 00,3A9E F8 sed 2689 00,3A9F 0E F0 3C asl byte 2690 00,3AA2 AD F1 3C lda word 2691 00,3AA5 6D F1 3C adc word 2692 00,3AA8 8D F1 3C sta word 2693 00,3AAB 2E F2 3C rol word+1 2694 00,3AAE CA dex 2695 00,3AAF D0 EE bne *-16 2696 00,3AB1 D8 cld 2697 00,3AB2 60 rts 2698 2699 00,3AB3 29 0F disp_1 and #$f 2700 00,3AB5 09 10 ora #'0'-32 2701 00,3AB7 99 D6 B7 sta _e4+70,y 2702 00,3ABA 88 dey 2703 00,3ABB 60 rts 2704 2705 00,3ABC 48 disp_2 pha 2706 00,3ABD 20 B3 3A jsr disp_1 2707 00,3AC0 68 pla 2708 00,3AC1 20 30 06 jsr _h 2709 00,3AC4 20 B3 3A jsr disp_1 2710 00,3AC7 60 rts 2711 2712 *------------------------* 2713 * wylaczanie kanalow * 2714 *------------------------* 2715 00,3AC8 20 00 AC _off3 jsr _p0rom 2716 00,3ACB AD 67 3C lda _offst+2 2717 00,3ACE 49 01 eor #1 2718 00,3AD0 8D 67 3C sta _offst+2 2719 00,3AD3 F0 14 beq _of3 2720 2721 00,3AD5 A9 5D lda #$5d 2722 00,3AD7 8D CF B6 sta _e1-33 2723 00,3ADA A9 FF lda #$ff 2724 00,3ADC 85 8B sta ch_2+1 2725 00,3ADE A9 23 lda #$23 2726 00,3AE0 85 8C sta ch_2+2 2727 00,3AE2 20 3A 06 jsr cl_k 2728 00,3AE5 20 00 AC jsr _p0rom 2729 00,3AE8 60 rts 2730 2731 00,3AE9 A9 02 _of3 lda #2 2732 00,3AEB 85 8B sta ch_2+1 2733 00,3AED A9 D6 _df3 lda #$d6 2734 00,3AEF 85 8C sta ch_2+2 2735 00,3AF1 A9 5C lda #$5c 2736 00,3AF3 8D CF B6 sta _e1-33 2737 00,3AF6 20 3A 06 jsr cl_k 2738 00,3AF9 20 00 AC jsr _p0rom 2739 00,3AFC 60 rts 2740 2741 2742 00,3AFD 20 00 AC _off4 jsr _p0rom 2743 00,3B00 AD 68 3C lda _offst+3 2744 00,3B03 49 01 eor #1 2745 00,3B05 8D 68 3C sta _offst+3 2746 00,3B08 F0 14 beq _of4 2747 2748 00,3B0A A9 5D lda #$5d 2749 00,3B0C 8D D2 B6 sta _e1-30 2750 00,3B0F A9 FF lda #$ff 2751 00,3B11 85 BA sta ch_3+1 2752 00,3B13 A9 23 lda #$23 2753 00,3B15 85 BB sta ch_3+2 2754 00,3B17 20 3A 06 jsr cl_k 2755 00,3B1A 20 00 AC jsr _p0rom 2756 00,3B1D 60 rts 2757 2758 00,3B1E A9 03 _of4 lda #3 2759 00,3B20 85 BA sta ch_3+1 2760 00,3B22 A9 D6 _df4 lda #$d6 2761 00,3B24 85 BB sta ch_3+2 2762 00,3B26 A9 5C lda #$5c 2763 00,3B28 8D D2 B6 sta _e1-30 2764 00,3B2B 20 3A 06 jsr cl_k 2765 00,3B2E 20 00 AC jsr _p0rom 2766 00,3B31 60 rts 2767 2768 00,3B32 C9 5F _offtrack cmp #95 ;shift+1 2769 00,3B34 F0 0D beq _off1 2770 00,3B36 C9 75 cmp #117 ;shift+2 2771 00,3B38 F0 3E beq _off2 2772 00,3B3A C9 5A cmp #90 ;shift+3 2773 00,3B3C F0 8A beq _off3 2774 00,3B3E C9 58 cmp #88 ;shift+4 2775 00,3B40 F0 BB beq _off4 2776 00,3B42 60 rts 2777 2778 00,3B43 20 00 AC _off1 jsr _p0rom 2779 00,3B46 AD 65 3C lda _offst 2780 00,3B49 49 01 eor #1 2781 00,3B4B 8D 65 3C sta _offst 2782 00,3B4E F0 14 beq _of1 2783 2784 00,3B50 A9 5D lda #$5d 2785 00,3B52 8D C9 B6 sta _e1-39 2786 00,3B55 A9 FF lda #$ff 2787 00,3B57 85 2D sta ch_0+1 2788 00,3B59 A9 23 lda #$23 2789 00,3B5B 85 2E sta ch_0+2 2790 00,3B5D 20 3A 06 jsr cl_k 2791 00,3B60 20 00 AC jsr _p0rom 2792 00,3B63 60 rts 2793 2794 00,3B64 A9 00 _of1 lda #0 2795 00,3B66 85 2D sta ch_0+1 2796 00,3B68 A9 D6 _df1 lda #$d6 2797 00,3B6A 85 2E sta ch_0+2 2798 00,3B6C A9 5C lda #$5c 2799 00,3B6E 8D C9 B6 sta _e1-39 2800 00,3B71 20 3A 06 jsr cl_k 2801 00,3B74 20 00 AC jsr _p0rom 2802 00,3B77 60 rts 2803 2804 00,3B78 20 00 AC _off2 jsr _p0rom 2805 00,3B7B AD 66 3C lda _offst+1 2806 00,3B7E 49 01 eor #1 2807 00,3B80 8D 66 3C sta _offst+1 2808 00,3B83 F0 14 beq _of2 2809 2810 00,3B85 A9 5D lda #$5d 2811 00,3B87 8D CC B6 sta _e1-36 2812 00,3B8A A9 FF lda #$ff 2813 00,3B8C 85 5C sta ch_1+1 2814 00,3B8E A9 23 lda #$23 2815 00,3B90 85 5D sta ch_1+2 2816 00,3B92 20 3A 06 jsr cl_k 2817 00,3B95 20 00 AC jsr _p0rom 2818 00,3B98 60 rts 2819 2820 00,3B99 A9 01 _of2 lda #1 2821 00,3B9B 85 5C sta ch_1+1 2822 00,3B9D A9 D6 _df2 lda #$d6 2823 00,3B9F 85 5D sta ch_1+2 2824 00,3BA1 A9 5C lda #$5c 2825 00,3BA3 8D CC B6 sta _e1-36 2826 00,3BA6 20 3A 06 jsr cl_k 2827 00,3BA9 20 00 AC jsr _p0rom 2828 00,3BAC 60 rts 2829 2830 2831 *----------------------------* 2832 * ustaw adres nazwy sampla * 2833 *----------------------------* 2834 00,3BAD A9 00 _stname lda PatternAdres 2837 00,3BB3 85 FD sta hlp+1 2838 00,3BB5 AE CC 36 ldx n_inst 2839 00,3BB8 E0 01 cpx #1 2840 00,3BBA F0 0F beq *+17 2841 00,3BBC CA dex 2842 00,3BBD 18 clc 2843 00,3BBE A5 FC lda hlp 2844 00,3BC0 69 16 adc #22 2845 00,3BC2 85 FC sta hlp 2846 00,3BC4 90 02 bcc *+4 2847 00,3BC6 E6 FD inc hlp+1 2848 00,3BC8 CA dex 2849 00,3BC9 D0 F2 bne *-12 2850 00,3BCB 60 rts 2851 2852 2853 *-------------------------------* 2854 * graj sampla w czasie edycji * 2855 *-------------------------------* 2856 00,3BCC 78 _psmp sei 2857 00,3BCD A0 00 ldy #0 2858 00,3BCF 8C 0E D4 sty $d40e 2859 2860 00,3BD2 AE CC 36 ldx n_inst 2861 00,3BD5 BD 80 04 lda tivol,x 2862 00,3BD8 C9 D8 cmp #$d8 2863 00,3BDA D0 0A bne *+12 2864 2865 00,3BDC 20 74 31 jsr n_12 2866 00,3BDF A9 40 lda #$40 2867 00,3BE1 8D 0E D4 sta $d40e 2868 00,3BE4 58 cli 2869 00,3BE5 60 rts 2870 2871 00,3BE6 AE CC 36 ldx n_inst 2872 2873 00,3BE9 BD A0 05 lda tab_3,x 2874 00,3BEC 8D 01 D3 sta $d301 2875 2876 00,3BEF BD 40 05 lda tendh,x 2877 00,3BF2 8D 22 3C sta ien4_s+1 2878 2879 00,3BF5 BD A0 04 lda tstrl,x 2880 00,3BF8 85 EC sta istr_4+1 2881 00,3BFA BD C0 04 lda tstrh,x 2882 00,3BFD 85 ED sta istr_4+2 2883 2884 00,3BFF AE C1 36 ldx nuta 2885 00,3C02 BD 00 FE lda AdrTid2,x 2886 00,3C05 8D 12 3C sta iad4_m+1 2887 00,3C08 BD 25 FE lda AdrTid2+37,x 2888 00,3C0B 8D 18 3C sta iad4_s+1 2889 00,3C0E 18 clc 2890 2891 00,3C0F A5 EB lda istr_4 2892 00,3C11 69 00 iad4_m adc #0 2893 00,3C13 85 EB sta istr_4 2894 00,3C15 A5 EC lda istr_4+1 2895 00,3C17 69 00 iad4_s adc #0 2896 00,3C19 85 EC sta istr_4+1 2897 00,3C1B 90 12 bcc p_4c 2898 00,3C1D E6 ED inc istr_4+2 2899 00,3C1F A5 ED lda istr_4+2 2900 00,3C21 C9 00 ien4_s cmp #0 2901 00,3C23 90 0A bcc p_4c 2902 2903 00,3C25 20 74 31 jsr n_12 2904 00,3C28 A9 40 lda #$40 2905 00,3C2A 8D 0E D4 sta $d40e 2906 00,3C2D 58 cli 2907 00,3C2E 60 rts 2908 2909 00,3C2F B1 EC p_4c lda (istr_4+1),y 2910 00,3C31 49 80 eor #$80 2911 00,3C33 AE 0B D4 ldx $d40b 2912 00,3C36 EC 0B D4 cpx $d40b 2913 00,3C39 F0 FB beq *-3 2914 00,3C3B 8D 00 D6 ch_4 sta $d600 2915 00,3C3E 4C 0F 3C jmp iad4_m-2 2916 2917 00,3C41 00 00 00 00 _atmp dta d' ' 2918 00,3C45 44 31 3A 2A 2A + _mload dta c'D1:********.MOD',b($9b) 2919 00,3C55 44 31 3A 2A 2A + _sload dta c'D1:********.SMP',b($9b) 2920 00,3C65 00 00 00 00 _offst dta d' ' 2921 2922 00,3C69 40 41 42 43 44 + chg ins 'chg.dat' 2923 2924 00,3CE9 00 d_win brk 2925 00,3CEA 00 d_licz brk 2926 00,3CEB 00 d_co brk 2927 00,3CEC 00 d_il brk 2928 00,3CED 00 ppm brk 2929 00,3CEE 00 ble brk 2930 00,3CEF 00 il_pt brk 2931 00,3CF0 00 byte brk 2932 00,3CF1 00 00 word dta a(0) 2933 2934 2935 ;------------; 2936 ;- ORDERS -; 2937 ;------------; 2938 2939 00,3CF3 20 3A 06 orders jsr cl_k 2940 00,3CF6 AD 92 40 lda o_licz 2941 00,3CF9 8D 93 40 sta p_ord 2942 00,3CFC A9 05 lda #5 2943 00,3CFE 8D 94 40 sta _licz2 2944 00,3D01 20 0E 3F jsr s_pse 2945 00,3D04 20 00 3F jsr _shlp 2946 00,3D07 20 88 3E jsr _ost 2947 00,3D0A 20 DD 3D jsr _olneg 2948 00,3D0D 20 E6 3D jsr o_eor 2949 2950 00,3D10 AD FC 02 key2 lda 764 2951 00,3D13 C9 0F cmp #15 2952 00,3D15 F0 1E beq _dnx 2953 00,3D17 C9 0E cmp #14 2954 00,3D19 F0 1D beq _upx 2955 00,3D1B C9 1C cmp #28 2956 00,3D1D F0 1C beq _eord 2957 00,3D1F C9 77 cmp #119 2958 00,3D21 F0 0C beq *+14 2959 00,3D23 C9 74 cmp #116 2960 00,3D25 F0 0B beq *+13 2961 00,3D27 A0 00 ldy #0 2962 00,3D29 20 17 3F jsr _oput 2963 00,3D2C 4C 10 3D jmp key2 2964 2965 00,3D2F 4C C0 05 jmp _inr 2966 00,3D32 4C EB 05 jmp _der 2967 00,3D35 4C 5D 3D _dnx jmp _dno 2968 00,3D38 4C A4 3D _upx jmp _upo 2969 2970 00,3D3B 20 3A 06 _eord jsr cl_k 2971 00,3D3E 20 DD 3D jsr _olneg 2972 00,3D41 AE 91 40 ldx o_win 2973 00,3D44 F0 06 beq *+8 2974 00,3D46 20 39 40 jsr _iord 2975 00,3D49 CA dex 2976 00,3D4A D0 FA bne *-4 2977 00,3D4C 20 F8 3D jsr _neg 2978 00,3D4F 20 5F 26 jsr s_eor 2979 00,3D52 18 clc 2980 00,3D53 AD 92 40 lda o_licz 2981 00,3D56 6D 91 40 adc o_win 2982 00,3D59 8D 30 2C sta _mst+1 2983 00,3D5C 60 rts 2984 2985 00,3D5D AD 91 40 _dno lda o_win 2986 00,3D60 C9 04 cmp #4 2987 00,3D62 F0 0A beq *+12 2988 00,3D64 EE 91 40 inc o_win | 2989 00,3D67 AD 91 40 lda o_win | 2990 00,3D6A C9 05 cmp #5 | 2991 00,3D6C D0 2D bne *+47 2992 00,3D6E EE 92 40 inc o_licz ?| 2993 00,3D71 AD 92 40 lda o_licz | 2994 00,3D74 C9 7C cmp #124 | 2995 00,3D76 F0 1D beq *+31 | 2996 00,3D78 20 3A 06 jsr cl_k || 2997 00,3D7B A9 05 lda #5 || 2998 00,3D7D 8D 94 40 sta _licz2 || 2999 00,3D80 20 0E 3F jsr s_pse || 3000 00,3D83 20 00 3F jsr _shlp || 3001 00,3D86 AD 92 40 lda o_licz || 3002 00,3D89 8D 93 40 sta p_ord || 3003 00,3D8C 20 88 3E jsr _ost || 3004 00,3D8F 20 48 3E jsr _on5 || 3005 00,3D92 4C 10 3D jmp key2 || 3006 00,3D95 || 3007 00,3D95 CE 92 40 dec o_licz ?| 3008 00,3D98 4C 10 3D jmp key2 | 3009 00,3D9B | 3010 00,3D9B 20 10 3E jsr _odn ? 3011 00,3D9E 20 3A 06 jsr cl_k 3012 00,3DA1 4C 10 3D jmp key2 3013 3014 00,3DA4 AD 91 40 _upo lda o_win 3015 00,3DA7 F0 06 beq *+8 3016 00,3DA9 CE 91 40 dec o_win | 3017 00,3DAC 4C D4 3D jmp _otam2 | 3018 00,3DAF AD 92 40 lda o_licz ? 3019 00,3DB2 F0 26 beq *+40 3020 00,3DB4 CE 92 40 dec o_licz | 3021 00,3DB7 20 3A 06 jsr cl_k | 3022 00,3DBA A9 05 lda #5 | 3023 00,3DBC 8D 94 40 sta _licz2 | 3024 00,3DBF 20 0E 3F jsr s_pse | 3025 00,3DC2 20 00 3F jsr _shlp | 3026 00,3DC5 AD 92 40 lda o_licz | 3027 00,3DC8 8D 93 40 sta p_ord | 3028 00,3DCB 20 88 3E jsr _ost | 3029 00,3DCE 20 56 3E jsr _onp | 3030 00,3DD1 4C 10 3D jmp key2 | 3031 00,3DD4 | 3032 00,3DD4 20 29 3E _otam2 jsr _oup | 3033 00,3DD7 20 3A 06 jsr cl_k | 3034 00,3DDA 4C 10 3D jmp key2 ? 3035 3036 00,3DDD A9 9D _olneg lda <_e4+13 3037 00,3DDF 85 E2 sta filord 3038 00,3DE1 A9 B7 lda >_e4+13 3039 00,3DE3 85 E3 sta filord+1 3040 00,3DE5 60 rts 3041 3042 00,3DE6 20 DD 3D o_eor jsr _olneg 3043 00,3DE9 AE 91 40 ldx o_win 3044 00,3DEC F0 06 beq *+8 3045 00,3DEE 20 39 40 jsr _iord 3046 00,3DF1 CA dex 3047 00,3DF2 D0 FA bne *-4 3048 00,3DF4 20 F8 3D jsr _neg 3049 00,3DF7 60 rts 3050 3051 00,3DF8 A0 04 _neg ldy #4 3052 00,3DFA B1 E2 lda (filord),y 3053 00,3DFC 49 80 eor #$80 3054 00,3DFE 91 E2 sta (filord),y 3055 00,3E00 88 dey 3056 00,3E01 10 F7 bpl *-7 3057 00,3E03 18 clc 3058 00,3E04 AD 92 40 lda o_licz 3059 00,3E07 6D 91 40 adc o_win 3060 00,3E0A 85 E4 sta patno 3061 00,3E0C 20 62 2A jsr _ppoz 3062 00,3E0F 60 rts 3063 3064 00,3E10 20 DD 3D _odn jsr _olneg 3065 00,3E13 AE 91 40 ldx o_win 3066 00,3E16 CA dex 3067 00,3E17 F0 06 beq *+8 3068 00,3E19 20 39 40 jsr _iord 3069 00,3E1C CA dex 3070 00,3E1D D0 FA bne *-4 3071 00,3E1F 20 F8 3D jsr _neg 3072 00,3E22 20 39 40 jsr _iord 3073 00,3E25 20 F8 3D jsr _neg 3074 00,3E28 60 rts 3075 3076 00,3E29 20 DD 3D _oup jsr _olneg 3077 00,3E2C AE 91 40 ldx o_win 3078 00,3E2F E8 inx 3079 00,3E30 20 39 40 jsr _iord 3080 00,3E33 CA dex 3081 00,3E34 D0 FA bne *-4 3082 00,3E36 20 F8 3D jsr _neg 3083 00,3E39 38 sec 3084 00,3E3A A5 E2 lda filord 3085 00,3E3C E9 28 sbc <40 3086 00,3E3E 85 E2 sta filord 3087 00,3E40 B0 02 bcs *+4 3088 00,3E42 C6 E3 dec filord+1 3089 00,3E44 20 F8 3D jsr _neg 3090 00,3E47 60 rts 3091 3092 00,3E48 A2 04 _on5 ldx #4 3093 00,3E4A BD 3D B8 lda _e4+173,x 3094 00,3E4D 49 80 eor #$80 3095 00,3E4F 9D 3D B8 sta _e4+173,x 3096 00,3E52 CA dex 3097 00,3E53 10 F5 bpl *-9 3098 00,3E55 60 rts 3099 3100 00,3E56 A2 04 _onp ldx #4 3101 00,3E58 BD 9D B7 lda _e4+13,x 3102 00,3E5B 49 80 eor #$80 3103 00,3E5D 9D 9D B7 sta _e4+13,x 3104 00,3E60 CA dex 3105 00,3E61 10 F5 bpl *-9 3106 00,3E63 60 rts 3107 3108 00,3E64 20 27 40 _osr jsr _sh 3109 00,3E67 AE 92 40 ldx o_licz 3110 00,3E6A F0 0A beq *+12 3111 00,3E6C 18 clc 3112 00,3E6D A5 FC lda hlp 3113 00,3E6F 69 01 adc #1 3114 00,3E71 85 FC sta hlp 3115 00,3E73 CA dex 3116 00,3E74 D0 F6 bne *-8 3117 00,3E76 A9 05 lda #5 3118 00,3E78 8D 94 40 sta _licz2 3119 00,3E7B AD 92 40 lda o_licz 3120 00,3E7E 8D 93 40 sta p_ord 3121 00,3E81 20 88 3E jsr _ost 3122 00,3E84 20 3A 06 jsr cl_k 3123 00,3E87 60 rts 3124 3125 00,3E88 18 _ost clc 3126 00,3E89 AD 92 40 lda o_licz 3127 00,3E8C 6D 91 40 adc o_win 3128 00,3E8F 85 E4 sta patno 3129 00,3E91 20 62 2A jsr _ppoz 3130 00,3E94 AE 93 40 ldx p_ord 3131 00,3E97 20 8C 28 jsr p_hex 3132 00,3E9A AE C5 36 ldx cf_1 3133 00,3E9D BD 45 AC lda hex,x 3134 00,3EA0 A0 00 ldy #0 3135 00,3EA2 91 FE sta (pse),y 3136 00,3EA4 C8 iny 3137 00,3EA5 AE C6 36 ldx cf_1+1 3138 00,3EA8 BD 45 AC lda hex,x 3139 00,3EAB 91 FE sta (pse),y 3140 3141 00,3EAD A0 00 ldy #0 3142 00,3EAF B1 FC lda (hlp),y 3143 3144 00,3EB1 A2 00 ldx #0 3145 00,3EB3 DD 69 37 cmp tapat,x 3146 00,3EB6 F0 11 beq *+19 3147 00,3EB8 E8 inx 3148 00,3EB9 E0 80 cpx #128 3149 00,3EBB D0 F6 bne *-8 3150 00,3EBD A9 0D lda #'-'-32 3151 00,3EBF A0 03 ldy #3 3152 00,3EC1 91 FE sta (pse),y 3153 00,3EC3 C8 iny 3154 00,3EC4 91 FE sta (pse),y 3155 00,3EC6 4C E0 3E jmp _cn2 3156 00,3EC9 20 8C 28 jsr p_hex 3157 00,3ECC AE C5 36 ldx cf_1 3158 00,3ECF BD 45 AC lda hex,x 3159 00,3ED2 A0 03 ldy #3 3160 00,3ED4 91 FE sta (pse),y 3161 00,3ED6 A0 04 ldy #4 3162 00,3ED8 AE C6 36 ldx cf_1+1 3163 00,3EDB BD 45 AC lda hex,x 3164 00,3EDE 91 FE sta (pse),y 3165 3166 00,3EE0 A9 00 _cn2 lda #0 3167 00,3EE2 A0 02 ldy #2 3168 00,3EE4 91 FE sta (pse),y 3169 3170 00,3EE6 20 F4 3E jsr i_pse 3171 00,3EE9 E6 FC inc hlp 3172 00,3EEB EE 93 40 inc p_ord 3173 00,3EEE CE 94 40 dec _licz2 3174 00,3EF1 D0 95 bne _ost 3175 00,3EF3 60 rts 3176 3177 00,3EF4 18 i_pse clc 3178 00,3EF5 A5 FE lda pse 3179 00,3EF7 69 28 adc <40 3180 00,3EF9 85 FE sta pse 3181 00,3EFB 90 02 bcc *+4 3182 00,3EFD E6 FF inc pse+1 3183 00,3EFF 60 rts 3184 3185 00,3F00 20 27 40 _shlp jsr _sh 3186 00,3F03 AE 92 40 ldx o_licz 3187 00,3F06 F0 05 beq *+7 3188 00,3F08 E6 FC inc hlp 3189 00,3F0A CA dex 3190 00,3F0B D0 FB bne *-3 3191 00,3F0D 60 rts 3192 3193 00,3F0E A9 9D s_pse lda <_e4+13 3194 00,3F10 85 FE sta pse 3195 00,3F12 A9 B7 lda >_e4+13 3196 00,3F14 85 FF sta pse+1 3197 00,3F16 60 rts 3198 3199 00,3F17 A2 00 _oput ldx #0 3200 00,3F19 C9 21 cmp #33 3201 00,3F1B D0 13 bne *+21 3202 00,3F1D A9 0D lda #'-'-32 | 3203 00,3F1F 8D 98 40 sta _obf+3 | 3204 00,3F22 8D 99 40 sta _obf+4 | 3205 00,3F25 A9 0F lda #$f | 3206 00,3F27 8D 9A 40 sta _yp | 3207 00,3F2A 8D 9B 40 sta _yp+1 | 3208 00,3F2D 4C 6C 3F jmp _op4 | 3209 00,3F30 DD 81 40 cmp o_klw,x ? 3210 00,3F33 D0 0C bne *+14 | 3211 00,3F35 8E 9A 40 stx _yp || 3212 00,3F38 BD 45 AC lda hex,x || 3213 00,3F3B 99 98 40 sta _obf+3,y || 3214 00,3F3E 4C 47 3F jmp _op2 || 3215 00,3F41 E8 inx ?| 3216 00,3F42 E0 10 cpx #16 | 3217 00,3F44 D0 EA bne *-20 3218 00,3F46 60 rts 3219 3220 00,3F47 20 3A 06 _op2 jsr cl_k 3221 00,3F4A AD FC 02 lda 764 3222 00,3F4D C9 FF cmp #$ff 3223 00,3F4F F0 F9 beq *-5 3224 00,3F51 A0 01 ldy #1 3225 00,3F53 A2 00 ldx #0 3226 00,3F55 DD 81 40 cmp o_klw,x 3227 00,3F58 D0 0C bne *+14 3228 00,3F5A 8E 9B 40 stx _yp+1 3229 00,3F5D BD 45 AC lda hex,x 3230 00,3F60 99 98 40 sta _obf+3,y 3231 00,3F63 4C 6C 3F jmp _op4 3232 00,3F66 E8 inx 3233 00,3F67 E0 10 cpx #16 3234 00,3F69 D0 EA bne *-20 3235 00,3F6B 60 rts 3236 3237 00,3F6C 20 30 40 _op4 jsr _adc 3238 00,3F6F 20 8C 28 jsr p_hex 3239 00,3F72 AE C5 36 ldx cf_1 3240 00,3F75 BD 45 AC lda hex,x 3241 00,3F78 8D 95 40 sta _obf 3242 00,3F7B AE C6 36 ldx cf_1+1 3243 00,3F7E BD 45 AC lda hex,x 3244 00,3F81 8D 96 40 sta _obf+1 3245 3246 00,3F84 20 DD 3D jsr _olneg 3247 00,3F87 AE 91 40 ldx o_win 3248 00,3F8A F0 06 beq *+8 3249 00,3F8C 20 39 40 jsr _iord 3250 00,3F8F CA dex 3251 00,3F90 D0 FA bne *-4 3252 3253 00,3F92 A0 04 ldy #4 3254 00,3F94 B9 95 40 lda _obf,y 3255 00,3F97 91 E2 sta (filord),y 3256 00,3F99 88 dey 3257 00,3F9A 10 F8 bpl *-6 3258 3259 00,3F9C 20 27 40 jsr _sh 3260 00,3F9F 20 30 40 jsr _adc 3261 00,3FA2 F0 05 beq *+7 3262 00,3FA4 E6 FC inc hlp 3263 00,3FA6 CA dex 3264 00,3FA7 D0 FB bne *-3 3265 00,3FA9 AD 9A 40 lda _yp 3266 00,3FAC 20 35 06 jsr _q 3267 00,3FAF 0D 9B 40 ora _yp+1 3268 00,3FB2 A0 00 ldy #0 3269 00,3FB4 C9 FF cmp #$ff 3270 00,3FB6 F0 04 beq *+6 3271 00,3FB8 AA tax 3272 00,3FB9 BD 69 37 lda tapat,x 3273 00,3FBC 91 FC sta (hlp),y 3274 3275 00,3FBE AD 91 40 lda o_win 3276 00,3FC1 C9 04 cmp #4 3277 00,3FC3 F0 0A beq *+12 3278 00,3FC5 EE 91 40 inc o_win 3279 00,3FC8 AD 91 40 lda o_win 3280 00,3FCB C9 05 cmp #5 3281 00,3FCD D0 2F bne _op12 3282 00,3FCF EE 92 40 inc o_licz 3283 00,3FD2 AD 92 40 lda o_licz 3284 00,3FD5 C9 7C cmp #124 3285 00,3FD7 F0 1B beq _op13 3286 00,3FD9 20 3A 06 jsr cl_k 3287 00,3FDC A9 05 lda #5 3288 00,3FDE 8D 94 40 sta _licz2 3289 00,3FE1 20 0E 3F jsr s_pse 3290 00,3FE4 AD 92 40 lda o_licz 3291 00,3FE7 8D 93 40 sta p_ord 3292 00,3FEA 20 00 3F jsr _shlp 3293 00,3FED 20 88 3E jsr _ost 3294 00,3FF0 20 48 3E jsr _on5 3295 00,3FF3 60 rts 3296 3297 00,3FF4 20 3A 06 _op13 jsr cl_k 3298 00,3FF7 CE 92 40 dec o_licz 3299 00,3FFA 20 48 3E jsr _on5 3300 00,3FFD 60 rts 3301 3302 00,3FFE 20 DD 3D _op12 jsr _olneg 3303 00,4001 AE 91 40 ldx o_win 3304 00,4004 F0 06 beq *+8 3305 00,4006 20 39 40 jsr _iord 3306 00,4009 CA dex 3307 00,400A D0 FA bne *-4 3308 00,400C 20 3A 06 jsr cl_k 3309 00,400F A9 05 lda #5 3310 00,4011 8D 94 40 sta _licz2 3311 00,4014 20 0E 3F jsr s_pse 3312 00,4017 AD 92 40 lda o_licz 3313 00,401A 8D 93 40 sta p_ord 3314 00,401D 20 00 3F jsr _shlp 3315 00,4020 20 88 3E jsr _ost 3316 00,4023 20 F8 3D jsr _neg 3317 00,4026 60 rts 3318 3319 00,4027 A9 00 _sh lda <$400 3320 00,4029 85 FC sta hlp 3321 00,402B A9 04 lda >$400 3322 00,402D 85 FD sta hlp+1 3323 00,402F 60 rts 3324 3325 00,4030 18 _adc clc 3326 00,4031 AD 92 40 lda o_licz 3327 00,4034 6D 91 40 adc o_win 3328 00,4037 AA tax 3329 00,4038 60 rts 3330 3331 00,4039 18 _iord clc 3332 00,403A A5 E2 lda filord 3333 00,403C 69 28 adc <40 3334 00,403E 85 E2 sta filord 3335 00,4040 90 02 bcc *+4 3336 00,4042 E6 E3 inc filord+1 3337 00,4044 60 rts 3338 3339 00,4045 A9 00 bufclr lda #0 3340 00,4047 AA tax 3341 00,4048 9D 00 BB sta _bf,x 3342 00,404B 9D 00 BC sta _bf+$100,x 3343 00,404E 9D 00 BD sta _bf+$200,x 3344 00,4051 9D 00 BE sta _bf+$300,x 3345 00,4054 9D 00 BF sta _bf+$400,x 3346 00,4057 E8 inx 3347 00,4058 D0 EE bne *-16 3348 00,405A A2 07 ldx #7 3349 00,405C 9D 5F B7 sta _e3+31,x 3350 00,405F 9D 87 B7 sta _e3+71,x 3351 00,4062 9D AF B7 sta _e3+111,x 3352 00,4065 9D D7 B7 sta _e3+151,x 3353 00,4068 9D FF B7 sta _e3+191,x 3354 00,406B 9D 27 B8 sta _e3+231,x 3355 00,406E 9D 4F B8 sta _e3+271,x 3356 00,4071 CA dex 3357 00,4072 10 E8 bpl *-22 3358 00,4074 60 rts 3359 3360 00,4075 A0 07 _x1neg ldy #7 3361 00,4077 B1 F8 lda (_dx),y 3362 00,4079 49 80 eor #$80 3363 00,407B 91 F8 sta (_dx),y 3364 00,407D 88 dey 3365 00,407E 10 F7 bpl *-7 3366 00,4080 60 rts 3367 3368 00,4081 32 1F 1E 1A o_klw dta b(50),b(31),b(30),b(26) 3369 00,4085 18 1D 1B 33 dta b(24),b(29),b(27),b(51) 3370 00,4089 35 30 3F 15 dta b(53),b(48),b(63),b(21) 3371 00,408D 12 3A 2A 38 dta b(18),b(58),b(42),b(56) 3372 3373 00,4091 00 o_win brk 3374 00,4092 00 o_licz brk 3375 00,4093 00 p_ord brk 3376 00,4094 00 _licz2 brk 3377 00,4095 00 00 00 00 00 _obf dta d' ' 3378 00,409A 00 00 _yp dta a(0) 3379 3380 3381 ;----------; 3382 ;- XCHG -; 3383 ;----------; 3384 3385 00,409C 20 3A 06 _exchg jsr cl_k 3386 00,409F A9 00 lda #0 3387 00,40A1 8D D9 02 sta $2d9 3388 3389 00,40A4 A2 04 ldx #4 3390 00,40A6 A9 1F lda #'?'-32 3391 00,40A8 9D 4F 39 sta _txt7+26,x 3392 00,40AB CA dex 3393 00,40AC 10 FA bpl *-4 3394 3395 00,40AE A9 3F lda #'_'-32 3396 00,40B0 8D 51 39 sta _txt7+28 3397 3398 00,40B3 A9 10 lda #16 3399 00,40B5 8D D3 36 sta pom_1 3400 00,40B8 A2 35 ldx <_txt7 3401 00,40BA A0 39 ldy >_txt7 3402 00,40BC 20 19 AF jsr _wname 3403 3404 00,40BF AD FC 02 lda 764 3405 00,40C2 C9 FF cmp #$ff 3406 00,40C4 F0 F9 beq *-5 3407 00,40C6 C9 1C cmp #28 3408 00,40C8 D0 16 bne *+24 3409 3410 00,40CA A9 10 lda #16 3411 00,40CC 8D D3 36 sta pom_1 3412 00,40CF A2 35 ldx <_txt7 3413 00,40D1 A0 39 ldy >_txt7 3414 00,40D3 4C CB 41 jmp _ex9 3415 3416 00,40D6 20 3A 06 jsr cl_k 3417 00,40D9 AD FC 02 lda 764 3418 00,40DC C9 FF cmp #$ff 3419 00,40DE F0 F9 beq *-5 3420 00,40E0 A2 00 ldx #0 3421 00,40E2 DD 81 40 cmp o_klw,x ? 3422 00,40E5 D0 0C bne *+14 | 3423 00,40E7 8E 9A 40 stx _yp || 3424 00,40EA BD 45 AC lda hex,x || 3425 00,40ED 8D D6 B7 sta _e4+70 || 3426 00,40F0 4C FB 40 jmp _ex2 || 3427 00,40F3 E8 inx ?| 3428 00,40F4 E0 02 cpx #2 | 3429 00,40F6 D0 EA bne *-20 3430 00,40F8 4C D6 40 jmp *-34 3431 3432 00,40FB 20 3A 06 _ex2 jsr cl_k 3433 00,40FE AD FC 02 lda 764 3434 00,4101 C9 FF cmp #$ff 3435 00,4103 F0 F9 beq *-5 3436 00,4105 A2 00 ldx #0 3437 00,4107 DD 81 40 cmp o_klw,x ? 3438 00,410A D0 0C bne *+14 | 3439 00,410C 8E 9B 40 stx _yp+1 || 3440 00,410F BD 45 AC lda hex,x || 3441 00,4112 8D D7 B7 sta _e4+71 || 3442 00,4115 4C 20 41 jmp *+11 || 3443 00,4118 E8 inx ?| 3444 00,4119 E0 10 cpx #16 | 3445 00,411B D0 EA bne *-20 3446 00,411D 4C FB 40 jmp _ex2 3447 3448 00,4120 AD 9A 40 lda _yp 3449 00,4123 20 35 06 jsr _q 3450 00,4126 0D 9B 40 ora _yp+1 3451 00,4129 8D C3 36 sta komend 3452 3453 00,412C 20 3A 06 _eq4 jsr cl_k 3454 00,412F AD FC 02 lda 764 3455 00,4132 C9 FF cmp #$ff 3456 00,4134 F0 F9 beq *-5 3457 00,4136 A2 00 ldx #0 3458 00,4138 DD 81 40 cmp o_klw,x ? 3459 00,413B D0 0C bne *+14 | 3460 00,413D 8E 9A 40 stx _yp || 3461 00,4140 BD 45 AC lda hex,x || 3462 00,4143 8D D9 B7 sta _e4+73 || 3463 00,4146 4C 51 41 jmp _ex5 || 3464 00,4149 E8 inx ?| 3465 00,414A E0 02 cpx #2 | 3466 00,414C D0 EA bne *-20 3467 00,414E 4C 2C 41 jmp _eq4 3468 3469 00,4151 20 3A 06 _ex5 jsr cl_k 3470 00,4154 AD FC 02 lda 764 3471 00,4157 C9 FF cmp #$ff 3472 00,4159 F0 F9 beq *-5 3473 00,415B A2 00 ldx #0 3474 00,415D DD 81 40 cmp o_klw,x ? 3475 00,4160 D0 0C bne *+14 | 3476 00,4162 8E 9B 40 stx _yp+1 || 3477 00,4165 BD 45 AC lda hex,x || 3478 00,4168 8D DA B7 sta _e4+74 || 3479 00,416B 4C 76 41 jmp _ex6 || 3480 00,416E E8 inx ?| 3481 00,416F E0 10 cpx #16 | 3482 00,4171 D0 EA bne *-20 3483 00,4173 4C 76 41 jmp _ex6 3484 3485 00,4176 AD 9A 40 _ex6 lda _yp 3486 00,4179 20 35 06 jsr _q 3487 00,417C 0D 9B 40 ora _yp+1 3488 00,417F 8D CE 36 sta param 3489 3490 00,4182 AE C2 36 ldx n_pat 3491 00,4185 BD 69 37 lda tapat,x 3492 00,4188 85 FD sta hlp+1 3493 00,418A AE C8 36 ldx p_trk 3494 00,418D BD E1 37 lda _tn5,x 3495 00,4190 85 FC sta hlp 3496 3497 00,4192 A2 00 ldx #0 3498 00,4194 A0 01 ldy #1 3499 00,4196 B1 FC _xx0 lda (hlp),y 3500 00,4198 29 1F and #$1f 3501 00,419A CD C3 36 cmp komend 3502 00,419D D0 09 bne *+11 3503 00,419F B1 FC lda (hlp),y | 3504 00,41A1 29 E0 and #$e0 | 3505 00,41A3 0D CE 36 ora param | 3506 00,41A6 91 FC sta (hlp),y | 3507 00,41A8 18 clc ? 3508 00,41A9 A5 FC lda hlp 3509 00,41AB 69 0C adc #12 3510 00,41AD 85 FC sta hlp 3511 00,41AF 90 02 bcc *+4 3512 00,41B1 E6 FD inc hlp+1 3513 00,41B3 E8 inx 3514 00,41B4 E0 40 cpx #64 3515 00,41B6 D0 DE bne _xx0 3516 3517 00,41B8 20 3A 06 jsr cl_k 3518 00,41BB AD FC 02 lda 764 3519 00,41BE C9 0C cmp #12 3520 00,41C0 D0 F9 bne *-5 3521 3522 00,41C2 A9 10 lda #16 3523 00,41C4 8D D3 36 sta pom_1 3524 00,41C7 A2 35 ldx <_txt7 3525 00,41C9 A0 39 ldy >_txt7 3526 00,41CB 20 19 AF _ex9 jsr _wname 3527 3528 00,41CE 20 48 28 jsr set_h0 3529 00,41D1 20 6B 28 jsr set_sc 3530 00,41D4 A9 0F lda #15 3531 00,41D6 8D BF 36 sta licznik 3532 00,41D9 A9 00 lda #0 3533 00,41DB 8D C9 36 sta p_pat 3534 00,41DE 20 80 26 jsr srt2 3535 00,41E1 20 5F 26 jsr s_eor 3536 00,41E4 20 3A 06 jsr cl_k 3537 00,41E7 A9 14 lda #20 3538 00,41E9 8D D9 02 sta $2d9 3539 00,41EC 4C 81 24 jmp keybd 3540 3541 3542 ;-----------; 3543 ;- TRANS -; 3544 ;-----------; 3545 3546 00,41EF 20 3A 06 _trans jsr cl_k 3547 00,41F2 A9 00 lda #0 3548 00,41F4 8D D9 02 sta $2d9 3549 3550 00,41F7 A2 04 ldx #4 3551 00,41F9 A9 1F lda #'?'-32 3552 00,41FB 9D 1E 39 sta _txt6+28,x 3553 00,41FE CA dex 3554 00,41FF 10 FA bpl *-4 3555 3556 00,4201 A9 3F lda #'_'-32 3557 00,4203 8D 20 39 sta _txt6+30 3558 3559 00,4206 A9 11 lda #17 3560 00,4208 8D D3 36 sta pom_1 3561 00,420B A2 02 ldx <_txt6 3562 00,420D A0 39 ldy >_txt6 3563 00,420F 20 19 AF jsr _wname 3564 3565 00,4212 AD FC 02 lda 764 3566 00,4215 C9 FF cmp #$ff 3567 00,4217 F0 F9 beq *-5 3568 00,4219 C9 1C cmp #28 3569 00,421B D0 16 bne *+24 3570 00,421D | 3571 00,421D A9 11 lda #17 | 3572 00,421F 8D D3 36 sta pom_1 | 3573 00,4222 A2 02 ldx <_txt6 | 3574 00,4224 A0 39 ldy >_txt6 | 3575 00,4226 4C CB 41 jmp _ex9 | 3576 00,4229 | 3577 00,4229 20 3A 06 jsr cl_k | 3578 00,422C AD FC 02 lda 764 | 3579 00,422F C9 FF cmp #$ff | 3580 00,4231 F0 F9 beq *-5 | 3581 00,4233 A2 00 ldx #0 ? 3582 00,4235 DD 81 40 cmp o_klw,x ? 3583 00,4238 D0 0C bne *+14 | 3584 00,423A 8E 9A 40 stx _yp || 3585 00,423D BD 45 AC lda hex,x || 3586 00,4240 8D D7 B7 sta _e4+71 || 3587 00,4243 4C 4E 42 jmp _tp2 || 3588 00,4246 E8 inx ?| 3589 00,4247 E0 02 cpx #2 | 3590 00,4249 D0 EA bne *-20 3591 00,424B 4C 29 42 jmp *-34 3592 3593 00,424E 20 3A 06 _tp2 jsr cl_k 3594 00,4251 AD FC 02 lda 764 3595 00,4254 C9 FF cmp #$ff 3596 00,4256 F0 F9 beq *-5 3597 00,4258 A2 00 ldx #0 3598 00,425A DD 81 40 cmp o_klw,x ? 3599 00,425D D0 0C bne *+14 | 3600 00,425F 8E 9B 40 stx _yp+1 || 3601 00,4262 BD 45 AC lda hex,x || 3602 00,4265 8D D8 B7 sta _e4+72 || 3603 00,4268 4C 73 42 jmp *+11 || 3604 00,426B E8 inx ?| 3605 00,426C E0 10 cpx #16 | 3606 00,426E D0 EA bne *-20 3607 00,4270 4C 4E 42 jmp _tp2 3608 3609 00,4273 AD 9A 40 lda _yp 3610 00,4276 20 35 06 jsr _q 3611 00,4279 0D 9B 40 ora _yp+1 3612 00,427C 8D C3 36 sta komend 3613 3614 00,427F 20 3A 06 _tp4 jsr cl_k 3615 00,4282 AD FC 02 lda 764 3616 00,4285 C9 FF cmp #$ff 3617 00,4287 F0 F9 beq *-5 3618 00,4289 A2 00 ldx #0 3619 00,428B DD 81 40 cmp o_klw,x ? 3620 00,428E D0 0C bne *+14 | 3621 00,4290 8E 9A 40 stx _yp || 3622 00,4293 BD 45 AC lda hex,x || 3623 00,4296 8D DA B7 sta _e4+74 || 3624 00,4299 4C A4 42 jmp _tp5 || 3625 00,429C E8 inx ?| 3626 00,429D E0 10 cpx #16 | 3627 00,429F D0 EA bne *-20 3628 00,42A1 4C 7F 42 jmp _tp4 3629 3630 00,42A4 20 3A 06 _tp5 jsr cl_k 3631 00,42A7 AD FC 02 lda 764 3632 00,42AA C9 FF cmp #$ff 3633 00,42AC F0 F9 beq *-5 3634 00,42AE A2 00 ldx #0 3635 00,42B0 DD 81 40 cmp o_klw,x ? 3636 00,42B3 D0 0C bne *+14 | 3637 00,42B5 8E 9B 40 stx _yp+1 || 3638 00,42B8 BD 45 AC lda hex,x || 3639 00,42BB 8D DB B7 sta _e4+75 || 3640 00,42BE 4C C9 42 jmp *+11 || 3641 00,42C1 E8 inx ?| 3642 00,42C2 E0 10 cpx #16 | 3643 00,42C4 D0 EA bne *-20 3644 00,42C6 4C A4 42 jmp _tp5 3645 3646 00,42C9 AD 9A 40 lda _yp 3647 00,42CC 20 35 06 jsr _q 3648 00,42CF 0D 9B 40 ora _yp+1 3649 00,42D2 8D CE 36 sta param 3650 3651 00,42D5 AE C2 36 ldx n_pat 3652 00,42D8 BD 69 37 lda tapat,x 3653 00,42DB 85 FD sta hlp+1 3654 00,42DD AE C8 36 ldx p_trk 3655 00,42E0 BD E1 37 lda _tn5,x 3656 00,42E3 85 FC sta hlp 3657 3658 00,42E5 A2 00 ldx #0 3659 00,42E7 A0 01 _tpx2 ldy #1 3660 00,42E9 B1 FC lda (hlp),y 3661 00,42EB 29 1F and #$1f 3662 00,42ED CD C3 36 cmp komend 3663 00,42F0 D0 1C bne _tpx 3664 00,42F2 A0 00 ldy #0 3665 00,42F4 B1 FC lda (hlp),y 3666 00,42F6 29 3F and #$3f 3667 00,42F8 18 clc 3668 00,42F9 6D CE 36 adc param 3669 00,42FC C9 24 cmp #36 3670 00,42FE 90 0C bcc *+14 3671 3672 00,4300 A9 11 lda #17 3673 00,4302 8D D3 36 sta pom_1 3674 00,4305 A2 02 ldx <_txt6 3675 00,4307 A0 39 ldy >_txt6 3676 00,4309 4C CB 41 jmp _ex9 3677 3678 00,430C 91 FC sta (hlp),y 3679 00,430E 18 _tpx clc 3680 00,430F A5 FC lda hlp 3681 00,4311 69 0C adc #12 3682 00,4313 85 FC sta hlp 3683 00,4315 90 02 bcc *+4 3684 00,4317 E6 FD inc hlp+1 3685 00,4319 E8 inx 3686 00,431A E0 40 cpx #64 3687 00,431C D0 C9 bne _tpx2 3688 3689 00,431E 20 3A 06 jsr cl_k 3690 00,4321 AD FC 02 lda 764 3691 00,4324 C9 0C cmp #12 3692 00,4326 D0 F9 bne *-5 3693 3694 00,4328 A9 11 lda #17 3695 00,432A 8D D3 36 sta pom_1 3696 00,432D A2 02 ldx <_txt6 3697 00,432F A0 39 ldy >_txt6 3698 00,4331 4C CB 41 jmp _ex9 3699 3700 3701 *-----------------* 3702 * out of memory * 3703 *-----------------* 3704 00,4334 20 74 31 _oomem jsr n_12 3705 00,4337 A9 0F lda #15 3706 00,4339 8D D3 36 sta pom_1 3707 00,433C A2 33 ldx <_txt1 3708 00,433E A0 38 ldy >_txt1 3709 00,4340 20 19 AF jsr _wname 3710 00,4343 20 3A 06 jsr cl_k 3711 00,4346 AD FC 02 lda 764 3712 00,4349 C9 1C cmp #28 3713 00,434B D0 F9 bne *-5 3714 00,434D A9 0F lda #15 3715 00,434F 8D D3 36 sta pom_1 3716 00,4352 A2 33 ldx <_txt1 3717 00,4354 A0 38 ldy >_txt1 3718 00,4356 20 19 AF jsr _wname 3719 00,4359 AE CD 36 ldx status 3720 00,435C 9A txs 3721 00,435D 4C 81 24 jmp keybd 3722 3723 *--------------------------* 3724 * kopiowanie patternow * 3725 *--------------------------* 3726 00,4360 20 BC 43 p_cli jsr _setcli 3727 00,4363 A0 00 ldy #0 3728 00,4365 B1 FE lda (pse),y 3729 00,4367 91 FC sta (hlp),y 3730 00,4369 A9 00 lda #0 3731 00,436B 91 FE sta (pse),y 3732 00,436D C8 iny 3733 00,436E D0 F5 bne *-9 3734 00,4370 E6 FF inc pse+1 3735 00,4372 E6 FD inc hlp+1 3736 00,4374 A5 FD lda hlp+1 3737 00,4376 C9 C3 cmp #$c3 3738 00,4378 D0 EB bne *-19 3739 00,437A 20 9F 43 jsr _offcli 3740 00,437D 20 3A 06 jsr cl_k 3741 00,4380 4C 81 24 jmp keybd 3742 3743 00,4383 20 BC 43 p_ilc jsr _setcli 3744 00,4386 A0 00 ldy #0 3745 00,4388 B1 FC lda (hlp),y 3746 00,438A 91 FE sta (pse),y 3747 00,438C C8 iny 3748 00,438D D0 F9 bne *-5 3749 00,438F E6 FF inc pse+1 3750 00,4391 E6 FD inc hlp+1 3751 00,4393 A5 FD lda hlp+1 3752 00,4395 C9 C3 cmp #$c3 3753 00,4397 D0 EF bne *-15 3754 00,4399 20 9F 43 jsr _offcli 3755 00,439C 4C 81 24 jmp keybd 3756 3757 00,439F 20 6C 33 _offcli jsr of 3758 00,43A2 20 48 28 jsr set_h0 3759 00,43A5 20 6B 28 jsr set_sc 3760 00,43A8 A9 0F lda #15 3761 00,43AA 8D BF 36 sta licznik 3762 00,43AD A9 00 lda #0 3763 00,43AF 8D C9 36 sta p_pat 3764 00,43B2 20 80 26 jsr srt2 3765 00,43B5 20 5F 26 jsr s_eor 3766 00,43B8 20 3A 06 jsr cl_k 3767 00,43BB 60 rts 3768 3769 00,43BC AE C2 36 _setcli ldx n_pat 3770 00,43BF BD 69 37 lda tapat,x 3771 00,43C2 85 FF sta pse+1 3772 00,43C4 A9 C0 lda #$c0 3773 00,43C6 85 FD sta hlp+1 3774 00,43C8 A9 00 lda #0 3775 00,43CA 85 FE sta pse 3776 00,43CC 85 FC sta hlp 3777 00,43CE 20 F6 44 jsr wait 3778 00,43D1 20 60 33 jsr on 3779 00,43D4 60 rts 3780 3781 3782 *---------------------------------* 3783 * wykiluj caly RAM i wskazniki * 3784 *---------------------------------* 3785 00,43D5 20 CB 2B _clws jsr _kill 3786 3787 00,43D8 A2 0F ldx #15 3788 00,43DA A9 00 lda #' '-32 3789 00,43DC 9D 73 38 sta _txt2+19,x 3790 00,43DF 9D 62 AE sta _nam,x 3791 00,43E2 CA dex 3792 00,43E3 10 F7 bpl *-7 3793 3794 00,43E5 A2 16 ldx #22 3795 00,43E7 9D FD B6 sta _e1+13,x 3796 00,43EA CA dex 3797 00,43EB 10 FA bpl *-4 3798 3799 00,43ED A2 14 ldx #20 3800 00,43EF 9D DA B6 sta _e1-22,x 3801 00,43F2 CA dex 3802 00,43F3 10 FA bpl *-4 3803 3804 00,43F5 A2 00 ldx #0 3805 00,43F7 8E 14 AE stx _5+1 3806 00,43FA 8E B7 AE stx _a2+1 3807 00,43FD 8E 70 AD stx _n5+1 3808 3809 00,4400 A9 FF lda #$ff 3810 00,4402 9D 00 04 sta sng,x 3811 00,4405 E8 inx 3812 00,4406 E0 80 cpx #128 3813 00,4408 D0 F8 bne *-6 3814 00,440A AD 69 37 lda tapat 3815 00,440D 8D 00 04 sta sng 3816 3817 00,4410 A9 00 lda #0 ;ustaw wskazniki bufora 3818 00,4412 8D 41 3C sta _atmp ;na jego poczatek 3819 00,4415 8D 42 3C sta _atmp+1 3820 00,4418 A9 40 lda #$40 3821 00,441A 8D 43 3C sta _atmp+2 3822 3823 00,441D 20 48 28 jsr set_h0 3824 00,4420 20 6B 28 jsr set_sc 3825 00,4423 A9 0F lda #15 3826 00,4425 8D BF 36 sta licznik 3827 00,4428 A9 00 lda #0 3828 00,442A 8D C9 36 sta p_pat 3829 00,442D 20 80 26 jsr srt2 3830 00,4430 20 5F 26 jsr s_eor 3831 3832 00,4433 A9 00 lda #0 3833 00,4435 8D 92 40 sta o_licz 3834 00,4438 8D 91 40 sta o_win 3835 00,443B A9 05 lda #5 3836 00,443D 8D 94 40 sta _licz2 3837 00,4440 20 0E 3F jsr s_pse 3838 00,4443 20 00 3F jsr _shlp 3839 00,4446 AD 92 40 lda o_licz 3840 00,4449 8D 93 40 sta p_ord 3841 00,444C 20 88 3E jsr _ost 3842 00,444F 20 9E 2A jsr p_ins 3843 00,4452 20 3A 06 jsr cl_k 3844 3845 00,4455 20 F6 44 jsr wait 3846 00,4458 A9 00 lda
dl 3849 00,445F 8D 31 02 sta $231 3850 00,4462 A9 20 lda >fnt 3851 00,4464 8D F4 02 sta 756 3852 3853 00,4467 20 60 06 jsr _ondli 3854 3855 00,446A A9 9E lda <$c09e ;wektor klawisza break 3856 00,446C 8D 36 02 sta $236 3857 00,446F A9 C0 lda >$c09e 3858 00,4471 8D 37 02 sta $237 3859 3860 00,4474 A0 02 ldy #2 3861 00,4476 8C C6 02 sty $2c6 3862 00,4479 88 dey 3863 00,447A 8C DA 02 sty $2da 3864 00,447D 88 dey 3865 00,447E 8C C8 02 sty $2c8 3866 00,4481 A9 08 lda #8 3867 00,4483 8D C5 02 sta $2c5 3868 00,4486 A9 14 lda #20 3869 00,4488 8D D9 02 sta $2d9 3870 00,448B 4C 81 24 jmp keybd 3871 3872 *------------------------* 3873 * kopiowanie track'u * 3874 *------------------------* 3875 00,448E 20 CC 44 _coptr jsr _strk 3876 00,4491 A0 02 ldy #2 3877 00,4493 B1 FE lda (pse),y 3878 00,4495 91 FC sta (hlp),y 3879 00,4497 A9 00 lda #0 3880 00,4499 91 FE sta (pse),y 3881 00,449B 88 dey 3882 00,449C 10 F5 bpl *-9 3883 00,449E A0 02 ldy #2 3884 00,44A0 20 19 06 jsr _a12pse 3885 00,44A3 A5 FD lda hlp+1 3886 00,44A5 C9 C6 cmp #$c6 3887 00,44A7 D0 EA bne *-20 3888 00,44A9 20 9F 43 jsr _offcli 3889 00,44AC 4C 81 24 jmp keybd 3890 3891 00,44AF 20 CC 44 _buptr jsr _strk 3892 00,44B2 A0 02 ldy #2 3893 00,44B4 B1 FC lda (hlp),y 3894 00,44B6 91 FE sta (pse),y 3895 00,44B8 88 dey 3896 00,44B9 10 F9 bpl *-5 3897 00,44BB A0 02 ldy #2 3898 00,44BD 20 19 06 jsr _a12pse 3899 00,44C0 A5 FD lda hlp+1 3900 00,44C2 C9 C6 cmp #$c6 3901 00,44C4 D0 EE bne *-16 3902 00,44C6 20 9F 43 jsr _offcli 3903 00,44C9 4C 81 24 jmp keybd 3904 3905 00,44CC AE C2 36 _strk ldx n_pat 3906 00,44CF BD 69 37 lda tapat,x 3907 00,44D2 85 FF sta pse+1 3908 00,44D4 AE C8 36 ldx p_trk 3909 00,44D7 BD E1 37 lda _tn5,x 3910 00,44DA 85 FE sta pse 3911 00,44DC A9 C3 lda #$c3 3912 00,44DE 85 FD sta hlp+1 3913 00,44E0 A9 00 lda #0 3914 00,44E2 85 FC sta hlp 3915 00,44E4 20 F6 44 jsr wait 3916 00,44E7 20 60 33 jsr on 3917 00,44EA 60 rts 3918 3919 00,44EB A2 CE _ofdli ldx <$c0ce 3920 00,44ED A0 C0 ldy >$c0ce 3921 00,44EF 8E 00 02 stx $200 3922 00,44F2 8C 01 02 sty $201 3923 00,44F5 60 rts 3924 3925 00,44F6 A5 14 wait lda 20 3926 00,44F8 C5 14 cmp 20 3927 00,44FA F0 FC beq *-2 3928 00,44FC 60 rts 3929 3930 ;-- 3931 ; stad bedziemy kopiowali procedure playera na strone zerowa 3932 ;-- 3933 00,44FD TempBuffer 3934 3935 00,44FD org $00,* 3936 00,0000 icl 'pm.asm' Source: pm.asm 1 2 = 00,00D8 vbl equ 216 3 4 ; org $0000 5 6 = 00,0000 pmain equ * 7 8 00,44FD-45D3> A9 00 bank0 lda #0 9 00,0002 8D 01 D3 sta $d301 10 11 00,0005 A9 00 cm_0 lda #0 12 00,0007 69 00 iad0_m adc #0 13 00,0009 85 06 sta cm_0+1 14 00,000B A5 27 lda p_0c+1 15 00,000D 69 00 iad0_s adc #0 16 00,000F 85 27 sta p_0c+1 17 00,0011 90 13 bcc p_0c 18 00,0013 E6 28 inc p_0c+2 19 00,0015 A5 28 lda p_0c+2 20 00,0017 C9 00 ien0_s cmp #0 21 00,0019 90 0B bcc p_0c 22 23 00,001B A9 00 rep0_m lda #0 24 00,001D 85 27 sta p_0c+1 25 00,001F A9 00 rep0_s lda #0 26 00,0021 85 28 sta p_0c+2 27 00,0023 4C 2F 00 jmp bank1 28 29 00,0026 AE 00 40 p_0c ldx $4000 30 00,0029 BD 00 D8 ivol10 lda $d800,x 31 00,002C 8D 00 D6 ch_0 sta $d600 32 33 00,002F A9 00 bank1 lda #0 34 00,0031 8D 01 D3 sta $d301 35 36 00,0034 A9 00 cm_1 lda #0 37 00,0036 69 00 iad1_m adc #0 38 00,0038 85 35 sta cm_1+1 39 00,003A A5 56 lda p_1c+1 40 00,003C 69 00 iad1_s adc #0 41 00,003E 85 56 sta p_1c+1 42 00,0040 90 13 bcc p_1c 43 00,0042 E6 57 inc p_1c+2 44 00,0044 A5 57 lda p_1c+2 45 00,0046 C9 00 ien1_s cmp #0 46 00,0048 90 0B bcc p_1c 47 48 00,004A A9 00 rep1_m lda #0 49 00,004C 85 56 sta p_1c+1 50 00,004E A9 00 rep1_s lda #0 51 00,0050 85 57 sta p_1c+2 52 00,0052 4C 5E 00 jmp bank2 53 54 00,0055 AE 00 40 p_1c ldx $4000 55 00,0058 BD 00 D8 ivol11 lda $d800,x 56 00,005B 8D 01 D6 ch_1 sta $d601 57 58 00,005E A9 00 bank2 lda #0 59 00,0060 8D 01 D3 sta $d301 60 61 00,0063 A9 00 cm_2 lda #0 62 00,0065 69 00 iad2_m adc #0 63 00,0067 85 64 sta cm_2+1 64 00,0069 A5 85 lda p_2c+1 65 00,006B 69 00 iad2_s adc #0 66 00,006D 85 85 sta p_2c+1 67 00,006F 90 13 bcc p_2c 68 00,0071 E6 86 inc p_2c+2 69 00,0073 A5 86 lda p_2c+2 70 00,0075 C9 00 ien2_s cmp #0 71 00,0077 90 0B bcc p_2c 72 73 00,0079 A9 00 rep2_m lda #0 74 00,007B 85 85 sta p_2c+1 75 00,007D A9 00 rep2_s lda #0 76 00,007F 85 86 sta p_2c+2 77 00,0081 4C 8D 00 jmp bank3 78 79 00,0084 AE 00 40 p_2c ldx $4000 80 00,0087 BD 00 D8 ivol12 lda $d800,x 81 00,008A 8D 02 D6 ch_2 sta $d602 82 83 00,008D A9 00 bank3 lda #0 84 00,008F 8D 01 D3 sta $d301 85 86 00,0092 A9 00 cm_3 lda #0 87 00,0094 69 00 iad3_m adc #0 88 00,0096 85 93 sta cm_3+1 89 00,0098 A5 B4 lda p_3c+1 90 00,009A 69 00 iad3_s adc #0 91 00,009C 85 B4 sta p_3c+1 92 00,009E 90 13 bcc p_3c 93 00,00A0 E6 B5 inc p_3c+2 94 00,00A2 A5 B5 lda p_3c+2 95 00,00A4 C9 00 ien3_s cmp #0 96 00,00A6 90 0B bcc p_3c 97 98 00,00A8 A9 00 rep3_m lda #0 99 00,00AA 85 B4 sta p_3c+1 100 00,00AC A9 00 rep3_s lda #0 101 00,00AE 85 B5 sta p_3c+2 102 00,00B0 4C BC 00 jmp p_e 103 104 00,00B3 AE 00 40 p_3c ldx $4000 105 00,00B6 BD 00 D8 ivol13 lda $d800,x 106 00,00B9 8D 03 D6 ch_3 sta $d603 107 108 00,00BC 88 p_e dey 109 00,00BD F0 03 beq pat 110 00,00BF 4C 00 00 jmp $0000 111 112 00,00C2 C6 E9 pat dec cnts 113 00,00C4 F0 05 beq pre 114 00,00C6 A0 D8 ldy #vbl 115 00,00C8 4C 00 00 jmp $0000 116 117 00,00CB A9 00 pre lda #0 118 00,00CD 85 E5 sta patend 119 00,00CF A9 FE lda #$fe 120 00,00D1 8D 01 D3 sta $d301 121 122 00,00D4 4C 79 33 jmp i_0 Source: pro_tracker.asm 3937 3938 00,00D7 org $b678 3939 00,B678-BAFF> 00 70 72 + skr dta d' protracker 1.51 by profi/madteam 1997 ' 3940 00,B6A0 51 4D 4D 4D 4D + dta c'QMMMMMMMMMMMWMMMMMMMMMMMMMMMMMMMMMMMMMME' 3941 00,B6C8 56 5C 11 00 5C + dta b($56),d'1 2 3 4|name: ' 3942 00,B6F0 56 6F 63 74 00 + _e1 dta b($56),d'oct 1:2| ' 3943 00,B718 56 70 61 74 74 + _e2 dta b($56),d'pattern: 00',c'HRRRRRGRRRRRRRRRRRGRRRRRRRRD' 3944 00,B740 56 70 6F 73 69 + _e3 dta b($56),d'position:00|order|load module| ' 3945 00,B768 41 52 52 52 52 + dta c'ARRRRRRRRRRR',c'I',d' |save module| ' 3946 00,B790 56 73 61 6D 70 + _e4 dta b($56),d'sample:01 |00 00|load sample| ' 3947 00,B7B8 56 76 6F 6C 75 + dta b($56),d'volume:00 |00 00|save sample| ' 3948 00,B7E0 56 6C 65 6E 67 + dta b($56),d'length:0000|00 00|samplename | ' 3949 00,B808 56 72 65 70 65 + dta b($56),d'repeat:0000|00 00|songname | ' 3950 00,B830 56 72 65 70 6C + dta b($56),d'replen:0000|00 00|clear inst.| ' 3951 00,B858 41 52 52 47 52 + dta c'ARRGRRRRRRRRSRRRRRFRRGRRRRRRRRSRRRRRRRRD' 3952 00,B880 56 00 00 7C 00 + scr dta b($56),d' | | | | ' 3953 00,B8A8 56 00 00 7C 00 + dta b($56),d' | | | | ' 3954 00,B8D0 56 00 00 7C 00 + dta b($56),d' | | | | ' 3955 00,B8F8 56 00 00 7C 00 + dta b($56),d' | | | | ' 3956 00,B920 56 00 00 7C 00 + dta b($56),d' | | | | ' 3957 00,B948 56 00 00 7C 00 + dta b($56),d' | | | | ' 3958 00,B970 56 00 00 7C 00 + dta b($56),d' | | | | ' 3959 00,B998 56 00 00 7C 00 + dta b($56),d' | | | | ' 3960 00,B9C0 56 00 00 7C 00 + dta b($56),d' | | | | ' 3961 00,B9E8 56 00 00 7C 00 + dta b($56),d' | | | | ' 3962 00,BA10 56 00 00 7C 00 + dta b($56),d' | | | | ' 3963 00,BA38 56 00 00 7C 00 + dta b($56),d' | | | | ' 3964 00,BA60 56 00 00 7C 00 + dta b($56),d' | | | | ' 3965 00,BA88 56 00 00 7C 00 + dta b($56),d' | | | | ' 3966 00,BAB0 56 00 00 7C 00 + dta b($56),d' | | | | ' 3967 00,BAD8 5A 4E 4E 58 4E + dta c'ZNNXNNNNNNNNXNNNNNNNNXNNNNNNNNXNNNNNNNNC' 3968 3969 00,BB00 org $ac00 3970 3971 00,AC00-B673> A2 00 _p0rom ldx #0 3972 00,AC02 BC FD 44 _pp1 ldy TempBuffer,x 3973 ; tay 3974 00,AC05 B5 00 lda ZeroPage,x 3975 00,AC07 9D FD 44 sta TempBuffer,x 3976 00,AC0A 98 tya 3977 00,AC0B 95 00 sta ZeroPage,x 3978 00,AC0D E8 inx 3979 00,AC0E E0 D8 cpx #$d8 3980 00,AC10 D0 F0 bne _pp1 3981 00,AC12 60 rts 3982 3983 00,AC13 51 4D 4D 4D 4D + _txt5 dta c'QMMMMMMMMMMMMMMME' 3984 00,AC24 56 75 6E 6B 6E + dta b($56),d'unknown format' 3985 00,AC34 5A 4E 4E 4E 4E + dta c'ZNNNNNNNNNNNNNNNC' 3986 3987 00,AC45 10 11 12 13 14 + hex dta d'0123456789abcdef' 3988 3989 3990 ;--------------; 3991 ;- FUNCTION -; 3992 ;--------------; 3993 3994 *------------------------* 3995 * insert pos. in track * 3996 *------------------------* 3997 00,AC55 AE C2 36 _movi ldx n_pat 3998 00,AC58 18 clc 3999 00,AC59 BD 69 37 lda tapat,x 4000 00,AC5C 69 03 adc #3 4001 00,AC5E 85 FF sta pse+1 4002 00,AC60 AE C8 36 ldx p_trk 4003 00,AC63 BD E1 37 lda _tn5,x 4004 00,AC66 38 sec 4005 00,AC67 E9 0C sbc #12 4006 00,AC69 85 FE sta pse 4007 00,AC6B B0 02 bcs *+4 4008 00,AC6D C6 FF dec pse+1 4009 00,AC6F 38 sec 4010 00,AC70 A5 FE lda pse 4011 00,AC72 E9 0C sbc <12 4012 00,AC74 85 FC sta hlp 4013 00,AC76 A5 FF lda pse+1 4014 00,AC78 E9 00 sbc >12 4015 00,AC7A 85 FD sta hlp+1 4016 00,AC7C A2 3F ldx #63 4017 00,AC7E EC C7 36 cpx winpoz 4018 00,AC81 F0 2E beq _dh1 4019 4020 00,AC83 A0 02 ldy #2 4021 00,AC85 B1 FC _ds lda (hlp),y 4022 00,AC87 91 FE sta (pse),y 4023 00,AC89 88 dey 4024 00,AC8A 10 F9 bpl _ds 4025 00,AC8C A0 02 ldy #2 4026 4027 00,AC8E 38 sec 4028 00,AC8F A5 FE lda pse 4029 00,AC91 E9 0C sbc #12 4030 00,AC93 85 FE sta pse 4031 00,AC95 B0 02 bcs *+4 4032 00,AC97 C6 FF dec pse+1 4033 00,AC99 38 sec 4034 00,AC9A A5 FC lda hlp 4035 00,AC9C E9 0C sbc #12 4036 00,AC9E 85 FC sta hlp 4037 00,ACA0 B0 02 bcs *+4 4038 00,ACA2 C6 FD dec hlp+1 4039 4040 00,ACA4 CA dex 4041 00,ACA5 EC C7 36 cpx winpoz 4042 00,ACA8 D0 DB bne _ds 4043 4044 00,ACAA A9 00 lda #0 4045 00,ACAC 91 FE sta (pse),y 4046 00,ACAE 88 dey 4047 00,ACAF 10 FB bpl *-3 4048 00,ACB1 4C 18 AD _dh1 jmp _dh0 4049 4050 4051 *------------------------* 4052 * delete pos. in track * 4053 *------------------------* 4054 00,ACB4 AE C2 36 _movd ldx n_pat 4055 00,ACB7 BD 69 37 lda tapat,x 4056 00,ACBA 85 FF sta pse+1 4057 00,ACBC AE C8 36 ldx p_trk 4058 00,ACBF BD E1 37 lda _tn5,x 4059 00,ACC2 85 FE sta pse 4060 00,ACC4 AE C7 36 ldx winpoz 4061 00,ACC7 F0 12 beq _dh3 4062 00,ACC9 E0 3F cpx #63 4063 00,ACCB F0 4B beq _dh0 4064 4065 00,ACCD 18 _dh2 clc 4066 00,ACCE A5 FE lda pse 4067 00,ACD0 69 0C adc #12 4068 00,ACD2 85 FE sta pse 4069 00,ACD4 90 02 bcc *+4 4070 00,ACD6 E6 FF inc pse+1 4071 00,ACD8 CA dex 4072 00,ACD9 D0 F2 bne _dh2 4073 4074 00,ACDB 18 _dh3 clc 4075 00,ACDC A5 FE lda pse 4076 00,ACDE 69 0C adc <12 4077 00,ACE0 85 FC sta hlp 4078 00,ACE2 A5 FF lda pse+1 4079 00,ACE4 69 00 adc >12 4080 00,ACE6 85 FD sta hlp+1 4081 4082 00,ACE8 AE C7 36 ldx winpoz 4083 00,ACEB A0 02 ldy #2 4084 00,ACED B1 FC _ds1 lda (hlp),y 4085 00,ACEF 91 FE sta (pse),y 4086 00,ACF1 88 dey 4087 00,ACF2 10 F9 bpl _ds1 4088 00,ACF4 A0 02 ldy #2 4089 4090 00,ACF6 18 clc 4091 00,ACF7 A5 FE lda pse 4092 00,ACF9 69 0C adc #12 4093 00,ACFB 85 FE sta pse 4094 00,ACFD 90 02 bcc *+4 4095 00,ACFF E6 FF inc pse+1 4096 00,AD01 18 clc 4097 00,AD02 A5 FC lda hlp 4098 00,AD04 69 0C adc #12 4099 00,AD06 85 FC sta hlp 4100 00,AD08 90 02 bcc *+4 4101 00,AD0A E6 FD inc hlp+1 4102 4103 00,AD0C E8 inx 4104 00,AD0D E0 3F cpx #63 4105 00,AD0F D0 DC bne _ds1 4106 4107 00,AD11 A9 00 lda #0 4108 00,AD13 91 FE sta (pse),y 4109 00,AD15 88 dey 4110 00,AD16 10 FB bpl *-3 4111 4112 00,AD18 20 48 28 _dh0 jsr set_h0 4113 00,AD1B 20 6B 28 jsr set_sc 4114 00,AD1E A9 0F lda #15 4115 00,AD20 8D BF 36 sta licznik 4116 00,AD23 A9 00 lda #0 4117 00,AD25 8D C9 36 sta p_pat 4118 00,AD28 20 80 26 jsr srt2 4119 00,AD2B 20 5F 26 jsr s_eor 4120 00,AD2E 20 3A 06 jsr cl_k 4121 00,AD31 4C 81 24 jmp keybd 4122 4123 *---------------------------* 4124 * wpisywanie nazwy sampla * 4125 *---------------------------* 4126 00,AD34 20 AD 3B _clall jsr _stname 4127 00,AD37 20 60 33 jsr on 4128 00,AD3A A2 15 ldx #21 4129 00,AD3C A0 15 ldy #21 4130 00,AD3E B1 FC lda (hlp),y 4131 00,AD40 9D D7 AD sta _snam,x 4132 00,AD43 88 dey 4133 00,AD44 CA dex 4134 00,AD45 10 F7 bpl *-7 4135 00,AD47 20 6C 33 jsr of 4136 4137 00,AD4A AC 70 AD ldy _n5+1 4138 00,AD4D A9 80 lda #''-32 4139 00,AD4F 99 FD B6 sta _e1+13,y 4140 00,AD52 20 3A 06 jsr cl_k 4141 4142 00,AD55 20 F8 F2 _n6 jsr $f2f8 4143 00,AD58 C9 1B cmp #$1b 4144 00,AD5A F0 56 beq _endn 4145 00,AD5C C9 9B cmp #$9b 4146 00,AD5E F0 52 beq _endn 4147 00,AD60 C9 7E cmp #$7e 4148 00,AD62 F0 34 beq _del2 4149 00,AD64 30 02 bmi *+4 4150 00,AD66 49 80 eor #$80 4151 4152 00,AD68 AC 70 AD ldy _n5+1 4153 00,AD6B C0 16 cpy #22 4154 00,AD6D F0 E6 beq _n6 4155 00,AD6F A0 00 _n5 ldy #0 4156 00,AD71 C9 40 cmp #$40 4157 00,AD73 90 09 bcc *+11 4158 00,AD75 18 clc 4159 00,AD76 69 20 adc #32 4160 00,AD78 99 D7 AD sta _snam,y 4161 00,AD7B 4C 87 AD jmp *+12 4162 00,AD7E 99 D7 AD sta _snam,y 4163 00,AD81 38 sec 4164 00,AD82 E9 20 sbc #32 4165 00,AD84 4C 8A AD jmp *+6 4166 00,AD87 38 sec 4167 00,AD88 E9 40 sbc #64 4168 00,AD8A 99 FD B6 sta _e1+13,y 4169 00,AD8D A9 80 lda #''-32 4170 00,AD8F 99 FE B6 sta _e1+14,y 4171 00,AD92 EE 70 AD inc _n5+1 4172 00,AD95 4C 55 AD jmp _n6 4173 4174 00,AD98 AC 70 AD _del2 ldy _n5+1 4175 00,AD9B A9 00 lda #' '-32 4176 00,AD9D 99 D7 AD sta _snam,y 4177 00,ADA0 99 FD B6 sta _e1+13,y 4178 00,ADA3 C0 00 cpy #0 4179 00,ADA5 F0 AE beq _n6 4180 00,ADA7 CE 70 AD dec _n5+1 4181 00,ADAA A9 80 _n7 lda #''-32 4182 00,ADAC 99 FC B6 sta _e1+12,y 4183 00,ADAF 4C 55 AD jmp _n6 4184 4185 00,ADB2 AC 70 AD _endn ldy _n5+1 4186 00,ADB5 A9 00 lda #' '-32 4187 00,ADB7 99 FD B6 sta _e1+13,y 4188 00,ADBA 99 D7 AD sta _snam,y 4189 00,ADBD 20 AD 3B jsr _stname 4190 00,ADC0 20 60 33 jsr on 4191 00,ADC3 A2 15 ldx #21 4192 00,ADC5 A0 15 ldy #21 4193 00,ADC7 BD D7 AD lda _snam,x 4194 00,ADCA 91 FC sta (hlp),y 4195 00,ADCC 88 dey 4196 00,ADCD CA dex 4197 00,ADCE 10 F7 bpl *-7 4198 00,ADD0 20 6C 33 jsr of 4199 00,ADD3 20 3A 06 jsr cl_k 4200 00,ADD6 60 rts 4201 4202 00,ADD7 20 20 20 20 20 + _snam dta c' ' 4203 4204 *---------------------------* 4205 * wpisywanie nazwy utworu * 4206 *---------------------------* 4207 00,ADEE AC 14 AE _clpat ldy _5+1 4208 00,ADF1 A9 80 lda #''-32 4209 00,ADF3 99 DA B6 sta _e1-22,y 4210 00,ADF6 20 3A 06 jsr cl_k 4211 4212 00,ADF9 20 F8 F2 _6 jsr $f2f8 4213 00,ADFC C9 1B cmp #$1b 4214 00,ADFE F0 56 beq _endq 4215 00,AE00 C9 9B cmp #$9b 4216 00,AE02 F0 52 beq _endq 4217 00,AE04 C9 7E cmp #$7e 4218 00,AE06 F0 34 beq _del1 4219 00,AE08 30 02 bmi *+4 4220 00,AE0A 49 80 eor #$80 4221 4222 00,AE0C AC 14 AE ldy _5+1 4223 00,AE0F C0 14 cpy #20 4224 00,AE11 F0 E6 beq _6 4225 00,AE13 A0 00 _5 ldy #0 4226 00,AE15 C9 40 cmp #$40 4227 00,AE17 90 09 bcc *+11 4228 00,AE19 18 clc 4229 00,AE1A 69 20 adc #32 4230 00,AE1C 99 62 AE sta _nam,y 4231 00,AE1F 4C 2B AE jmp _10 4232 00,AE22 99 62 AE sta _nam,y 4233 00,AE25 38 sec 4234 00,AE26 E9 20 sbc #32 4235 00,AE28 4C 2E AE jmp *+6 4236 00,AE2B 38 _10 sec 4237 00,AE2C E9 40 sbc #64 4238 00,AE2E 99 DA B6 sta _e1-22,y 4239 00,AE31 A9 80 lda #''-32 4240 00,AE33 99 DB B6 sta _e1-21,y 4241 00,AE36 EE 14 AE inc _5+1 4242 00,AE39 4C F9 AD jmp _6 4243 4244 00,AE3C AC 14 AE _del1 ldy _5+1 4245 00,AE3F A9 00 lda #' '-32 4246 00,AE41 99 62 AE sta _nam,y 4247 00,AE44 99 DA B6 sta _e1-22,y 4248 00,AE47 C0 00 cpy #0 4249 00,AE49 F0 AE beq _6 4250 00,AE4B CE 14 AE dec _5+1 4251 00,AE4E A9 80 _7 lda #''-32 4252 00,AE50 99 D9 B6 sta _e1-23,y 4253 00,AE53 4C F9 AD jmp _6 4254 4255 00,AE56 AC 14 AE _endq ldy _5+1 4256 00,AE59 A9 00 lda #' '-32 4257 00,AE5B 99 DA B6 sta _e1-22,y 4258 00,AE5E 20 3A 06 jsr cl_k 4259 00,AE61 60 rts 4260 4261 00,AE62 20 20 20 20 20 + _nam dta c' ' 4262 4263 4264 *----------------------------* 4265 * wpisywanie nazwy pliku * 4266 *----------------------------* 4267 00,AE77 20 3A 06 _name jsr cl_k 4268 4269 00,AE7A A9 12 lda #18 4270 00,AE7C 8D D3 36 sta pom_1 4271 00,AE7F A2 60 ldx <_txt2 4272 00,AE81 A0 38 ldy >_txt2 4273 00,AE83 20 19 AF jsr _wname 4274 4275 00,AE86 A9 00 lda #0 4276 00,AE88 8D B7 AE sta _a2+1 4277 00,AE8B AA tax 4278 00,AE8C 9D 65 39 sta _loa,x 4279 00,AE8F 9D CD B7 sta _e4+61,x 4280 00,AE92 E8 inx 4281 00,AE93 E0 0F cpx #15 4282 00,AE95 D0 F5 bne *-9 4283 4284 00,AE97 A9 80 lda #''-32 4285 00,AE99 8D CD B7 sta _e4+61 4286 4287 00,AE9C 20 F8 F2 _a1 jsr $f2f8 4288 00,AE9F C9 1B cmp #$1b 4289 00,AEA1 F0 5B beq krzoki 4290 00,AEA3 C9 9B cmp #$9b 4291 00,AEA5 F0 3F beq _end 4292 00,AEA7 C9 7E cmp #$7e 4293 00,AEA9 F0 21 beq _del 4294 00,AEAB 30 02 bmi *+4 4295 00,AEAD 49 80 eor #$80 4296 4297 00,AEAF AC B7 AE ldy _a2+1 4298 00,AEB2 C0 0F cpy #15 4299 00,AEB4 F0 E6 beq _a1 4300 00,AEB6 A0 00 _a2 ldy #0 4301 00,AEB8 99 65 39 sta _loa,y 4302 00,AEBB 38 sec 4303 00,AEBC E9 20 sbc #32 4304 00,AEBE 99 CD B7 sta _e4+61,y 4305 00,AEC1 A9 80 lda #''-32 4306 00,AEC3 99 CE B7 sta _e4+62,y 4307 00,AEC6 EE B7 AE inc _a2+1 4308 00,AEC9 4C 9C AE jmp _a1 4309 4310 00,AECC AC B7 AE _del ldy _a2+1 4311 00,AECF A9 00 lda #' '-32 4312 00,AED1 99 65 39 sta _loa,y 4313 00,AED4 99 CD B7 sta _e4+61,y 4314 00,AED7 C0 00 cpy #0 4315 00,AED9 F0 C1 beq _a1 4316 00,AEDB CE B7 AE dec _a2+1 4317 00,AEDE A9 80 _a4 lda #''-32 4318 00,AEE0 99 CC B7 sta _e4+60,y 4319 00,AEE3 4C 9C AE jmp _a1 4320 4321 00,AEE6 AC B7 AE _end ldy _a2+1 4322 00,AEE9 99 65 39 sta _loa,y 4323 00,AEEC A9 00 lda #' '-32 4324 00,AEEE 99 CD B7 sta _e4+61,y 4325 00,AEF1 A9 12 lda #18 4326 00,AEF3 8D D3 36 sta pom_1 4327 00,AEF6 A2 60 ldx <_txt2 4328 00,AEF8 A0 38 ldy >_txt2 4329 00,AEFA 20 19 AF jsr _wname 4330 00,AEFD 60 rts 4331 4332 00,AEFE AC B7 AE krzoki ldy _a2+1 4333 00,AF01 A9 00 lda #' '-32 4334 00,AF03 99 CD B7 sta _e4+61,y 4335 00,AF06 A9 12 lda #18 4336 00,AF08 8D D3 36 sta pom_1 4337 00,AF0B A2 60 ldx <_txt2 4338 00,AF0D A0 38 ldy >_txt2 4339 00,AF0F 20 19 AF jsr _wname 4340 00,AF12 AE CD 36 ldx status ;przywroc stary stan 4341 00,AF15 9A txs ;wskaznika stosu 4342 00,AF16 4C 81 24 jmp keybd 4343 4344 00,AF19 86 FC _wname stx hlp 4345 00,AF1B 84 FD sty hlp+1 4346 00,AF1D A9 A4 lda <_e4+20 4347 00,AF1F 85 FE sta pse 4348 00,AF21 A9 B7 lda >_e4+20 ;w x,y podaj adres 4349 00,AF23 85 FF sta pse+1 ;komunikatu 4350 00,AF25 A9 02 lda #2 4351 00,AF27 8D BD 36 sta pomoc 4352 00,AF2A A0 00 ldy #0 4353 00,AF2C B1 FC _wi0 lda (hlp),y 4354 00,AF2E AA tax 4355 00,AF2F B1 FE lda (pse),y 4356 00,AF31 91 FC sta (hlp),y 4357 00,AF33 8A txa 4358 00,AF34 91 FE sta (pse),y 4359 00,AF36 C8 iny 4360 00,AF37 CC D3 36 cpy pom_1 ;szerokosc textu 4361 00,AF3A D0 F0 bne _wi0 4362 00,AF3C A0 00 ldy #0 4363 00,AF3E 18 clc 4364 00,AF3F A5 FE lda pse 4365 00,AF41 69 28 adc #40 4366 00,AF43 85 FE sta pse 4367 00,AF45 90 02 bcc *+4 4368 00,AF47 E6 FF inc pse+1 4369 00,AF49 18 clc 4370 00,AF4A A5 FC lda hlp 4371 00,AF4C 6D D3 36 adc pom_1 ;szerokosc 4372 00,AF4F 85 FC sta hlp 4373 00,AF51 90 02 bcc *+4 4374 00,AF53 E6 FD inc hlp+1 4375 00,AF55 CE BD 36 dec pomoc 4376 00,AF58 10 D2 bpl _wi0 4377 00,AF5A 20 60 06 jsr _ondli 4378 00,AF5D 60 rts 4379 4380 4381 *-----------------------* 4382 * zapis instrumentu * 4383 *-----------------------* 4384 00,AF5E AC CC 36 _ssamp ldy n_inst 4385 00,AF61 B9 20 05 lda tendl,y 4386 00,AF64 19 40 05 ora tendh,y 4387 00,AF67 D0 04 bne *+6 4388 00,AF69 20 3A 06 jsr cl_k 4389 00,AF6C 60 rts 4390 00,AF6D 20 77 AE jsr _name 4391 00,AF70 20 27 33 jsr _cl 4392 00,AF73 A2 65 ldx <_loa 4393 00,AF75 A0 39 ldy >_loa 4394 00,AF77 A9 08 lda #8 4395 00,AF79 8D E6 32 sta __k+1 4396 00,AF7C A9 03 lda #3 4397 00,AF7E 20 D0 32 jsr _op 4398 4399 00,AF81 AC CC 36 ldy n_inst ;stworz naglowek 4400 00,AF84 38 sec 4401 00,AF85 B9 20 05 lda tendl,y 4402 00,AF88 F9 A0 04 sbc tstrl,y 4403 00,AF8B 8D 80 06 sta $680 4404 00,AF8E B9 40 05 lda tendh,y 4405 00,AF91 F9 C0 04 sbc tstrh,y 4406 00,AF94 8D 81 06 sta $681 4407 4408 00,AF97 38 sec 4409 00,AF98 B9 80 04 lda tivol,y 4410 00,AF9B E9 D8 sbc #$d8 4411 00,AF9D 0A asl @ 4412 00,AF9E 8D 82 06 sta $682 4413 4414 00,AFA1 38 sec 4415 00,AFA2 B9 E0 04 lda trepl,y 4416 00,AFA5 F9 A0 04 sbc tstrl,y 4417 00,AFA8 8D 83 06 sta $683 4418 00,AFAB B9 00 05 lda treph,y 4419 00,AFAE F9 C0 04 sbc tstrh,y 4420 00,AFB1 8D 84 06 sta $684 4421 4422 00,AFB4 20 AD 3B jsr _stname 4423 00,AFB7 20 60 33 jsr on 4424 00,AFBA A2 15 ldx #21 4425 00,AFBC A0 15 ldy #21 4426 00,AFBE B1 FC lda (hlp),y 4427 00,AFC0 9D 85 06 sta $685,x 4428 00,AFC3 88 dey 4429 00,AFC4 CA dex 4430 00,AFC5 10 F7 bpl *-7 4431 00,AFC7 20 6C 33 jsr of 4432 4433 00,AFCA A2 1B ldx <27 4434 00,AFCC A0 00 ldy >27 4435 00,AFCE 20 34 33 jsr _le 4436 00,AFD1 A2 80 ldx <$680 4437 00,AFD3 A0 06 ldy >$680 4438 00,AFD5 A9 0B lda #11 4439 00,AFD7 20 3B 33 jsr _re 4440 4441 00,AFDA AC CC 36 ldy n_inst ;przygotuj sampla 4442 00,AFDD B9 20 05 lda tendl,y ;do zgrania 4443 00,AFE0 38 sec 4444 00,AFE1 F9 A0 04 sbc tstrl,y 4445 00,AFE4 AA tax 4446 00,AFE5 B9 40 05 lda tendh,y 4447 00,AFE8 F9 C0 04 sbc tstrh,y 4448 00,AFEB A8 tay 4449 00,AFEC 20 34 33 jsr _le 4450 4451 00,AFEF AC CC 36 ldy n_inst 4452 00,AFF2 B9 A0 05 lda tab_3,y 4453 00,AFF5 09 01 ora #1 4454 00,AFF7 8D 01 D3 sta $d301 4455 00,AFFA BE A0 04 ldx tstrl,y 4456 00,AFFD B9 C0 04 lda tstrh,y 4457 00,B000 A8 tay 4458 00,B001 A9 0B lda #11 4459 00,B003 20 3B 33 jsr _re 4460 00,B006 20 27 33 jsr _cl 4461 00,B009 20 74 31 jsr n_12 4462 00,B00C 20 60 06 jsr _ondli 4463 00,B00F 20 3A 06 jsr cl_k 4464 00,B012 60 rts 4465 4466 *----------------------* 4467 * zapis utworu * 4468 *----------------------* 4469 00,B013 20 77 AE _sdir jsr _name 4470 00,B016 20 45 40 jsr bufclr 4471 4472 00,B019 A2 00 ldx #0 4473 00,B01B BD 62 AE lda _nam,x 4474 00,B01E 9D 00 BB sta _bf,x 4475 00,B021 E8 inx 4476 00,B022 E0 14 cpx #20 4477 00,B024 D0 F5 bne *-9 4478 4479 00,B026 A9 00 lda <$c600 4480 00,B028 85 E7 sta patadr 4481 00,B02A A9 C6 lda >$c600 4482 00,B02C 85 E8 sta patadr+1 4483 4484 00,B02E 20 73 06 jsr _ad 4485 00,B031 A9 01 lda #1 4486 00,B033 8D 37 B0 sta _go+1 4487 00,B036 A2 00 _go ldx #0 4488 00,B038 BD 40 05 _13 lda tendh,x 4489 00,B03B D0 10 bne *+18 ;skok do lda tendl,x 4490 00,B03D A0 2A ldy #42 4491 00,B03F 91 FE sta (pse),y 4492 00,B041 C8 iny 4493 00,B042 C0 31 cpy #49 4494 00,B044 D0 F9 bne *-5 4495 00,B046 A9 01 lda #1 4496 00,B048 91 FE sta (pse),y 4497 00,B04A 4C C9 B0 jmp _rew 4498 00,B04D BD 20 05 lda tendl,x ;dlug. sampla 4499 00,B050 38 sec 4500 00,B051 FD A0 04 sbc tstrl,x 4501 00,B054 A8 tay 4502 00,B055 BD 40 05 lda tendh,x 4503 00,B058 FD C0 04 sbc tstrh,x 4504 00,B05B 20 D6 B2 jsr _intel 4505 00,B05E A0 2A ldy #42 4506 00,B060 91 FE sta (pse),y 4507 00,B062 8A txa 4508 00,B063 C8 iny 4509 00,B064 91 FE sta (pse),y 4510 00,B066 AE 37 B0 ldx _go+1 ;glosnosc sampla 4511 00,B069 BD 80 04 lda tivol,x 4512 00,B06C 38 sec 4513 00,B06D E9 D8 sbc #$d8 4514 00,B06F 0A asl @ 4515 00,B070 A0 2D ldy #45 4516 00,B072 91 FE sta (pse),y 4517 4518 00,B074 AE 37 B0 ldx _go+1 ;czy sampl jest 4519 00,B077 BD 40 05 lda tendh,x ;zapetlony 4520 00,B07A DD 00 05 cmp treph,x 4521 00,B07D F0 3B beq _rer 4522 4523 00,B07F AE 37 B0 ldx _go+1 ;pocz petli sampla 4524 00,B082 BD E0 04 lda trepl,x 4525 00,B085 38 sec 4526 00,B086 FD A0 04 sbc tstrl,x 4527 00,B089 A8 tay 4528 00,B08A BD 00 05 lda treph,x 4529 00,B08D FD C0 04 sbc tstrh,x 4530 00,B090 20 D6 B2 jsr _intel 4531 00,B093 A0 2E ldy #46 4532 00,B095 91 FE sta (pse),y 4533 00,B097 8A txa 4534 00,B098 C8 iny 4535 00,B099 91 FE sta (pse),y 4536 00,B09B AE 37 B0 ldx _go+1 4537 00,B09E BD 20 05 lda tendl,x 4538 00,B0A1 38 sec 4539 00,B0A2 FD E0 04 sbc trepl,x 4540 00,B0A5 A8 tay 4541 00,B0A6 BD 40 05 lda tendh,x 4542 00,B0A9 FD 00 05 sbc treph,x 4543 00,B0AC 20 D6 B2 jsr _intel 4544 00,B0AF A0 30 ldy #48 4545 00,B0B1 91 FE sta (pse),y 4546 00,B0B3 8A txa 4547 00,B0B4 C8 iny 4548 00,B0B5 91 FE sta (pse),y 4549 00,B0B7 4C C9 B0 jmp _rew 4550 4551 00,B0BA A0 2E _rer ldy #46 4552 00,B0BC A9 00 lda #0 4553 00,B0BE 91 FE sta (pse),y 4554 00,B0C0 C8 iny 4555 00,B0C1 C0 31 cpy #49 4556 00,B0C3 D0 F9 bne *-5 4557 00,B0C5 A9 01 lda #1 4558 00,B0C7 91 FE sta (pse),y 4559 4560 00,B0C9 20 60 33 _rew jsr on 4561 00,B0CC A0 00 ldy #0 4562 00,B0CE A2 00 ldx #0 4563 00,B0D0 B1 E7 lda (patadr),y 4564 00,B0D2 9D 80 06 sta $680,x 4565 00,B0D5 C8 iny 4566 00,B0D6 E8 inx 4567 00,B0D7 E0 16 cpx #22 4568 00,B0D9 D0 F5 bne *-9 4569 00,B0DB 20 6C 33 jsr of 4570 4571 00,B0DE A2 00 ldx #0 4572 00,B0E0 A0 14 ldy #20 4573 00,B0E2 BD 80 06 lda $680,x 4574 00,B0E5 91 FE sta (pse),y 4575 00,B0E7 C8 iny 4576 00,B0E8 E8 inx 4577 00,B0E9 E0 16 cpx #22 4578 00,B0EB D0 F5 bne *-9 4579 4580 00,B0ED 18 clc 4581 00,B0EE A5 FE lda pse 4582 00,B0F0 69 1E adc #30 4583 00,B0F2 85 FE sta pse 4584 00,B0F4 90 02 bcc *+4 4585 00,B0F6 E6 FF inc pse+1 4586 4587 00,B0F8 18 clc 4588 00,B0F9 A5 E7 lda patadr 4589 00,B0FB 69 16 adc #22 4590 00,B0FD 85 E7 sta patadr 4591 00,B0FF 90 02 bcc *+4 4592 00,B101 E6 E8 inc patadr+1 4593 4594 00,B103 EE 37 B0 inc _go+1 4595 00,B106 AD 37 B0 lda _go+1 4596 00,B109 C9 20 cmp #32 4597 00,B10B D0 02 bne j_13 4598 00,B10D F0 03 beq *+5 4599 4600 00,B10F 4C 36 B0 j_13 jmp _go 4601 4602 00,B112 A2 00 ldx #0 4603 00,B114 BD 00 04 lda sng,x 4604 00,B117 C9 FF cmp #$ff 4605 00,B119 F0 07 beq *+9 4606 00,B11B E8 inx 4607 00,B11C E0 80 cpx #128 4608 00,B11E D0 F4 bne *-10 4609 00,B120 A2 00 ldx #0 4610 00,B122 8E B6 BE stx _bf+950 ;dlugosc songu 4611 4612 00,B125 A9 7F lda #127 4613 00,B127 8D B7 BE sta _bf+951 4614 4615 00,B12A AD 69 37 lda tapat ;najw. num. patternu 4616 00,B12D 8D 3A B1 sta _m1+1 4617 00,B130 A0 00 ldy #0 4618 00,B132 B9 00 04 lda sng,y ? 4619 00,B135 C9 FF cmp #$ff | 4620 00,B137 F0 0C beq *+14 | 4621 00,B139 C9 00 _m1 cmp #0 | | 4622 00,B13B 90 03 bcc *+5 | | 4623 00,B13D 8D 3A B1 sta _m1+1 | | 4624 00,B140 C8 iny | | 4625 00,B141 C0 80 cpy #128 | | 4626 00,B143 D0 ED bne *-17 4627 00,B145 AC 3A B1 ldy _m1+1 ? 4628 00,B148 98 tya 4629 4630 00,B149 A2 01 ldx #1 4631 00,B14B DD 69 37 _m5 cmp tapat,x 4632 00,B14E D0 06 bne *+8 4633 00,B150 8E EF 3C stx il_pt 4634 00,B153 4C 5A B1 jmp _m6 4635 00,B156 E8 inx 4636 00,B157 4C 4B B1 jmp _m5 4637 4638 00,B15A A2 00 _m6 ldx #0 4639 00,B15C A0 00 ldy #0 4640 00,B15E B9 00 04 _z5 lda sng,y 4641 00,B161 C9 FF cmp #$ff 4642 00,B163 F0 13 beq _z6 4643 00,B165 DD 69 37 _z3 cmp tapat,x 4644 00,B168 D0 0A bne _z4 4645 00,B16A 8A txa 4646 00,B16B 99 B8 BE sta _bf+952,y 4647 00,B16E A2 00 ldx #0 4648 00,B170 C8 iny 4649 00,B171 4C 5E B1 jmp _z5 4650 4651 00,B174 E8 _z4 inx 4652 00,B175 4C 65 B1 jmp _z3 4653 4654 00,B178 A2 00 _z6 ldx #0 4655 00,B17A BD 6D B6 lda title,x 4656 00,B17D 9D 38 BF sta _bf+1080,x 4657 00,B180 E8 inx 4658 00,B181 E0 04 cpx #4 4659 00,B183 D0 F5 bne *-9 4660 4661 00,B185 20 27 33 jsr _cl 4662 00,B188 A2 65 ldx <_loa ;zapis naglowka 4663 00,B18A A0 39 ldy >_loa 4664 00,B18C A9 08 lda #8 4665 00,B18E 8D E6 32 sta __k+1 4666 00,B191 A9 03 lda #3 4667 00,B193 20 D0 32 jsr _op 4668 00,B196 A2 3C ldx <1084 4669 00,B198 A0 04 ldy >1084 4670 00,B19A 20 34 33 jsr _le 4671 00,B19D A2 00 ldx <_bf 4672 00,B19F A0 BB ldy >_bf 4673 00,B1A1 A9 0B lda #11 4674 00,B1A3 20 3B 33 jsr _re 4675 4676 00,B1A6 AD 69 37 lda tapat ;zapis patternow 4677 00,B1A9 85 FF sta pse+1 4678 00,B1AB A9 00 lda #0 4679 00,B1AD 85 FE sta pse 4680 4681 00,B1AF A9 00 _more lda #0 4682 00,B1B1 85 EF sta tse+1 4683 00,B1B3 A9 00 lda <_bf 4684 00,B1B5 85 FC sta hlp 4685 00,B1B7 A9 BB lda >_bf 4686 00,B1B9 85 FD sta hlp+1 4687 4688 00,B1BB 20 4F B2 _kg jsr _scnv 4689 4690 00,B1BE A0 03 ldy #3 4691 00,B1C0 B9 B9 36 lda tmp,y 4692 00,B1C3 91 FC sta (hlp),y 4693 00,B1C5 88 dey 4694 00,B1C6 10 F8 bpl *-6 4695 4696 00,B1C8 18 clc 4697 00,B1C9 A5 FC lda hlp 4698 00,B1CB 69 04 adc #4 4699 00,B1CD 85 FC sta hlp 4700 00,B1CF 90 02 bcc *+4 4701 00,B1D1 E6 FD inc hlp+1 4702 4703 00,B1D3 18 clc 4704 00,B1D4 A5 FE lda pse 4705 00,B1D6 69 03 adc #3 4706 00,B1D8 85 FE sta pse 4707 00,B1DA 90 02 bcc *+4 4708 00,B1DC E6 FF inc pse+1 4709 4710 00,B1DE E6 EF inc tse+1 4711 00,B1E0 D0 D9 bne _kg 4712 4713 00,B1E2 A2 00 ldx <1024 4714 00,B1E4 A0 04 ldy >1024 4715 00,B1E6 20 34 33 jsr _le ;x,y -> ile zapisac 4716 00,B1E9 A2 00 ldx <_bf 4717 00,B1EB A0 BB ldy >_bf 4718 00,B1ED A9 0B lda #11 4719 00,B1EF 20 3B 33 jsr _re 4720 4721 00,B1F2 CE EF 3C dec il_pt 4722 00,B1F5 10 B8 bpl _more 4723 4724 00,B1F7 A9 01 lda #1 4725 00,B1F9 8D FD B1 sta _lip+1 4726 4727 00,B1FC A0 01 _lip ldy #1 ;czy zapisac 4728 00,B1FE B9 A0 04 lda tstrl,y 4729 00,B201 19 C0 04 ora tstrh,y 4730 00,B204 F0 2F beq _jd 4731 4732 00,B206 AC FD B1 ldy _lip+1 4733 00,B209 B9 A0 05 lda tab_3,y 4734 00,B20C 09 01 ora #1 4735 00,B20E 8D 01 D3 sta $d301 4736 4737 00,B211 AC FD B1 ldy _lip+1 4738 00,B214 B9 20 05 lda tendl,y 4739 00,B217 38 sec 4740 00,B218 F9 A0 04 sbc tstrl,y 4741 00,B21B AA tax 4742 00,B21C B9 40 05 lda tendh,y 4743 00,B21F F9 C0 04 sbc tstrh,y 4744 00,B222 A8 tay 4745 00,B223 20 34 33 jsr _le 4746 00,B226 AC FD B1 ldy _lip+1 4747 00,B229 BE A0 04 ldx tstrl,y 4748 00,B22C B9 C0 04 lda tstrh,y 4749 00,B22F A8 tay 4750 00,B230 A9 0B lda #11 4751 00,B232 20 3B 33 jsr _re 4752 4753 00,B235 EE FD B1 _jd inc _lip+1 4754 00,B238 AD FD B1 lda _lip+1 4755 00,B23B C9 20 cmp #32 4756 00,B23D D0 BD bne _lip 4757 00,B23F 20 27 33 jsr _cl 4758 00,B242 20 74 31 jsr n_12 4759 00,B245 20 60 06 jsr _ondli 4760 00,B248 20 3A 06 jsr cl_k 4761 00,B24B 20 6C 33 jsr of 4762 00,B24E 60 rts 4763 4764 00,B24F A9 00 _scnv lda #0 4765 00,B251 A0 03 ldy #3 4766 00,B253 99 B9 36 sta tmp,y 4767 00,B256 88 dey 4768 00,B257 10 FA bpl *-4 4769 4770 00,B259 A0 01 ldy #1 4771 00,B25B B1 FE lda (pse),y 4772 00,B25D 29 1F and #$1f 4773 00,B25F F0 30 beq _sc1 4774 4775 00,B261 A0 00 ldy #0 4776 00,B263 B1 FE lda (pse),y 4777 00,B265 29 3F and #$3f 4778 4779 00,B267 0A _sc0 asl @ 4780 00,B268 AA tax 4781 00,B269 BD 8B 37 lda kod,x 4782 00,B26C 8D BA 36 sta tmp+1 4783 00,B26F BD 8C 37 lda kod+1,x 4784 00,B272 8D B9 36 sta tmp 4785 4786 00,B275 A0 01 ldy #1 4787 00,B277 B1 FE lda (pse),y 4788 00,B279 29 1F and #$1f 4789 00,B27B 8D BD 36 sta pomoc 4790 00,B27E 29 0F and #$f 4791 00,B280 20 35 06 jsr _q 4792 00,B283 8D BB 36 sta tmp+2 4793 00,B286 AD BD 36 lda pomoc 4794 00,B289 29 F0 and #$f0 4795 00,B28B 0D B9 36 ora tmp 4796 00,B28E 8D B9 36 sta tmp 4797 4798 00,B291 A0 01 _sc1 ldy #1 4799 00,B293 B1 FE lda (pse),y 4800 00,B295 29 E0 and #$e0 4801 00,B297 C9 80 cmp #$80 4802 00,B299 F0 09 beq _speed 4803 00,B29B C9 40 cmp #$40 4804 00,B29D F0 15 beq _volum 4805 00,B29F C9 20 cmp #$20 4806 00,B2A1 F0 25 beq _brkx 4807 00,B2A3 60 rts 4808 4809 00,B2A4 A9 0F _speed lda #$f 4810 00,B2A6 0D BB 36 ora tmp+2 4811 00,B2A9 8D BB 36 sta tmp+2 4812 00,B2AC A0 02 ldy #2 4813 00,B2AE B1 FE lda (pse),y 4814 00,B2B0 8D BC 36 sta tmp+3 4815 00,B2B3 60 rts 4816 4817 00,B2B4 A9 0C _volum lda #$c 4818 00,B2B6 0D BB 36 ora tmp+2 4819 00,B2B9 8D BB 36 sta tmp+2 4820 00,B2BC A0 02 ldy #2 4821 00,B2BE B1 FE lda (pse),y 4822 00,B2C0 38 sec 4823 00,B2C1 E9 D8 sbc #$d8 4824 00,B2C3 0A asl @ 4825 00,B2C4 8D BC 36 sta tmp+3 4826 00,B2C7 60 rts 4827 4828 00,B2C8 A9 0D _brkx lda #$d 4829 00,B2CA 0D BB 36 ora tmp+2 4830 00,B2CD 8D BB 36 sta tmp+2 4831 00,B2D0 A9 00 lda #0 4832 00,B2D2 8D BC 36 sta tmp+3 4833 00,B2D5 60 rts 4834 4835 00,B2D6 84 FC _intel sty hlp 4836 00,B2D8 4A lsr @ 4837 00,B2D9 66 FC ror hlp 4838 00,B2DB A6 FC ldx hlp 4839 00,B2DD 60 rts 4840 4841 4842 *------------------------* 4843 * wykasuj instrument * 4844 *------------------------* 4845 00,B2DE AE CC 36 _clsmp ldx n_inst 4846 00,B2E1 A9 D8 lda #$d8 4847 00,B2E3 9D 80 04 sta tivol,x 4848 00,B2E6 A9 00 lda #0 4849 00,B2E8 9D A0 04 sta tstrl,x 4850 00,B2EB 9D C0 04 sta tstrh,x 4851 00,B2EE 9D E0 04 sta trepl,x 4852 00,B2F1 9D 00 05 sta treph,x 4853 00,B2F4 9D 20 05 sta tendl,x 4854 00,B2F7 9D 40 05 sta tendh,x 4855 4856 00,B2FA 20 AD 3B jsr _stname 4857 00,B2FD 20 60 33 jsr on 4858 00,B300 A9 00 lda #0 4859 00,B302 A0 15 ldy #21 4860 00,B304 91 FC sta (hlp),y 4861 00,B306 88 dey 4862 00,B307 10 FB bpl *-3 4863 00,B309 20 6C 33 jsr of 4864 4865 00,B30C A9 00 lda #0 4866 00,B30E A2 16 ldx #22 4867 00,B310 9D FD B6 sta _e1+13,x 4868 00,B313 CA dex 4869 00,B314 10 FA bpl *-4 4870 4871 00,B316 20 9E 2A jsr p_ins 4872 00,B319 20 3A 06 jsr cl_k 4873 00,B31C 60 rts 4874 4875 4876 *------------------------* 4877 * wczytywanie utworu * 4878 *------------------------* 4879 00,B31D A2 0E _ldir ldx #14 4880 00,B31F BD 45 3C lda _mload,x 4881 00,B322 9D 65 39 sta _loa,x 4882 00,B325 CA dex 4883 00,B326 10 F7 bpl *-7 4884 00,B328 A2 02 ldx #2 4885 00,B32A BD 51 3C lda _mload+12,x 4886 00,B32D 9D FA B5 sta _dir+5,x 4887 00,B330 CA dex 4888 00,B331 10 F7 bpl *-7 4889 00,B333 20 6F B3 jsr katalog 4890 00,B336 20 EB 44 jsr _ofdli 4891 00,B339 20 E9 2C jsr _rmod 4892 00,B33C 20 60 06 jsr _ondli 4893 00,B33F 20 3A 06 jsr cl_k 4894 00,B342 20 6C 33 jsr of 4895 00,B345 60 rts 4896 4897 4898 *------------------------* 4899 * wczytywanie sampla * 4900 *------------------------* 4901 00,B346 A2 0E _lsamp ldx #14 4902 00,B348 BD 55 3C lda _sload,x 4903 00,B34B 9D 65 39 sta _loa,x 4904 00,B34E CA dex 4905 00,B34F 10 F7 bpl *-7 4906 00,B351 A2 02 ldx #2 4907 00,B353 BD 61 3C lda _sload+12,x 4908 00,B356 9D FA B5 sta _dir+5,x 4909 00,B359 CA dex 4910 00,B35A 10 F7 bpl *-7 4911 00,B35C 20 6F B3 jsr katalog 4912 00,B35F 20 EB 44 jsr _ofdli 4913 00,B362 20 75 39 jsr _rsmp 4914 00,B365 20 60 06 jsr _ondli 4915 00,B368 20 3A 06 jsr cl_k 4916 00,B36B 20 6C 33 jsr of 4917 00,B36E 60 rts 4918 4919 4920 *---------------------* 4921 * odczyt katalogu * 4922 *---------------------* 4923 00,B36F 20 EB 44 katalog jsr _ofdli 4924 00,B372 20 45 40 jsr bufclr 4925 00,B375 20 27 33 jsr _cl 4926 00,B378 A2 F5 ldx <_dir 4927 00,B37A A0 B5 ldy >_dir 4928 00,B37C A9 06 lda #6 4929 00,B37E 8D E6 32 sta __k+1 4930 00,B381 A9 03 lda #3 4931 00,B383 20 D0 32 jsr _op 4932 00,B386 A2 00 ldx <$500 4933 00,B388 A0 05 ldy >$500 4934 00,B38A 20 34 33 jsr _le 4935 00,B38D A2 00 ldx <_bf 4936 00,B38F A0 BB ldy >_bf 4937 00,B391 A9 07 lda #7 4938 00,B393 20 3B 33 jsr _re 4939 00,B396 20 27 33 jsr _cl 4940 00,B399 20 81 B5 jsr src 4941 00,B39C 20 60 06 jsr _ondli 4942 4943 00,B39F A9 00 lda #0 4944 00,B3A1 8D EA 3C sta d_licz 4945 00,B3A4 8D EC 3C sta d_il 4946 00,B3A7 8D E9 3C sta d_win 4947 00,B3AA A9 07 lda #7 4948 00,B3AC 8D EB 3C sta d_co 4949 00,B3AF 20 A6 B5 jsr obl 4950 00,B3B2 20 92 B5 jsr _wdth 4951 00,B3B5 AD EC 3C lda d_il 4952 00,B3B8 C9 01 cmp #1 4953 00,B3BA F0 38 beq _escd 4954 00,B3BC 20 C5 B5 jsr _clnx 4955 00,B3BF 20 81 B5 jsr src 4956 00,B3C2 20 37 B5 jsr setsrc 4957 00,B3C5 20 0B B5 jsr _wrt2 4958 00,B3C8 20 FD B4 jsr _x3neg 4959 00,B3CB 20 3A 06 jsr cl_k 4960 00,B3CE 20 6C 33 jsr of 4961 4962 00,B3D1 AD FC 02 _dexit lda 764 4963 00,B3D4 C9 0C cmp #12 4964 00,B3D6 F0 29 beq _dpisz 4965 00,B3D8 C9 21 cmp #33 4966 00,B3DA F0 15 beq *+23 4967 00,B3DC C9 0F cmp #15 4968 00,B3DE F0 0B beq *+13 4969 00,B3E0 C9 0E cmp #14 4970 00,B3E2 F0 0A beq *+12 4971 00,B3E4 C9 1C cmp #28 4972 00,B3E6 F0 0C beq _escd 4973 00,B3E8 4C D1 B3 jmp _dexit 4974 4975 00,B3EB 4C 21 B4 jmp _dxt 4976 00,B3EE 4C 75 B4 jmp _dpv 4977 00,B3F1 4C 6F B3 jmp katalog 4978 4979 00,B3F4 20 3A 06 _escd jsr cl_k 4980 00,B3F7 20 45 40 jsr bufclr 4981 00,B3FA AE CD 36 ldx status 4982 00,B3FD 9A txs 4983 00,B3FE 4C 81 24 jmp keybd 4984 4985 00,B401 20 4C B5 _dpisz jsr _x4neg 4986 00,B404 A0 00 ldy #0 4987 00,B406 A2 03 ldx #3 4988 00,B408 B1 F6 lda (fpisz),y 4989 00,B40A 49 80 eor #$80 4990 00,B40C F0 0C beq *+14 4991 00,B40E 18 clc 4992 00,B40F 69 20 adc #$20 4993 00,B411 9D 65 39 sta _loa,x 4994 00,B414 E8 inx 4995 00,B415 C8 iny 4996 00,B416 C0 08 cpy #8 4997 00,B418 D0 EE bne *-16 4998 00,B41A 20 45 40 jsr bufclr 4999 00,B41D 20 3A 06 jsr cl_k 5000 00,B420 60 rts 5001 5002 00,B421 AE EC 3C _dxt ldx d_il 5003 00,B424 CA dex 5004 00,B425 8E BD 36 stx pomoc 5005 00,B428 AD E9 3C lda d_win 5006 00,B42B C9 06 cmp #6 5007 00,B42D F0 0F beq *+17 5008 00,B42F EE E9 3C inc d_win 5009 00,B432 AD E9 3C lda d_win 5010 00,B435 CD BD 36 cmp pomoc 5011 00,B438 F0 29 beq _ta0 5012 00,B43A C9 07 cmp #7 5013 00,B43C D0 2E bne _yn1 5014 00,B43E EE EA 3C inc d_licz ;* 5015 00,B441 AD EA 3C lda d_licz 5016 00,B444 18 clc 5017 00,B445 69 07 adc #7 5018 00,B447 CD EC 3C cmp d_il 5019 00,B44A F0 5C beq _yn3 5020 00,B44C 20 81 B5 jsr src 5021 00,B44F 20 37 B5 jsr setsrc 5022 00,B452 20 3A 06 jsr cl_k 5023 00,B455 A9 07 lda #7 5024 00,B457 8D EB 3C sta d_co 5025 00,B45A 20 0B B5 jsr _wrt2 5026 00,B45D 20 EF B4 jsr _x2neg 5027 00,B460 4C D1 B3 jmp _dexit 5028 5029 00,B463 CE E9 3C _ta0 dec d_win 5030 00,B466 20 3A 06 jsr cl_k 5031 00,B469 4C D1 B3 jmp _dexit 5032 5033 00,B46C 20 B7 B4 _yn1 jsr _x6neg 5034 00,B46F 20 3A 06 jsr cl_k 5035 00,B472 4C D1 B3 jmp _dexit 5036 5037 00,B475 AD E9 3C _dpv lda d_win 5038 00,B478 F0 06 beq *+8 5039 00,B47A CE E9 3C dec d_win 5040 00,B47D 4C 9F B4 jmp _yn2 5041 00,B480 AD EA 3C lda d_licz 5042 00,B483 F0 20 beq _yn4 5043 00,B485 CE EA 3C dec d_licz 5044 00,B488 20 81 B5 jsr src 5045 00,B48B 20 37 B5 jsr setsrc 5046 00,B48E 20 3A 06 jsr cl_k 5047 00,B491 A9 07 lda #7 5048 00,B493 8D EB 3C sta d_co 5049 00,B496 20 0B B5 jsr _wrt2 5050 00,B499 20 FD B4 jsr _x3neg 5051 00,B49C 4C D1 B3 jmp _dexit 5052 5053 00,B49F 20 D0 B4 _yn2 jsr _x5neg 5054 00,B4A2 20 3A 06 jsr cl_k 5055 00,B4A5 4C D1 B3 _yn4 jmp _dexit 5056 5057 00,B4A8 CE EA 3C _yn3 dec d_licz 5058 00,B4AB 4C D1 B3 jmp _dexit 5059 5060 00,B4AE A9 5F _x0neg lda <_e3+31 5061 00,B4B0 85 F8 sta _dx 5062 00,B4B2 A9 B7 lda >_e3+31 5063 00,B4B4 85 F9 sta _dx+1 5064 00,B4B6 60 rts 5065 5066 00,B4B7 20 AE B4 _x6neg jsr _x0neg 5067 00,B4BA AE E9 3C ldx d_win 5068 00,B4BD CA dex 5069 00,B4BE F0 06 beq *+8 5070 00,B4C0 20 E9 B5 jsr _adcdn 5071 00,B4C3 CA dex 5072 00,B4C4 D0 FA bne *-4 5073 00,B4C6 20 75 40 jsr _x1neg 5074 00,B4C9 20 E9 B5 jsr _adcdn 5075 00,B4CC 20 75 40 jsr _x1neg 5076 00,B4CF 60 rts 5077 5078 00,B4D0 20 AE B4 _x5neg jsr _x0neg 5079 00,B4D3 AE E9 3C ldx d_win 5080 00,B4D6 E8 inx 5081 00,B4D7 20 E9 B5 jsr _adcdn 5082 00,B4DA CA dex 5083 00,B4DB D0 FA bne *-4 5084 00,B4DD 20 75 40 jsr _x1neg 5085 00,B4E0 38 sec 5086 00,B4E1 A5 F8 lda _dx 5087 00,B4E3 E9 28 sbc #40 5088 00,B4E5 85 F8 sta _dx 5089 00,B4E7 B0 02 bcs *+4 5090 00,B4E9 C6 F9 dec _dx+1 5091 00,B4EB 20 75 40 jsr _x1neg 5092 00,B4EE 60 rts 5093 5094 00,B4EF A2 07 _x2neg ldx #7 5095 00,B4F1 BD 4F B8 lda _e3+271,x 5096 00,B4F4 49 80 eor #$80 5097 00,B4F6 9D 4F B8 sta _e3+271,x 5098 00,B4F9 CA dex 5099 00,B4FA 10 F5 bpl *-9 5100 00,B4FC 60 rts 5101 5102 00,B4FD A2 07 _x3neg ldx #7 5103 00,B4FF BD 5F B7 lda _e3+31,x 5104 00,B502 49 80 eor #$80 5105 00,B504 9D 5F B7 sta _e3+31,x 5106 00,B507 CA dex 5107 00,B508 10 F5 bpl *-9 5108 00,B50A 60 rts 5109 5110 00,B50B AE EC 3C _wrt2 ldx d_il 5111 00,B50E CA dex 5112 00,B50F 8E BD 36 stx pomoc 5113 00,B512 A0 02 ldy #2 5114 00,B514 B1 F4 lda (_sr),y 5115 00,B516 C0 0A cpy #10 5116 00,B518 F0 0C beq end2 5117 00,B51A 38 sec 5118 00,B51B E9 20 sbc #$20 5119 00,B51D 88 dey 5120 00,B51E 88 dey 5121 00,B51F 91 F2 sta (_sc),y 5122 00,B521 C8 iny 5123 00,B522 C8 iny 5124 00,B523 C8 iny 5125 00,B524 D0 EE bne *-16 5126 5127 00,B526 20 68 B5 end2 jsr incadr 5128 00,B529 20 74 B5 jsr incsrc 5129 00,B52C CE BD 36 dec pomoc 5130 00,B52F F0 05 beq *+7 5131 00,B531 CE EB 3C dec d_co 5132 00,B534 D0 D5 bne _wrt2 5133 00,B536 60 rts 5134 5135 00,B537 AE EA 3C setsrc ldx d_licz 5136 00,B53A F0 FA beq *-4 5137 00,B53C 18 clc 5138 00,B53D A5 F4 lda _sr 5139 00,B53F 6D D3 36 adc pom_1 5140 00,B542 85 F4 sta _sr 5141 00,B544 90 02 bcc *+4 5142 00,B546 E6 F5 inc _sr+1 5143 00,B548 CA dex 5144 00,B549 D0 F1 bne *-13 5145 00,B54B 60 rts 5146 5147 00,B54C A9 5F _x4neg lda <_e3+31 5148 00,B54E 85 F6 sta fpisz 5149 00,B550 A9 B7 lda >_e3+31 5150 00,B552 85 F7 sta fpisz+1 5151 00,B554 AE E9 3C ldx d_win 5152 00,B557 F0 F2 beq *-12 5153 00,B559 18 clc 5154 00,B55A A5 F6 lda fpisz 5155 00,B55C 69 28 adc #40 5156 00,B55E 85 F6 sta fpisz 5157 00,B560 90 02 bcc *+4 5158 00,B562 E6 F7 inc fpisz+1 5159 00,B564 CA dex 5160 00,B565 D0 F2 bne *-12 5161 00,B567 60 rts 5162 5163 00,B568 18 incadr clc 5164 00,B569 A5 F2 lda _sc 5165 00,B56B 69 28 adc #40 5166 00,B56D 85 F2 sta _sc 5167 00,B56F 90 02 bcc *+4 5168 00,B571 E6 F3 inc _sc+1 5169 00,B573 60 rts 5170 5171 00,B574 18 incsrc clc 5172 00,B575 A5 F4 lda _sr 5173 00,B577 6D D3 36 adc pom_1 5174 00,B57A 85 F4 sta _sr 5175 00,B57C 90 02 bcc *+4 5176 00,B57E E6 F5 inc _sr+1 5177 00,B580 60 rts 5178 5179 00,B581 A9 00 src lda <_bf 5180 00,B583 85 F4 sta _sr 5181 00,B585 A9 BB lda >_bf 5182 00,B587 85 F5 sta _sr+1 5183 00,B589 A9 5F lda <_e3+31 5184 00,B58B 85 F2 sta _sc 5185 00,B58D A9 B7 lda >_e3+31 5186 00,B58F 85 F3 sta _sc+1 5187 00,B591 60 rts 5188 5189 00,B592 A2 00 _wdth ldx #0 5190 00,B594 A0 01 ldy #1 5191 00,B596 BD 00 BB lda _bf,x 5192 00,B599 C9 9B cmp #$9b 5193 00,B59B F0 05 beq *+7 5194 00,B59D C8 iny 5195 00,B59E E8 inx 5196 00,B59F 4C 96 B5 jmp *-9 5197 00,B5A2 8C D3 36 sty pom_1 5198 00,B5A5 60 rts 5199 5200 00,B5A6 A9 00 obl lda <_bf 5201 00,B5A8 85 FA sta lop 5202 00,B5AA A9 BB lda >_bf 5203 00,B5AC 85 FB sta lop+1 5204 00,B5AE A0 00 ldy #0 5205 5206 00,B5B0 B1 FA lda (lop),y 5207 00,B5B2 C9 9B cmp #$9b 5208 00,B5B4 D0 03 bne *+5 5209 00,B5B6 EE EC 3C inc d_il 5210 00,B5B9 C8 iny 5211 00,B5BA D0 F4 bne *-10 5212 00,B5BC E6 FB inc lop+1 5213 00,B5BE A5 FB lda lop+1 5214 00,B5C0 C9 C0 cmp >_bf+$500 5215 00,B5C2 D0 EC bne *-18 5216 00,B5C4 60 rts 5217 5218 00,B5C5 20 73 06 _clnx jsr _ad 5219 00,B5C8 AE EC 3C ldx d_il 5220 00,B5CB E0 07 cpx #7 5221 00,B5CD B0 F5 bcs *-9 5222 00,B5CF CA dex 5223 00,B5D0 18 clc 5224 00,B5D1 A5 FE lda pse 5225 00,B5D3 6D D3 36 adc pom_1 5226 00,B5D6 85 FE sta pse 5227 00,B5D8 90 02 bcc *+4 5228 00,B5DA E6 FF inc pse+1 5229 00,B5DC CA dex 5230 00,B5DD D0 F1 bne *-13 5231 00,B5DF A0 00 ldy #0 5232 00,B5E1 A9 20 lda #32 5233 00,B5E3 91 FE sta (pse),y 5234 00,B5E5 C8 iny 5235 00,B5E6 D0 FB bne *-3 5236 00,B5E8 60 rts 5237 5238 00,B5E9 18 _adcdn clc 5239 00,B5EA A5 F8 lda _dx 5240 00,B5EC 69 28 adc #40 5241 00,B5EE 85 F8 sta _dx 5242 00,B5F0 90 02 bcc *+4 5243 00,B5F2 E6 F9 inc _dx+1 5244 00,B5F4 60 rts 5245 5246 00,B5F5 44 31 3A 2A 2E + _dir dta c'D1:*.***',b($9b) 5247 5248 *------------------------* 5249 * efekt "sample zero" * 5250 *------------------------* 5251 00,B5FE A2 00 _null ldx #0 5252 00,B600 20 13 B6 jsr _pc 5253 00,B603 A2 03 ldx #3 5254 00,B605 20 13 B6 jsr _pc 5255 00,B608 A2 06 ldx #6 5256 00,B60A 20 13 B6 jsr _pc 5257 00,B60D A2 09 ldx #9 5258 00,B60F 20 13 B6 jsr _pc 5259 00,B612 60 rts 5260 5261 00,B613 86 FC _pc stx hlp 5262 00,B615 AD 69 37 lda tapat 5263 00,B618 85 FD sta hlp+1 5264 00,B61A A9 21 lda #$21 5265 00,B61C 85 FE sta pse 5266 00,B61E A9 00 lda #0 5267 00,B620 8D C0 36 sta instr 5268 00,B623 A2 3F ldx #63 5269 00,B625 20 2D B6 jsr g_0 5270 00,B628 C6 FE dec pse 5271 00,B62A 10 F2 bpl *-12 5272 00,B62C 60 rts 5273 5274 00,B62D A0 01 g_0 ldy #1 5275 00,B62F B1 FC lda (hlp),y 5276 00,B631 29 1F and #$1f 5277 00,B633 F0 14 beq *+22 5278 00,B635 8D C0 36 sta instr 5279 00,B638 4C 56 B6 jmp *+30 5280 5281 00,B63B A0 01 g_1 ldy #1 5282 00,B63D B1 FC lda (hlp),y 5283 00,B63F 29 E0 and #%11100000 5284 00,B641 0D C0 36 ora instr 5285 00,B644 91 FC sta (hlp),y 5286 00,B646 4C 56 B6 jmp *+16 5287 5288 00,B649 A0 00 ldy #0 5289 00,B64B B1 FC lda (hlp),y 5290 00,B64D 29 3F and #$3f 5291 00,B64F C9 24 cmp #36 5292 00,B651 F0 03 beq *+5 5293 00,B653 4C 3B B6 jmp g_1 5294 5295 00,B656 18 clc 5296 00,B657 A5 FC lda hlp 5297 00,B659 69 0C adc #12 5298 00,B65B 85 FC sta hlp 5299 00,B65D 90 02 bcc *+4 5300 00,B65F E6 FD inc hlp+1 5301 00,B661 CA dex 5302 00,B662 10 C9 bpl g_0 5303 00,B664 60 rts 5304 5305 00,B665 86 FC _mot stx hlp 5306 00,B667 0A asl @ 5307 00,B668 26 FC rol hlp 5308 00,B66A A4 FC ldy hlp 5309 00,B66C 60 rts 5310 5311 00,B66D 4D 2E 4B 2E title dta c'M.K.' 5312 5313 *------------------------* 5314 * opuszczenie programu * 5315 *------------------------* 5316 00,B671 4C 74 E4 _exit jmp $e474 5317 5318 5319 5320 00,B674 org $a800 5321 ;----------; 5322 ;- MOVE -; 5323 ;----------; 5324 5325 *-----------------------------------* 5326 * rozpoznaj ilosc dodatkowego RAM'u * 5327 *-----------------------------------* 5328 00,A800-A8E7> 20 F6 44 move jsr wait 5329 5330 00,A803 AE D2 36 ldx il_bnk 5331 00,A806 CA dex 5332 00,A807 BD D5 36 lda tab_1,x 5333 00,A80A 8D 01 D3 sta $d301 5334 5335 00,A80D A2 00 ldx #0 5336 00,A80F BD 00 88 pocz lda volume,x ;przepisanie tablicy glosnosci do ostatniego wykrytego banku 5337 00,A812 4A lsr @ 5338 00,A813 4A lsr @ 5339 00,A814 4A lsr @ 5340 00,A815 4A lsr @ 5341 00,A816 4A lsr @ 5342 00,A817 49 10 _eo eor #$10 5343 00,A819 9D 00 40 kon sta $4000,x 5344 00,A81C E8 inx 5345 00,A81D D0 F0 bne pocz 5346 00,A81F EE 11 A8 inc pocz+2 5347 00,A822 EE 1B A8 inc kon+2 5348 00,A825 AD 11 A8 lda pocz+2 5349 00,A828 C9 A8 cmp #$a8 5350 00,A82A D0 E3 bne pocz 5351 5352 00,A82C 20 60 33 jsr on 5353 00,A82F A9 00 lda #0 5354 00,A831 8D 2F 02 sta $22f 5355 00,A834 8D 00 D4 sta $d400 5356 5357 00,A837 A0 00 ldy #0 ;tablice czestotliwosci "TIDL" pod AdrTidl, "TID2" pod AdrTid2 5358 00,A839 B9 54 A8 lda tidl,y 5359 00,A83C 99 00 FF sta AdrTidl,y 5360 00,A83F B9 9E A8 lda tid2,y 5361 00,A842 99 00 FE sta AdrTid2,y 5362 00,A845 C8 iny 5363 00,A846 D0 F1 bne *-13 5364 5365 00,A848 20 6C 33 jsr of 5366 00,A84B 20 F6 44 jsr wait 5367 00,A84E A9 22 lda #$22 5368 00,A850 8D 2F 02 sta $22f 5369 00,A853 60 rts 5370 5371 5372 ;----------; 5373 ;- TIDL -; 5374 ;----------; 5375 = 00,A854 tidl equ * 5376 00,A854 64 6A 70 77 dta l(100,106,112,119) ;37 bajtow 5377 00,A858 7E 86 8E 96 dta l(126,134,142,150) 5378 00,A85C 9F A8 B2 BD dta l(159,168,178,189) 5379 00,A860 C8 D4 E1 EE dta l(200,212,225,238) 5380 00,A864 FC 0B 1B 2C dta l(252,267,283,300) 5381 00,A868 3E 51 65 7A dta l(318,337,357,378) 5382 00,A86C 91 A8 C2 DC dta l(401,424,450,476) 5383 00,A870 F8 17 37 58 dta l(504,535,567,600) 5384 00,A874 7C A2 CA F4 dta l(636,674,714,756) 5385 00,A878 00 dta l(0) 5386 5387 00,A879 00 00 00 00 dta h(100,106,112,119) ;37 bajtow 5388 00,A87D 00 00 00 00 dta h(126,134,142,150) 5389 00,A881 00 00 00 00 dta h(159,168,178,189) 5390 00,A885 00 00 00 00 dta h(200,212,225,238) 5391 00,A889 00 01 01 01 dta h(252,267,283,300) 5392 00,A88D 01 01 01 01 dta h(318,337,357,378) 5393 00,A891 01 01 01 01 dta h(401,424,450,476) 5394 00,A895 01 02 02 02 dta h(504,535,567,600) 5395 00,A899 02 02 02 02 dta h(636,674,714,756) 5396 00,A89D 00 dta h(0) 5397 5398 = 00,A89E tid2 equ * 5399 00,A89E 8A 92 9B A4 dta l(138,146,155,164) ;37 bajtow 5400 00,A8A2 AE B8 C3 CF dta l(174,184,195,207) 5401 00,A8A6 DB E8 F6 04 dta l(219,232,246,260) 5402 00,A8AA 14 24 35 48 dta l(276,292,309,328) 5403 00,A8AE 5B 70 86 9D dta l(347,368,390,413) 5404 00,A8B2 B5 CF EB 08 dta l(437,463,491,520) 5405 00,A8B6 27 47 6A 8F dta l(551,583,618,655) 5406 00,A8BA B6 DF 0B 39 dta l(694,735,779,825) 5407 00,A8BE 6A 9E D5 0F dta l(874,926,981,1039) 5408 00,A8C2 00 dta l(0) 5409 5410 00,A8C3 00 00 00 00 dta h(138,146,155,164) ;37 bajtow 5411 00,A8C7 00 00 00 00 dta h(174,184,195,207) 5412 00,A8CB 00 00 00 01 dta h(219,232,246,260) 5413 00,A8CF 01 01 01 01 dta h(276,292,309,328) 5414 00,A8D3 01 01 01 01 dta h(347,368,390,413) 5415 00,A8D7 01 01 01 02 dta h(437,463,491,520) 5416 00,A8DB 02 02 02 02 dta h(551,583,618,655) 5417 00,A8DF 02 02 03 03 dta h(694,735,779,825) 5418 00,A8E3 03 03 03 04 dta h(874,926,981,1039) 5419 00,A8E7 00 dta h(0) 5420 5421 5422 00,A8E8 org $5c0 5423 *--------------------------------* 5424 * insert pos. in window orders * 5425 *--------------------------------* 5426 00,05C0-067B> 18 _inr clc 5427 00,05C1 AD 92 40 lda o_licz 5428 00,05C4 6D 91 40 adc o_win 5429 00,05C7 85 E4 sta patno 5430 00,05C9 C9 7F cmp #$7f 5431 00,05CB D0 06 bne *+8 5432 00,05CD 20 3A 06 jsr cl_k 5433 00,05D0 4C 10 3D jmp key2 5434 5435 00,05D3 A2 7E ldx #$7e 5436 00,05D5 A0 7F ldy #$7f 5437 00,05D7 BD 00 04 lda sng,x 5438 00,05DA 99 00 04 sta sng,y 5439 00,05DD CA dex 5440 00,05DE 88 dey 5441 00,05DF C4 E4 cpy patno 5442 00,05E1 D0 F4 bne *-10 5443 00,05E3 A9 FF lda #$ff 5444 00,05E5 99 00 04 sta sng,y 5445 00,05E8 4C F3 3C jmp orders 5446 5447 *--------------------------------* 5448 * delete pos. in window orders * 5449 *--------------------------------* 5450 00,05EB 18 _der clc 5451 00,05EC AD 92 40 lda o_licz 5452 00,05EF 6D 91 40 adc o_win 5453 00,05F2 85 E4 sta patno 5454 00,05F4 C9 7F cmp #$7f 5455 00,05F6 D0 06 bne *+8 5456 00,05F8 20 3A 06 jsr cl_k 5457 00,05FB 4C 10 3D jmp key2 5458 5459 00,05FE A5 E4 lda patno 5460 00,0600 A8 tay 5461 00,0601 C8 iny 5462 00,0602 98 tya 5463 00,0603 AA tax 5464 00,0604 88 dey 5465 00,0605 BD 00 04 lda sng,x 5466 00,0608 99 00 04 sta sng,y 5467 00,060B E8 inx 5468 00,060C C8 iny 5469 00,060D C0 7F cpy #$7f 5470 00,060F D0 F4 bne *-10 5471 00,0611 A9 FF lda #$ff 5472 00,0613 99 00 04 sta sng,y 5473 00,0616 4C F3 3C jmp orders 5474 5475 00,0619 18 _a12pse clc 5476 00,061A A5 FE lda pse 5477 00,061C 69 0C adc #12 5478 00,061E 85 FE sta pse 5479 00,0620 90 02 bcc *+4 5480 00,0622 E6 FF inc pse+1 5481 00,0624 18 clc 5482 00,0625 A5 FC lda hlp 5483 00,0627 69 0C adc #12 5484 00,0629 85 FC sta hlp 5485 00,062B 90 02 bcc *+4 5486 00,062D E6 FD inc hlp+1 5487 00,062F 60 rts 5488 5489 00,0630 4A _h lsr @ 5490 00,0631 4A lsr @ 5491 00,0632 4A lsr @ 5492 00,0633 4A lsr @ 5493 00,0634 60 rts 5494 5495 00,0635 0A _q asl @ 5496 00,0636 0A asl @ 5497 00,0637 0A asl @ 5498 00,0638 0A asl @ 5499 00,0639 60 rts 5500 5501 00,063A A9 FF cl_k lda #$ff 5502 00,063C 8D FC 02 sta 764 5503 00,063F 60 rts 5504 5505 00,0640 48 dliv pha 5506 00,0641 A9 14 lda #$14 5507 00,0643 8D 0A D4 sta $d40a 5508 00,0646 8D 18 D0 sta $d018 5509 00,0649 A9 50 lda dliv 5527 00,066A 8D 01 02 sta $201 5528 00,066D A9 C0 lda #$c0 5529 00,066F 8D 0E D4 sta $d40e 5530 00,0672 60 rts 5531 5532 00,0673 A2 00 _ad ldx <_bf 5533 00,0675 A0 BB ldy >_bf 5534 00,0677 86 FE stx pse 5535 00,0679 84 FF sty pse+1 5536 00,067B 60 rts 5537 5538 00,067C org $8000 5539 ;------------; 5540 ;- SELECT -; 5541 ;------------; 5542 5543 *-----------------------------------* 5544 * rozpoznaj ilosc dodatkowego RAM'u * 5545 * oraz wypisz to na ekranie * 5546 *-----------------------------------* 5547 5548 00,8000-835A> 20 F6 44 select jsr wait 5549 00,8003 A2 C0 ldx >$c0e2 5550 00,8005 A0 E2 ldy <$c0e2 5551 00,8007 A9 06 lda #6 5552 00,8009 20 5C E4 jsr $e45c 5553 5554 00,800C 20 60 33 jsr on 5555 00,800F A2 09 ldx #9 5556 00,8011 A0 00 ldy #0 5557 00,8013 98 tya 5558 00,8014 99 00 C0 _cl_ sta $c000,y 5559 00,8017 88 dey 5560 00,8018 D0 FA bne _cl_ 5561 00,801A EE 16 80 inc _cl_+2 5562 00,801D CA dex 5563 00,801E D0 F4 bne _cl_ 5564 00,8020 20 6C 33 jsr of 5565 5566 00,8023 20 F6 44 jsr wait 5567 5568 00,8026 20 3A 06 jsr cl_k 5569 00,8029 A9 C9 lda deelka 5572 00,8030 8D 31 02 sta $231 5573 00,8033 A9 0A lda #10 5574 00,8035 8D C5 02 sta $2c5 5575 00,8038 A9 00 lda #0 5576 00,803A 8D C6 02 sta $2c6 5577 00,803D A9 20 lda >fnt 5578 00,803F 8D F4 02 sta 756 5579 5580 00,8042 A0 00 ldy #0 5581 00,8044 98 tya 5582 00,8045 99 00 BB sta _bnk,y 5583 00,8048 88 dey 5584 00,8049 D0 FA bne *-4 5585 5586 00,804B A0 00 ldy #0 5587 00,804D 98 tya 5588 00,804E 09 83 ora #%10000011 5589 00,8050 29 EF and #%11101111 5590 00,8052 8D 01 D3 sta $d301 5591 00,8055 8D 00 40 sta $4000 5592 00,8058 C8 iny 5593 00,8059 D0 F2 bne *-12 5594 5595 00,805B A0 00 ldy #0 5596 00,805D 98 tya 5597 00,805E 09 83 ora #%10000011 5598 00,8060 29 EF and #%11101111 5599 00,8062 8D 01 D3 sta $d301 5600 00,8065 AE 00 40 ldx $4000 5601 00,8068 A9 01 lda #1 5602 00,806A 9D 00 BB sta _bnk,x 5603 00,806D C8 iny 5604 00,806E D0 ED bne *-17 5605 5606 00,8070 A0 00 ldy #0 5607 00,8072 A2 00 ldx #0 5608 00,8074 B9 00 BB _sv lda _bnk,y 5609 00,8077 F0 09 beq *+11 5610 00,8079 98 tya 5611 00,807A 9D D5 36 sta tab_1,x 5612 00,807D E8 inx 5613 00,807E E0 20 cpx #32 5614 00,8080 F0 03 beq *+5 5615 00,8082 C8 iny 5616 00,8083 D0 EF bne _sv 5617 00,8085 8E D2 36 stx il_bnk 5618 00,8088 20 74 31 jsr n_12 5619 5620 00,808B A9 00 lda #0 5621 00,808D 8D FD 23 sta $23fd 5622 00,8090 8D FE 23 sta $23fe 5623 00,8093 8D FF 23 sta $23ff 5624 5625 00,8096 AE D2 36 ldx il_bnk 5626 00,8099 E0 01 cpx #1 5627 00,809B D0 1A bne *+28 5628 5629 00,809D A2 00 ldx #0 5630 00,809F BD 93 82 lda ek3+160,x 5631 00,80A2 9D 6B 82 sta ek3+120,x 5632 00,80A5 E8 inx 5633 00,80A6 E0 27 cpx #39 5634 00,80A8 D0 F5 bne *-9 5635 00,80AA 20 3A 06 jsr cl_k 5636 00,80AD AD FC 02 lda 764 5637 00,80B0 C9 21 cmp #33 5638 00,80B2 D0 F9 bne *-5 5639 00,80B4 6C 0A 00 jmp ($a) 5640 5641 00,80B7 F8 sed 5642 00,80B8 18 clc 5643 00,80B9 AD FD 23 lda $23fd 5644 00,80BC 69 84 adc #$84 5645 00,80BE 8D FD 23 sta $23fd 5646 00,80C1 AD FE 23 lda $23fe 5647 00,80C4 69 63 adc #$63 5648 00,80C6 8D FE 23 sta $23fe 5649 00,80C9 AD FF 23 lda $23ff 5650 00,80CC 69 01 adc #$01 5651 00,80CE 8D FF 23 sta $23ff 5652 00,80D1 D8 cld 5653 00,80D2 CA dex 5654 00,80D3 D0 E2 bne *-28 5655 5656 00,80D5 AD FD 23 lda $23fd 5657 00,80D8 AA tax 5658 00,80D9 29 0F and #$f 5659 00,80DB 09 10 ora #'0'-32 5660 00,80DD 8D 85 82 sta ek3+146 5661 5662 00,80E0 8A txa 5663 00,80E1 20 30 06 jsr _h 5664 00,80E4 09 10 ora #'0'-32 5665 00,80E6 8D 84 82 sta ek3+145 5666 5667 00,80E9 AD FE 23 lda $23fe 5668 00,80EC AA tax 5669 00,80ED 29 0F and #$f 5670 00,80EF 09 10 ora #'0'-32 5671 00,80F1 8D 83 82 sta ek3+144 5672 5673 00,80F4 8A txa 5674 00,80F5 20 30 06 jsr _h 5675 00,80F8 09 10 ora #'0'-32 5676 00,80FA 8D 82 82 sta ek3+143 5677 5678 00,80FD AD FF 23 lda $23ff 5679 00,8100 AA tax 5680 00,8101 29 0F and #$f 5681 00,8103 09 10 ora #'0'-32 5682 00,8105 8D 81 82 sta ek3+142 5683 5684 00,8108 8A txa 5685 00,8109 20 30 06 jsr _h 5686 00,810C 09 10 ora #'0'-32 5687 00,810E 8D 80 82 sta ek3+141 5688 5689 00,8111 20 3A 06 jsr cl_k 5690 00,8114 AD FC 02 lda 764 5691 00,8117 C9 0A cmp #10 5692 00,8119 F0 07 beq _pokey 5693 00,811B C9 12 cmp #18 5694 00,811D F0 47 beq _covox 5695 00,811F 4C 14 81 jmp *-11 5696 5697 00,8122 20 F6 44 _pokey jsr wait 5698 00,8125 20 00 AC jsr _p0rom 5699 00,8128 A9 01 lda #1 5700 00,812A 85 2D sta ch_0+1 5701 00,812C 8D 3C 3C sta ch_4+1 5702 00,812F 8D 65 3B sta _of1+1 5703 5704 00,8132 A9 03 lda #3 5705 00,8134 85 5C sta ch_1+1 5706 00,8136 8D 9A 3B sta _of2+1 5707 5708 00,8139 A9 05 lda #5 5709 00,813B 85 8B sta ch_2+1 5710 00,813D 8D EA 3A sta _of3+1 5711 5712 00,8140 A9 07 lda #7 5713 00,8142 85 BA sta ch_3+1 5714 00,8144 8D 1F 3B sta _of4+1 5715 5716 00,8147 A9 D2 lda #$d2 5717 00,8149 85 2E sta ch_0+2 5718 00,814B 85 5D sta ch_1+2 5719 00,814D 85 8C sta ch_2+2 5720 00,814F 85 BB sta ch_3+2 5721 00,8151 8D 3D 3C sta ch_4+2 5722 00,8154 8D 69 3B sta _df1+1 5723 00,8157 8D 9E 3B sta _df2+1 5724 00,815A 8D EE 3A sta _df3+1 5725 00,815D 8D 23 3B sta _df4+1 5726 00,8160 20 00 AC jsr _p0rom 5727 00,8163 4C 23 24 jmp init 5728 5729 00,8166 A9 DE _covox lda dlk 5732 00,816D 8D 31 02 sta $231 5733 5734 00,8170 A9 EA lda #$ea ;kod rozkazu NOP 5735 00,8172 8D 12 A8 sta pocz+3 5736 00,8175 8D 13 A8 sta pocz+4 5737 00,8178 8D 14 A8 sta pocz+5 5738 00,817B 8D 15 A8 sta pocz+6 5739 00,817E 8D 16 A8 sta pocz+7 5740 00,8181 A9 00 lda #0 5741 00,8183 8D 18 A8 sta _eo+1 5742 5743 00,8186 AD FC 02 lda 764 5744 00,8189 C9 1F cmp #31 5745 00,818B F0 0B beq *+13 5746 00,818D C9 1E cmp #30 5747 00,818F F0 0C beq *+14 5748 00,8191 C9 1A cmp #26 5749 00,8193 F0 0D beq *+15 5750 00,8195 4C 86 81 jmp *-15 5751 5752 00,8198 A9 D5 lda #$d5 5753 00,819A 4C A4 81 jmp *+10 5754 5755 00,819D A9 D6 lda #$d6 5756 00,819F 4C A4 81 jmp *+5 5757 5758 00,81A2 A9 D7 lda #$d7 5759 00,81A4 48 pha 5760 00,81A5 20 00 AC jsr _p0rom 5761 00,81A8 68 pla 5762 00,81A9 8D 69 3B sta _df1+1 5763 00,81AC 8D 9E 3B sta _df2+1 5764 00,81AF 8D EE 3A sta _df3+1 5765 00,81B2 8D 23 3B sta _df4+1 5766 00,81B5 85 2E sta ch_0+2 5767 00,81B7 85 5D sta ch_1+2 5768 00,81B9 85 8C sta ch_2+2 5769 00,81BB 85 BB sta ch_3+2 5770 00,81BD 8D 3D 3C sta ch_4+2 5771 00,81C0 20 00 AC jsr _p0rom 5772 00,81C3 20 3A 06 jsr cl_k 5773 00,81C6 4C 23 24 jmp init 5774 5775 00,81C9 70 70 70 70 70 + deelka dta d'ppppppppppp' 5776 00,81D4 42 F3 81 02 02 dta b($42),a(ek3),b(2),b(2) 5777 00,81D9 50 02 dta b($50),b(2) 5778 00,81DB 41 C9 81 dta b($41),a(deelka) 5779 5780 00,81DE 70 70 70 70 70 + dlk dta d'ppppppppppp' 5781 00,81E9 42 BB 82 dta b($42),a(ek4) 5782 00,81EC 50 02 02 dta b($50),b(2),b(2) 5783 00,81EF 02 41 DE 81 dta b(2),b($41),a(dlk) 5784 5785 00,81F3 00 00 00 00 00 + ek3 dta d' select device: ' 5786 00,821B 00 00 00 00 00 + dta d' -pokey 4-bit ' 5787 00,8243 00 00 00 00 00 + dta d' -covox 8-bit ' 5788 00,826B 00 00 00 00 00 + dta d' extended RAM - 000000 bytes ' 5789 00,8293 00 00 00 00 00 + dta d' i need extended RAM ' 5790 5791 00,82BB 00 00 00 00 00 + ek4 dta d' select adress: ' 5792 00,82E3 00 00 00 00 00 + dta d' -page $d5 ' 5793 00,830B 00 00 00 00 00 + dta d' -page $d6 ' 5794 00,8333 00 00 00 00 00 + dta d' -page $d7 ' 5795 5796 00,02E0-02E1> 00 80 run select 5797 5798 00,02E2 end of file