home *** CD-ROM | disk | FTP | other *** search
/ A.N.A.L.O.G. Magazine 1989 May / 89_may.atr / vbisub.lnk < prev   
Text File  |  2023-02-26  |  4KB  |  1 lines

  1.  ;-----------------------------------¢ ;SOURCE CODE LINK FILE¢ ;-----------------------------------¢ ¢ ;VBI SUBROUTINE, TO BE PREFORMED¢ ;EVERY 1/60 OF A SECOND¢ ¢ADDR: LDA TFLAG7¢ BEQ XADR¢ JMP SEXIT¢ ¢XADR: DEC BCOUNT¢ BNE EXIT¢ ¢ LDA #0¢ STA 77¢ ¢ LDA PEMPB¢ STA BCOUNT¢ ¢ LDA #1¢ STA TEMP10+1¢ STA TFLAG2¢ ¢ INC COUNT¢ LDA COUNT¢ CMP #8¢ BEQ COARSE¢ ¢ ;DO FINE SCROLL¢ ¢ STA VSCROL¢EXIT: JMP XSOUND¢ ¢ ;DO COARSE SCROLL WITH WRAP¢ ;ERASE TOP ROW OF BYTES¢ ¢COARSE: JSR ADD20¢ JSR ADD20¢ ¢ LDA SCREEN¢ STA BX¢ LDA SCREEN+1¢ STA BX+1¢ ¢ ;SET SCREEN ONE LOWER THAN BX¢ ¢ ;SET COUNT & VSCROL TO ZERO¢ ¢ LDA #0¢ STA COUNT¢ STA VSCROL¢ ¢ JSR ADD20¢ LDY #0¢ LDX #0¢ ¢ ;MOVE REST OF SCREEN UP BY ONE¢ ¢SV2: LDA (SCREEN),Y¢ STA (BX),Y¢ INY¢ CPY #20¢ BNE SV2¢ ¢ ;ADD 20 TO BX¢ ¢ CLC¢ LDA BX¢ ADC #20¢ STA BX¢ LDA BX+1¢ ADC #0¢ STA BX+1¢ ¢ ;ADD 20 TO SCREEN¢ ¢ JSR ADD20¢ ¢ LDY #0¢ INX¢ CPX #22¢ BNE SV2¢ ¢ ;CHECK FOR TITLE SCREEN¢ ;IF COUNTER EQUALS ZERO, THEN¢ ;PICK RANDOM BALLOONS,PUT THEM IN¢ ;SBULL1,PUT THEIR TAILS IN SBUFF2¢ ;AND PUT A SPACE IN SBUFF3.¢ ;IF COUNTER DOESN'T EQUAL ZERO¢ ;PUT NEXT SBUFF LINE AT BOTTOM OF¢ ;SCREEN.¢ ¢ LDA GFLAG1¢ BEQ XAD¢ BNE GAM1¢¢XAD: LDA TFLAG6¢ BEQ XADR1¢ ¢ LDA TFLAG9¢ BNE XZERO¢ ¢ ;SCROLL UP TITLE¢ ¢ LDY #0¢XADR2: LDX TPOINT¢ LDA CRED,X¢ CMP #128¢ BEQ XOUT¢ STA (BX),Y¢ INY¢ INC TPOINT¢ BNE XADR2¢ ¢XOUT: CPY #0¢ BNE XOUT1¢ ¢ LDA #0¢ TAY¢XOUT2: STA (BX),Y¢ INY¢ CPY #20¢ BNE XOUT2¢ ¢XOUT1: INC TCOUNT¢ INC TPOINT¢ LDA TCOUNT¢ CMP #7;NUMBER OF LINES TO SCROLL¢ BNE XADR3¢ ¢ LDA #1¢ STA FLAG10¢ ¢XADR3: JMP PT2¢ ¢ ;PRINT ZEROS¢ ¢XZERO: LDY #0¢ LDA #0¢XZ1: STA (BX),Y¢ INY¢ CPY #20¢ BNE XZ1¢ INC TCOUNT¢ ¢ LDA TCOUNT¢ CMP #20¢ BNE XADR3¢ LDA #1¢ STA FLAG10¢ BNE XADR3¢ ¢ ;GAME OVER SUB¢ ¢GAM1: LDY #0¢GAM2: LDA OVER,Y¢ STA (BX),Y¢ INY¢ CPY #14¢ BNE GAM2¢ INC TCOUNT¢ BNE XADR3¢ ¢XADR1: DEC RCOUNT¢ BEQ SHD1¢ ¢ JMP RAN3¢ ¢ ;FIND OUT IF BALLOON START OUT¢ ;ON AN ODD OR EVEN NUMBER¢ ¢SHD1: LDA OFLAG¢ BPL RAN8¢ ¢ ;EVEN NUMBER¢ ¢ LDA #4¢ STA BMIN¢ ¢ LDA #16¢ STA BMAX¢ ¢ LDA OFLAG¢ EOR #128¢ STA OFLAG¢ ¢ JMP RAN9¢ ¢ ;ODD NUMBER¢ ¢RAN8: LDA #5¢ STA BMIN¢ ¢ LDA #17¢ STA BMAX¢ ¢ LDA OFLAG¢ EOR #128¢ STA OFLAG¢ ¢ ;CLEAR OUT SBUFF1-3¢ ¢RAN9: LDX #0¢ LDA #0¢G1: STA SBUFF1,X¢ INX¢ CPX #40¢ BNE G1¢ ¢ ;PICK RANDOM BALLOONS FOR SBUFF1¢ ¢ LDY BMIN¢RAN1: LDA RANDOM¢ CMP BNUMB¢ BCS RAN2¢ ¢ ;PICKED A BALLOON, PICK ITS COLOR¢ ¢ LDA RANDOM¢ AND #3¢ TAX¢ LDA BCOLOR,X¢ STA SBUFF1,Y¢ ¢ ;PUT ITS TAIL IN SBUFF2¢ ¢ LDA #130¢ STA SBUFF2,Y¢ ¢ ;PUT A SPACE IN SBUFF3¢ ¢ LDA #0¢ STA SBUFF3,Y¢ ¢ ;CHECK TO IF DOLLOAR SIGN SHOULD BE¢ ;PUT ON SCREEN¢ ¢ LDA DMARK¢ BNE RAN2¢ ¢ LDA TFLAG1¢ BNE RAN2¢ ¢ ;CHECK RANDOM¢ ¢ LDA RANDOM¢ CMP DNUMB¢ BCS RAN2¢ ¢ ;PUT DOLLAR SIGN ON SCREEN¢ ;FIND X CORDINATE¢ ¢ LDA DOLCOR,Y¢ STA DOLLX¢ LDA #1¢ STA DMARK¢ STY TEMP10¢ JSR DRAD¢ LDY TEMP10¢ ¢ ;IF NO BALLOON PUT A SPACE THERE¢ ¢RAN2: INY¢ INY¢ CPY BMAX¢ BNE RAN1¢ ¢ ;DONE,THE SET BPOINT BACK TO ZERO¢ ;AND SET RCOUNT TO 3¢ ¢ LDA #0¢ STA BPOINT¢ LDA #3¢ STA RCOUNT¢ ¢ ;DISPLAY NEXT SBUFF LINE ¢ ¢RAN3: LDX BPOINT¢ LDY #0¢SV3: LDA SBUFF1,X¢ STA (BX),Y¢ INY¢ INX¢ CPY #20¢ BNE SV3¢ ¢ ;INCREMENT BPOINT BY 20¢ ¢ CLC¢ LDA BPOINT¢ ADC #20¢ STA BPOINT¢ ¢ ;CHECK TO SEE IF TEMP=0¢ ;IF IT DOES, THEN PUT NEW IMAGE¢ ¢ DEC TEMP¢ BNE PT2¢ ¢ LDA #5¢ STA TEMP¢ ¢ ;PUT NEW IMAGE IN STRING¢ ¢ LDX COUNT+1¢ LDY #0¢PT1: LDA STRING,X¢ STA (TAILAD),Y¢ INX¢ INY¢ CPY #8¢ BNE PT1¢ ¢ ;INCREASE STRING ADDRESS BY 8¢ ¢ LDA FLAG¢ CMP #0¢ BEQ LEFT¢ ¢ ;RIGHT, ADD 8 TO COUNT+1¢ ¢ LDA COUNT+1¢ CMP #24¢ BEQ PT4¢ CLC¢ ADC #8¢ STA COUNT+1¢ BPL PT2¢PT4: DEC FLAG¢ BEQ PT2¢ ¢ ;LEFT, SUBTRACT 8 FROM COUNT+1¢ ¢LEFT: LDA COUNT+1¢ BEQ PT3¢ SEC¢ SBC #8¢ STA COUNT+1¢ BPL PT2¢PT3: INC FLAG¢ ¢ ;RESET SCREEN ADDRESS¢ ¢PT2: LDA 88¢ STA SCREEN¢ LDA 89¢ STA SCREEN+1¢ ¢ ;DO SOUND EFFECT.CLOWN HITTING¢ ;BALLOON¢ ¢XSOUND: LDA TFLAG5¢ BEQ XS1¢ ¢ DEC SOUND1¢ BEQ SOFF¢ ¢ LDA SOUND1+1¢ AND #240¢ ORA SOUND1¢ STA AUDC1¢ STA SOUND1+1¢ JMP XS1¢ ¢SOFF: LDA #0¢ STA AUDF1¢ STA AUDC1¢ STA TFLAG5¢ ¢ ;DO SOUND EFFECT CLOWN HITTING¢ ;DOLLAR SIGN¢ ¢XS1: LDA TFLAG4¢ BEQ SEXIT¢ ¢ SEC¢ LDA SOUND2¢ SBC #10¢ STA SOUND2¢ STA AUDF2¢ BNE SEXIT¢ ¢ LDA #0¢ STA TFLAG4¢ STA AUDC2¢¢SEXIT: JMP XITVBV¢