Jeśli chcesz wziąć udział w dyskusjach na forum - zaloguj się. Jeżeli nie masz loginu - poproś o członkostwo.
Vanilla 1.1.4 jest produktem Lussumo. Więcej informacji: Dokumentacja, Forum.
;----------------------------------------------------------
; VBLANK PROCEDURE CALLED ONCE PER FRAME
;----------------------------------------------------------
PROC VBLANKD=*()
[PHAXY]
IF HSCROLI=$B THEN
IF LMS=LOOPEND THEN
DRAWLINE() RESETVARS()
ELSE
LMS==+1 SCREENI==+1
FI
BTMP1==+1
IF BTMP1=1 THEN CHBAS=$60 FI
IF BTMP1=2 THEN CHBAS=$64 FI
IF BTMP1=3 THEN CHBAS=$68 FI
IF BTMP1=4 THEN CHBAS=$6B FI
IF BTMP1=5 THEN CHBAS=$68 FI
IF BTMP1=6 THEN CHBAS=$64 FI
IF BTMP1=7 THEN CHBAS=$60 BTMP1=0 FI
HSCROLI=$F
FI
HSCROL=HSCROLI HSCROLI==-1
[PLAXY]
[JMP OLDVBL]
COARSEI==+1
IF COARSEI=6 THEN CHBAS==+4 FI
IF COARSEI=8 THEN CHBAS==+4 FI
IF COARSEI=14 THEN CHBAS==-4 FI
IF COARSEI=16 THEN CHBAS==-4 COARSEI=0 FI
; Action! RUNTIME: MoveBlock=*(CARD d, s, l)
0E9D: 85 A0 STA $A0 ;TSLNUM
0E9F: 86 A1 STX $A1 ;TSLNUM+1
0EA1: 84 A2 STY $A2 ;MVLNG
0EA3: A0 00 LDY #$00
0EA5: A5 A4 LDA $A4 ;ECSIZE
0EA7: D0 04 BNE $0EAD
0EA9: A5 A5 LDA $A5 ;ECSIZE+1
0EAB: F0 18 BEQ $0EC5
0EAD: B1 A2 LDA ($A2),Y ;MVLNG
0EAF: 91 A0 STA ($A0),Y ;TSLNUM
0EB1: C8 INY
0EB2: D0 04 BNE $0EB8
0EB4: E6 A1 INC $A1 ;TSLNUM+1
0EB6: E6 A3 INC $A3 ;MVLNG+1
0EB8: C6 A4 DEC $A4 ;ECSIZE
0EBA: A5 A4 LDA $A4 ;ECSIZE
0EBC: C9 FF CMP #$FF
0EBE: D0 E5 BNE $0EA5
0EC0: C6 A5 DEC $A5 ;ECSIZE+1
0EC2: 38 SEC
0EC3: B0 E0 BCS $0EA5
0EC5: 60 RTS
COARSEI==+1
IF COARSEI=8 THEN CHBAS==+4
ELSEIF COARSEI=9 THEN CHBAS==+4
ELSEIF COARSEI=10 THEN CHBAS==+4
ELSEIF COARSEI=18 THEN CHBAS==-4
ELSEIF COARSEI=19 THEN CHBAS==-4
ELSEIF COARSEI=20 THEN CHBAS==-4
COARSEI=0 FI
;----------------------------------------------------------
111D: E6 61 INC $61 ;FKDEF+1
111F: A5 61 LDA $61 ;FKDEF+1
1121: 49 08 EOR #$08
1123: F0 03 BEQ $1128
1125: 4C 34 11 JMP $1134
1128: 18 CLC
1129: AD F4 02 LDA $02F4 ;CHBAS
112C: 69 04 ADC #$04
112E: 8D F4 02 STA $02F4 ;CHBAS
1131: 4C 9E 11 JMP $119E
1134: A5 61 LDA $61 ;FKDEF+1
1136: 49 09 EOR #$09
1138: F0 03 BEQ $113D
113A: 4C 49 11 JMP $1149
113D: 18 CLC
113E: AD F4 02 LDA $02F4 ;CHBAS
1141: 69 04 ADC #$04
1143: 8D F4 02 STA $02F4 ;CHBAS
1146: 4C 9E 11 JMP $119E
1149: A5 61 LDA $61 ;FKDEF+1
114B: 49 0A EOR #$0A
114D: F0 03 BEQ $1152
114F: 4C 5E 11 JMP $115E
1152: 18 CLC
1153: AD F4 02 LDA $02F4 ;CHBAS
1156: 69 04 ADC #$04
1158: 8D F4 02 STA $02F4 ;CHBAS
115B: 4C 9E 11 JMP $119E
115E: A5 61 LDA $61 ;FKDEF+1
1160: 49 12 EOR #$12
1162: F0 03 BEQ $1167
1164: 4C 73 11 JMP $1173
1167: 38 SEC
1168: AD F4 02 LDA $02F4 ;CHBAS
116B: E9 04 SBC #$04
116D: 8D F4 02 STA $02F4 ;CHBAS
1170: 4C 9E 11 JMP $119E
1173: A5 61 LDA $61 ;FKDEF+1
1175: 49 13 EOR #$13
1177: F0 03 BEQ $117C
1179: 4C 88 11 JMP $1188
117C: 38 SEC
117D: AD F4 02 LDA $02F4 ;CHBAS
1180: E9 04 SBC #$04
1182: 8D F4 02 STA $02F4 ;CHBAS
1185: 4C 9E 11 JMP $119E
1188: A5 61 LDA $61 ;FKDEF+1
118A: 49 14 EOR #$14
118C: F0 03 BEQ $1191
118E: 4C 9E 11 JMP $119E
1191: 38 SEC
1192: AD F4 02 LDA $02F4 ;CHBAS
1195: E9 04 SBC #$04
1197: 8D F4 02 STA $02F4 ;CHBAS
119A: A0 00 LDY #$00
119C: 84 61 STY $61 ;FKDEF+1
DRAWROCKET
lda RANDOM
ora #1
and #7
tay
iny
sty SHIPTYPE
ROCKETBODY
ldx ROW
inx
jsr DRAWROW
ROCKETHEAD
lda SHIPTYPE
ldx ROW
inx
inx
jmp DRAWROW
dr1
rts
PROC DRAWROCKET=*()
SHIPTYPE=(RANDOM%1) & 31
IF SHIPTYPE>7 THEN RET FI
POKEADDR=SCREENI-$30 ELMPOKE(SHIPTYPE) SHIPTYPE==+1
POKEADDR=SCREENI-$60 ELMPOKE(SHIPTYPE)
RET