... | ... |
@@ -11,7 +11,7 @@ |
11 | 11 |
( devices ) |
12 | 12 |
|
13 | 13 |
|00 @System [ &vector $2 &wst $1 &rst $1 &pad $4 &r $2 &g $2 &b $2 ] |
14 |
-|10 @Console [ &vector $2 &pad $6 &char $1 &byte $1 &short $2 &string $2 ] |
|
14 |
+|10 @Console [ &vector $2 &read $1 &pad $5 &write $1 ] |
|
15 | 15 |
|20 @Screen [ &vector $2 &width $2 &height $2 &pad $2 &x $2 &y $2 &addr $2 &color $1 ] |
16 | 16 |
|30 @Audio0 [ &vector $2 &position $2 &output $1 &pad $3 &adsr $2 &length $2 &addr $2 &volume $1 &pitch $1 ] |
17 | 17 |
|40 @Audio1 [ &vector $2 &position $2 &output $1 &pad $3 &adsr $2 &length $2 &addr $2 &volume $1 &pitch $1 ] |
... | ... |
@@ -2,9 +2,6 @@ |
2 | 2 |
( an open-ended game of rocks and sand ) |
3 | 3 |
( contributed by and cc0 sejo 12021 ) |
4 | 4 |
|
5 |
-%DEBUG { .Console/byte DEO #0a .Console/char DEO } |
|
6 |
-%DEBUG2 { .Console/short DEO2 #0a .Console/char DEO } |
|
7 |
- |
|
8 | 5 |
( parameters ) |
9 | 6 |
%nrocks { #1f } |
10 | 7 |
%nrocks-1 { #1e } |
... | ... |
@@ -37,7 +34,6 @@ |
37 | 34 |
( devices ) |
38 | 35 |
|
39 | 36 |
|00 @System [ &vector $2 &wst $1 &rst $1 &pad $4 &r $2 &g $2 &b $2 ] |
40 |
-|10 @Console [ &pad $8 &char $1 &byte $1 &short $2 &string $2 ] |
|
41 | 37 |
|20 @Screen [ &vector $2 &width $2 &height $2 &pad $2 &x $2 &y $2 &addr $2 &color $1 ] |
42 | 38 |
|80 @Controller [ &vector $2 &button $1 &key $1 ] |
43 | 39 |
|
... | ... |
@@ -24,7 +24,6 @@ |
24 | 24 |
( devices ) |
25 | 25 |
|
26 | 26 |
|00 @System [ &vector $2 &pad $6 &r $2 &g $2 &b $2 ] |
27 |
-|10 @Console [ &pad $8 &char $1 &byte $1 &short $2 &string $2 ] |
|
28 | 27 |
|20 @Screen [ &vector $2 &width $2 &height $2 &pad $2 &x $2 &y $2 &addr $2 &color $1 ] |
29 | 28 |
|30 @Audio0 [ &vector $2 &position $2 &output $1 &pad $3 &adsr $2 &length $2 &addr $2 &volume $1 &pitch $1 ] |
30 | 29 |
|40 @Audio1 [ &vector $2 &position $2 &output $1 &pad $3 &adsr $2 &length $2 &addr $2 &volume $1 &pitch $1 ] |
... | ... |
@@ -23,7 +23,6 @@ |
23 | 23 |
( devices ) |
24 | 24 |
|
25 | 25 |
|00 @System [ &vector $2 &pad $6 &r $2 &g $2 &b $2 ] |
26 |
-|10 @Console [ &vector $2 &pad $6 &char $1 &byte $1 &short $2 &string $2 ] |
|
27 | 26 |
|20 @Screen [ &vector $2 &width $2 &height $2 &pad $2 &x $2 &y $2 &addr $2 &color $1 ] |
28 | 27 |
|30 @Audio0 [ &vector $2 &position $2 &output $1 &pad $3 &adsr $2 &len $2 &addr $2 &volume $1 &pitch $1 ] |
29 | 28 |
|40 @Audio1 [ &vector $2 &position $2 &output $1 &pad $3 &adsr $2 &len $2 &addr $2 &volume $1 &pitch $1 ] |
... | ... |
@@ -13,7 +13,6 @@ |
13 | 13 |
( devices ) |
14 | 14 |
|
15 | 15 |
|00 @System [ &vector $2 &pad $6 &r $2 &g $2 &b $2 ] |
16 |
-|10 @Console [ &vector $2 &pad $6 &char $1 &byte $1 &short $2 &string $2 ] |
|
17 | 16 |
|20 @Screen [ &vector $2 &width $2 &height $2 &pad $2 &x $2 &y $2 &addr $2 &color $1 ] |
18 | 17 |
|b0 @DateTime [ &year $2 &month $1 &day $1 &hour $1 &minute $1 &second $1 &dotw $1 &doty $2 &isdst $1 ] |
19 | 18 |
|
... | ... |
@@ -19,7 +19,7 @@ |
19 | 19 |
( devices ) |
20 | 20 |
|
21 | 21 |
|00 @System [ &vector $2 &pad $6 &r $2 &g $2 &b $2 ] |
22 |
-|10 @Console [ &vector $2 &rbyte $1 &pad $5 &char $1 &wbyte $1 &short $2 &string $2 ] |
|
22 |
+|10 @Console [ &vector $2 &read $1 &pad $5 &write $1 ] |
|
23 | 23 |
|20 @Screen [ &vector $2 &width $2 &height $2 &pad $2 &x $2 &y $2 &addr $2 &color $1 ] |
24 | 24 |
|30 @Audio0 [ &vector $2 &position $2 &output $1 &pad $3 &adsr $2 &length $2 &addr $2 &volume $1 &pitch $1 ] |
25 | 25 |
|70 @Midi [ &vector $2 &channel $1 ¬e $1 &velocity $1 ] |
... | ... |
@@ -155,7 +155,7 @@ BRK |
155 | 155 |
|
156 | 156 |
@on-message ( -> ) |
157 | 157 |
|
158 |
- .Console/rbyte DEI ;play JSR2 |
|
158 |
+ .Console/read DEI ;play JSR2 |
|
159 | 159 |
;draw-octave JSR2 |
160 | 160 |
|
161 | 161 |
BRK |
... | ... |
@@ -1,14 +1,20 @@ |
1 | 1 |
( dev/console ) |
2 | 2 |
|
3 |
-|10 @Console [ &vector $2 &pad $6 &char $1 &byte $1 &short $2 &string $2 ] |
|
3 |
+%RTN { JMP2r } |
|
4 |
+ |
|
5 |
+|10 @Console [ &vector $2 &read $1 &pad $5 &write $1 ] |
|
4 | 6 |
|
5 | 7 |
( init ) |
6 | 8 |
|
7 | 9 |
|0100 ( -> ) |
10 |
+ |
|
8 | 11 |
;on-stdin .Console/vector DEO2 |
12 |
+ |
|
9 | 13 |
BRK |
10 | 14 |
|
11 | 15 |
@on-stdin ( -> ) |
12 |
- .Console/char DEI .Console/byte DEO |
|
13 |
- #0a .Console/char DEO |
|
14 |
-BRK |
|
15 | 16 |
\ No newline at end of file |
17 |
+ |
|
18 |
+ .Console/read DEI .Console/write DEO |
|
19 |
+ |
|
20 |
+BRK |
|
21 |
+ |
... | ... |
@@ -1,6 +1,6 @@ |
1 | 1 |
( dev/console ) |
2 | 2 |
|
3 |
-|10 @Console [ &pad $8 &char ] |
|
3 |
+|10 @Console [ &vector $2 &read $1 &pad $5 &write $1 ] |
|
4 | 4 |
|
5 | 5 |
( init ) |
6 | 6 |
|
... | ... |
@@ -9,7 +9,7 @@ |
9 | 9 |
;hello-word |
10 | 10 |
|
11 | 11 |
&loop |
12 |
- ( send ) LDAk .Console/char DEO |
|
12 |
+ ( send ) LDAk .Console/write DEO |
|
13 | 13 |
( incr ) #0001 ADD2 |
14 | 14 |
( loop ) LDAk ,&loop JCN |
15 | 15 |
POP2 |
... | ... |
@@ -8,13 +8,9 @@ |
8 | 8 |
%RTN { JMP2r } |
9 | 9 |
%TOS { #00 SWP } |
10 | 10 |
|
11 |
-%DEBUG { .Console/byte DEO #0a .Console/char DEO } |
|
12 |
-%DEBUG2 { .Console/short DEO2 #0a .Console/char DEO } |
|
13 |
- |
|
14 | 11 |
( devices ) |
15 | 12 |
|
16 | 13 |
|00 @System [ &vector $2 &pad $6 &r $2 &g $2 &b $2 ] |
17 |
-|10 @Console &vector $2 &pad $6 &char $1 &byte $1 &short $2 &string $2 ] |
|
18 | 14 |
|20 @Screen [ &vector $2 &width $2 &height $2 &pad $2 &x $2 &y $2 &addr $2 &color $1 ] |
19 | 15 |
|80 @Controller [ &vector $2 &button $1 &key $1 ] |
20 | 16 |
|
... | ... |
@@ -1,13 +1,10 @@ |
1 | 1 |
( GUI Hover ) |
2 | 2 |
|
3 | 3 |
%RTN { JMP2r } |
4 |
-%DEBUG { .Console/byte DEO #0a .Console/char DEO } |
|
5 |
-%DEBUG2 { .Console/short DEO2 #0a .Console/char DEO } |
|
6 | 4 |
|
7 | 5 |
( devices ) |
8 | 6 |
|
9 | 7 |
|00 @System [ &vector $2 &pad $6 &r $2 &g $2 &b $2 ] |
10 |
-|10 @Console [ &vector $2 &pad $6 &char $1 &byte $1 &short $2 &string $2 ] |
|
11 | 8 |
|20 @Screen [ &vector $2 &width $2 &height $2 &pad $2 &x $2 &y $2 &addr $2 &color $1 ] |
12 | 9 |
|90 @Mouse [ &vector $2 &x $2 &y $2 &state $1 &wheel $1 ] |
13 | 10 |
|
... | ... |
@@ -6,7 +6,6 @@ |
6 | 6 |
( devices ) |
7 | 7 |
|
8 | 8 |
|00 @System [ &vector $2 &pad $6 &r $2 &g $2 &b $2 ] |
9 |
-|10 @Console [ &vector $2 &pad $6 &char $1 &byte $1 &short $2 &string $2 ] |
|
10 | 9 |
|20 @Screen [ &vector $2 &width $2 &height $2 &pad $2 &x $2 &y $2 &addr $2 &color $1 ] |
11 | 10 |
|a0 @File [ &vector $2 &success $2 &offset $2 &pad $2 &name $2 &length $2 &load $2 &save $2 ] |
12 | 11 |
|
... | ... |
@@ -17,7 +17,6 @@ |
17 | 17 |
( devices ) |
18 | 18 |
|
19 | 19 |
|00 @System [ &vector $2 &pad $6 &r $2 &g $2 &b $2 ] |
20 |
-|10 @Console [ &vector $2 &pad $6 &char $1 &byte $1 &short $2 &string $2 ] |
|
21 | 20 |
|20 @Screen [ &vector $2 &width $2 &height $2 &pad $2 &x $2 &y $2 &addr $2 &color $1 ] |
22 | 21 |
|
23 | 22 |
( variables ) |
24 | 23 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,32 @@ |
1 |
+( hexes |
|
2 |
+ |
|
3 |
+ A small utility that prints incoming console messages as hex values. ) |
|
4 |
+ |
|
5 |
+%RTN { JMP2r } |
|
6 |
+ |
|
7 |
+|10 @Console [ &vector $2 &read $1 &pad $5 &write $1 ] |
|
8 |
+ |
|
9 |
+( init ) |
|
10 |
+ |
|
11 |
+|0100 ( -> ) |
|
12 |
+ |
|
13 |
+ ;on-message .Console/vector DEO2 |
|
14 |
+ |
|
15 |
+BRK |
|
16 |
+ |
|
17 |
+@on-message ( -> ) |
|
18 |
+ |
|
19 |
+ .Console/read DEI ,print-hex JSR |
|
20 |
+ |
|
21 |
+BRK |
|
22 |
+ |
|
23 |
+@print-hex ( value -- ) |
|
24 |
+ |
|
25 |
+ STHk #04 SFT ,&parse JSR .Console/write DEO |
|
26 |
+ STHr #0f AND ,&parse JSR .Console/write DEO |
|
27 |
+ RTN |
|
28 |
+ &parse ( value -- char ) |
|
29 |
+ DUP #09 GTH ,&above JCN #30 ADD RTN &above #09 SUB #60 ADD RTN |
|
30 |
+ |
|
31 |
+RTN |
|
32 |
+ |
... | ... |
@@ -30,14 +30,6 @@ static Uint8 font[][8] = { |
30 | 30 |
{0x00, 0x7c, 0x82, 0x80, 0xf0, 0x80, 0x82, 0x7c}, |
31 | 31 |
{0x00, 0x7c, 0x82, 0x80, 0xf0, 0x80, 0x80, 0x80}}; |
32 | 32 |
|
33 |
-Uint8 |
|
34 |
-readpixel(Uint8 *sprite, Uint8 h, Uint8 v) |
|
35 |
-{ |
|
36 |
- Uint8 ch1 = ((sprite[v] >> h) & 0x1); |
|
37 |
- Uint8 ch2 = (((sprite[v + 8] >> h) & 0x1) << 1); |
|
38 |
- return ch1 + ch2; |
|
39 |
-} |
|
40 |
- |
|
41 | 33 |
void |
42 | 34 |
clear(Ppu *p) |
43 | 35 |
{ |
... | ... |
@@ -235,16 +235,8 @@ system_talk(Device *d, Uint8 b0, Uint8 w) |
235 | 235 |
void |
236 | 236 |
console_talk(Device *d, Uint8 b0, Uint8 w) |
237 | 237 |
{ |
238 |
- char buffer[7], *p = buffer; |
|
239 |
- int len = 0; |
|
240 |
- if(!w) return; |
|
241 |
- switch(b0) { |
|
242 |
- case 0x8: len = 1, p = (char *)&d->dat[0x8]; break; |
|
243 |
- case 0x9: len = sprintf(p, "0x%02x", d->dat[0x9]); break; |
|
244 |
- case 0xb: len = sprintf(p, "0x%04x", mempeek16(d->dat, 0xa)); break; |
|
245 |
- case 0xd: len = strlen(p = (char *)&d->mem[mempeek16(d->dat, 0xc)]); break; |
|
246 |
- } |
|
247 |
- if(len) write(1, p, len); |
|
238 |
+ if(w && b0 == 0x8) |
|
239 |
+ write(1, (char *)&d->dat[0x8], 1); |
|
248 | 240 |
} |
249 | 241 |
|
250 | 242 |
void |