... | ... |
@@ -16,8 +16,11 @@ |
16 | 16 |
%8MOD { #07 AND } %8MOD2 { #0007 AND2 } |
17 | 17 |
%10MOD { #0f AND } %10MOD2 { #000f AND2 } |
18 | 18 |
|
19 |
-%DEBUG { ;print-hex/byte JSR2 #0a18 DEO } |
|
20 |
-%DEBUG2 { ;print-hex JSR2 #0a18 DEO } |
|
19 |
+%HALT { #010f DEO } |
|
20 |
+%EMIT { #18 DEO } |
|
21 |
+%DEBUG { ;print/byte JSR2 #0a EMIT } |
|
22 |
+%DEBUG2 { ;print/short JSR2 #0a EMIT } |
|
23 |
+ |
|
21 | 24 |
%RTN { JMP2r } |
22 | 25 |
|
23 | 26 |
( devices ) |
... | ... |
@@ -49,15 +52,11 @@ |
49 | 52 |
|
50 | 53 |
BRK |
51 | 54 |
|
52 |
-@print-hex ( value* -- ) |
|
53 |
- |
|
54 |
- SWP ,&byte JSR |
|
55 |
- &byte ( byte -- ) |
|
56 |
- STHk #04 SFT ,&parse JSR #18 DEO |
|
57 |
- STHr #0f AND ,&parse JSR #18 DEO |
|
58 |
- RTN |
|
59 |
- &parse ( byte -- char ) DUP #09 GTH ,&above JCN #30 + RTN |
|
60 |
- &above #57 + RTN |
|
55 |
+@print ( short* -- ) |
|
56 |
+ |
|
57 |
+ &short ( short* -- ) SWP ,&byte JSR |
|
58 |
+ &byte ( byte -- ) DUP #04 SFT ,&char JSR |
|
59 |
+ &char ( char -- ) #0f AND DUP #09 GTH #27 MUL ADD #30 ADD EMIT |
|
61 | 60 |
|
62 | 61 |
RTN |
63 | 62 |
|
... | ... |
@@ -8,11 +8,13 @@ |
8 | 8 |
%RTN { JMP2r } |
9 | 9 |
%TOS { #00 SWP } |
10 | 10 |
%LTS2 { #8000 ++ SWP2 #8000 ++ >> } |
11 |
+%AUTO-NONE { #00 .Screen/auto DEO } |
|
12 |
+%AUTO-X { #01 .Screen/auto DEO } |
|
11 | 13 |
|
12 | 14 |
( devices ) |
13 | 15 |
|
14 | 16 |
|00 @System [ &vector $2 &pad $6 &r $2 &g $2 &b $2 ] |
15 |
-|20 @Screen [ &vector $2 &width $2 &height $2 &pad $2 &x $2 &y $2 &addr $2 &pixel $1 &sprite $1 ] |
|
17 |
+|20 @Screen &vector $2 &width $2 &height $2 &auto $1 &pad $1 &x $2 &y $2 &addr $2 &pixel $1 &sprite $1 |
|
16 | 18 |
|80 @Controller [ &vector $2 &button $1 &key $1 ] |
17 | 19 |
|
18 | 20 |
( variables ) |
... | ... |
@@ -55,13 +57,16 @@ |
55 | 57 |
( vectors ) |
56 | 58 |
;on-button .Controller/vector DEO2 |
57 | 59 |
|
58 |
- ;draw-controller JSR2 |
|
60 |
+ ,draw-controller JSR |
|
59 | 61 |
|
60 | 62 |
BRK |
61 | 63 |
|
62 | 64 |
@on-button ( -> ) |
63 | 65 |
|
64 |
- ;draw-controller JSR2 |
|
66 |
+ ,draw-controller JSR |
|
67 |
+ |
|
68 |
+ ( print stack on start button ) |
|
69 |
+ .Controller/button DEI #08 = JMP BRK #010e DEO |
|
65 | 70 |
|
66 | 71 |
BRK |
67 | 72 |
|
... | ... |
@@ -120,7 +125,9 @@ BRK |
120 | 125 |
|
121 | 126 |
.center/x LDZ2 #0010 -- .Screen/x DEO2 |
122 | 127 |
.center/y LDZ2 #0010 -- .Screen/y DEO2 |
128 |
+ AUTO-X |
|
123 | 129 |
.Controller/button DEI2 #03 ;draw-short JSR2 |
130 |
+ AUTO-NONE |
|
124 | 131 |
|
125 | 132 |
RTN |
126 | 133 |
|
... | ... |
@@ -128,18 +135,16 @@ RTN |
128 | 135 |
|
129 | 136 |
@draw-short ( short* color -- ) |
130 | 137 |
|
131 |
- STH SWP |
|
132 |
- DUP #04 SFT TOS #30 SFT2 ;font-hex ++ .Screen/addr DEO2 |
|
133 |
- ( draw ) STHkr .Screen/sprite DEO |
|
134 |
- #0f AND TOS #30 SFT2 ;font-hex ++ .Screen/addr DEO2 |
|
135 |
- .Screen/x DEI2 #0008 ++ .Screen/x DEO2 |
|
136 |
- ( draw ) STHkr .Screen/sprite DEO |
|
137 |
- DUP #04 SFT TOS #30 SFT2 ;font-hex ++ .Screen/addr DEO2 |
|
138 |
- .Screen/x DEI2 #0008 ++ .Screen/x DEO2 |
|
139 |
- ( draw ) STHkr .Screen/sprite DEO |
|
140 |
- #0f AND TOS #30 SFT2 ;font-hex ++ .Screen/addr DEO2 |
|
141 |
- .Screen/x DEI2 #0008 ++ .Screen/x DEO2 |
|
142 |
- ( draw ) STHr .Screen/sprite DEO |
|
138 |
+ STH SWP STHkr ,draw-byte JSR STHr |
|
139 |
+ |
|
140 |
+@draw-byte ( byte color -- ) |
|
141 |
+ |
|
142 |
+ STH DUP #04 SFT STHkr ,draw-hex JSR STHr |
|
143 |
+ |
|
144 |
+@draw-hex ( char color -- ) |
|
145 |
+ |
|
146 |
+ #00 ROT #0f AND #30 SFT2 ;font-hex ++ .Screen/addr DEO2 |
|
147 |
+ .Screen/sprite DEO |
|
143 | 148 |
|
144 | 149 |
RTN |
145 | 150 |
|