...
|
...
|
@@ -86,22 +86,25 @@ BRK
|
86
|
86
|
[ LDA2k ] #05 SFT2 #0008 ADD2 [ .Screen/width DEI2 ] LTH2 ,&skip-max-x JCN
|
87
|
87
|
[ DUP2 #0004 ADD2 LDA2 ] #ffff MUL2 [ OVR2 #0004 ADD2 STA2 ]
|
88
|
88
|
&skip-max-x
|
|
89
|
+ ( check for left wall collision + bounce x )
|
|
90
|
+ [ LDA2k ] #0f SFT2 #0000 EQU2 ,&skip-min-x JCN
|
|
91
|
+ [ DUP2 #0004 ADD2 LDA2 ] #ffff MUL2 [ OVR2 #0004 ADD2 STA2 ]
|
|
92
|
+ &skip-min-x
|
89
|
93
|
( check for bottom wall collision + bounce y )
|
90
|
94
|
[ DUP2 #0006 ADD2 LDA2 ] #0f SFT2 #0001 EQU2 ,&skip-max-y JCN
|
91
|
95
|
[ INC2k INC2 LDA2 ] #05 SFT2 #0008 ADD2 [ .Screen/height DEI2 ] LTH2 ,&skip-max-y JCN
|
92
|
96
|
[ DUP2 #0006 ADD2 LDA2 ] #ffff MUL2 [ OVR2 #0006 ADD2 STA2 ]
|
|
97
|
+ ,&skip-gravity JMP
|
93
|
98
|
&skip-max-y
|
94
|
|
- ( check for left wall collision + bounce x )
|
95
|
|
- [ LDA2k ] #0f SFT2 #0000 EQU2 ,&skip-min-x JCN
|
96
|
|
- [ DUP2 #0004 ADD2 LDA2 ] #ffff MUL2 [ OVR2 #0004 ADD2 STA2 ]
|
97
|
|
- &skip-min-x
|
98
|
99
|
( check for top wall collision + bounce x )
|
99
|
100
|
[ INC2k INC2 LDA2 ] #0f SFT2 #0000 EQU2 ,&skip-min-y JCN
|
100
|
101
|
[ DUP2 #0006 ADD2 LDA2 ] #ffff MUL2 [ OVR2 #0006 ADD2 STA2 ]
|
|
102
|
+ ,&skip-gravity JMP
|
101
|
103
|
&skip-min-y
|
102
|
104
|
|
103
|
105
|
( apply gravity )
|
104
|
106
|
[ DUP2 #0006 ADD2 LDA2 ] #0004 ADD2 OVR2 #0006 ADD2 STA2
|
|
107
|
+ &skip-gravity
|
105
|
108
|
|
106
|
109
|
( draw the sprite )
|
107
|
110
|
( top )
|