... | ... |
@@ -1,11 +1,5 @@ |
1 | 1 |
( polycat ) |
2 | 2 |
|
3 |
-%2// { #01 SFT2 } |
|
4 |
-%!~ { NEQk NIP } |
|
5 |
-%AUTO-XADDR { #05 .Screen/auto DEO } |
|
6 |
- |
|
7 |
-( devices ) |
|
8 |
- |
|
9 | 3 |
|00 @System &vector $2 &wst $1 &rst $1 &pad $4 &r $2 &g $2 &b $2 &debug $1 &halt $1 |
10 | 4 |
|20 @Screen &vector $2 &width $2 &height $2 &auto $1 &pad $1 &x $2 &y $2 &addr $2 &pixel $1 &sprite $1 |
11 | 5 |
|90 @Mouse &vector $2 &x $2 &y $2 &state $1 &pad $3 &scrollx $2 &scrolly $2 |
... | ... |
@@ -14,18 +8,18 @@ |
14 | 8 |
|
15 | 9 |
|0000 |
16 | 10 |
|
17 |
-@cat |
|
11 |
+@cat |
|
18 | 12 |
&x $2 &y $2 &timer $1 |
19 |
-@pointer |
|
13 |
+@pointer |
|
20 | 14 |
&x $2 &y $2 |
21 | 15 |
|
22 | 16 |
( program ) |
23 | 17 |
|
24 | 18 |
|0100 ( -> ) |
25 | 19 |
|
26 |
- ( theme ) |
|
27 |
- #0a3f .System/r DEO2 |
|
28 |
- #05df .System/g DEO2 |
|
20 |
+ ( theme ) |
|
21 |
+ #0a3f .System/r DEO2 |
|
22 |
+ #05df .System/g DEO2 |
|
29 | 23 |
#0caf .System/b DEO2 |
30 | 24 |
( DOS resolution ) |
31 | 25 |
#0140 .Screen/width DEO2 |
... | ... |
@@ -33,10 +27,10 @@ |
33 | 27 |
( vectors ) |
34 | 28 |
;on-mouse .Mouse/vector DEO2 |
35 | 29 |
( find center ) |
36 |
- .Screen/width DEI2 2// .cat/x STZ2 |
|
37 |
- .Screen/height DEI2 2// .cat/y STZ2 |
|
38 |
- ( set screen mode ) |
|
39 |
- AUTO-XADDR |
|
30 |
+ .Screen/width DEI2 #01 SFT2 .cat/x STZ2 |
|
31 |
+ .Screen/height DEI2 #01 SFT2 .cat/y STZ2 |
|
32 |
+ ( set screen mode auto-x ) |
|
33 |
+ #05 .Screen/auto DEO |
|
40 | 34 |
( init ) |
41 | 35 |
#ff ;draw-eye/last STA |
42 | 36 |
#ff ;draw-tail/last STA |
... | ... |
@@ -50,7 +44,7 @@ BRK |
50 | 44 |
.cat/y LDZ2 #0018 ADD2 .Screen/y DEO2 |
51 | 45 |
.cat/x LDZ2 #0010 SUB2 .Screen/x DEO2 |
52 | 46 |
;ground .Screen/addr DEO2 |
53 |
- #1000 |
|
47 |
+ #1000 |
|
54 | 48 |
&loop |
55 | 49 |
#01 .Screen/sprite DEO |
56 | 50 |
INC GTHk ,&loop JCN |
... | ... |
@@ -92,7 +86,7 @@ BRK |
92 | 86 |
DUP ,&last LDR NEQ ,&changed JCN |
93 | 87 |
POP JMP2r &changed |
94 | 88 |
( only redraw on change ) |
95 |
- DUP |
|
89 |
+ DUP |
|
96 | 90 |
#00 SWP ;eye ADD2 .Screen/addr DEO2 |
97 | 91 |
.cat/y LDZ2 #0008 ADD2 .Screen/y DEO2 |
98 | 92 |
.cat/x LDZ2 #0008 SUB2 .Screen/x DEO2 |
... | ... |
@@ -107,9 +101,9 @@ JMP2r |
107 | 101 |
DUP ,&last LDR NEQ ,&changed JCN |
108 | 102 |
POP JMP2r &changed |
109 | 103 |
( only redraw on change ) |
110 |
- DUP |
|
111 |
- ;frames ROT #00 SWP ADD2 LDA |
|
112 |
- #00 SWP #40 SFT2 ;body/tail ADD2 |
|
104 |
+ DUP |
|
105 |
+ ;frames ROT #00 SWP ADD2 LDA |
|
106 |
+ #00 SWP #40 SFT2 ;body/tail ADD2 |
|
113 | 107 |
.Screen/addr DEO2 |
114 | 108 |
.cat/x LDZ2 .Screen/x DEO2 |
115 | 109 |
.cat/y LDZ2 #0010 ADD2 .Screen/y DEO2 |
... | ... |
@@ -122,27 +116,27 @@ JMP2r |
122 | 116 |
@draw-cursor ( -- ) |
123 | 117 |
|
124 | 118 |
( last cursor ) |
125 |
- ;cursor STH2k .Screen/addr DEO2 |
|
126 |
- .pointer/x LDZ2 .Screen/x DEO2 |
|
127 |
- .pointer/y LDZ2 .Screen/y DEO2 |
|
119 |
+ ;cursor STH2k .Screen/addr DEO2 |
|
120 |
+ .pointer/x LDZ2 .Screen/x DEO2 |
|
121 |
+ .pointer/y LDZ2 .Screen/y DEO2 |
|
128 | 122 |
#40 .Screen/sprite DEO |
129 | 123 |
( new cursor ) |
130 |
- STH2r .Screen/addr DEO2 |
|
124 |
+ STH2r .Screen/addr DEO2 |
|
131 | 125 |
.Mouse/x DEI2 DUP2 .pointer/x STZ2 .Screen/x DEO2 |
132 |
- .Mouse/y DEI2 DUP2 .pointer/y STZ2 .Screen/y DEO2 |
|
126 |
+ .Mouse/y DEI2 DUP2 .pointer/y STZ2 .Screen/y DEO2 |
|
133 | 127 |
#41 .Mouse/state DEI #00 NEQ ADD .Screen/sprite DEO |
134 | 128 |
|
135 | 129 |
JMP2r |
136 | 130 |
|
137 |
-@cursor |
|
138 |
- 80c0 e0f0 f8e0 1000 |
|
131 |
+@cursor |
|
132 |
+ 80c0 e0f0 f8e0 1000 |
|
139 | 133 |
@frames |
140 | 134 |
00 01 02 03 02 01 00 00 |
141 | 135 |
00 00 00 00 00 00 00 00 |
142 |
-@ears |
|
136 |
+@ears |
|
143 | 137 |
081c 3e3e 7f7f ffff 081c 3e3e 7f7f fffc |
144 |
- 081c 3c3e 7e7e ffff 081c 3c3e 7e7e ff1f |
|
145 |
-@eye |
|
138 |
+ 081c 3c3e 7e7e ffff 081c 3c3e 7e7e ff1f |
|
139 |
+@eye |
|
146 | 140 |
ffff ffff ff7f 3f0f f7ef cfe7 f07c 3f0f |
147 | 141 |
ffff ffff fffe fcf0 87c3 c183 071e fcf0 |
148 | 142 |
ffff ffff ff7f 3f0f f0e1 c1e0 f07c 3f0f |
... | ... |
@@ -151,7 +145,7 @@ JMP2r |
151 | 145 |
ffff ffff fffe fcf0 0783 c1c3 871e fcf0 |
152 | 146 |
ffff ffff ff7f 3f0f f0e0 c1e1 f07c 3f0f |
153 | 147 |
ffff ffff fffe fcf0 07f3 f9fb f71e fcf0 |
154 |
-@body |
|
148 |
+@body |
|
155 | 149 |
0707 0707 0302 0200 0107 0707 0300 0000 |
156 | 150 |
&tail |
157 | 151 |
e0f0 f0e0 e080 8000 c0f2 f9f9 fef8 b000 |
... | ... |
@@ -159,7 +153,7 @@ JMP2r |
159 | 153 |
e0f0 f0e0 e080 8000 c0f2 faf9 fef8 b000 |
160 | 154 |
e0f0 f0e0 e080 8000 c0f1 faf9 fef8 b000 |
161 | 155 |
0707 0707 0f08 1000 0307 0707 0f00 0000 |
162 |
- e0e0 e0e0 e080 8000 f2f9 f9fe b884 8400 |
|
163 |
-@ground |
|
156 |
+ e0e0 e0e0 e080 8000 f2f9 f9fe b884 8400 |
|
157 |
+@ground |
|
164 | 158 |
bf00 5c02 0202 020c ef10 6f90 8080 8074 |
165 |
- ff00 fe01 0100 0116 fd00 3c40 4040 4028 |
|
159 |
+ ff00 fe01 0100 0116 fd00 3c40 4040 4028 |