| ... | ... |
@@ -1,7 +1,7 @@ |
| 1 | 1 |
( DVD Bounce ) |
| 2 | 2 |
|
| 3 |
-|00 @System &vector $2 &wst $1 &rst $1 &eaddr $2 &ecode $1 &pad $1 &r $2 &g $2 &b $2 &debug $1 &halt $1 |
|
| 4 |
-|20 @Screen &vector $2 &width $2 &height $2 &auto $1 &pad $1 &x $2 &y $2 &addr $2 &pixel $1 &sprite $1 |
|
| 3 |
+|00 @System &vector $2 &wst $1 &rst $1 &eaddr $2 &ecode $1 &pad $1 &r $2 &g $2 &b $2 &debug $1 &halt $1 |
|
| 4 |
+|20 @Screen &vector $2 &width $2 &height $2 &auto $1 &pad $1 &x $2 &y $2 &addr $2 &pixel $1 &sprite $1 |
|
| 5 | 5 |
|
| 6 | 6 |
|0000 |
| 7 | 7 |
|
| ... | ... |
@@ -9,15 +9,19 @@ |
| 9 | 9 |
|
| 10 | 10 |
|0100 ( -> ) |
| 11 | 11 |
|
| 12 |
- ( theme ) |
|
| 13 |
- #4cfd .System/r DEO2 |
|
| 14 |
- #4cf3 .System/g DEO2 |
|
| 12 |
+ ( theme ) |
|
| 13 |
+ #4cfd .System/r DEO2 |
|
| 14 |
+ #4cf3 .System/g DEO2 |
|
| 15 | 15 |
#dcf2 .System/b DEO2 |
| 16 | 16 |
( vectors ) |
| 17 | 17 |
;on-frame .Screen/vector DEO2 |
| 18 | 18 |
( starting position ) |
| 19 | 19 |
.Screen/width DEI2 #01 SFT2 .dvd/x STZ2 |
| 20 | 20 |
.Screen/height DEI2 #01 SFT2 .dvd/y STZ2 |
| 21 |
+ ( set collisions ) |
|
| 22 |
+ .Screen/width DEI2 #0020 SUB2 ;on-frame/hit-hor STA2 |
|
| 23 |
+ .Screen/height DEI2 #0010 SUB2 ;on-frame/hit-ver STA2 |
|
| 24 |
+ ( drawing mode ) |
|
| 21 | 25 |
#36 .Screen/auto DEO |
| 22 | 26 |
#01 ,draw-dvd JSR |
| 23 | 27 |
|
| ... | ... |
@@ -26,21 +30,23 @@ BRK |
| 26 | 30 |
@on-frame ( -> ) |
| 27 | 31 |
|
| 28 | 32 |
#00 ,draw-dvd JSR |
| 29 |
- ( case: hit-right ) .dvd/x LDZ2 .Screen/width DEI2 #0020 SUB2 EQU2 |
|
| 30 |
- ( case: hit-left ) .dvd/x LDZ2 #0000 EQU2 |
|
| 31 |
- #0000 EQU2 ,&no-flipx JCN |
|
| 32 |
- .dvd/dx LDZk #00 EQU SWP STZ |
|
| 33 |
- &no-flipx |
|
| 34 |
- ( case: hit-bottom ) .dvd/y LDZ2 .Screen/height DEI2 #0010 SUB2 EQU2 |
|
| 35 |
- ( case: hit-top ) .dvd/y LDZ2 #0000 EQU2 |
|
| 36 |
- #0000 EQU2 ,&no-flipy JCN |
|
| 37 |
- .dvd/dy LDZk #00 EQU SWP STZ |
|
| 38 |
- &no-flipy |
|
| 39 |
- ( incr ) .dvd/x LDZ2 #0001 #00 .dvd/dx LDZ #00 EQU DUP2 ADD2 SUB2 ADD2 .dvd/x STZ2 |
|
| 40 |
- ( incr ) .dvd/y LDZ2 #0001 #00 .dvd/dy LDZ #00 EQU DUP2 ADD2 SUB2 ADD2 .dvd/y STZ2 |
|
| 33 |
+ ( x ) |
|
| 34 |
+ .dvd/x LDZ2 |
|
| 35 |
+ STH2k #0000 EQU2 ,&flip-x JCN |
|
| 36 |
+ STH2kr [ LIT2 &hit-hor $2 ] EQU2 ,&flip-x JCN |
|
| 37 |
+ &no-x |
|
| 38 |
+ STH2r [ #00 .dvd/dx LDZ ] #10 SFT2 ADD2 #ffff ADD2 .dvd/x STZ2 |
|
| 39 |
+ ( y ) |
|
| 40 |
+ .dvd/y LDZ2 |
|
| 41 |
+ STH2k #0000 EQU2 ,&flip-y JCN |
|
| 42 |
+ STH2kr [ LIT2 &hit-ver $2 ] EQU2 ,&flip-y JCN |
|
| 43 |
+ &no-y |
|
| 44 |
+ STH2r [ #00 .dvd/dy LDZ ] #10 SFT2 ADD2 #ffff ADD2 .dvd/y STZ2 |
|
| 41 | 45 |
#01 ,draw-dvd JSR |
| 42 | 46 |
|
| 43 | 47 |
BRK |
| 48 |
+ &flip-x .dvd/dx LDZk #00 EQU SWP STZ ,&no-x JMP |
|
| 49 |
+ &flip-y .dvd/dy LDZk #00 EQU SWP STZ ,&no-y JMP |
|
| 44 | 50 |
|
| 45 | 51 |
@draw-dvd ( color -- ) |
| 46 | 52 |
|