| ... | ... |
@@ -27,8 +27,9 @@ |
| 27 | 27 |
%RTN { JMP2r }
|
| 28 | 28 |
%TOS { #00 SWP }
|
| 29 | 29 |
|
| 30 |
-%WIDTH { #40 }
|
|
| 30 |
+%WIDTH { #40 }
|
|
| 31 | 31 |
%HEIGHT { #40 }
|
| 32 |
+%LENGTH { #1000 }
|
|
| 32 | 33 |
|
| 33 | 34 |
( devices ) |
| 34 | 35 |
|
| ... | ... |
@@ -74,7 +75,7 @@ BRK |
| 74 | 75 |
.timer/frame LDZk |
| 75 | 76 |
#03 AND ,&no-run JCN |
| 76 | 77 |
;run JSR2 |
| 77 |
- ;future-world ;past-world #4000 ;mcpy JSR2 |
|
| 78 |
+ ;past-world LENGTH ++ ;past-world LENGTH ;mcpy JSR2 |
|
| 78 | 79 |
;redraw JSR2 |
| 79 | 80 |
&no-run |
| 80 | 81 |
LDZk INC SWP STZ |
| ... | ... |
@@ -144,7 +145,7 @@ RTN |
| 144 | 145 |
&hor |
| 145 | 146 |
( x,y ) DUP STHkr |
| 146 | 147 |
( cell ) DUP2 ,get-addr JSR STH2k LDA |
| 147 |
- ( transform ) ,transform JSR STH2r ( future ) #4000 ++ STA |
|
| 148 |
+ ( transform ) ,transform JSR STH2r ( future ) LENGTH ++ STA |
|
| 148 | 149 |
INC GTHk ,&hor JCN |
| 149 | 150 |
POP2 |
| 150 | 151 |
POPr |
| ... | ... |
@@ -153,33 +154,35 @@ RTN |
| 153 | 154 |
|
| 154 | 155 |
RTN |
| 155 | 156 |
|
| 156 |
-@transform ( xy cell -- cell ) |
|
| 157 |
- |
|
| 158 |
- DUP #03 ! ,&no-head JCN POP POP2 #02 RTN &no-head |
|
| 159 |
- DUP #02 ! ,&no-tail JCN POP POP2 #01 RTN &no-tail |
|
| 160 |
- DUP #01 ! ,&no-cond JCN POP ,morph JSR #02 * INC RTN &no-cond |
|
| 161 |
- NIP NIP |
|
| 162 |
- |
|
| 163 |
-RTN |
|
| 164 |
- |
|
| 165 | 157 |
@get-addr ( x y -- addr* ) |
| 166 | 158 |
|
| 167 | 159 |
TOS [ #00 WIDTH ] ** ROT TOS ++ ;past-world ++ |
| 168 | 160 |
|
| 169 | 161 |
RTN |
| 170 | 162 |
|
| 171 |
-@morph ( xy -- bool ) |
|
| 163 |
+@transform ( xy cell -- cell ) |
|
| 172 | 164 |
|
| 173 |
- LITr 00 |
|
| 174 |
- DUP2 SWP #01 - SWP #01 - ,get-addr JSR LDA #03 ! JMP INCr |
|
| 175 |
- DUP2 #01 - ,get-addr JSR LDA #03 ! JMP INCr |
|
| 176 |
- DUP2 SWP INC SWP #01 - ,get-addr JSR LDA #03 ! JMP INCr |
|
| 177 |
- DUP2 SWP #01 - SWP ,get-addr JSR LDA #03 ! JMP INCr |
|
| 178 |
- DUP2 SWP INC SWP ,get-addr JSR LDA #03 ! JMP INCr |
|
| 179 |
- DUP2 SWP #01 - SWP INC ,get-addr JSR LDA #03 ! JMP INCr |
|
| 180 |
- DUP2 INC ,get-addr JSR LDA #03 ! JMP INCr |
|
| 181 |
- SWP INC SWP INC ,get-addr JSR LDA #03 ! JMP INCr |
|
| 182 |
- STHkr #02 = STHr #01 = #0000 >> |
|
| 165 |
+ DUP #00 ! ,&no-null JCN NIP NIP RTN &no-null |
|
| 166 |
+ DUP #03 ! ,&no-head JCN POP POP2 #02 RTN &no-head |
|
| 167 |
+ DUP #02 ! ,&no-tail JCN POP POP2 #01 RTN &no-tail |
|
| 168 |
+ DUP #01 ! ,&no-cond JCN POP |
|
| 169 |
+ LITr 00 |
|
| 170 |
+ DUP2 #01 - ,get-addr JSR |
|
| 171 |
+ ( tl ) #0001 -- LDAk #03 ! JMP INCr |
|
| 172 |
+ ( tc ) INC2 LDAk #03 ! JMP INCr |
|
| 173 |
+ ( tr ) INC2 LDA #03 ! JMP INCr |
|
| 174 |
+ DUP2 ,get-addr JSR |
|
| 175 |
+ ( ml ) #0001 -- LDAk #03 ! JMP INCr |
|
| 176 |
+ ( mr ) INC2 INC2 LDA #03 ! JMP INCr |
|
| 177 |
+ INC ,get-addr JSR |
|
| 178 |
+ ( bl ) #0001 -- LDAk #03 ! JMP INCr |
|
| 179 |
+ ( bc ) INC2 LDAk #03 ! JMP INCr |
|
| 180 |
+ ( br ) INC2 LDA #03 ! JMP INCr |
|
| 181 |
+ STHkr #02 = STHr #01 = #0000 >> |
|
| 182 |
+ #02 * INC RTN |
|
| 183 |
+ &no-cond |
|
| 184 |
+ ( unknown ) |
|
| 185 |
+ NIP NIP |
|
| 183 | 186 |
|
| 184 | 187 |
RTN |
| 185 | 188 |
|
| ... | ... |
@@ -206,4 +209,4 @@ JMP2r |
| 206 | 209 |
What do I do? |
| 207 | 210 |
How do I find peace? ) |
| 208 | 211 |
|
| 209 |
-@past-world $4000 @future-world |
|
| 212 |
+@past-world |