| ... | ... |
@@ -64,6 +64,10 @@ |
| 64 | 64 |
( setup ) |
| 65 | 65 |
#01 .timer/play STZ |
| 66 | 66 |
#01 .color STZ |
| 67 |
+ |
|
| 68 |
+ ;world-a ;get-addr/current STA2 |
|
| 69 |
+ LENGTH ;run/future-offset STA2 |
|
| 70 |
+ |
|
| 67 | 71 |
;redraw JSR2 |
| 68 | 72 |
|
| 69 | 73 |
BRK |
| ... | ... |
@@ -74,8 +78,13 @@ BRK |
| 74 | 78 |
( every 4th ) |
| 75 | 79 |
.timer/frame LDZk |
| 76 | 80 |
#03 AND ,&no-run JCN |
| 77 |
- ;run JSR2 |
|
| 78 |
- ;past-world LENGTH ++ ;past-world LENGTH ;mcpy JSR2 |
|
| 81 |
+ ;run JSR2 |
|
| 82 |
+ |
|
| 83 |
+ ( Swap worlds ) |
|
| 84 |
+ ;get-addr/current LDA2k ;run/future-offset LDA2 STH2k ( ;current current* offest* ) |
|
| 85 |
+ ++ SWP2 STA2 ( Set new current page ) |
|
| 86 |
+ #0000 STH2r -- ;run/future-offset STA2 ( Invert offest ) |
|
| 87 |
+ |
|
| 79 | 88 |
;redraw JSR2 |
| 80 | 89 |
&no-run |
| 81 | 90 |
LDZk INC SWP STZ |
| ... | ... |
@@ -148,8 +157,8 @@ RTN |
| 148 | 157 |
WIDTH #00 |
| 149 | 158 |
&hor |
| 150 | 159 |
( x,y ) DUP STHkr |
| 151 |
- ( cell ) DUP2 ,get-addr JSR STH2k LDA |
|
| 152 |
- ( transform ) ,transform JSR STH2r ( future ) LENGTH ++ STA |
|
| 160 |
+ ( cell ) DUP2 ,get-addr JSR STH2k LDA |
|
| 161 |
+ ( transform ) ,transform JSR STH2r ( future ) LIT2 &future-offset 0000 ++ STA |
|
| 153 | 162 |
INC GTHk ,&hor JCN |
| 154 | 163 |
POP2 |
| 155 | 164 |
POPr |
| ... | ... |
@@ -160,7 +169,7 @@ RTN |
| 160 | 169 |
|
| 161 | 170 |
@get-addr ( x y -- addr* ) |
| 162 | 171 |
|
| 163 |
- TOS [ #00 WIDTH ] ** ROT TOS ++ ;past-world ++ |
|
| 172 |
+ TOS [ #00 WIDTH ] ** ROT TOS ++ LIT2 ¤t 0000 ++ |
|
| 164 | 173 |
|
| 165 | 174 |
RTN |
| 166 | 175 |
|
| ... | ... |
@@ -190,18 +199,6 @@ RTN |
| 190 | 199 |
|
| 191 | 200 |
RTN |
| 192 | 201 |
|
| 193 |
-@mcpy ( src* dst* len* -- ) |
|
| 194 |
- |
|
| 195 |
- SWP2 STH2 |
|
| 196 |
- OVR2 ++ SWP2 |
|
| 197 |
- &loop |
|
| 198 |
- LDAk STH2kr STA INC2r |
|
| 199 |
- INC2 GTH2k ,&loop JCN |
|
| 200 |
- POP2 POP2 |
|
| 201 |
- POP2r |
|
| 202 |
- |
|
| 203 |
-JMP2r |
|
| 204 |
- |
|
| 205 | 202 |
@mclr ( addr* len* -- ) |
| 206 | 203 |
|
| 207 | 204 |
OVR2 ++ SWP2 |
| ... | ... |
@@ -223,4 +220,4 @@ JMP2r |
| 223 | 220 |
What do I do? |
| 224 | 221 |
How do I find peace? ) |
| 225 | 222 |
|
| 226 |
-@past-world |
|
| 223 |
+@world-a |