Mad-Assembler v1.2.9beta by TeBe/Madteam Source: D:\!Delphi\Masm\Przyklady\inertia_player_3.7\it37.asm 1 ;- global labels 2 = 00,7000 play37 equ $7000 3 = 00,2000 mod37 equ $2000 4 = 00,0700 strt equ $0700 5 6 org $8000 7 FFFF> 00,8000-A0FF> 00 + ins 'mod8.tab' 8 9 ;- bank=bank+1 10 ;- local labels 11 01,A100 nmb 12 01,A100 org 0,play37 13 01,0000 icl 'play37.asm' Source: play37.asm 1 ; opt h- 2 ; org 0 3 4 = 01,FF00 tadcl equ $FF00 5 = 01,FF30 tadch equ tadcl+48 6 = 01,FF60 tapat equ tadch+48 7 = 01,FF90 kod equ tapat+48 8 = 01,FFF0 tab_1 equ kod+96 9 10 = 01,0000 patno equ 0 (1) 11 = 01,0001 patend equ patno+1 (1) 12 = 01,0002 pataed equ patend+1 (1) 13 = 01,0003 patadr equ pataed+1 (2) 14 = 01,0005 cnts equ patadr+2 (1) 15 = 01,0006 pause equ cnts+1 (1) 16 = 01,0007 nr0 equ pause+1 (1) 17 = 01,0008 nr1 equ nr0+1 (1) 18 = 01,0009 nr2 equ nr1+1 (1) 19 = 01,000A nr3 equ nr2+1 (1) 20 21 = 01,00D8 vbl equ $d8 22 23 = 01,0400 sng equ $400 24 = 01,0480 tivol equ sng+$80 ;glosnosc sampla 25 26 = 01,04A0 tstrl equ tivol+$20 27 = 01,04C0 trepl equ tstrl+$20 28 = 01,04E0 tendl equ trepl+$20 ;lsb dl. sampla 29 30 = 01,0500 tstrh equ tendl+$20 31 = 01,0520 treph equ tstrh+$20 32 = 01,0540 tendh equ treph+$20 ;msb dl. sampla 33 34 = 01,0560 tlenl equ tendh+$20 35 = 01,0580 tab_3 equ tlenl+$20 36 = 01,05A0 tlng equ tab_3+$20 37 = 01,05C0 tlen equ tlng+$20 38 = 01,05D0 tadr equ tlen+16 39 = 01,05E0 tbnk equ tadr+16 40 41 01,7000-72FF> 00 00 00 + dta d' ' 42 01,000B 33 30 21 23 25 + inf3 dta d'SPACE-play ESC-exiô' 43 01,001F 00 73 61 6D 70 + s_pl dta d' samples-' 44 01,0028 2E 6F 00 6D 65 + memo dta d'No memorů' 45 46 = 01,0031 pmain equ * 47 01,0031 A9 FE bank0 lda #$fe 48 01,0033 8D 01 D3 sta $d301 49 50 01,0036 A9 00 ist_0 lda #0 51 01,0038 69 00 iad0_m adc #0 52 01,003A 85 37 sta ist_0+1 53 01,003C A5 58 lda p_0c+1 54 01,003E 69 00 iad0_s adc #0 55 01,0040 85 58 sta p_0c+1 56 01,0042 90 13 bcc p_0c 57 01,0044 E6 59 inc p_0c+2 58 01,0046 A5 59 lda p_0c+2 59 01,0048 C9 00 ien0_s cmp #0 60 01,004A 90 0B bcc p_0c 61 62 01,004C A9 00 ire0_m lda #0 63 01,004E 85 58 sta p_0c+1 64 01,0050 A9 00 ire0_s lda #0 65 01,0052 85 59 sta p_0c+2 66 01,0054 4C 60 00 jmp bank1 67 68 01,0057 AE FF FF p_0c ldx $ffff 69 01,005A BD 00 D8 ivol10 lda $d800,x 70 01,005D 8D 00 D6 ch0 sta $d600 71 72 01,0060 A9 FE bank1 lda #$fe 73 01,0062 8D 01 D3 sta $d301 74 75 01,0065 A9 00 ist_1 lda #0 76 01,0067 69 00 iad1_m adc #0 77 01,0069 85 66 sta ist_1+1 78 01,006B A5 87 lda p_1c+1 79 01,006D 69 00 iad1_s adc #0 80 01,006F 85 87 sta p_1c+1 81 01,0071 90 13 bcc p_1c 82 01,0073 E6 88 inc p_1c+2 83 01,0075 A5 88 lda p_1c+2 84 01,0077 C9 00 ien1_s cmp #0 85 01,0079 90 0B bcc p_1c 86 87 01,007B A9 00 ire1_m lda #0 88 01,007D 85 87 sta p_1c+1 89 01,007F A9 00 ire1_s lda #0 90 01,0081 85 88 sta p_1c+2 91 01,0083 4C 8F 00 jmp bank2 92 93 01,0086 AE FF FF p_1c ldx $ffff 94 01,0089 BD 00 D8 ivol11 lda $d800,x 95 01,008C 8D 01 D6 ch1 sta $d601 96 97 01,008F A9 FE bank2 lda #$fe 98 01,0091 8D 01 D3 sta $d301 99 100 01,0094 A9 00 ist_2 lda #0 101 01,0096 69 00 iad2_m adc #0 102 01,0098 85 95 sta ist_2+1 103 01,009A A5 B6 lda p_2c+1 104 01,009C 69 00 iad2_s adc #0 105 01,009E 85 B6 sta p_2c+1 106 01,00A0 90 13 bcc p_2c 107 01,00A2 E6 B7 inc p_2c+2 108 01,00A4 A5 B7 lda p_2c+2 109 01,00A6 C9 00 ien2_s cmp #0 110 01,00A8 90 0B bcc p_2c 111 112 01,00AA A9 00 ire2_m lda #0 113 01,00AC 85 B6 sta p_2c+1 114 01,00AE A9 00 ire2_s lda #0 115 01,00B0 85 B7 sta p_2c+2 116 01,00B2 4C BE 00 jmp bank3 117 118 01,00B5 AE FF FF p_2c ldx $ffff 119 01,00B8 BD 00 D8 ivol12 lda $d800,x 120 01,00BB 8D 02 D6 ch2 sta $d602 121 122 01,00BE A9 FE bank3 lda #$fe 123 01,00C0 8D 01 D3 sta $d301 124 125 01,00C3 A9 00 ist_3 lda #0 126 01,00C5 69 00 iad3_m adc #0 127 01,00C7 85 C4 sta ist_3+1 128 01,00C9 A5 E5 lda p_3c+1 129 01,00CB 69 00 iad3_s adc #0 130 01,00CD 85 E5 sta p_3c+1 131 01,00CF 90 13 bcc p_3c 132 01,00D1 E6 E6 inc p_3c+2 133 01,00D3 A5 E6 lda p_3c+2 134 01,00D5 C9 00 ien3_s cmp #0 135 01,00D7 90 0B bcc p_3c 136 137 01,00D9 A9 00 ire3_m lda #0 138 01,00DB 85 E5 sta p_3c+1 139 01,00DD A9 00 ire3_s lda #0 140 01,00DF 85 E6 sta p_3c+2 141 01,00E1 4C ED 00 jmp p_e 142 143 01,00E4 AE FF FF p_3c ldx $ffff 144 01,00E7 BD 00 D8 ivol13 lda $d800,x 145 01,00EA 8D 03 D6 ch3 sta $d603 146 147 01,00ED 88 p_e dey 148 01,00EE F0 03 beq pat 149 01,00F0 4C 31 00 jmp pmain 150 151 *----------------- 152 *requests 153 154 01,00F3 A0 D8 pat ldy #vbl 155 156 01,00F5 C6 05 dec cnts 157 01,00F7 F0 03 beq pre 158 01,00F9 4C 31 00 jmp pmain 159 160 01,00FC A9 00 pre lda #0 161 01,00FE 85 01 sta patend 162 01,0100 A9 FE lda #$fe 163 01,0102 8D 01 D3 sta $d301 164 165 *--------------------------- 166 * track 0 167 168 01,0105 A0 01 i_0 ldy #1 169 01,0107 B1 03 lda (patadr),y 170 01,0109 AA tax 171 01,010A 29 1F and #$1f 172 01,010C F0 08 beq i_0c 173 01,010E A8 tay 174 01,010F 85 07 sta nr0 175 01,0111 B9 7F 04 lda tivol-1,y 176 01,0114 85 5C sta ivol10+2 177 178 01,0116 8A i_0c txa 179 01,0117 29 C0 and #$c0 180 01,0119 F0 1B beq i_0f 181 01,011B AA tax 182 01,011C E0 40 cpx #$40 183 01,011E D0 06 bne *+8 184 01,0120 A0 02 ldy #2 185 01,0122 B1 03 lda (patadr),y 186 01,0124 85 5C sta ivol10+2 187 01,0126 E0 C0 cpx #$c0 188 01,0128 D0 06 bne *+8 189 01,012A A0 02 ldy #2 190 01,012C B1 03 lda (patadr),y 191 01,012E 85 06 sta pause 192 01,0130 E0 80 cpx #$80 193 01,0132 D0 02 bne *+4 194 01,0134 86 01 stx patend 195 196 01,0136 A0 00 i_0f ldy #0 197 01,0138 B1 03 lda (patadr),y 198 01,013A F0 2B beq i_1 199 01,013C AA tax 200 01,013D BD FF FE lda tadcl-1,x 201 01,0140 85 39 sta iad0_m+1 202 01,0142 BD 2F FF lda tadch-1,x 203 01,0145 85 3F sta iad0_s+1 204 205 01,0147 A4 07 ldy nr0 206 01,0149 B9 7F 05 lda tab_3-1,y 207 01,014C 85 32 sta bank0+1 208 209 01,014E B9 9F 04 lda tstrl-1,y 210 01,0151 85 58 sta p_0c+1 211 01,0153 B9 FF 04 lda tstrh-1,y 212 01,0156 85 59 sta p_0c+2 213 214 01,0158 B9 3F 05 lda tendh-1,y 215 01,015B 85 49 sta ien0_s+1 216 217 01,015D B9 BF 04 lda trepl-1,y 218 01,0160 85 4D sta ire0_m+1 219 01,0162 B9 1F 05 lda treph-1,y 220 01,0165 85 51 sta ire0_s+1 221 222 * track 1 223 224 01,0167 A0 04 i_1 ldy #4 225 01,0169 B1 03 lda (patadr),y 226 01,016B AA tax 227 01,016C 29 1F and #$1f 228 01,016E F0 08 beq i_1c 229 01,0170 A8 tay 230 01,0171 85 08 sta nr1 231 01,0173 B9 7F 04 lda tivol-1,y 232 01,0176 85 8B sta ivol11+2 233 234 01,0178 8A i_1c txa 235 01,0179 29 C0 and #$c0 236 01,017B F0 1B beq i_1f 237 01,017D AA tax 238 01,017E E0 40 cpx #$40 239 01,0180 D0 06 bne *+8 240 01,0182 A0 05 ldy #5 241 01,0184 B1 03 lda (patadr),y 242 01,0186 85 8B sta ivol11+2 243 01,0188 E0 C0 cpx #$c0 244 01,018A D0 06 bne *+8 245 01,018C A0 05 ldy #5 246 01,018E B1 03 lda (patadr),y 247 01,0190 85 06 sta pause 248 01,0192 E0 80 cpx #$80 249 01,0194 D0 02 bne *+4 250 01,0196 86 01 stx patend 251 252 01,0198 A0 03 i_1f ldy #3 253 01,019A B1 03 lda (patadr),y 254 01,019C F0 2B beq i_2 255 01,019E AA tax 256 01,019F BD FF FE lda tadcl-1,x 257 01,01A2 85 68 sta iad1_m+1 258 01,01A4 BD 2F FF lda tadch-1,x 259 01,01A7 85 6E sta iad1_s+1 260 261 01,01A9 A4 08 ldy nr1 262 01,01AB B9 7F 05 lda tab_3-1,y 263 01,01AE 85 61 sta bank1+1 264 265 01,01B0 B9 9F 04 lda tstrl-1,y 266 01,01B3 85 87 sta p_1c+1 267 01,01B5 B9 FF 04 lda tstrh-1,y 268 01,01B8 85 88 sta p_1c+2 269 270 01,01BA B9 3F 05 lda tendh-1,y 271 01,01BD 85 78 sta ien1_s+1 272 273 01,01BF B9 BF 04 lda trepl-1,y 274 01,01C2 85 7C sta ire1_m+1 275 01,01C4 B9 1F 05 lda treph-1,y 276 01,01C7 85 80 sta ire1_s+1 277 278 * track 2 279 280 01,01C9 A0 07 i_2 ldy #7 281 01,01CB B1 03 lda (patadr),y 282 01,01CD AA tax 283 01,01CE 29 1F and #$1f 284 01,01D0 F0 08 beq i_2c 285 01,01D2 A8 tay 286 01,01D3 85 09 sta nr2 287 01,01D5 B9 7F 04 lda tivol-1,y 288 01,01D8 85 BA sta ivol12+2 289 290 01,01DA 8A i_2c txa 291 01,01DB 29 C0 and #$c0 292 01,01DD F0 1B beq i_2f 293 01,01DF AA tax 294 01,01E0 E0 40 cpx #$40 295 01,01E2 D0 06 bne *+8 296 01,01E4 A0 08 ldy #8 297 01,01E6 B1 03 lda (patadr),y 298 01,01E8 85 BA sta ivol12+2 299 01,01EA E0 C0 cpx #$c0 300 01,01EC D0 06 bne *+8 301 01,01EE A0 08 ldy #8 302 01,01F0 B1 03 lda (patadr),y 303 01,01F2 85 06 sta pause 304 01,01F4 E0 80 cpx #$80 305 01,01F6 D0 02 bne *+4 306 01,01F8 86 01 stx patend 307 308 01,01FA A0 06 i_2f ldy #6 309 01,01FC B1 03 lda (patadr),y 310 01,01FE F0 2B beq i_3 311 01,0200 AA tax 312 01,0201 BD FF FE lda tadcl-1,x 313 01,0204 85 97 sta iad2_m+1 314 01,0206 BD 2F FF lda tadch-1,x 315 01,0209 85 9D sta iad2_s+1 316 317 01,020B A4 09 ldy nr2 318 01,020D B9 7F 05 lda tab_3-1,y 319 01,0210 85 90 sta bank2+1 320 321 01,0212 B9 9F 04 lda tstrl-1,y 322 01,0215 85 B6 sta p_2c+1 323 01,0217 B9 FF 04 lda tstrh-1,y 324 01,021A 85 B7 sta p_2c+2 325 326 01,021C B9 3F 05 lda tendh-1,y 327 01,021F 85 A7 sta ien2_s+1 328 329 01,0221 B9 BF 04 lda trepl-1,y 330 01,0224 85 AB sta ire2_m+1 331 01,0226 B9 1F 05 lda treph-1,y 332 01,0229 85 AF sta ire2_s+1 333 334 * track 3 335 336 01,022B A0 0A i_3 ldy #10 337 01,022D B1 03 lda (patadr),y 338 01,022F AA tax 339 01,0230 29 1F and #$1f 340 01,0232 F0 08 beq i_3c 341 01,0234 A8 tay 342 01,0235 85 0A sta nr3 343 01,0237 B9 7F 04 lda tivol-1,y 344 01,023A 85 E9 sta ivol13+2 345 346 01,023C 8A i_3c txa 347 01,023D 29 C0 and #$c0 348 01,023F F0 1B beq i_3f 349 01,0241 AA tax 350 01,0242 E0 40 cpx #$40 351 01,0244 D0 06 bne *+8 352 01,0246 A0 0B ldy #11 353 01,0248 B1 03 lda (patadr),y 354 01,024A 85 E9 sta ivol13+2 355 01,024C E0 C0 cpx #$c0 356 01,024E D0 06 bne *+8 357 01,0250 A0 0B ldy #11 358 01,0252 B1 03 lda (patadr),y 359 01,0254 85 06 sta pause 360 01,0256 E0 80 cpx #$80 361 01,0258 D0 02 bne *+4 362 01,025A 86 01 stx patend 363 364 01,025C A0 09 i_3f ldy #9 365 01,025E B1 03 lda (patadr),y 366 01,0260 F0 2B beq i_e 367 01,0262 AA tax 368 01,0263 BD FF FE lda tadcl-1,x 369 01,0266 85 C6 sta iad3_m+1 370 01,0268 BD 2F FF lda tadch-1,x 371 01,026B 85 CC sta iad3_s+1 372 373 01,026D A4 0A ldy nr3 374 01,026F B9 7F 05 lda tab_3-1,y 375 01,0272 85 BF sta bank3+1 376 377 01,0274 B9 9F 04 lda tstrl-1,y 378 01,0277 85 E5 sta p_3c+1 379 01,0279 B9 FF 04 lda tstrh-1,y 380 01,027C 85 E6 sta p_3c+2 381 382 01,027E B9 3F 05 lda tendh-1,y 383 01,0281 85 D6 sta ien3_s+1 384 385 01,0283 B9 BF 04 lda trepl-1,y 386 01,0286 85 DA sta ire3_m+1 387 01,0288 B9 1F 05 lda treph-1,y 388 01,028B 85 DE sta ire3_s+1 389 390 01,028D A5 01 i_e lda patend 391 01,028F D0 11 bne i_en 392 393 01,0291 A5 03 lda patadr 394 01,0293 18 clc 395 01,0294 69 0C adc #12 396 01,0296 85 03 sta patadr 397 01,0298 A5 04 lda patadr+1 398 01,029A 69 00 adc #0 399 01,029C 85 04 sta patadr+1 400 01,029E C5 02 cmp pataed 401 01,02A0 90 1E bcc i_end 402 403 01,02A2 E6 00 i_en inc patno 404 01,02A4 A6 00 ldx patno 405 01,02A6 E0 00 patmax cpx #0 406 01,02A8 90 08 bcc i_ens 407 408 01,02AA A9 06 lda #6 409 01,02AC 85 06 sta pause 410 01,02AE A2 00 ldx #0 411 01,02B0 86 00 stx patno 412 413 01,02B2 BD 00 04 i_ens lda sng,x 414 01,02B5 85 04 sta patadr+1 415 01,02B7 18 clc 416 01,02B8 69 03 adc #3 417 01,02BA 85 02 sta pataed 418 01,02BC A9 00 lda #0 419 01,02BE 85 03 sta patadr 420 421 01,02C0 AD 1F D0 i_end lda $d01f 422 01,02C3 F0 09 beq r_qu 423 424 01,02C5 A5 06 lda pause 425 01,02C7 85 05 sta cnts 426 01,02C9 A0 D8 ldy #vbl 427 01,02CB 4C 31 00 _ret jmp pmain 428 429 01,02CE 4C 00 0A r_qu jmp $a00 430 431 01,02D1 5C 5D 0D 6D 6F + inf2 dta d'-move cursor RETURN-loaä' 432 01,02EC 33 30 21 23 25 + inf1 dta d'SPACE-directorů' 433 01,02FB 25 72 72 6F F2 erro dta d'Erroň' Source: it37.asm 14 15 ;- bank=bank+1 16 ;- local labels 17 02,0300 nmb 18 02,0300 org strt,mod37 19 02,0700 icl 'mod37.asm' Source: mod37.asm 1 2 = 02,0600 mem equ $600 3 = 02,FF00 tadcl equ $FF00 4 = 02,FF30 tadch equ tadcl+48 5 = 02,FF60 tapat equ tadch+48 6 = 02,FF90 kod equ tapat+48 7 = 02,FFF0 tab_1 equ kod+96 8 9 = 02,0000 patno equ 0 (1) 10 = 02,0001 patend equ patno+1 (1) 11 = 02,0002 pataed equ patend+1 (1) 12 = 02,0003 patadr equ pataed+1 (2) 13 = 02,0005 cnts equ patadr+2 (1) 14 = 02,0006 pause equ cnts+1 (1) 15 = 02,0007 nr0 equ pause+1 (1) 16 = 02,0008 nr1 equ nr0+1 (1) 17 = 02,0009 nr2 equ nr1+1 (1) 18 = 02,000A nr3 equ nr2+1 (1) 19 20 = 02,0080 tse equ $80 (2) 21 = 02,0082 hlp equ tse+2 (2) 22 = 02,0084 ad equ hlp+2 (2) 23 = 02,0086 tmp equ ad+2 (4) 24 = 02,008A nr_ins equ tmp+4 (1) 25 = 02,008B nr_bnk equ nr_ins+1 (1) 26 = 02,008C lic equ nr_bnk+1 (1) 27 = 02,008D link equ lic+1 (2) 28 = 02,008F pse equ link+2 (2) 29 = 02,0091 _by equ pse+2 (1) 30 = 02,0093 _wo equ _by+2 (2) 31 32 = 02,00D8 vl equ $d8 33 34 = 02,0400 sng equ $400 35 = 02,0480 tivol equ sng+$80 ;glosnosc sampla 36 37 = 02,04A0 tstrl equ tivol+$20 38 = 02,04C0 trepl equ tstrl+$20 39 = 02,04E0 tendl equ trepl+$20 ;lsb dl. sampla 40 41 = 02,0500 tstrh equ tendl+$20 42 = 02,0520 treph equ tstrh+$20 43 = 02,0540 tendh equ treph+$20 ;msb dl. sampla 44 45 = 02,0560 tlenl equ tendh+$20 46 = 02,0580 tab_3 equ tlenl+$20 47 = 02,05A0 tlng equ tab_3+$20 48 = 02,05C0 tlen equ tlng+$20 49 = 02,05D0 tadr equ tlen+16 50 = 02,05E0 tbnk equ tadr+16 51 52 *-- 53 54 ; opt h- 55 ; org strt 56 57 02,2000-2FE5> 4C FB 13 jmp _bf 58 02,0703 00 00 00 00 00 + dta d' ' 59 02,070B 33 30 21 23 25 + inf3 dta d'SPACE-play ESC-exiô' 60 02,071F 00 73 61 6D 70 + s_pl dta d' samples-' 61 02,0728 2E 6F 00 6D 65 + memo dta d'No memorů' 62 63 = 02,0731 pmain equ * 64 02,0731 A9 00 bank0 lda #0 65 02,0733 8D 01 D3 sta $d301 66 67 02,0736 A9 00 ist_0 lda #0 68 02,0738 69 00 iad0_m adc #0 69 02,073A 00 00 dta a(0) 70 02,073C 00 00 dta a(0) 71 02,073E 69 00 iad0_s adc #0 72 02,0740 00 00 dta a(0) 73 02,0742 90 13 bcc p_0c 74 02,0744 00 00 dta a(0) 75 02,0746 A9 00 ien0_s lda #0 76 02,0748 00 00 dta a(0) 77 02,074A B0 0B bcs p_0c 78 79 02,074C A9 00 ire0_m lda #0 80 02,074E 00 00 dta a(0) 81 02,0750 A9 00 ire0_s lda #0 82 02,0752 00 00 dta a(0) 83 02,0754 4C 60 07 jmp bank1 84 85 02,0757 AE FF FF p_0c ldx $ffff 86 02,075A BD 00 FF ivol10 lda $ff00,x 87 02,075D 8D 00 D6 ch0 sta $d600 88 89 02,0760 A9 00 bank1 lda #0 90 02,0762 8D 01 D3 sta $d301 91 92 02,0765 A9 00 ist_1 lda #0 93 02,0767 69 00 iad1_m adc #0 94 02,0769 00 00 dta a(0) 95 02,076B 00 00 dta a(0) 96 02,076D 69 00 iad1_s adc #0 97 02,076F 00 00 dta a(0) 98 02,0771 90 13 bcc p_1c 99 02,0773 00 00 dta a(0) 100 02,0775 A9 00 ien1_s lda #0 101 02,0777 00 00 dta a(0) 102 02,0779 B0 0B bcs p_1c 103 104 02,077B A9 00 ire1_m lda #0 105 02,077D 00 00 dta a(0) 106 02,077F A9 00 ire1_s lda #0 107 02,0781 00 00 dta a(0) 108 02,0783 4C 8F 07 jmp bank2 109 110 02,0786 AE FF FF p_1c ldx $ffff 111 02,0789 BD 00 FF ivol11 lda $ff00,x 112 02,078C 8D 01 D6 ch1 sta $d601 113 114 02,078F A9 00 bank2 lda #0 115 02,0791 8D 01 D3 sta $d301 116 117 02,0794 A9 00 ist_2 lda #0 118 02,0796 69 00 iad2_m adc #0 119 02,0798 00 00 dta a(0) 120 02,079A 00 00 dta a(0) 121 02,079C 69 00 iad2_s adc #0 122 02,079E 00 00 dta a(0) 123 02,07A0 90 13 bcc p_2c 124 02,07A2 00 00 dta a(0) 125 02,07A4 A9 00 ien2_s lda #0 126 02,07A6 00 00 dta a(0) 127 02,07A8 B0 0B bcs p_2c 128 129 02,07AA A9 00 ire2_m lda #0 130 02,07AC 00 00 dta a(0) 131 02,07AE A9 00 ire2_s lda #0 132 02,07B0 00 00 dta a(0) 133 02,07B2 4C BE 07 jmp bank3 134 135 02,07B5 AE FF FF p_2c ldx $ffff 136 02,07B8 BD 00 FF ivol12 lda $ff00,x 137 02,07BB 8D 02 D6 ch2 sta $d602 138 139 02,07BE A9 00 bank3 lda #0 140 02,07C0 8D 01 D3 sta $d301 141 142 02,07C3 A9 00 ist_3 lda #0 143 02,07C5 69 00 iad3_m adc #0 144 02,07C7 00 00 dta a(0) 145 02,07C9 00 00 dta a(0) 146 02,07CB 69 00 iad3_s adc #0 147 02,07CD 00 00 dta a(0) 148 02,07CF 90 13 bcc p_3c 149 02,07D1 00 00 dta a(0) 150 02,07D3 A9 00 ien3_s lda #0 151 02,07D5 00 00 dta a(0) 152 02,07D7 B0 0B bcs p_3c 153 154 02,07D9 A9 00 ire3_m lda #0 155 02,07DB 00 00 dta a(0) 156 02,07DD A9 00 ire3_s lda #0 157 02,07DF 00 00 dta a(0) 158 02,07E1 4C ED 07 jmp p_e 159 160 02,07E4 AE FF FF p_3c ldx $ffff 161 02,07E7 BD 00 FF ivol13 lda $ff00,x 162 02,07EA 8D 03 D6 ch3 sta $d603 163 164 02,07ED 88 p_e dey 165 02,07EE F0 03 beq pat 166 02,07F0 4C 31 07 jmp pmain 167 168 *----------------- 169 *requests 170 171 02,07F3 A0 00 pat ldy #0 172 173 02,07F5 00 00 dta a(0) 174 02,07F7 F0 03 beq pre 175 02,07F9 4C 31 07 jmp pmain 176 177 02,07FC A9 00 pre lda #0 178 02,07FE A9 FE lda #$fe 179 02,0800 8D 01 D3 sta $d301 180 181 *-- 182 02,0803 00 00 00 00 00 + dta d' ' 183 02,0821 00 00 00 00 00 + dta d' ' 184 02,083F 00 00 00 00 00 + dta d' ' 185 02,085D 00 00 00 00 00 + dta d' ' 186 02,087B 00 00 00 00 00 + dta d' ' 187 02,0899 00 00 00 00 00 + dta d' ' 188 02,08B7 00 00 00 00 00 + dta d' ' 189 02,08D5 00 00 00 00 00 + dta d' ' 190 02,08F3 00 00 00 00 00 + dta d' ' 191 02,0911 00 00 00 00 00 + dta d' ' 192 02,092F 00 00 00 00 00 + dta d' ' 193 02,094D 00 00 00 00 00 + dta d' ' 194 02,096B 00 00 00 00 00 + dta d' ' 195 02,0989 00 00 00 00 00 + dta d' ' 196 197 02,09A6 00 patmax brk 198 199 02,09A7 00 00 00 00 00 + dta d' ' 200 02,09C5 00 00 00 00 00 + dta d' ' 201 202 02,09D1 5C 5D 0D 6D 6F + inf2 dta d'-move cursor RETURN-loaä' 203 02,09EC 33 30 21 23 25 + inf1 dta d'SPACE-directorů' 204 02,09FB 25 72 72 6F F2 erro dta d'Erroň' 205 206 02,0A00 8D 39 0A mov sta cg+1 207 02,0A03 A9 07 lda >pmain 208 02,0A05 8D 17 0A sta s3+2 209 02,0A08 8D 20 0A sta s4+2 210 02,0A0B A0 00 ldy #0 211 02,0A0D 8C 1D 0A sty d3+2 212 02,0A10 8C 25 0A sty d4+2 213 02,0A13 A2 03 ldx #3 214 02,0A15 B9 00 FF s3 lda $ff00,y ;$2400 215 02,0A18 8D 22 0A sta m2+1 216 02,0A1B B9 00 FF d3 lda $ff00,y ;$0000 217 02,0A1E 99 00 FF s4 sta $ff00,y ;$2400 218 02,0A21 A9 00 m2 lda #0 219 02,0A23 99 00 FF d4 sta $ff00,y ;$0000 220 02,0A26 88 dey 221 02,0A27 D0 EC bne s3 222 02,0A29 EE 17 0A inc s3+2 223 02,0A2C EE 20 0A inc s4+2 224 02,0A2F EE 1D 0A inc d3+2 225 02,0A32 EE 25 0A inc d4+2 226 02,0A35 CA dex 227 02,0A36 D0 DD bne s3 228 02,0A38 A9 00 cg lda #0 229 02,0A3A F0 03 beq r_quit 230 02,0A3C 4C 5C 0A jmp pl 231 232 02,0A3F 20 8D 0E r_quit jsr of 233 02,0A42 20 D1 0E jsr zkey 234 235 02,0A45 AD FC 02 r_qt lda 764 236 02,0A48 C9 21 cmp #33 237 02,0A4A F0 0A beq _pl 238 02,0A4C C9 1C cmp #28 239 02,0A4E F0 03 beq _qui 240 02,0A50 4C 45 0A jmp r_qt 241 02,0A53 4C 82 0A _qui jmp quit 242 243 02,0A56 20 79 0E _pl jsr on 244 245 02,0A59 4C 00 0A jmp mov 246 247 02,0A5C A9 D8 pl lda #vl ;graj cisze 248 02,0A5E 85 5C sta ivol10+2-strt 249 02,0A60 85 8B sta ivol11+2-strt 250 02,0A62 85 BA sta ivol12+2-strt 251 02,0A64 85 E9 sta ivol13+2-strt 252 253 02,0A66 A9 00 lda #0 254 02,0A68 8D 00 D4 sta $d400 255 02,0A6B 85 00 sta patno 256 02,0A6D 85 03 sta patadr 257 258 02,0A6F A9 06 lda #6 259 02,0A71 85 06 sta pause 260 02,0A73 85 05 sta cnts 261 262 02,0A75 AD 00 04 lda sng 263 02,0A78 85 04 sta patadr+1 264 02,0A7A 18 clc 265 02,0A7B 69 03 adc #3 266 02,0A7D 85 02 sta pataed 267 02,0A7F 4C FC 00 jmp pre-strt 268 269 02,0A82 20 8D 0E quit jsr of 270 271 02,0A85 20 D1 0E w_it jsr zkey 272 02,0A88 20 AF 0A jsr cle 273 02,0A8B A9 00 lda #0 274 02,0A8D A2 13 ldx #19 275 02,0A8F 9D A2 13 pus sta nam+7,x 276 02,0A92 CA dex 277 02,0A93 10 FA bpl pus 278 02,0A95 A2 EC ldx inf1 280 02,0A99 20 A6 0E jsr p_inf 281 02,0A9C 20 CA 0E jsr wait_k 282 283 02,0A9F 20 45 10 jsr kat 284 02,0AA2 4C D5 0A jmp _mod 285 286 02,0AA5 A2 0B _cn ldx inf3 288 02,0AA9 20 A6 0E jsr p_inf 289 02,0AAC 4C 3F 0A jmp r_quit 290 291 02,0AAF A2 00 cle ldx #0 292 02,0AB1 A9 07 lda #7 293 02,0AB3 85 8F sta pse 294 02,0AB5 A0 00 cls_ ldy #0 295 02,0AB7 B9 7B 13 cls lda nam-32,y 296 02,0ABA 9D BB 12 sta ekran,x 297 02,0ABD E8 inx 298 02,0ABE C8 iny 299 02,0ABF C0 20 cpy #32 300 02,0AC1 D0 F4 bne cls 301 02,0AC3 C6 8F dec pse 302 02,0AC5 D0 EE bne cls_ 303 02,0AC7 60 rts 304 305 * wczytanie MOD'a 306 *---------------- 307 02,0AC8 A2 25 _e ldx vali 309 02,0ACC 20 A6 0E jsr p_inf 310 02,0ACF 20 CA 0E jsr wait_k 311 02,0AD2 4C 82 0A jmp quit 312 313 02,0AD5 A2 FC _mod ldx inf4 315 02,0AD9 20 A6 0E jsr p_inf 316 02,0ADC A0 7F ldy #127 317 02,0ADE A9 D8 lda #vl 318 02,0AE0 99 80 04 now sta tivol,y 319 02,0AE3 88 dey 320 02,0AE4 10 FA bpl now 321 322 02,0AE6 A0 5F ldy #$5f 323 02,0AE8 A9 00 no_ lda #0 324 02,0AEA 99 A0 04 sta tstrl,y 325 02,0AED A9 D8 lda #vl 326 02,0AEF 99 00 05 sta tstrh,y 327 02,0AF2 88 dey 328 02,0AF3 10 F3 bpl no_ 329 330 02,0AF5 A0 1F ldy #$1f 331 02,0AF7 A9 FE lda #$fe 332 02,0AF9 99 80 05 _no sta tab_3,y 333 02,0AFC 88 dey 334 02,0AFD 10 FA bpl _no 335 336 02,0AFF A2 3C ldx <1084 337 02,0B01 A0 04 ldy >1084 338 02,0B03 20 D2 0F jsr len 339 02,0B06 20 A1 0E jsr _ad 340 02,0B09 20 D9 0F jsr adr 341 02,0B0C 20 6C 0F jsr rea 342 343 02,0B0F A0 03 ldy #3 344 02,0B11 B9 35 12 chk lda title,y ;title=M.K. 345 02,0B14 D9 33 18 cmp _bf+1080,y 346 02,0B17 D0 AF bne _e 347 02,0B19 88 dey 348 02,0B1A 10 F5 bpl chk 349 350 02,0B1C A2 13 name ldx #19 351 02,0B1E BD FB 13 _nam lda _bf,x 352 02,0B21 F0 03 beq _z 353 02,0B23 20 4D 0F jsr int 354 02,0B26 9D A2 13 _z sta nam+7,x 355 02,0B29 CA dex 356 02,0B2A 10 F2 bpl _nam 357 358 02,0B2C 20 A1 0E jsr _ad 359 02,0B2F 86 8F stx pse 360 02,0B31 84 90 sty pse+1 361 02,0B33 A9 00 lda #0 362 02,0B35 8D 39 0B sta _co+1 363 02,0B38 A2 00 _co ldx #0 364 02,0B3A A0 2A _1 ldy #42 ;rozmiar sampla 365 02,0B3C B1 8F lda (pse),y 366 02,0B3E AA tax 367 02,0B3F C8 iny 368 02,0B40 B1 8F lda (pse),y 369 02,0B42 20 99 0E jsr _mot 370 02,0B45 AE 39 0B ldx _co+1 371 02,0B48 9D E0 04 sta tendl,x 372 02,0B4B 98 tya 373 02,0B4C 9D 40 05 sta tendh,x 374 02,0B4F A0 2D ldy #45 ;glosnosc sampla 375 02,0B51 B1 8F lda (pse),y 376 * cmp #65 377 * bcc _vk 378 * lda #0 379 02,0B53 4A _vk lsr @ 380 02,0B54 18 clc 381 02,0B55 69 D8 adc #vl 382 02,0B57 9D 80 04 sta tivol,x 383 02,0B5A C8 iny ;y=46 384 02,0B5B B1 8F lda (pse),y ;petla sampla 385 02,0B5D AA tax 386 02,0B5E C8 iny 387 02,0B5F B1 8F lda (pse),y 388 02,0B61 20 99 0E jsr _mot 389 02,0B64 AE 39 0B ldx _co+1 390 02,0B67 9D C0 04 sta trepl,x 391 02,0B6A 98 tya 392 02,0B6B 9D 20 05 sta treph,x 393 02,0B6E A0 30 ldy #48 394 02,0B70 B1 8F lda (pse),y ;petla sampla 395 02,0B72 AA tax 396 02,0B73 C8 iny 397 02,0B74 B1 8F lda (pse),y 398 02,0B76 20 99 0E jsr _mot 399 02,0B79 AE 39 0B ldx _co+1 400 02,0B7C 9D 60 05 sta tlenl,x 401 02,0B7F 98 tya 402 02,0B80 1D 60 05 ora tlenl,x 403 02,0B83 9D 60 05 sta tlenl,x 404 405 02,0B86 A5 8F lda pse 406 02,0B88 18 clc 407 02,0B89 69 1E adc #30 408 02,0B8B 85 8F sta pse 409 02,0B8D 90 02 bcc *+4 410 02,0B8F E6 90 inc pse+1 411 412 02,0B91 EE 39 0B inc _co+1 413 02,0B94 AD 39 0B lda _co+1 414 02,0B97 C9 1F cmp #31 415 02,0B99 D0 9F bne _1 416 417 02,0B9B AD B1 17 lda _bf+950 ;dlugosc songu 418 02,0B9E 8D A7 09 sta patmax+1 419 420 02,0BA1 AD B3 17 lda _bf+952 ;szukanie najwiekszego 421 02,0BA4 8D B0 0B sta _mx+1 ;numeru paternu 422 02,0BA7 A0 00 ldy #0 423 02,0BA9 8C 4D 0C sty _mor+1 424 02,0BAC B9 B3 17 _se lda _bf+952,y 425 02,0BAF C9 00 _mx cmp #0 426 02,0BB1 90 03 bcc _sk 427 02,0BB3 8D B0 0B sta _mx+1 428 02,0BB6 C8 _sk iny 429 02,0BB7 C0 80 cpy #128 430 02,0BB9 D0 F1 bne _se 431 02,0BBB AC B0 0B ldy _mx+1 432 02,0BBE C8 iny 433 02,0BBF 84 80 sty tse ;ilosc paternow 434 435 02,0BC1 C0 30 cpy #48 436 02,0BC3 90 0D bcc cn 437 02,0BC5 A2 15 ldx much 439 02,0BC9 20 A6 0E jsr p_inf 440 02,0BCC 20 CA 0E jsr wait_k 441 02,0BCF 4C 82 0A jmp quit 442 443 02,0BD2 A0 0F cn ldy #15 ;incjowanie tablic 444 02,0BD4 A9 40 lda #$40 445 02,0BD6 99 D0 05 __o sta tadr,y ;adresu bufora 446 02,0BD9 99 C0 05 sta tlen,y ;dlugosci bufora 447 02,0BDC 99 E0 05 sta tbnk,y ;zajetosci bufora 448 02,0BDF 88 dey 449 02,0BE0 10 F4 bpl __o 450 451 02,0BE2 C8 iny 452 02,0BE3 84 81 sty tse+1 ;liczba sampli=0 453 02,0BE5 A0 1E ldy #30 ;Dlugosci sampli 454 02,0BE7 BE 40 05 __e ldx tendh,y ;w stronach pamieci+1 455 02,0BEA B9 E0 04 lda tendl,y 456 02,0BED F0 01 beq __k 457 02,0BEF E8 inx 458 02,0BF0 8A __k txa 459 02,0BF1 F0 01 beq __p 460 02,0BF3 E8 inx 461 02,0BF4 8A __p txa 462 02,0BF5 99 A0 05 sta tlng,y 463 02,0BF8 F0 02 beq _ze 464 02,0BFA E6 81 inc tse+1 465 02,0BFC 88 _ze dey 466 02,0BFD 10 E8 bpl __e 467 02,0BFF 20 D7 0E jsr inf_m 468 469 02,0C02 20 79 0E jsr on 470 02,0C05 A4 80 ldy tse 471 02,0C07 88 dey 472 02,0C08 C0 18 cpy #24 473 02,0C0A B0 07 bcs j0 474 02,0C0C A2 14 ldx #$14 ;od $1400-$d000 475 02,0C0E A9 BC lda >$d000-$1400 476 02,0C10 4C 35 0C jmp bb 477 02,0C13 B9 60 FF j0 lda tapat,y 478 02,0C16 C9 3E cmp #$3e 479 02,0C18 D0 05 bne j1 480 02,0C1A A9 D0 lda #$d0 ;od $4000-$d000 481 02,0C1C 4C 30 0C jmp ba 482 02,0C1F B0 0F j1 bcs ba ;od $????-$d000 483 02,0C21 18 clc 484 02,0C22 69 03 adc #3 485 02,0C24 8D D0 05 sta tadr 486 02,0C27 A9 D0 lda #$d0 487 02,0C29 38 sec 488 02,0C2A ED D0 05 sbc tadr 489 02,0C2D 4C 38 0C jmp bc 490 491 02,0C30 A2 40 ba ldx #$40 492 02,0C32 38 sec 493 02,0C33 E9 40 sbc #$40 494 02,0C35 8E D0 05 bb stx tadr 495 02,0C38 8D C0 05 bc sta tlen 496 02,0C3B 8D E0 05 sta tbnk 497 498 02,0C3E A0 7F ldy #127 ;numery kolejnych 499 02,0C40 BE B3 17 _pz ldx _bf+952,y ;patternow w songu 500 02,0C43 BD 60 FF lda tapat,x 501 02,0C46 99 00 04 sta sng,y 502 02,0C49 88 dey 503 02,0C4A 10 F4 bpl _pz 504 505 02,0C4C A0 00 _mor ldy #0 ;adres paternu w pamieci 506 02,0C4E 20 79 0E jsr on 507 02,0C51 B9 60 FF lda tapat,y 508 02,0C54 85 83 sta hlp+1 509 02,0C56 20 8D 0E jsr of 510 02,0C59 A9 00 lda #0 511 02,0C5B 85 82 sta hlp 512 02,0C5D 85 81 sta tse+1 513 02,0C5F A2 04 _thi ldx <4 ;konwersja patternow 514 02,0C61 A0 00 ldy >4 515 02,0C63 20 D2 0F jsr len ;x,y -> ile wczytac 516 02,0C66 A2 86 ldx tmp 518 02,0C6A 20 D9 0F jsr adr 519 02,0C6D 20 6C 0F jsr rea 520 521 02,0C70 20 79 0E jsr on 522 02,0C73 20 DE 0D jsr cnv 523 02,0C76 20 8D 0E jsr of 524 525 02,0C79 A5 82 lda hlp ;hlp=hlp+3 526 02,0C7B 18 clc 527 02,0C7C 69 03 adc #3 528 02,0C7E 85 82 sta hlp 529 02,0C80 90 02 bcc *+4 530 02,0C82 E6 83 inc hlp+1 531 532 02,0C84 C6 81 dec tse+1 533 02,0C86 D0 D7 bne _thi 534 02,0C88 EE 4D 0C inc _mor+1 535 02,0C8B A6 80 ldx tse 536 02,0C8D CA dex 537 02,0C8E 20 1F 0F jsr bcd 538 02,0C91 8E D8 12 stx ekran+29 539 02,0C94 8C D9 12 sty ekran+30 540 02,0C97 C6 80 dec tse 541 02,0C99 D0 B1 bne _mor 542 543 02,0C9B A2 00 ldx #0 544 02,0C9D A0 00 bmax ldy #0 545 02,0C9F BD A0 05 lda tlng,x 546 02,0CA2 F0 18 beq __s 547 02,0CA4 B9 E0 05 l_p lda tbnk,y 548 02,0CA7 DD A0 05 cmp tlng,x 549 02,0CAA B0 27 bcs in 550 02,0CAC 88 dey 551 02,0CAD 10 F5 bpl l_p 552 553 02,0CAF A2 28 ldx memo 555 02,0CB3 20 A6 0E jsr p_inf 556 02,0CB6 20 CA 0E jsr wait_k 557 02,0CB9 4C D0 0D jmp n_x22 558 559 02,0CBC 8A __s txa 560 02,0CBD 48 pha 561 02,0CBE A2 00 smp ldx #0 562 02,0CC0 20 1F 0F jsr bcd 563 02,0CC3 8E F8 12 stx ekran+61 564 02,0CC6 8C F9 12 sty ekran+62 565 02,0CC9 68 pla 566 02,0CCA AA tax 567 02,0CCB E8 inx 568 02,0CCC E0 1F cpx #31 569 02,0CCE D0 CD bne bmax 570 02,0CD0 4C D0 0D jmp n_x22 571 572 02,0CD3 CE BF 0C in dec smp+1 573 02,0CD6 86 8A stx nr_ins 574 02,0CD8 84 8B sty nr_bnk 575 02,0CDA B9 C0 05 lda tlen,y 576 02,0CDD 38 sec 577 02,0CDE F9 E0 05 sbc tbnk,y 578 02,0CE1 18 clc 579 02,0CE2 79 D0 05 adc tadr,y 580 02,0CE5 9D 00 05 sta tstrh,x 581 02,0CE8 8D 2F 0D sta ___b+1 582 02,0CEB A9 00 lda #0 583 02,0CED 38 sec 584 02,0CEE FD E0 04 sbc tendl,x 585 02,0CF1 9D A0 04 sta tstrl,x 586 02,0CF4 8D 2D 0D sta ___a+1 587 588 02,0CF7 20 79 0E jsr on 589 02,0CFA B9 F0 FF lda tab_1,y 590 02,0CFD 29 FE and #$fe 591 02,0CFF 8D 01 D3 sta $d301 592 02,0D02 9D 80 05 sta tab_3,x 593 594 02,0D05 BC A0 05 ldy tlng,x 595 02,0D08 AD 2F 0D lda ___b+1 596 02,0D0B 8D 13 0D sta cis+2 597 02,0D0E A2 00 ldx #0 598 02,0D10 8A txa 599 02,0D11 9D 00 FF cis sta $ff00,x 600 02,0D14 CA dex 601 02,0D15 D0 FA bne cis 602 02,0D17 EE 13 0D inc cis+2 603 02,0D1A 88 dey 604 02,0D1B D0 F4 bne cis 605 606 02,0D1D 20 85 0E jsr ofs 607 02,0D20 A6 8A ldx nr_ins 608 02,0D22 BC 40 05 ldy tendh,x 609 02,0D25 BD E0 04 lda tendl,x ;load sampl 610 02,0D28 AA tax 611 02,0D29 20 D2 0F jsr len 612 02,0D2C A2 00 ___a ldx #0 613 02,0D2E A0 00 ___b ldy #0 614 02,0D30 86 82 stx hlp 615 02,0D32 84 83 sty hlp+1 616 02,0D34 20 D9 0F jsr adr 617 02,0D37 20 6C 0F jsr rea 618 619 02,0D3A 20 6B 0E jsr ons 620 02,0D3D A6 8A ldx nr_ins 621 02,0D3F A0 00 ldy #0 622 02,0D41 84 8F sty pse 623 02,0D43 84 90 sty pse+1 624 02,0D45 B1 82 clr lda (hlp),y 625 02,0D47 18 clc 626 02,0D48 69 80 adc #$80 627 02,0D4A 91 82 sta (hlp),y 628 02,0D4C C8 iny 629 02,0D4D D0 02 bne __sk 630 02,0D4F E6 83 inc hlp+1 631 02,0D51 E6 8F __sk inc pse 632 02,0D53 D0 02 bne __sp 633 02,0D55 E6 90 inc pse+1 634 02,0D57 A5 8F __sp lda pse 635 02,0D59 DD E0 04 cmp tendl,x 636 02,0D5C A5 90 lda pse+1 637 02,0D5E FD 40 05 sbc tendh,x 638 02,0D61 90 E2 bcc clr 639 640 02,0D63 A4 8B ldy nr_bnk 641 02,0D65 B9 E0 05 lda tbnk,y 642 02,0D68 38 sec 643 02,0D69 FD A0 05 sbc tlng,x 644 02,0D6C 99 E0 05 sta tbnk,y 645 646 02,0D6F B9 C0 05 lda tlen,y 647 02,0D72 38 sec 648 02,0D73 F9 E0 05 sbc tbnk,y 649 02,0D76 18 clc 650 02,0D77 79 D0 05 adc tadr,y 651 02,0D7A 38 sec 652 02,0D7B E9 01 sbc #1 653 02,0D7D 9D 40 05 sta tendh,x 654 02,0D80 E9 01 sbc #1 655 02,0D82 85 90 sta pse+1 656 02,0D84 A8 tay 657 02,0D85 A9 00 lda #0 658 02,0D87 9D E0 04 sta tendl,x 659 02,0D8A 9D A0 05 sta tlng,x 660 661 02,0D8D C8 iny ;wypeln ostatnia 662 02,0D8E 84 83 sty hlp+1 ;wartoscia 663 02,0D90 A9 FF lda #$ff 664 02,0D92 85 8F sta pse 665 02,0D94 A0 00 ldy #0 666 02,0D96 84 82 sty hlp 667 02,0D98 B1 8F lda (pse),y 668 02,0D9A 91 82 wyp sta (hlp),y 669 02,0D9C 88 dey 670 02,0D9D D0 FB bne wyp 671 02,0D9F 20 85 0E jsr ofs 672 673 02,0DA2 A4 8B ldy nr_bnk 674 02,0DA4 BD 60 05 lda tlenl,x 675 02,0DA7 F0 1A beq no_lop 676 02,0DA9 C9 02 cmp #2 677 02,0DAB F0 16 beq no_lop 678 679 02,0DAD BD A0 04 lda tstrl,x 680 02,0DB0 18 clc 681 02,0DB1 7D C0 04 adc trepl,x 682 02,0DB4 9D C0 04 sta trepl,x 683 02,0DB7 BD 00 05 lda tstrh,x 684 02,0DBA 7D 20 05 adc treph,x 685 02,0DBD 9D 20 05 sta treph,x 686 02,0DC0 4C CD 0D jmp lp_ 687 688 02,0DC3 A9 00 no_lop lda #0 689 02,0DC5 9D C0 04 sta trepl,x 690 02,0DC8 A5 83 lda hlp+1 691 02,0DCA 9D 20 05 sta treph,x 692 02,0DCD 4C BC 0C lp_ jmp __s 693 694 02,0DD0 A9 00 n_x22 lda #0 695 02,0DD2 85 81 sta tse+1 696 02,0DD4 A9 00 ptt lda #0 697 02,0DD6 85 80 sta tse 698 02,0DD8 20 D7 0E jsr inf_m 699 02,0DDB 4C A5 0A jmp _cn 700 701 02,0DDE A5 86 cnv lda tmp 702 02,0DE0 29 0F and #$f 703 02,0DE2 05 87 ora tmp+1 704 02,0DE4 F0 47 beq _sil 705 706 02,0DE6 A0 00 ldy #0 707 02,0DE8 B9 90 FF _tst lda kod,y 708 02,0DEB C5 87 cmp tmp+1 709 02,0DED D0 72 bne pls 710 02,0DEF A5 86 lda tmp ;kod dzwieku 711 02,0DF1 29 0F and #$f 712 02,0DF3 D9 91 FF cmp kod+1,y 713 02,0DF6 D0 69 bne pls 714 02,0DF8 C8 iny 715 02,0DF9 C8 iny 716 02,0DFA 98 tya 717 02,0DFB 4A lsr @ 718 02,0DFC A0 00 ldy #0 719 02,0DFE 91 82 sta (hlp),y ;czestotliwosc 720 721 02,0E00 A5 88 lda tmp+2 ;oblicz nr instr 722 02,0E02 4A lsr @ 723 02,0E03 4A lsr @ 724 02,0E04 4A lsr @ 725 02,0E05 4A lsr @ 726 02,0E06 8D 0E 0E sta or_+1 727 02,0E09 A5 86 lda tmp 728 02,0E0B 29 F0 and #$f0 729 02,0E0D 09 00 or_ ora #0 730 02,0E0F 29 1F and #$1f 731 02,0E11 A0 01 ldy #1 732 02,0E13 91 82 _con sta (hlp),y ;numer instrumentu 733 734 02,0E15 A0 02 ldy #2 735 02,0E17 A9 00 lda #0 736 02,0E19 91 82 sta (hlp),y 737 02,0E1B 88 dey ;A=1 738 02,0E1C A5 88 lda tmp+2 739 02,0E1E 29 0F and #$f 740 02,0E20 C9 0C cmp #$c 741 02,0E22 F0 17 beq _vol ;nowa glosnosc 742 02,0E24 C9 0F cmp #$f 743 02,0E26 F0 24 beq _tmp ;nowe tempo 744 02,0E28 C9 0D cmp #$d 745 02,0E2A F0 08 beq _break 746 02,0E2C 60 rts 747 748 02,0E2D A8 _sil tay 749 02,0E2E 91 82 sta (hlp),y 750 02,0E30 C8 iny 751 02,0E31 4C 13 0E jmp _con 752 753 02,0E34 A9 80 _break lda #$80 754 02,0E36 11 82 ora (hlp),y 755 02,0E38 91 82 sta (hlp),y 756 02,0E3A 60 rts 757 758 02,0E3B A9 40 _vol lda #$40 759 02,0E3D 11 82 ora (hlp),y 760 02,0E3F 91 82 sta (hlp),y 761 02,0E41 A0 02 ldy #2 762 02,0E43 A5 89 lda tmp+3 ;parametr komendy 763 * cmp #65 764 * bcc _vo 765 * lda #0 766 02,0E45 4A _vo lsr @ 767 02,0E46 18 clc 768 02,0E47 69 D8 adc #vl 769 02,0E49 91 82 sta (hlp),y 770 02,0E4B 60 rts 771 772 02,0E4C A5 89 _tmp lda tmp+3 773 02,0E4E C9 20 cmp #$20 774 02,0E50 B0 0E bcs _tq 775 02,0E52 A9 C0 lda #$c0 776 02,0E54 11 82 ora (hlp),y 777 02,0E56 91 82 sta (hlp),y 778 02,0E58 A0 02 ldy #2 779 02,0E5A A5 89 lda tmp+3 ;parametr komendy 780 02,0E5C 29 1F and #$1f 781 02,0E5E 91 82 sta (hlp),y 782 02,0E60 60 _tq rts 783 784 02,0E61 C8 pls iny 785 02,0E62 C8 iny 786 02,0E63 C0 60 cpy #96 787 02,0E65 D0 01 bne j_tst 788 02,0E67 60 rts 789 790 02,0E68 4C E8 0D j_tst jmp _tst 791 792 02,0E6B 78 ons sei 793 02,0E6C A9 00 lda #0 794 02,0E6E 8D 0E D4 sta $d40e 795 02,0E71 AD 01 D3 lda $d301 796 02,0E74 29 FE and #$fe 797 02,0E76 4C 81 0E jmp jon 798 799 02,0E79 78 on sei 800 02,0E7A A9 00 lda #0 801 02,0E7C 8D 0E D4 sta $d40e 802 02,0E7F A9 FE lda #$fe 803 02,0E81 8D 01 D3 jon sta $d301 804 02,0E84 60 rts 805 806 02,0E85 AD 01 D3 ofs lda $d301 807 02,0E88 09 01 ora #1 808 02,0E8A 4C 8F 0E jmp jof 809 810 02,0E8D A9 FF of lda #$ff 811 02,0E8F 8D 01 D3 jof sta $d301 812 02,0E92 A9 40 lda #$40 813 02,0E94 8D 0E D4 sta $d40e 814 02,0E97 58 cli 815 02,0E98 60 rts 816 817 02,0E99 86 82 _mot stx hlp 818 02,0E9B 0A asl @ 819 02,0E9C 26 82 rol hlp 820 02,0E9E A4 82 ldy hlp 821 02,0EA0 60 rts 822 823 02,0EA1 A2 FB _ad ldx <_bf 824 02,0EA3 A0 13 ldy >_bf 825 02,0EA5 60 rts 826 827 02,0EA6 8E B9 0E p_inf stx pf_+1 828 02,0EA9 8C BA 0E sty pf_+2 829 02,0EAC A0 1F ldy #31 830 02,0EAE B9 7B 13 sc lda nam-32,y 831 02,0EB1 99 DB 13 sta info,y 832 02,0EB4 88 dey 833 02,0EB5 10 F7 bpl sc 834 02,0EB7 C8 iny 835 02,0EB8 B9 FF FF pf_ lda $ffff,y 836 02,0EBB 30 07 bmi p_q 837 02,0EBD 99 DC 13 sta info+1,y 838 02,0EC0 C8 iny 839 02,0EC1 4C B8 0E jmp pf_ 840 02,0EC4 29 7F p_q and #$7f 841 02,0EC6 99 DC 13 sta info+1,y 842 02,0EC9 60 rts 843 844 02,0ECA AD FC 02 wait_k lda 764 845 02,0ECD C9 21 cmp #33 846 02,0ECF D0 F9 bne wait_k 847 02,0ED1 A9 FF zkey lda #$ff 848 02,0ED3 8D FC 02 sta 764 849 02,0ED6 60 rts 850 851 02,0ED7 20 AF 0A inf_m jsr cle 852 02,0EDA A2 00 ldx #0 853 02,0EDC BD 03 12 in_5 lda patt,x 854 02,0EDF 9D CF 12 sta ekran+20,x 855 02,0EE2 BD 1F 07 lda s_pl,x 856 02,0EE5 9D EF 12 sta ekran+52,x 857 02,0EE8 BD 0C 12 lda trck,x 858 02,0EEB 9D 0F 13 sta ekran+84,x 859 02,0EEE E8 inx 860 02,0EEF E0 09 cpx #9 861 02,0EF1 D0 E9 bne in_5 862 863 02,0EF3 A6 80 ldx tse ;patterny 864 02,0EF5 8E D5 0D stx ptt+1 865 02,0EF8 20 1F 0F jsr bcd 866 02,0EFB 8E D8 12 stx ekran+29 867 02,0EFE 8C D9 12 sty ekran+30 868 869 02,0F01 A6 81 ldx tse+1 ;sample 870 02,0F03 8E BF 0C stx smp+1 871 02,0F06 8E D1 0D stx n_x22+1 872 02,0F09 20 1F 0F jsr bcd 873 02,0F0C 8E F8 12 stx ekran+61 874 02,0F0F 8C F9 12 sty ekran+62 875 876 02,0F12 AE A7 09 ldx patmax+1 ;dlugosc sng 877 02,0F15 20 1F 0F jsr bcd 878 02,0F18 8E 18 13 stx ekran+93 879 02,0F1B 8C 19 13 sty ekran+94 880 02,0F1E 60 rts 881 882 02,0F1F 86 91 bcd stx _by 883 02,0F21 A9 00 lda #0 884 02,0F23 85 93 sta _wo 885 02,0F25 85 94 sta _wo+1 886 02,0F27 A2 08 ldx #8 887 02,0F29 F8 sed 888 02,0F2A 06 91 _c1 asl _by 889 02,0F2C A5 93 lda _wo 890 02,0F2E 65 93 adc _wo 891 02,0F30 85 93 sta _wo 892 02,0F32 26 94 rol _wo+1 893 02,0F34 CA dex 894 02,0F35 D0 F3 bne _c1 895 02,0F37 D8 cld 896 02,0F38 48 pha 897 02,0F39 4A lsr @ 898 02,0F3A 4A lsr @ 899 02,0F3B 4A lsr @ 900 02,0F3C 4A lsr @ 901 02,0F3D 09 10 ora #$10 902 02,0F3F AA tax 903 02,0F40 68 pla 904 02,0F41 29 0F and #$f 905 02,0F43 09 10 ora #$10 906 02,0F45 A8 tay 907 02,0F46 A5 94 lda _wo+1 908 02,0F48 29 0F and #$f 909 02,0F4A 09 10 ora #$10 910 02,0F4C 60 rts 911 912 02,0F4D C9 60 int cmp #96 913 02,0F4F 90 04 bcc *+6 914 02,0F51 C9 80 cmp #128 915 02,0F53 90 13 bcc *+21 916 917 02,0F55 C9 E0 cmp #224 918 02,0F57 B0 0F bcs *+17 919 920 02,0F59 C9 20 cmp #32 921 02,0F5B 90 0C bcc *+14 922 923 02,0F5D C9 80 cmp #128 924 02,0F5F 90 04 bcc *+6 925 02,0F61 C9 A0 cmp #160 926 02,0F63 90 04 bcc *+6 927 928 02,0F65 38 sec 929 02,0F66 E9 20 sbc #32 930 02,0F68 60 rts 931 932 02,0F69 69 40 adc #64 933 02,0F6B 60 ovr rts ;wyjscie 934 935 02,0F6C A9 00 rea lda #0 936 02,0F6E 8D 75 0F sta k+1 937 02,0F71 8D 79 0F sta k_+1 938 939 = 02,0F74 s1 equ * 940 02,0F74 A9 00 k lda #0 941 02,0F76 C9 00 d cmp #0 942 02,0F78 A9 00 k_ lda #0 943 02,0F7A E9 00 d_ sbc #0 944 02,0F7C B0 ED bcs ovr 945 946 02,0F7E 20 6B 0E jsr ons 947 02,0F81 AC A1 0F ldy i+1 948 02,0F84 B9 00 06 lda mem,y 949 02,0F87 8D FF FF m sta $ffff 950 02,0F8A 20 85 0E jsr ofs 951 952 02,0F8D EE 88 0F inc m+1 ;m=m+1 953 02,0F90 D0 03 bne *+5 954 02,0F92 EE 89 0F inc m+2 955 956 02,0F95 EE 75 0F inc k+1 ;k=k+1 957 02,0F98 D0 03 bne *+5 958 02,0F9A EE 79 0F inc k_+1 959 960 02,0F9D EE A1 0F inc i+1 ;i=i+1 961 962 02,0FA0 A9 00 i lda #0 963 02,0FA2 CD B9 0F cmp rx+1 964 02,0FA5 D0 CD bne s1 965 966 02,0FA7 A5 8D r_sec lda link ;czytanie sektora 967 02,0FA9 8D 0A 03 sta $30a ;< nr sektora 968 02,0FAC A5 8E lda link+1 969 02,0FAE 8D 0B 03 sta $30b ;> nr sektora 970 02,0FB1 A2 00 ldx mem 972 02,0FB5 20 EA 0F jsr sio ;wczytaj 973 02,0FB8 A2 00 rx ldx #0 974 02,0FBA BD 00 06 lda mem,x 975 02,0FBD 29 03 and #%00000011 976 02,0FBF 85 8E sta link+1 ;link nastepny sektor 977 02,0FC1 BD 01 06 lda mem+1,x 978 02,0FC4 85 8D sta link 979 980 02,0FC6 A9 00 lda #0 981 02,0FC8 8D A1 0F sta i+1 982 02,0FCB 4C 74 0F rt jmp s1 983 984 02,0FCE 9D FF FF bf sta $ffff,x 985 02,0FD1 60 rts 986 987 02,0FD2 8E 77 0F len stx d+1 988 02,0FD5 8C 7B 0F sty d_+1 989 02,0FD8 60 rts 990 991 02,0FD9 8E 88 0F adr stx m+1 992 02,0FDC 8C 89 0F sty m+2 993 02,0FDF 60 rts 994 995 02,0FE0 8D F1 0F set sta cod+1 ;kod operacji 996 02,0FE3 8E FB 0F stx lng+1 ;< dlugosc sektora 997 02,0FE6 8C 00 10 sty lng+6 ;> dlugosc sektora 998 02,0FE9 60 rts 999 1000 02,0FEA 8E 04 03 sio stx $304 ;< adres bufora 1001 02,0FED 8C 05 03 sty $305 ;> adres bufora 1002 02,0FF0 A9 4E cod lda #$4e ;$4e konifguracja 1003 02,0FF2 8D 02 03 sta $302 1004 02,0FF5 A9 40 lda #$40 ;$40 odczyt 1005 02,0FF7 8D 03 03 sta $303 1006 02,0FFA A9 00 lng lda #0 ;< dlugosc bufora 1007 02,0FFC 8D 08 03 sta $308 1008 02,0FFF A9 00 lda #0 ;> dlugosc bufora 1009 02,1001 8D 09 03 sta $309 1010 02,1004 20 59 E4 jsr $e459 ;wywolanie procedury 1011 02,1007 30 01 bmi err 1012 02,1009 60 rts 1013 1014 02,100A 68 err pla 1015 02,100B 68 pla 1016 02,100C 68 pla 1017 02,100D 68 pla 1018 02,100E 20 AF 0A jsr cle 1019 02,1011 A2 FB ldx erro 1021 02,1015 20 A6 0E jsr p_inf 1022 02,1018 AE 03 03 ldx $303 1023 02,101B 20 1F 0F jsr bcd 1024 02,101E 8D E2 13 sta info+7 1025 02,1021 8E E3 13 stx info+8 1026 02,1024 8C E4 13 sty info+9 1027 02,1027 20 CA 0E jsr wait_k 1028 02,102A 4C 85 0A jmp w_it 1029 1030 02,102D AD A9 11 neg lda up+1 1031 02,1030 0A asl @ 1032 02,1031 0A asl @ 1033 02,1032 0A asl @ 1034 02,1033 0A asl @ 1035 02,1034 0A asl @ 1036 02,1035 A8 tay 1037 02,1036 A2 0C dlg ldx #12 1038 02,1038 B9 BC 12 ng lda ekran+1,y 1039 02,103B 49 80 eor #$80 1040 02,103D 99 BC 12 sta ekran+1,y 1041 02,1040 C8 iny 1042 02,1041 CA dex 1043 02,1042 10 F4 bpl ng 1044 02,1044 60 rts 1045 1046 02,1045 20 AF 0A kat jsr cle 1047 02,1048 A9 31 lda #$31 ;nr stacji+$30 1048 02,104A 8D 00 03 sta $300 1049 02,104D 20 A1 0E jsr _ad 1050 02,1050 8E CF 0F stx bf+1 1051 02,1053 8C D0 0F sty bf+2 1052 02,1056 A2 01 ldx #1 ;nr stacji 1053 02,1058 8E 01 03 stx $301 1054 02,105B CA dex 1055 02,105C 8E AB 11 stx file+1 ;liczba plikow=0 1056 02,105F 8E A9 11 stx up+1 ;wskaznik pliku=0 1057 02,1062 A9 20 lda #32 ;wyczysc 1058 02,1064 20 CE 0F cl jsr bf 1059 02,1067 CA dex 1060 02,1068 D0 FA bne cl 1061 1062 02,106A A9 07 lda #7 1063 02,106C 8D 06 03 sta $306 ;timeout 1064 1065 * Density 1066 02,106F A9 53 lda #$53 ;odczyt statusu stacji 1067 02,1071 8D 02 03 sta $302 1068 02,1074 20 53 E4 jsr $e453 1069 02,1077 A2 00 ldx <256 ;256 bajtow 1070 02,1079 A0 01 ldy >256 ;w sektorze 1071 02,107B AD EA 02 lda $2ea 1072 02,107E 29 20 and #%00100000 1073 02,1080 D0 04 bne rd 1074 02,1082 A2 80 ldx <128 ;128 bajtow 1075 02,1084 A0 00 ldy >128 ;w sektorze 1076 1077 * Directory 1078 02,1086 A9 52 rd lda #$52 ;$52 odczyt sektora 1079 02,1088 20 E0 0F jsr set 1080 02,108B A2 69 ldx <$169 ;pierwszy nr sektora 1081 02,108D A0 01 ldy >$169 ;z katalogiem dysku 1082 02,108F 8E 0A 03 stx $30a 1083 02,1092 8C 0B 03 sty $30b 1084 02,1095 20 A1 0E jsr _ad 1085 02,1098 86 84 stx ad 1086 02,109A 84 85 sty ad+1 1087 02,109C 8E CF 0F stx bf+1 1088 02,109F 8C D0 0F sty bf+2 1089 02,10A2 A9 04 lda #4 1090 02,10A4 85 8C sta lic 1091 02,10A6 20 EA 0F l_ jsr sio 1092 02,10A9 AD 04 03 lda $304 1093 02,10AC 18 clc 1094 02,10AD 6D FB 0F adc lng+1 1095 02,10B0 8D 04 03 sta $304 1096 02,10B3 AA tax 1097 02,10B4 AD 05 03 lda $305 1098 02,10B7 6D 00 10 adc lng+6 1099 02,10BA 8D 05 03 sta $305 1100 02,10BD A8 tay 1101 02,10BE EE 0A 03 inc $30a 1102 02,10C1 C6 8C dec lic 1103 02,10C3 D0 E1 bne l_ 1104 1105 * Create directory 1106 02,10C5 A9 04 lda #4 1107 02,10C7 85 8C sta lic 1108 02,10C9 A0 00 a_ ldy #0 1109 02,10CB B1 84 b_ lda (ad),y 1110 02,10CD 10 08 bpl _a 1111 1112 02,10CF 98 da tya 1113 02,10D0 18 clc 1114 02,10D1 69 10 adc #16 1115 02,10D3 A8 tay 1116 02,10D4 4C 1E 11 jmp sk 1117 1118 02,10D7 A2 02 _a ldx #2 1119 02,10D9 98 tya 1120 02,10DA 48 pha 1121 02,10DB 18 clc 1122 02,10DC 65 84 adc ad 1123 02,10DE 8D EB 10 sta ts+1 1124 02,10E1 A5 85 lda ad+1 1125 02,10E3 69 00 adc #0 1126 02,10E5 8D EC 10 sta ts+2 1127 02,10E8 A0 0D ldy #13 1128 02,10EA B9 FF FF ts lda $ffff,y 1129 02,10ED DD 33 12 cmp tmod,x 1130 02,10F0 D0 09 bne fail 1131 02,10F2 C8 iny 1132 02,10F3 CA dex 1133 02,10F4 10 F4 bpl ts 1134 1135 02,10F6 68 pla 1136 02,10F7 A8 tay 1137 02,10F8 4C 00 11 jmp cc 1138 1139 02,10FB 68 fail pla 1140 02,10FC A8 tay 1141 02,10FD 4C CF 10 jmp da 1142 1143 02,1100 A2 00 cc ldx #0 1144 02,1102 B1 84 c_ lda (ad),y 1145 02,1104 20 CE 0F jsr bf 1146 02,1107 C8 iny 1147 02,1108 E8 inx 1148 02,1109 E0 10 cpx #16 1149 02,110B D0 F5 bne c_ 1150 1151 02,110D EE AB 11 inc file+1 1152 02,1110 AD CF 0F lda bf+1 1153 02,1113 18 clc 1154 02,1114 69 10 adc #16 1155 02,1116 8D CF 0F sta bf+1 1156 02,1119 90 03 bcc sk 1157 02,111B EE D0 0F inc bf+2 1158 02,111E C0 80 sk cpy #$80 1159 02,1120 D0 A9 bne b_ 1160 02,1122 A5 84 lda ad 1161 02,1124 18 clc 1162 02,1125 6D FB 0F adc lng+1 1163 02,1128 85 84 sta ad 1164 02,112A A5 85 lda ad+1 1165 02,112C 6D 00 10 adc lng+6 1166 02,112F 85 85 sta ad+1 1167 02,1131 C6 8C dec lic 1168 02,1133 D0 94 bne a_ 1169 1170 * Change file 1171 02,1135 20 A1 0E cre jsr _ad 1172 02,1138 8E 55 11 stx bu+1 1173 02,113B 8C 56 11 sty bu+2 1174 1175 02,113E A2 B8 ldx ekran-3 1177 02,1142 8E 5B 11 stx ek+1 1178 02,1145 8C 5C 11 sty ek+2 1179 1180 02,1148 AE AB 11 ldx file+1 1181 02,114B D0 05 bne _b 1182 02,114D 68 pla 1183 02,114E 68 pla 1184 02,114F 4C 85 0A jmp w_it 1185 02,1152 A0 05 _b ldy #5 1186 02,1154 B9 FF FF bu lda $ffff,y 1187 02,1157 38 sec 1188 02,1158 E9 20 sbc #32 1189 02,115A 99 FF FF ek sta $ffff,y 1190 02,115D C8 iny 1191 02,115E C0 10 cpy #16 1192 02,1160 D0 F2 bne bu 1193 02,1162 AD 55 11 lda bu+1 1194 02,1165 18 clc 1195 02,1166 69 10 adc #16 1196 02,1168 8D 55 11 sta bu+1 1197 02,116B 90 03 bcc sp 1198 02,116D EE 56 11 inc bu+2 1199 02,1170 AD 5B 11 sp lda ek+1 1200 02,1173 18 clc 1201 02,1174 69 20 adc #32 1202 02,1176 8D 5B 11 sta ek+1 1203 02,1179 90 03 bcc si 1204 02,117B EE 5C 11 inc ek+2 1205 02,117E CA si dex 1206 02,117F D0 D1 bne _b 1207 02,1181 CE AB 11 dec file+1 1208 1209 02,1184 8A txa ;A=0 1210 02,1185 20 2D 10 jsr neg 1211 02,1188 20 D1 0E key jsr zkey 1212 02,118B AD FC 02 ee lda 764 1213 02,118E C9 FF cmp #255 1214 02,1190 F0 F9 beq ee 1215 02,1192 C9 0F cmp #15 1216 02,1194 F0 12 beq up 1217 02,1196 C9 0E cmp #14 1218 02,1198 F0 1D beq do 1219 02,119A C9 21 cmp #33 1220 02,119C F0 07 beq new 1221 02,119E C9 0C cmp #12 1222 02,11A0 F0 26 beq loa 1223 02,11A2 4C 88 11 jmp key 1224 1225 02,11A5 4C 45 10 new jmp kat 1226 02,11A8 A9 00 up lda #0 1227 02,11AA C9 00 file cmp #0 1228 02,11AC F0 17 beq d_q 1229 02,11AE 20 2D 10 jsr neg 1230 02,11B1 EE A9 11 inc up+1 1231 02,11B4 4C C2 11 jmp ss 1232 1233 02,11B7 AD A9 11 do lda up+1 1234 02,11BA F0 09 beq d_q 1235 02,11BC 20 2D 10 jsr neg 1236 02,11BF CE A9 11 dec up+1 1237 02,11C2 20 2D 10 ss jsr neg 1238 02,11C5 4C 88 11 d_q jmp key 1239 1240 * Load file 1241 02,11C8 AD A9 11 loa lda up+1 1242 02,11CB 0A asl @ 1243 02,11CC 0A asl @ 1244 02,11CD 0A asl @ 1245 02,11CE 0A asl @ 1246 02,11CF 18 clc 1247 02,11D0 69 FB adc <_bf 1248 02,11D2 85 84 sta ad 1249 02,11D4 A9 13 lda >_bf 1250 02,11D6 69 00 adc #0 1251 02,11D8 85 85 sta ad+1 1252 1253 02,11DA AD FB 0F lda lng+1 1254 02,11DD 38 sec 1255 02,11DE E9 03 sbc #3 1256 02,11E0 8D B9 0F sta rx+1 ;dlugosc sektora-3 1257 1258 02,11E3 A0 03 ldy #3 ;pierwszy sektor 1259 02,11E5 B1 84 lda (ad),y 1260 02,11E7 85 8D sta link 1261 02,11E9 C8 iny 1262 02,11EA B1 84 lda (ad),y 1263 02,11EC 85 8E sta link+1 1264 02,11EE A9 60 lda #$60 1265 02,11F0 8D CB 0F sta rt 1266 02,11F3 20 A7 0F jsr r_sec 1267 02,11F6 A9 4C lda #$4c 1268 02,11F8 8D CB 0F sta rt 1269 02,11FB 60 rts 1270 1271 02,11FC 2C 6F 61 64 69 + inf4 dta d'Loadinç' 1272 02,1203 70 61 74 74 65 + patt dta d'patterns-' 1273 02,120C 00 00 74 72 61 + trck dta d' tracks-' 1274 02,1215 2F 6E 6C 79 00 + much dta d'Only 48 patternó' 1275 02,1225 36 61 6C 69 64 + vali dta d'Valid MOD filĺ' 1276 02,1233 44 4F tmod dta c'DO' 1277 02,1235 4D 2E 4B 2E title dta c'M.K.' 1278 1279 02,1239 70 70 70 70 70 + dl dta d'ppppppp',b($42),a(obr) 1280 02,1243 02 02 70 42 5B + dta d'""',b($70),b($42),a(obr) 1281 02,1249 42 BB 12 02 02 + dta b($42),a(ekran),d'"""""""""' 1282 02,1255 42 9B 12 41 39 + dta b($42),a(obr+64),b($41),a(dl) 1283 1284 02,125B C9 D5 D5 D5 D5 + obr dta d'‰••••••••••••••••••••••••••••••Ź' 1285 02,127B 59 29 2E 25 32 + dta d'INERTIA ver 3.7 by Madteam ',b(7),d'96™' 1286 02,129B CB 55 55 55 55 + dta d'‹Ś' 1287 02,12BB 59 00 00 00 00 + ekran dta d' ™' 1288 02,12DB 59 00 00 00 00 + dta d' ™' 1289 02,12FB 59 00 00 00 00 + dta d' ™' 1290 02,131B 59 00 00 00 00 + dta d' ™' 1291 02,133B 59 00 00 00 00 + dta d' ™' 1292 02,135B 59 00 00 00 00 + dta d' ™' 1293 02,137B 59 00 00 00 00 + dta d' ™' 1294 02,139B 59 2E 61 6D 65 + nam dta d'Name: ™' 1295 02,13BB 59 00 00 00 00 + dta d' ™' 1296 02,13DB 59 00 00 00 00 + info dta d' ™' 1297 1298 02,13FB A0 00 _bf ldy #0 1299 02,13FD 8C 08 D2 sty $d208 1300 02,1400 A2 03 ldx #3 1301 02,1402 8E 0F D2 stx $d20f 1302 02,1405 B9 00 70 o1 lda play37,y 1303 02,1408 99 00 07 o2 sta strt,y 1304 02,140B 88 dey 1305 02,140C D0 F7 bne o1 1306 02,140E EE 07 14 inc o1+2 1307 02,1411 EE 0A 14 inc o2+2 1308 02,1414 CA dex 1309 02,1415 D0 EE bne o1 1310 1311 02,1417 A9 39 lda
dl 1314 02,141E 8D 31 02 sta 561 1315 02,1421 A9 21 lda #$21 1316 02,1423 8D 2F 02 sta 559 1317 02,1426 A9 01 lda #1 1318 02,1428 8D 44 02 sta 580 1319 1320 02,142B A9 82 lda #$82 1321 02,142D 8D C6 02 sta 710 1322 02,1430 A9 0C lda #$0c 1323 02,1432 8D C5 02 sta 709 1324 1325 02,1435 A0 00 sr ldy #0 1326 02,1437 98 tya 1327 02,1438 99 E6 16 sta _bnk,y 1328 02,143B 88 dey 1329 02,143C D0 FA bne *-4 1330 1331 02,143E A0 00 ldy #0 1332 02,1440 98 tya 1333 02,1441 09 01 ora #%00000001 1334 02,1443 29 EF and #%11101111 1335 02,1445 8D 01 D3 sta $d301 1336 02,1448 8D 00 40 sta $4000 1337 02,144B C8 iny 1338 02,144C D0 F2 bne *-12 1339 1340 02,144E A0 00 ldy #0 1341 02,1450 98 tst tya 1342 02,1451 09 01 ora #%00000001 1343 02,1453 29 EF and #%11101111 1344 02,1455 8D 01 D3 sta $d301 1345 02,1458 AE 00 40 ldx $4000 1346 02,145B AD 00 40 lda $4000 1347 02,145E 49 FF eor #$ff 1348 02,1460 8D 00 40 sta $4000 1349 02,1463 CD 00 40 cmp $4000 1350 02,1466 D0 0F bne _ty 1351 02,1468 49 FF eor #$ff 1352 02,146A 8D 00 40 sta $4000 1353 02,146D CD 00 40 cmp $4000 1354 02,1470 D0 05 bne _ty 1355 02,1472 A9 01 lda #1 1356 02,1474 9D E6 16 sta _bnk,x 1357 02,1477 C8 _ty iny 1358 02,1478 D0 D6 bne tst 1359 1360 02,147A A0 00 ldy #0 1361 02,147C A2 00 ldx #0 1362 02,147E B9 E6 16 sav lda _bnk,y 1363 02,1481 F0 09 beq *+11 1364 02,1483 98 tya 1365 02,1484 9D D6 16 sta tb_1,x 1366 02,1487 E8 inx 1367 02,1488 E0 10 cpx #16 1368 02,148A F0 03 beq *+5 1369 02,148C C8 iny 1370 02,148D D0 EF bne sav 1371 02,148F CA dex 1372 02,1490 8E 9E 0C stx bmax+1 1373 02,1493 D0 0D bne sl 1374 1375 02,1495 A2 AB ldx xms 1377 02,1499 20 A6 0E jsr p_inf 1378 02,149C 20 CA 0E jsr wait_k 1379 02,149F 4C 35 14 jmp sr 1380 1381 02,14A2 A9 80 sl lda #$80 1382 02,14A4 85 83 sta hlp+1 1383 02,14A6 A9 D8 lda #vl 1384 02,14A8 85 90 sta pse+1 1385 02,14AA A9 00 lda #0 1386 02,14AC 85 82 sta hlp 1387 02,14AE 85 8F sta pse 1388 1389 02,14B0 A2 94 ldx cfg 1391 02,14B4 20 A6 0E jsr p_inf 1392 1393 02,14B7 A2 05 ldx #5 1394 02,14B9 BD E0 15 cb lda ban,x 1395 02,14BC 9D D2 12 sta ekran+23,x 1396 02,14BF CA dex 1397 02,14C0 10 F7 bpl cb 1398 1399 02,14C2 A2 10 ldx #16 1400 02,14C4 BD BE 15 cf lda cov,x 1401 02,14C7 9D BD 12 sta ekran+2,x 1402 02,14CA BD CF 15 lda pok,x 1403 02,14CD 9D DD 12 sta ekran+34,x 1404 02,14D0 CA dex 1405 02,14D1 10 F1 bpl cf 1406 1407 02,14D3 AE 9E 0C ldx bmax+1 1408 02,14D6 E8 inx 1409 02,14D7 20 1F 0F jsr bcd 1410 02,14DA 8E D8 12 stx ekran+29 1411 02,14DD 8C D9 12 sty ekran+30 1412 1413 02,14E0 A9 12 lda #18 1414 02,14E2 8D 37 10 sta dlg+1 1415 02,14E5 A9 00 lda #0 1416 02,14E7 8D A9 11 sta up+1 1417 02,14EA 20 2D 10 jsr neg 1418 02,14ED AD FC 02 wi lda 764 1419 02,14F0 C9 FF cmp #$ff 1420 02,14F2 F0 F9 beq wi 1421 02,14F4 C9 0E cmp #14 1422 02,14F6 F0 0E beq u_p 1423 02,14F8 C9 0F cmp #15 1424 02,14FA F0 18 beq d_n 1425 02,14FC C9 0C cmp #12 1426 02,14FE F0 22 beq r_t 1427 02,1500 20 D1 0E wi_ jsr zkey 1428 02,1503 4C ED 14 jmp wi 1429 1430 02,1506 20 2D 10 u_p jsr neg 1431 02,1509 A9 00 lda #0 1432 02,150B 8D A9 11 sta up+1 1433 02,150E 20 2D 10 jsr neg 1434 02,1511 4C 00 15 jmp wi_ 1435 1436 02,1514 20 2D 10 d_n jsr neg 1437 02,1517 A9 01 lda #1 1438 02,1519 8D A9 11 sta up+1 1439 02,151C 20 2D 10 jsr neg 1440 02,151F 4C 00 15 jmp wi_ 1441 1442 02,1522 20 79 0E r_t jsr on 1443 02,1525 A9 0C lda #12 1444 02,1527 8D 37 10 sta dlg+1 1445 02,152A AD A9 11 lda up+1 1446 02,152D D0 17 bne poky 1447 02,152F A9 EA lda #$ea 1448 02,1531 8D 6E 15 sta md 1449 02,1534 8D 6F 15 sta md+1 1450 02,1537 8D 70 15 sta md+2 1451 02,153A 8D 71 15 sta md+3 1452 02,153D 8D 72 15 sta md+4 1453 02,1540 8D 73 15 sta md+5 1454 02,1543 4C 68 15 jmp po_ 1455 1456 02,1546 A9 D2 poky lda #$d2 1457 02,1548 8D 5F 07 sta ch0+2 1458 02,154B 8D 8E 07 sta ch1+2 1459 02,154E 8D BD 07 sta ch2+2 1460 02,1551 8D EC 07 sta ch3+2 1461 02,1554 A9 01 lda #1 1462 02,1556 8D 5E 07 sta ch0+1 1463 02,1559 A9 03 lda #3 1464 02,155B 8D 8D 07 sta ch1+1 1465 02,155E A9 05 lda #5 1466 02,1560 8D BC 07 sta ch2+1 1467 02,1563 A9 07 lda #7 1468 02,1565 8D EB 07 sta ch3+1 1469 1470 02,1568 A2 21 po_ ldx #33 1471 02,156A A0 00 ldy #0 1472 02,156C B1 82 or lda (hlp),y 1473 02,156E 4A md lsr @ 1474 02,156F 4A lsr @ 1475 02,1570 4A lsr @ 1476 02,1571 4A lsr @ 1477 02,1572 09 10 ora #$10 1478 02,1574 91 8F sta (pse),y 1479 02,1576 88 dey 1480 02,1577 D0 F3 bne or 1481 02,1579 E6 83 inc hlp+1 1482 02,157B E6 90 inc pse+1 1483 02,157D CA dex 1484 02,157E D0 EC bne or 1485 1486 02,1580 A0 00 ldy #0 1487 02,1582 B9 E6 15 rel lda tidl,y 1488 02,1585 99 00 FF sta tadcl,y 1489 02,1588 C8 iny 1490 02,1589 D0 F7 bne rel 1491 02,158B 20 8D 0E jsr of 1492 02,158E 20 AF 0A jsr cle 1493 02,1591 4C 82 0A jmp quit 1494 1495 02,1594 5C 5D 0D 63 68 + cfg dta d'-change configuratioî' 1496 02,15AB 29 00 6E 65 65 + xms dta d'I need extra memorů' 1497 02,15BE 23 2F 36 2F 38 + cov dta d'COVOX-8bit sample' 1498 02,15CF 30 2F 2B 25 39 + pok dta d'POKEY-4bit sample' 1499 02,15E0 62 61 6E 6B 73 + ban dta d'banks-' 1500 1501 02,15E6 33 36 39 3C 40 tidl dta l(51),l(54),l(57),l(60),l(64) 1502 02,15EB 44 48 4C 51 dta l(68),l(72),l(76),l(81) 1503 02,15EF 55 5B 60 66 dta l(85),l(91),l(96),l(102) 1504 02,15F3 6C 72 79 80 dta l(108),l(114),l(121),l(128) 1505 02,15F7 88 90 98 A1 dta l(136),l(144),l(152),l(161) 1506 02,15FB AB B5 C0 CB dta l(171),l(181),l(192),l(203) 1507 02,15FF D7 E4 F2 00 dta l(215),l(228),l(242),l(256) 1508 02,1603 0F 1F 30 43 dta l(271),l(287),l(304),l(323) 1509 02,1607 56 6A 80 96 dta l(342),l(362),l(384),l(406) 1510 02,160B AF C8 E3 00 dta l(431),l(456),l(483),l(512) 1511 02,160F 1E 3F 61 85 dta l(542),l(575),l(609),l(645) 1512 02,1613 AB D4 FF dta l(683),l(724),l(767) 1513 1514 02,1616 00 00 00 00 00 tidh dta h(51),h(54),h(57),h(60),h(64) 1515 02,161B 00 00 00 00 dta h(68),h(72),h(76),h(81) 1516 02,161F 00 00 00 00 dta h(85),h(91),h(96),h(102) 1517 02,1623 00 00 00 00 dta h(108),h(114),h(121),h(128) 1518 02,1627 00 00 00 00 dta h(136),h(144),h(152),h(161) 1519 02,162B 00 00 00 00 dta h(171),h(181),h(192),h(203) 1520 02,162F 00 00 00 01 dta h(215),h(228),h(242),h(256) 1521 02,1633 01 01 01 01 dta h(271),h(287),h(304),h(323) 1522 02,1637 01 01 01 01 dta h(342),h(362),h(384),h(406) 1523 02,163B 01 01 01 02 dta h(431),h(456),h(483),h(512) 1524 02,163F 02 02 02 02 dta h(542),h(575),h(609),h(645) 1525 02,1643 02 02 02 dta h(683),h(724),h(767) 1526 1527 02,1646 F9 FC 41 44 tpt dta b($f9),b($fc),b($41),b($44) 1528 02,164A 47 4A 4D 50 dta b($47),b($4a),b($4d),b($50) 1529 02,164E 53 56 59 5C dta b($53),b($56),b($59),b($5c) 1530 02,1652 5F 62 65 68 dta b($5f),b($62),b($65),b($68) 1531 02,1656 6B 6E 71 74 dta b($6b),b($6e),b($71),b($74) 1532 02,165A 77 7A 7D 14 dta b($77),b($7a),b($7d),b($14) 1533 02,165E 17 1A 1D 20 dta b($17),b($1a),b($1d),b($20) 1534 02,1662 23 26 29 2C dta b($23),b($26),b($29),b($2c) 1535 02,1666 2F 32 35 38 dta b($2f),b($32),b($35),b($38) 1536 02,166A 3B 3E CD CA dta b($3b),b($3e),b($cd),b($ca) 1537 02,166E C7 C4 C1 BE dta b($c7),b($c4),b($c1),b($be) 1538 02,1672 BB B8 B5 B2 dta b($bb),b($b8),b($b5),b($b2) 1539 1540 02,1676 B0 06 50 06 F4 + kd dta a($6b0),a($650),a($5f4),a($5a0) 1541 02,167E 4C 05 00 05 B8 + dta a($54c),a($500),a($4b8),a($474) 1542 02,1686 34 04 F8 03 C0 + dta a($434),a($3f8),a($3c0),a($380) 1543 1544 02,168E 58 03 28 03 FA + dta a($358),a($328),a($2fa),a($2d0) 1545 02,1696 A6 02 80 02 5C + dta a($2a6),a($280),a($25c),a($23a) 1546 02,169E 1A 02 FC 01 E0 + dta a($21a),a($1fc),a($1e0),a($1c5) 1547 1548 02,16A6 AC 01 94 01 7D + dta a($1ac),a($194),a($17d),a($168) 1549 02,16AE 53 01 40 01 2E + dta a($153),a($140),a($12e),a($11d) 1550 02,16B6 0D 01 FE 00 F0 + dta a($10d),a($fe),a($f0),a($e2) 1551 1552 02,16BE D6 00 CA 00 BE + dta a($d6),a($ca),a($be),a($b4) 1553 02,16C6 AA 00 A0 00 97 + dta a($aa),a($a0),a($97),a($8f) 1554 02,16CE 87 00 7F 00 78 + dta a($87),a($7f),a($78),a($71) 1555 1556 02,16D6 00 00 00 00 00 + tb_1 dta d' ' 1557 1558 = 02,16E6 _bnk equ * Source: it37.asm 20 21 ;- bank=bank+1 22 ;- local labels 23 03,16E6 nmb 24 03,16E6 org $600 25 26 03,0600-0618> A2 12 start ldx #18 27 03,0602 A0 00 ldy #0 28 03,0604 B9 00 20 s lda mod37,y 29 03,0607 99 00 07 d sta strt,y 30 03,060A 88 dey 31 03,060B D0 F7 bne s 32 03,060D EE 06 06 inc s+2 33 03,0610 EE 09 06 inc d+2 34 03,0613 CA dex 35 03,0614 D0 EE bne s 36 03,0616 4C 00 07 jmp $0700 37 38 03,02E0-02E1> 00 06 run start