home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Barymag 2
/
Barymag_2_1996_Slight_pl_Side_D.atr
/
intro.arc
/
DRAW.ASM
< prev
next >
Wrap
Assembly Source File
|
1988-09-01
|
8KB
|
1 lines
opt %00100101¢¢ org $00¢ad0 org *+2¢xd0 org *+1¢xd1 org *+1¢yd0 org *+1¢yd1 org *+1¢dx org *+1¢dy org *+1¢cx org *+1¢cy org *+1¢err org *+1¢¢¢* -----------------------¢* Sprite draw routine 1.0¢* coded by Seban/SLIGHT !¢* (c) 1996.04.23¢* -----------------------¢¢ org $a000¢¢set sta md0+1¢ sta md1+1¢ sta md2+1¢ sta md3+1¢ rts¢¢draw lda #$00¢ sta cx¢ sta cy¢¢ sec¢ lda xd1¢ sbc xd0¢ bcs d0¢ dec cx¢ ldx xd0¢ ldy xd1¢ sty xd0¢ stx xd1¢ eor #$ff¢ adc #$01¢d0 sta dx¢¢ sec¢ lda yd1¢ sbc yd0¢ bcs d1¢ dec cy¢ ldx yd0¢ ldy yd1¢ sty yd0¢ stx yd1¢ eor #$ff¢ adc #$01¢d1 sta dy¢¢ cmp dx¢ bcs zy¢¢¢* ------------¢* Always X !!!¢* ------------¢¢zx ldx dx ; always X¢ txa¢ lsr @¢ sta err¢¢ lda cx¢ eor cy¢ bne zxb¢¢zxa lda xd0¢ lsr @¢ lsr @¢ lsr @¢ clc¢md0 adc #$69¢ sta ad0+1¢¢ lda xd0¢ and #$07¢ tay¢ lda ta0,y¢ sta ru0+1¢ lda ta1,y¢ sta ru0+2¢ sec¢ ldy yd0¢ru0 jmp $4c4c¢¢zxb lda xd1¢ lsr @¢ lsr @¢ lsr @¢ clc¢md1 adc #$69¢ sta ad0+1¢¢ lda xd1¢ and #$07¢ tay¢ lda tb0,y¢ sta ru1+1¢ lda tb1,y¢ sta ru1+2¢ sec¢ ldy yd0¢ru1 jmp $4c4c¢¢* ------------¢* Always Y !!!¢* ------------¢¢zy ldx dy¢ txa¢ lsr @¢ sta err¢¢¢ lda cx¢ eor cy¢ bne zyb¢¢zya lda xd0¢ lsr @¢ lsr @¢ lsr @¢ clc¢md2 adc #$69¢ sta ad0+1¢¢ lda xd0¢ and #$07¢ tay¢ lda tc0,y¢ sta ru2+1¢ lda tc1,y¢ sta ru2+2¢ sec¢ ldy yd0¢ru2 jmp $4c4c¢¢zyb lda xd1¢ lsr @¢ lsr @¢ lsr @¢ clc¢md3 adc #$69¢ sta ad0+1¢¢ lda xd1¢ and #$07¢ tay¢ lda td0,y¢ sta ru3+1¢ lda td1,y¢ sta ru3+2¢ sec¢ ldy yd0¢ru3 jmp $4c4c¢¢* ----------------------------------¢¢ta0 dta l(a00),l(a01),l(a02),l(a03)¢ dta l(a04),l(a05),l(a06),l(a07)¢ta1 dta h(a00),h(a01),h(a02),h(a03)¢ dta h(a04),h(a05),h(a06),h(a07)¢tb0 dta l(b07),l(b06),l(b05),l(b04)¢ dta l(b03),l(b02),l(b01),l(b00)¢tb1 dta h(b07),h(b06),h(b05),h(b04)¢ dta h(b03),h(b02),h(b01),h(b00)¢¢tc0 dta l(c00),l(c01),l(c02),l(c03)¢ dta l(c04),l(c05),l(c06),l(c07)¢tc1 dta h(c00),h(c01),h(c02),h(c03)¢ dta h(c04),h(c05),h(c06),h(c07)¢td0 dta l(d07),l(d06),l(d05),l(d04)¢ dta l(d03),l(d02),l(d01),l(d00)¢td1 dta h(d07),h(d06),h(d05),h(d04)¢ dta h(d03),h(d02),h(d01),h(d00)¢¢ org set+$0200¢¢* ---------------¢* Always Y,type A¢¢dq4 rts¢ sta err¢c00 lda #$80¢ ora (ad0),y¢ sta (ad0),y¢ dex¢ bmi dq4¢ iny¢ lda err¢ sbc dx¢ bcs c00-2¢ adc dy¢¢ sta err¢c01 lda #$40¢ ora (ad0),y¢ sta (ad0),y¢ dex¢ bmi dq4¢ iny¢ lda err¢ sbc dx¢ bcs c01-2¢ adc dy¢¢ sta err¢c02 lda #$20¢ ora (ad0),y¢ sta (ad0),y¢ dex¢ bmi dq4¢ iny¢ lda err¢ sbc dx¢ bcs c02-2¢ adc dy¢¢ sta err¢c03 lda #$10¢ ora (ad0),y¢ sta (ad0),y¢ dex¢ bmi dq4¢ iny¢ lda err¢ sbc dx¢ bcs c03-2¢ adc dy¢¢ sta err¢c04 lda #$08¢ ora (ad0),y¢ sta (ad0),y¢ dex¢ bmi dq5¢ iny¢ lda err¢ sbc dx¢ bcs c04-2¢ adc dy¢¢ sta err¢c05 lda #$04¢ ora (ad0),y¢ sta (ad0),y¢ dex¢ bmi dq5¢ iny¢ lda err¢ sbc dx¢ bcs c05-2¢ adc dy¢¢ sta err¢c06 lda #$02¢ ora (ad0),y¢ sta (ad0),y¢ dex¢ bmi dq5¢ iny¢ lda err¢ sbc dx¢ bcs c06-2¢ adc dy¢¢ sta err¢c07 lda #$01¢ ora (ad0),y¢ sta (ad0),y¢ dex¢ bmi dq5¢ iny¢ lda err¢ sbc dx¢ bcs c07-2¢ adc dy¢¢ inc ad0+1¢ jmp c00-2¢dq5 rts¢¢ org set+$300¢¢* ---------------¢* Always Y,type B¢¢dq6 rts¢ sta err¢d00 lda #$01¢ ora (ad0),y¢ sta (ad0),y¢ dex¢ bmi dq6¢ iny¢ lda err¢ sbc dx¢ bcs d00-2¢ adc dy¢¢¢ sta err¢d01 lda #$02¢ ora (ad0),y¢ sta (ad0),y¢ dex¢ bmi dq6¢ iny¢ lda err¢ sbc dx¢ bcs d01-2¢ adc dy¢¢ sta err¢d02 lda #$04¢ ora (ad0),y¢ sta (ad0),y¢ dex¢ bmi dq6¢ iny¢ lda err¢ sbc dx¢ bcs d02-2¢ adc dy¢¢ sta err¢d03 lda #$08¢ ora (ad0),y¢ sta (ad0),y¢ dex¢ bmi dq6¢ iny¢ lda err¢ sbc dx¢ bcs d03-2¢ adc dy¢¢ sta err¢d04 lda #$10¢ ora (ad0),y¢ sta (ad0),y¢ dex¢ bmi dq7¢ iny¢ lda err¢ sbc dx¢ bcs d04-2¢ adc dy¢¢ sta err¢d05 lda #$20¢ ora (ad0),y¢ sta (ad0),y¢ dex¢ bmi dq7¢ iny¢ lda err¢ sbc dx¢ bcs d05-2¢ adc dy¢¢ sta err¢d06 lda #$40¢ ora (ad0),y¢ sta (ad0),y¢ dex¢ bmi dq7¢ iny¢ lda err¢ sbc dx¢ bcs d06-2¢ adc dy¢¢ sta err¢d07 lda #$80¢ ora (ad0),y¢ sta (ad0),y¢ dex¢ bmi dq7¢ iny¢ lda err¢ sbc dx¢ bcs d07-2¢ adc dy¢¢ dec ad0+1¢ jmp d00-2¢dq7 rts¢¢ org set+$400¢¢* ---------------¢* Always X,type A¢¢dq0 rts¢a00 lda #$80¢ ora (ad0),y¢ sta (ad0),y¢ dex¢ bmi dq0¢ lda err¢ sbc dy¢ bcs *+5¢ adc dx¢ iny¢ sta err¢¢a01 lda #$40¢ ora (ad0),y¢ sta (ad0),y¢ dex¢ bmi dq0¢ lda err¢ sbc dy¢ bcs *+5¢ adc dx¢ iny¢ sta err¢¢a02 lda #$20¢ ora (ad0),y¢ sta (ad0),y¢ dex¢ bmi dq0¢ lda err¢ sbc dy¢ bcs *+5¢ adc dx¢ iny¢ sta err¢¢a03 lda #$10¢ ora (ad0),y¢ sta (ad0),y¢ dex¢ bmi dq0¢ lda err¢ sbc dy¢ bcs *+5¢ adc dx¢ iny¢ sta err¢¢a04 lda #$08¢ ora (ad0),y¢ sta (ad0),y¢ dex¢ bmi dq1¢ lda err¢ sbc dy¢ bcs *+5¢ adc dx¢ iny¢ sta err¢¢a05 lda #$04¢ ora (ad0),y¢ sta (ad0),y¢ dex¢ bmi dq1¢ lda err¢ sbc dy¢ bcs *+5¢ adc dx¢ iny¢ sta err¢¢a06 lda #$02¢ ora (ad0),y¢ sta (ad0),y¢ dex¢ bmi dq1¢ lda err¢ sbc dy¢ bcs *+5¢ adc dx¢ iny¢ sta err¢¢a07 lda #$01¢ ora (ad0),y¢ sta (ad0),y¢ dex¢ bmi dq1¢ lda err¢ sbc dy¢ bcs *+5¢ adc dx¢ iny¢ sta err¢¢ inc ad0+1¢ jmp a00¢¢dq1 rts¢¢ org set+$500¢¢* -----------------¢* always X,type B¢¢dq2 rts¢b00 lda #$01¢ ora (ad0),y¢ sta (ad0),y¢ dex¢ bmi dq2¢ lda err¢ sbc dy¢ bcs *+5¢ adc dx¢ iny¢ sta err¢¢b01 lda #$02¢ ora (ad0),y¢ sta (ad0),y¢ dex¢ bmi dq2¢ lda err¢ sbc dy¢ bcs *+5¢ adc dx¢ iny¢ sta err¢¢b02 lda #$04¢ ora (ad0),y¢ sta (ad0),y¢ dex¢ bmi dq2¢ lda err¢ sbc dy¢ bcs *+5¢ adc dx¢ iny¢ sta err¢¢b03 lda #$08¢ ora (ad0),y¢ sta (ad0),y¢ dex¢ bmi dq2¢ lda err¢ sbc dy¢ bcs *+5¢ adc dx¢ iny¢ sta err¢¢b04 lda #$10¢ ora (ad0),y¢ sta (ad0),y¢ dex¢ bmi dq3¢ lda err¢ sbc dy¢ bcs *+5¢ adc dx¢ iny¢ sta err¢¢b05 lda #$20¢ ora (ad0),y¢ sta (ad0),y¢ dex¢ bmi dq3¢ lda err¢ sbc dy¢ bcs *+5¢ adc dx¢ iny¢ sta err¢¢b06 lda #$40¢ ora (ad0),y¢ sta (ad0),y¢ dex¢ bmi dq3¢ lda err¢ sbc dy¢ bcs *+5¢ adc dx¢ iny¢ sta err¢¢b07 lda #$80¢ ora (ad0),y¢ sta (ad0),y¢ dex¢ bmi dq3¢ lda err¢ sbc dy¢ bcs *+5¢ adc dx¢ iny¢ sta err¢¢ dec ad0+1¢ jmp b00¢¢dq3 rts¢