This is non-commercial site, its content is based on Atari 8-bit home computer contents and references.
If you feel your rights are violated by showing/using any part of contents of your product represented on this page,
please contact me immediatelly so I can remove it!
|
-
Entry name:Missile-move
-
Category:Player/Missile graphics
-
Publisher/Developer:SoftSide Publications
-
Year:1983
Listing 1
10000 FOR X=1664 TO 1755 10010 READ Y:POKE X,Y:NEXT X 10020 DATA 104,104,133,213,104,133 10030 DATA 212,104,104,168,104,104 10040 DATA 170,169,3,192,0,240,5,10 10050 DATA 10,136,144,247,141,219,6 10060 DATA 160,255,138,208,31,168 10070 DATA 173,219,6,73,255,49,212 10080 DATA 145,212,200,173,219,6,49 10090 DATA 212,136,17,212,145,211,200 10100 DATA 192,255,208,231,169,0,145 10110 DATA 212,96,173,219,6,73,255,49 10120 DATA 212,145,212,136,173,219,6 10130 DATA 49,212,200,17,212,145,212 10140 DATA 136,208,233,169,0,145,212 10150 DATA 96,96
Listing 2
0000 0100 *= $0680 ;ASSEMBLY LOCATION. 0110 ; 0680 68 0120 INIT PLA ;REMOVE # OF ARCS. 0681 68 0130 PLA ;GET MSB OF MISSILE 0682 85D5 0140 STA $D5 ; RAM AND STORE IT. 0684 68 0150 PLA ;GET LSB OF MISSILE 0685 85D4 0160 STA $04 ; RAM AND STORE IT. 0687 68 0170 PLA ;DISCARD MSB AND PUT 0688 68 0180 PLA ; LSB OF THE MISSILE 0689 A8 0190 TAY ; TO MOVE INTO 'Y'. 068A 68 0200 PLA ;DISCARD MSB AND PUT 068B 68 0210 PLA ; LSB OF DIRECTTION 068C AA 0220 TAX ; TO MOVE INTO 'X'. 068D A903 0230 LDA #$03 ;SET UP BIT MASK. 068F C000 0240 ADJUST CPY #$00 ;MASK ADJUSTED? 0691 F005 0250 BEQ PPM ;SAVE MASK IF O.K. 0693 0A 0260 ASL A ;SHIFT MASK TO POINT 0694 0A 0270 ASL A ; TO NEXT MISSILE. 0695 88 0280 DEY 0696 90F7 0290 BCC ADJUST ;CHECK IF DONE. 0698 8DDB06 0300 PUTMSK STA MASK ;SAVE MISSILE MASK. 069B A0FF 0310 LDY #$FF ;SETUP MOVE OFFSET. 069D 8A 0320 TXA ;RESTORE DIRECTION. 069E D01F 0330 BNE DOWN ;MOVE UP IF ZERO. 06A0 A8 0340 TAY ;FIX OFFSET FOR UP. 0350 06A1 ADDB06 0360 UP LDA MASK ;GET MISSILE MASK 06A4 49FF 0370 EOR #$FF ; AND INVERT IT. 06A6 3104 0380 AND ($D4),Y ;REMOVE THE EXISTING 06A8 9104 0390 STA ($D4),Y ; MISSILE BITS. 06AA C8 0400 INY ;POINT TO NEW BITS. 06AB ADDB0674I0 LDA MASK ;GET MISSILE MASK 06AE 3104 0420 AND ($D4),Y ; AND EXISTING BITS. 06B0 88 0430 DEY ;POINT TO DESTINATION. 06B1 1104 0440 ORA ($D4),Y ;ADD ONLY MISSILE 06B3 9104 0450 STA ($D4),Y ; BITS AND SAVE. 06B5 C8 0460 INY ;POINT BACK AGAIN. 06B6 C0FF 0470 CPY #$FF ;CHECK IF LAST 06B8 D0E7 0480 BNE UP ; MISSILE BITE. 06BA A900 0490 LDA #$00 ;ZERO OUT OLD 06BC 8104 0500 STA ($D4),Y ; EDGE CONTENTS. 06BE 60 0510 RTS ;ALL DONE. 0520 06BF AD0806 0530 DOWN LDA MASK ;GET MISSILE MASK 06C2 49FF 0540 EOR #$FF ; AND INVERT IT. 06C4 3104 0550 AND ($D4),Y ;REMOVE EXISTING 06C6 9104 0560 STA ($D4),Y ; MISSILE BITS. 06C8 88 0570 DEY ;POINT TO NEW BITS. 06C9 ADDB06 0580 LDA MASK ;GET MISSILE MASK 06CC 3104 0590 AND ($D4),Y ; AND EXISTING BITS. 06CE C8 0600 INY ;POINT TO DESTINATION. 06CF 1104 0610 ORA ($D4).Y ;ADD ONLY MISSILE 06D1 9104 0620 STA ($D4),Y ; BITS AND SAVE. 06D3 88 0630 DEY ;CHECK FOR LAST 06D4 D0E9 0640 BNE DOWN ; MISSILE BYTE. 06D6 A900 0650 LDA #$00 ;ZERO OUT OLD 06D8 9104 0660 STA ($D4),Y ; EDGE CONTENTS. 06DA 60 0670 RTS ;ALL DONE. 0680 ; 06DB 60 0690 MASK RTS ;TEMPORARY STORAGE.
References
Downloads
Copyright holder