home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Antic Magazine 1985 May
/
Antic_Magazine_1985_05_Antic.atr
/
faderii.m65
< prev
next >
Wrap
Text File
|
2023-02-26
|
12KB
|
1 lines
0100 ;FADERII.M65¢0101 ;BY PATRICK DELL'ERA¢0102 ;ANTIC MAGAZINE¢0104 ;¢0105 PROGRAM = $3E00¢0106 BUFFER = $2007¢0107 ;External reference equates¢0108 LBL:105 = BUFFER+2¢0109 LBL:106 = BUFFER+3¢0110 LBL:091 = BUFFER+4¢0111 LBL:064 = BUFFER+$0B¢0112 LBL:121 = BUFFER+$0D¢0113 LBL:125 = BUFFER+$0E¢0114 LBL:127 = BUFFER+$16¢0115 LBL:080 = BUFFER+$21¢0116 LBL:107 = BUFFER+$22¢0117 LBL:083 = BUFFER+$23¢0118 LBL:078 = BUFFER+$24¢0119 ;End of external references¢0120 ;¢0121 ;System equates used¢0122 BOOT = $09¢0123 DOSVEC = $0A¢0124 RTCLOK = $12¢0125 SOUNDR = $41¢0126 ATRACT = $4D¢0127 SAVMSC = $58¢0128 SDLSTL = $0230¢0129 SDLSTH = $0231¢0130 COLDST = $0244¢0131 RUNADR = $02E0¢0132 COLOR0 = $02C4¢0133 COLOR1 = $02C5¢0134 COLOR2 = $02C6¢0135 COLOR4 = $02C8¢0136 ICCOM = $0342¢0137 ICBAL = $0344¢0138 ICBAH = $0345¢0139 ICBLL = $0348¢0140 ICBLH = $0349¢0141 ICAX1 = $034A¢0142 ICAX2 = $034B¢0143 CONSOL = $D01F¢0144 RANDOM = $D20A¢0145 CIOV = $E456¢0146 EOL = $9B¢0147 ;End of system equates¢0148 ;Zero-page equates¢0149 PIC.CTR = $E0¢0150 N09 = $EA¢0151 CTR1 = $BA¢0152 CTR2 = $BB¢0153 SVCOLR = $CC¢0154 PICTYPE = $CB¢0155 N16 = $EC¢0156 N17 = $E6¢0157 N18 = $E4¢0158 N19 = $E1¢0159 N22 = $E3¢0160 N23 = $EB¢0161 N24 = $E2¢0162 N27 = $E9¢0163 N41 = $80¢0164 N42 = $81¢0165 N54 = $82¢0166 N55 = $83¢0167 N59 = $84¢0168 N60 = $85¢0169 ;End of zero-page equates¢0170 .PAGE "Main Program 11/10/84"¢0171 ;¢0172 ;Program Start¢0173 ; First two bytes are variables¢0174 ; indicating the Pause length¢0175 ; and the Drive # pictures are¢0176 ; read from.¢0177 ;¢0178 *= PROGRAM¢0179 WAIT¢0180 .BYTE 2¢0181 DRNUM¢0182 .BYTE '1¢0183 ;¢0184 ;Routine to load compressed¢0185 ; files.¢0186 ;¢0187 READ.HDR¢0188 INC PIC.CTR¢0189 JMP GET.BYTE¢0190 PIC.LDR¢0191 LDA #$FF¢0192 STA PIC.CTR¢0193 LBL:007¢0194 JSR READ.HDR¢0195 LDX PIC.CTR¢0196 CPX #$1A¢0197 BEQ LBL:006¢0198 CPX #$0D¢0199 BEQ SVCOLR.PIC¢0200 CPX #7¢0201 BNE LBL:007¢0202 STA N09¢0203 JMP LBL:007¢0204 SVCOLR.PIC¢0205 STA SVCOLR+1¢0206 JSR READ.HDR¢0207 STA SVCOLR+2¢0208 JSR READ.HDR¢0209 STA SVCOLR+3¢0210 JSR READ.HDR¢0211 STA SVCOLR+4¢0212 JSR READ.HDR¢0213 STA SVCOLR¢0214 JMP LBL:007¢0215 LBL:006 LDA #0¢0216 STA N16¢0217 STA N17¢0218 LDA SAVMSC¢0219 STA PIC.CTR¢0220 STA N18¢0221 LDA SAVMSC+1¢0222 STA PIC.CTR+1¢0223 STA N18+1¢0224 LBL:030 JSR GET.BYTE¢0225 PHA ¢0226 LDX #0¢0227 STX N22¢0228 AND #$80¢0229 STA N23¢0230 PLA ¢0231 AND #$7F¢0232 STA N24¢0233 BNE LBL:025¢0234 JSR GET.BYTE¢0235 STA N22¢0236 JSR GET.BYTE¢0237 STA N24¢0238 LBL:025 DEC N24¢0239 LDA N23¢0240 BNE LBL:026¢0241 JSR GET.BYTE¢0242 STA N27¢0243 LBL:029¢0244 JMP LBL:028¢0245 LBL:032 DEC N24¢0246 LDA #$FF¢0247 CMP N24¢0248 BNE LBL:029¢0249 DEC N22¢0250 LDA #$FF¢0251 CMP N22¢0252 BNE LBL:029¢0253 BEQ LBL:030¢0254 LBL:036 DEC N24¢0255 LDA #$FF¢0256 CMP N24¢0257 BNE LBL:026¢0258 DEC N22¢0259 LDA #$FF¢0260 CMP N22¢0261 BEQ LBL:030¢0262 LBL:026 JSR GET.BYTE¢0263 STA N27¢0264 LBL:028 LDA #2¢0265 CMP N09¢0266 BEQ LBL:031¢0267 LBL:035 BEQ LBL:032¢0268 LDA N27¢0269 LDY #0¢0270 STA (PIC.CTR),Y¢0271 CLC ¢0272 LDA #$50¢0273 ADC PIC.CTR¢0274 STA PIC.CTR¢0275 LDA #0¢0276 ADC PIC.CTR+1¢0277 STA PIC.CTR+1¢0278 INC N17¢0279 LDA #$60¢0280 CMP N17¢0281 BNE LBL:033¢0282 LDA #1¢0283 CMP N16¢0284 BNE LBL:034¢0285 CLC ¢0286 LDA #1¢0287 ADC N18¢0288 STA N18¢0289 STA PIC.CTR¢0290 LDA #0¢0291 STA N16¢0292 STA N17¢0293 ADC N18+1¢0294 STA N18+1¢0295 STA PIC.CTR+1¢0296 JMP LBL:033¢0297 LBL:034 INC N16¢0298 CLC ¢0299 LDA #$28¢0300 ADC N18¢0301 STA PIC.CTR¢0302 LDA #0¢0303 STA N17¢0304 ADC N18+1¢0305 STA PIC.CTR+1¢0306 LBL:033 LDA N23¢0307 BEQ LBL:035¢0308 LBL:037 BNE LBL:036¢0309 LBL:031 LDA N27¢0310 LDY #0¢0311 STA (PIC.CTR),Y¢0312 INC PIC.CTR¢0313 BNE LBL:031.1¢0314 INC PIC.CTR+1¢0315 LBL:031.1¢0316 LDA N23¢0317 BEQ LBL:035 ;Forced branch¢0318 BNE LBL:037 ;¢0319 ;¢0320 ;CIO utilities¢0321 ;¢0322 GET.BYTE¢0323 LDX #$10¢0324 LDA #0¢0325 STA ICBLL,X¢0326 STA ICBLH,X¢0327 JSR CIOV¢0328 BMI LBL:038¢0329 RTS ¢0330 LBL:038 PLA ¢0331 PLA ¢0332 JMP MIC.1¢0333 CLOSE.CH1¢0334 LDX #$10¢0335 CLOSE.CH6¢0336 LDA #$0C¢0337 STA ICCOM,X¢0338 JMP CIOV¢0339 OPEN.1¢0340 STA ICBAH,X¢0341 TYA ¢0342 STA ICBAL,X¢0343 LDA #3¢0344 STA ICCOM,X¢0345 LBL:040 JSR CIOV¢0346 BMI EXIT¢0347 RTS ¢0348 EXIT JSR CLOSE.CH1¢0349 JMP (DOSVEC)¢0350 ;¢0351 ;Picture fader routine¢0352 ;¢0353 MSKTBL¢0354 .BYTE $01,$08,$40,$02¢0355 .BYTE $10,$80,$04,$20¢0356 FADEIN¢0357 LDA SAVMSC¢0358 STA N41¢0359 STA N54¢0360 LDA #0¢0361 STA CTR2¢0362 LBL:104 LDA #7¢0363 CMP CTR2¢0364 BCS LBL:087¢0365 RTS ¢0366 LBL:087 LDX CTR2¢0367 LDA #0¢0368 STA LBL:080¢0369 LBL:090 LDA #$FE¢0370 CMP LBL:080¢0371 BCC LBL:088¢0372 TXA ¢0373 PHA ¢0374 LDX LBL:080¢0375 LDY LBL:078,X¢0376 PLA ¢0377 TAX ¢0378 JSR LBL:089¢0379 INC LBL:080¢0380 JMP LBL:090¢0381 LBL:088 TXA ¢0382 PHA ¢0383 LDX #$FF¢0384 LDY LBL:078,X¢0385 PLA ¢0386 TAX ¢0387 JSR LBL:089¢0388 LDA LBL:091¢0389 BMI LBL:092¢0390 LDY CTR2¢0391 CPY #2¢0392 BNE LBL:093¢0393 LDA SVCOLR-1,Y¢0394 STA COLOR0¢0395 LBL:093¢0396 CPY #3¢0397 BNE LBL:096¢0398 LDA SVCOLR-1,Y¢0399 STA COLOR1¢0400 LBL:096¢0401 CPY #4¢0402 BNE LBL:099¢0403 LDA SVCOLR-1,Y¢0404 STA COLOR2¢0405 LBL:099¢0406 CPY #5¢0407 BNE LBL:092¢0408 LDA SVCOLR¢0409 STA COLOR4¢0410 LBL:092 INC CTR2¢0411 JMP LBL:104¢0412 LBL:089¢0413 LDA LBL:105¢0414 STA N42¢0415 LDA LBL:106¢0416 STA N55¢0417 LDA #0¢0418 STA LBL:107¢0419 LBL:113 LDA #$1D¢0420 CMP LBL:107¢0421 BCS LBL:108¢0422 RTS ¢0423 LBL:108 LDA (N41),Y¢0424 AND MSKTBL,X¢0425 BNE LBL:111¢0426 LDA MSKTBL,X¢0427 EOR #$FF¢0428 AND (N54),Y¢0429 JMP LBL:112¢0430 LBL:111 ORA (N54),Y¢0431 LBL:112 STA (N54),Y¢0432 INC N42¢0433 INC N55¢0434 INX ¢0435 TXA ¢0436 AND #7¢0437 TAX ¢0438 INC LBL:107¢0439 JMP LBL:113¢0440 ;¢0441 ;Program Entry¢0442 ;¢0443 START¢0444 LDA DRNUM ;User alterable¢0445 STA DDVC+1 ;drive #¢0446 LDX #1 ;Tells system¢0447 STX BOOT ;no Coldstart¢0448 STX PICTYPE ;and initializes¢0449 DEX ¢0450 STX COLDST¢0451 STX SOUNDR ;No disk sound¢0452 ;¢0453 ;Build random table for fading¢0454 ;picture.¢0455 ;¢0456 LBL:079 TXA ¢0457 STA LBL:078,X¢0458 INX ¢0459 BNE LBL:079¢0460 STX LBL:080¢0461 LBL:081¢0462 LDA #$FF¢0463 STA N60¢0464 EOR LBL:080¢0465 PHA ¢0466 STA N59¢0467 LBL:062 ASL A¢0468 BCS LBL:061¢0469 LSR N60¢0470 JMP LBL:062¢0471 LBL:061 LDA RANDOM¢0472 AND N60¢0473 CMP N59¢0474 BEQ LBL:063¢0475 BCS LBL:061¢0476 LBL:063¢0477 STA LBL:083¢0478 TAX ¢0479 LDA LBL:078,X¢0480 TAY ¢0481 PLA ¢0482 PHA ¢0483 TAX ¢0484 LDA LBL:078,X¢0485 LDX LBL:083¢0486 STA LBL:078,X¢0487 PLA ¢0488 TAX ¢0489 TYA ¢0490 STA LBL:078,X¢0491 INC LBL:080¢0492 INC PICTYPE¢0493 BNE LBL:081¢0494 ;¢0495 ;Build screen dislpay list by¢0496 ;closing channel 6¢0497 ;¢0498 LDX #$60¢0499 JSR CLOSE.CH6¢0500 ;¢0501 ;Then open GRAPHICS 8+16¢0502 ;¢0503 LDA #$0C¢0504 STA ICAX1,X¢0505 LDA #8¢0506 STA ICAX2,X¢0507 LDY # <SDVC¢0508 LDA # >SDVC¢0509 JSR OPEN.1¢0510 ;¢0511 ;Give screen some color and¢0512 ;modify display list to¢0513 ;ANTIC E (GRAPHICS 7+) display¢0514 ;list¢0515 ;¢0516 LDA #$80¢0517 STA COLOR4¢0518 LDA SDLSTL¢0519 STA N41¢0520 LDA SDLSTH¢0521 STA N42¢0522 LDY #3¢0523 LDA #$4E¢0524 STA (N41),Y¢0525 LDY #6¢0526 LBL:071 LDA #$0E¢0527 STA (N41),Y¢0528 INY ¢0529 CPY #$63¢0530 BNE LBL:071¢0531 LDA #$4E¢0532 STA (N41),Y¢0533 INY ¢0534 INY ¢0535 INY ¢0536 LBL:073 LDA (N41),Y¢0537 CMP #$0F¢0538 BNE LBL:072.A¢0539 LDA #$0E¢0540 STA (N41),Y¢0541 INY ¢0542 BNE LBL:073¢0543 ;¢0544 ;Set pointers to a hidden¢0545 ;screen used to fade new¢0546 ;picture into old.¢0547 ;¢0548 LBL:072.A¢0549 STA LBL:106¢0550 LDA SAVMSC+1¢0551 STA LBL:106¢0552 LDA LBL:106¢0553 SEC ¢0554 SBC #$20¢0555 STA LBL:105¢0556 LDA LBL:105¢0557 STA SAVMSC+1¢0558 ;¢0559 ;Set ctr to point to first¢0560 ;picture.¢0561 ;¢0562 FIRST.PIC LDA #1¢0563 STA CTR1¢0564 ;¢0565 ;Open the disk directory for¢0566 ;reading.¢0567 ;¢0568 NXT.PIC¢0569 JSR CLOSE.CH1¢0570 LDA #6¢0571 STA ICAX1,X¢0572 LDA #0¢0573 STA ICAX2,X¢0574 LDY # <DDVC¢0575 LDA # >DDVC¢0576 JSR OPEN.1¢0577 STY CTR2 ;Y=0 always...¢0578 ;¢0579 ;Read filenames 'til CTR2=CTR1.¢0580 ;CTR1 is index to which¢0581 ;picture was last shown.¢0582 ;¢0583 LBL:119 LDA CTR1¢0584 CMP CTR2¢0585 BCC LBL:118¢0586 LDX #$10¢0587 LDA # <LBL:064+1¢0588 STA ICBAL,X¢0589 LDA # >LBL:064+1¢0590 STA ICBAH,X¢0591 LDA #20¢0592 STA ICBLL,X¢0593 LDA #0¢0594 STA ICBLH,X¢0595 LDA #5¢0596 STA ICCOM,X¢0597 JSR CIOV¢0598 BMI FIRST.PIC¢0599 INC CTR2¢0600 BNE LBL:119¢0601 ;¢0602 ;Have read the correct # of¢0603 ;filenames. Now check if¢0604 ;this is a FREE SECTORS message.¢0605 ;If yes, start from 1st picture.¢0606 ;¢0607 LBL:118¢0608 JSR CLOSE.CH1¢0609 LDA LBL:121¢0610 CMP #$20¢0611 BNE FIRST.PIC¢0612 ;¢0613 ;Stick "D1:" in front of¢0614 ;filename.¢0615 ;¢0616 LDX #2¢0617 NAME.LOOP LDA DDVC,X¢0618 STA LBL:064,X¢0619 DEX ¢0620 BPL NAME.LOOP¢0621 ;¢0622 ;Then reform name with no¢0623 ;spaces, a period, the extender,¢0624 ;and an end-of-line.¢0625 ;¢0626 NAME.LOOP.1 INX ¢0627 CPX #8¢0628 BEQ NAME.LOOP.2¢0629 LDA LBL:125,X¢0630 CMP #$20¢0631 BNE NAME.LOOP.1¢0632 NAME.LOOP.2 LDY LBL:127¢0633 LDA #'.¢0634 STA LBL:125,X¢0635 TYA ¢0636 INX ¢0637 STA LBL:125,X¢0638 STA PICTYPE¢0639 LDA #'I¢0640 INX ¢0641 STA LBL:125,X¢0642 LDA #'C¢0643 INX ¢0644 STA LBL:125,X¢0645 LDA #EOL¢0646 INX ¢0647 STA LBL:125,X¢0648 ;¢0649 ;Open the picture for reading.¢0650 ;¢0651 JSR CLOSE.CH1¢0652 LDA #4¢0653 STA ICAX1,X¢0654 LDA #0¢0655 STA ICAX2,X¢0656 LDY # <LBL:064¢0657 LDA # >LBL:064¢0658 JSR OPEN.1¢0659 LDA LBL:105¢0660 STA SAVMSC+1¢0661 LDA #7¢0662 LDX #$10¢0663 STA ICCOM,X¢0664 ;¢0665 ;If the extender is 'PIC' then¢0666 ;go to compressed picture load¢0667 ;routine.¢0668 ;¢0669 LDY PICTYPE¢0670 CPY #'P¢0671 BNE MIC¢0672 JMP PIC.LDR¢0673 ;¢0674 ;Otherwise, do standard load.¢0675 ;¢0676 MIC¢0677 LDA SAVMSC¢0678 STA ICBAL,X¢0679 LDA SAVMSC+1¢0680 STA ICBAH,X¢0681 LDA #0¢0682 STA ICBLL,X¢0683 LDA #$1E¢0684 STA ICBLH,X¢0685 JSR LBL:040¢0686 JSR GET.BYTE¢0687 STA SVCOLR¢0688 JSR GET.BYTE¢0689 STA SVCOLR+1¢0690 JSR GET.BYTE¢0691 STA SVCOLR+2¢0692 JSR GET.BYTE¢0693 STA SVCOLR+3¢0694 ;¢0695 ;Both load types continue here.¢0696 ;Fade new picture in. Pause¢0697 ;and read console keys.¢0698 ;¢0699 MIC.1¢0700 JSR FADEIN¢0701 JSR CLOSE.CH1¢0702 LDA #0¢0703 STA ATRACT¢0704 STA RTCLOK+1¢0705 LBL:134 LDA RTCLOK+1¢0706 CMP WAIT¢0707 BCS LBL:130¢0708 LBL:132 LDA CONSOL¢0709 CMP #5¢0710 BNE LBL:133¢0711 JMP EXIT¢0712 LBL:133 CMP #3¢0713 BNE LBL:133.1¢0714 LBL:133.2¢0715 LDA #6¢0716 LBL:133.3¢0717 CMP CONSOL¢0718 BNE LBL:133.3¢0719 LBL:133.1¢0720 CMP #6¢0721 BNE LBL:134¢0722 LBL:130 INC CTR1¢0723 JMP NXT.PIC¢0724 DDVC¢0725 .BYTE "D1:*.?IC",EOL¢0726 SDVC¢0727 .BYTE "S:",EOL¢0728 *= RUNADR¢0729 .WORD START¢0730 .SET 1,0¢