... | ... |
@@ -13,7 +13,7 @@ |
13 | 13 |
( devices ) |
14 | 14 |
|
15 | 15 |
|00 @System [ &vector $2 &wst $1 &rst $1 &pad $4 &r $2 &g $2 &b $2 ] |
16 |
-|10 @Console [ &vector $2 &read $1 &pad $5 &write $1 ] |
|
16 |
+|10 @Console [ &vector $2 &read $1 &pad $5 &write $1 &error $1 ] |
|
17 | 17 |
|20 @Screen [ &vector $2 &width $2 &height $2 &pad $2 &x $2 &y $2 &addr $2 &color $1 ] |
18 | 18 |
|30 @Audio0 [ &vector $2 &position $2 &output $1 &pad $3 &adsr $2 &length $2 &addr $2 &volume $1 &pitch $1 ] |
19 | 19 |
|40 @Audio1 [ &vector $2 &position $2 &output $1 &pad $3 &adsr $2 &length $2 &addr $2 &volume $1 &pitch $1 ] |
... | ... |
@@ -1,8 +1,12 @@ |
1 | 1 |
( dev/console ) |
2 | 2 |
|
3 |
+( |
|
4 |
+ Copies data from stdin to both stdout and stderr. |
|
5 |
+) |
|
6 |
+ |
|
3 | 7 |
%RTN { JMP2r } |
4 | 8 |
|
5 |
-|10 @Console [ &vector $2 &read $1 &pad $5 &write $1 ] |
|
9 |
+|10 @Console [ &vector $2 &read $1 &pad $5 &write $1 &error $1 ] |
|
6 | 10 |
|
7 | 11 |
( init ) |
8 | 12 |
|
... | ... |
@@ -14,7 +18,9 @@ BRK |
14 | 18 |
|
15 | 19 |
@on-stdin ( -> ) |
16 | 20 |
|
17 |
- .Console/read DEI .Console/write DEO |
|
21 |
+ .Console/read DEI |
|
22 |
+ DUP .Console/write DEO |
|
23 |
+ .Console/error DEO |
|
18 | 24 |
|
19 | 25 |
BRK |
20 | 26 |
|
... | ... |
@@ -238,8 +238,8 @@ system_talk(Device *d, Uint8 b0, Uint8 w) |
238 | 238 |
static void |
239 | 239 |
console_talk(Device *d, Uint8 b0, Uint8 w) |
240 | 240 |
{ |
241 |
- if(w && b0 == 0x8) |
|
242 |
- write(1, (char *)&d->dat[0x8], 1); |
|
241 |
+ if(w && b0 > 0x7) |
|
242 |
+ write(b0 - 0x7, (char *)&d->dat[b0], 1); |
|
243 | 243 |
} |
244 | 244 |
|
245 | 245 |
static void |