mirror of
https://git.sr.ht/~rabbits/uxn
synced 2024-11-26 15:53:01 +00:00
Simplified console
This commit is contained in:
parent
e309ebf6e8
commit
274edad29d
15 changed files with 49 additions and 43 deletions
|
@ -11,7 +11,7 @@
|
|||
( devices )
|
||||
|
||||
|00 @System [ &vector $2 &wst $1 &rst $1 &pad $4 &r $2 &g $2 &b $2 ]
|
||||
|10 @Console [ &vector $2 &pad $6 &char $1 &byte $1 &short $2 &string $2 ]
|
||||
|10 @Console [ &vector $2 &read $1 &pad $5 &write $1 ]
|
||||
|20 @Screen [ &vector $2 &width $2 &height $2 &pad $2 &x $2 &y $2 &addr $2 &color $1 ]
|
||||
|30 @Audio0 [ &vector $2 &position $2 &output $1 &pad $3 &adsr $2 &length $2 &addr $2 &volume $1 &pitch $1 ]
|
||||
|40 @Audio1 [ &vector $2 &position $2 &output $1 &pad $3 &adsr $2 &length $2 &addr $2 &volume $1 &pitch $1 ]
|
||||
|
|
|
@ -2,9 +2,6 @@
|
|||
( an open-ended game of rocks and sand )
|
||||
( contributed by and cc0 sejo 12021 )
|
||||
|
||||
%DEBUG { .Console/byte DEO #0a .Console/char DEO }
|
||||
%DEBUG2 { .Console/short DEO2 #0a .Console/char DEO }
|
||||
|
||||
( parameters )
|
||||
%nrocks { #1f }
|
||||
%nrocks-1 { #1e }
|
||||
|
@ -37,7 +34,6 @@
|
|||
( devices )
|
||||
|
||||
|00 @System [ &vector $2 &wst $1 &rst $1 &pad $4 &r $2 &g $2 &b $2 ]
|
||||
|10 @Console [ &pad $8 &char $1 &byte $1 &short $2 &string $2 ]
|
||||
|20 @Screen [ &vector $2 &width $2 &height $2 &pad $2 &x $2 &y $2 &addr $2 &color $1 ]
|
||||
|80 @Controller [ &vector $2 &button $1 &key $1 ]
|
||||
|
||||
|
|
|
@ -24,7 +24,6 @@
|
|||
( devices )
|
||||
|
||||
|00 @System [ &vector $2 &pad $6 &r $2 &g $2 &b $2 ]
|
||||
|10 @Console [ &pad $8 &char $1 &byte $1 &short $2 &string $2 ]
|
||||
|20 @Screen [ &vector $2 &width $2 &height $2 &pad $2 &x $2 &y $2 &addr $2 &color $1 ]
|
||||
|30 @Audio0 [ &vector $2 &position $2 &output $1 &pad $3 &adsr $2 &length $2 &addr $2 &volume $1 &pitch $1 ]
|
||||
|40 @Audio1 [ &vector $2 &position $2 &output $1 &pad $3 &adsr $2 &length $2 &addr $2 &volume $1 &pitch $1 ]
|
||||
|
|
|
@ -23,7 +23,6 @@
|
|||
( devices )
|
||||
|
||||
|00 @System [ &vector $2 &pad $6 &r $2 &g $2 &b $2 ]
|
||||
|10 @Console [ &vector $2 &pad $6 &char $1 &byte $1 &short $2 &string $2 ]
|
||||
|20 @Screen [ &vector $2 &width $2 &height $2 &pad $2 &x $2 &y $2 &addr $2 &color $1 ]
|
||||
|30 @Audio0 [ &vector $2 &position $2 &output $1 &pad $3 &adsr $2 &len $2 &addr $2 &volume $1 &pitch $1 ]
|
||||
|40 @Audio1 [ &vector $2 &position $2 &output $1 &pad $3 &adsr $2 &len $2 &addr $2 &volume $1 &pitch $1 ]
|
||||
|
|
|
@ -13,7 +13,6 @@
|
|||
( devices )
|
||||
|
||||
|00 @System [ &vector $2 &pad $6 &r $2 &g $2 &b $2 ]
|
||||
|10 @Console [ &vector $2 &pad $6 &char $1 &byte $1 &short $2 &string $2 ]
|
||||
|20 @Screen [ &vector $2 &width $2 &height $2 &pad $2 &x $2 &y $2 &addr $2 &color $1 ]
|
||||
|b0 @DateTime [ &year $2 &month $1 &day $1 &hour $1 &minute $1 &second $1 &dotw $1 &doty $2 &isdst $1 ]
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
( devices )
|
||||
|
||||
|00 @System [ &vector $2 &pad $6 &r $2 &g $2 &b $2 ]
|
||||
|10 @Console [ &vector $2 &rbyte $1 &pad $5 &char $1 &wbyte $1 &short $2 &string $2 ]
|
||||
|10 @Console [ &vector $2 &read $1 &pad $5 &write $1 ]
|
||||
|20 @Screen [ &vector $2 &width $2 &height $2 &pad $2 &x $2 &y $2 &addr $2 &color $1 ]
|
||||
|30 @Audio0 [ &vector $2 &position $2 &output $1 &pad $3 &adsr $2 &length $2 &addr $2 &volume $1 &pitch $1 ]
|
||||
|70 @Midi [ &vector $2 &channel $1 ¬e $1 &velocity $1 ]
|
||||
|
@ -155,7 +155,7 @@ BRK
|
|||
|
||||
@on-message ( -> )
|
||||
|
||||
.Console/rbyte DEI ;play JSR2
|
||||
.Console/read DEI ;play JSR2
|
||||
;draw-octave JSR2
|
||||
|
||||
BRK
|
||||
|
|
|
@ -1,14 +1,20 @@
|
|||
( dev/console )
|
||||
|
||||
|10 @Console [ &vector $2 &pad $6 &char $1 &byte $1 &short $2 &string $2 ]
|
||||
%RTN { JMP2r }
|
||||
|
||||
|10 @Console [ &vector $2 &read $1 &pad $5 &write $1 ]
|
||||
|
||||
( init )
|
||||
|
||||
|0100 ( -> )
|
||||
|
||||
;on-stdin .Console/vector DEO2
|
||||
|
||||
BRK
|
||||
|
||||
@on-stdin ( -> )
|
||||
.Console/char DEI .Console/byte DEO
|
||||
#0a .Console/char DEO
|
||||
BRK
|
||||
|
||||
.Console/read DEI .Console/write DEO
|
||||
|
||||
BRK
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
( dev/console )
|
||||
|
||||
|10 @Console [ &pad $8 &char ]
|
||||
|10 @Console [ &vector $2 &read $1 &pad $5 &write $1 ]
|
||||
|
||||
( init )
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
|||
;hello-word
|
||||
|
||||
&loop
|
||||
( send ) LDAk .Console/char DEO
|
||||
( send ) LDAk .Console/write DEO
|
||||
( incr ) #0001 ADD2
|
||||
( loop ) LDAk ,&loop JCN
|
||||
POP2
|
||||
|
|
|
@ -8,13 +8,9 @@
|
|||
%RTN { JMP2r }
|
||||
%TOS { #00 SWP }
|
||||
|
||||
%DEBUG { .Console/byte DEO #0a .Console/char DEO }
|
||||
%DEBUG2 { .Console/short DEO2 #0a .Console/char DEO }
|
||||
|
||||
( devices )
|
||||
|
||||
|00 @System [ &vector $2 &pad $6 &r $2 &g $2 &b $2 ]
|
||||
|10 @Console &vector $2 &pad $6 &char $1 &byte $1 &short $2 &string $2 ]
|
||||
|20 @Screen [ &vector $2 &width $2 &height $2 &pad $2 &x $2 &y $2 &addr $2 &color $1 ]
|
||||
|80 @Controller [ &vector $2 &button $1 &key $1 ]
|
||||
|
||||
|
|
|
@ -1,13 +1,10 @@
|
|||
( GUI Hover )
|
||||
|
||||
%RTN { JMP2r }
|
||||
%DEBUG { .Console/byte DEO #0a .Console/char DEO }
|
||||
%DEBUG2 { .Console/short DEO2 #0a .Console/char DEO }
|
||||
|
||||
( devices )
|
||||
|
||||
|00 @System [ &vector $2 &pad $6 &r $2 &g $2 &b $2 ]
|
||||
|10 @Console [ &vector $2 &pad $6 &char $1 &byte $1 &short $2 &string $2 ]
|
||||
|20 @Screen [ &vector $2 &width $2 &height $2 &pad $2 &x $2 &y $2 &addr $2 &color $1 ]
|
||||
|90 @Mouse [ &vector $2 &x $2 &y $2 &state $1 &wheel $1 ]
|
||||
|
||||
|
|
|
@ -6,7 +6,6 @@
|
|||
( devices )
|
||||
|
||||
|00 @System [ &vector $2 &pad $6 &r $2 &g $2 &b $2 ]
|
||||
|10 @Console [ &vector $2 &pad $6 &char $1 &byte $1 &short $2 &string $2 ]
|
||||
|20 @Screen [ &vector $2 &width $2 &height $2 &pad $2 &x $2 &y $2 &addr $2 &color $1 ]
|
||||
|a0 @File [ &vector $2 &success $2 &offset $2 &pad $2 &name $2 &length $2 &load $2 &save $2 ]
|
||||
|
||||
|
|
|
@ -17,7 +17,6 @@
|
|||
( devices )
|
||||
|
||||
|00 @System [ &vector $2 &pad $6 &r $2 &g $2 &b $2 ]
|
||||
|10 @Console [ &vector $2 &pad $6 &char $1 &byte $1 &short $2 &string $2 ]
|
||||
|20 @Screen [ &vector $2 &width $2 &height $2 &pad $2 &x $2 &y $2 &addr $2 &color $1 ]
|
||||
|
||||
( variables )
|
||||
|
|
32
projects/software/hexes.tal
Normal file
32
projects/software/hexes.tal
Normal file
|
@ -0,0 +1,32 @@
|
|||
( hexes
|
||||
|
||||
A small utility that prints incoming console messages as hex values. )
|
||||
|
||||
%RTN { JMP2r }
|
||||
|
||||
|10 @Console [ &vector $2 &read $1 &pad $5 &write $1 ]
|
||||
|
||||
( init )
|
||||
|
||||
|0100 ( -> )
|
||||
|
||||
;on-message .Console/vector DEO2
|
||||
|
||||
BRK
|
||||
|
||||
@on-message ( -> )
|
||||
|
||||
.Console/read DEI ,print-hex JSR
|
||||
|
||||
BRK
|
||||
|
||||
@print-hex ( value -- )
|
||||
|
||||
STHk #04 SFT ,&parse JSR .Console/write DEO
|
||||
STHr #0f AND ,&parse JSR .Console/write DEO
|
||||
RTN
|
||||
&parse ( value -- char )
|
||||
DUP #09 GTH ,&above JCN #30 ADD RTN &above #09 SUB #60 ADD RTN
|
||||
|
||||
RTN
|
||||
|
|
@ -30,14 +30,6 @@ static Uint8 font[][8] = {
|
|||
{0x00, 0x7c, 0x82, 0x80, 0xf0, 0x80, 0x82, 0x7c},
|
||||
{0x00, 0x7c, 0x82, 0x80, 0xf0, 0x80, 0x80, 0x80}};
|
||||
|
||||
Uint8
|
||||
readpixel(Uint8 *sprite, Uint8 h, Uint8 v)
|
||||
{
|
||||
Uint8 ch1 = ((sprite[v] >> h) & 0x1);
|
||||
Uint8 ch2 = (((sprite[v + 8] >> h) & 0x1) << 1);
|
||||
return ch1 + ch2;
|
||||
}
|
||||
|
||||
void
|
||||
clear(Ppu *p)
|
||||
{
|
||||
|
|
12
src/uxnemu.c
12
src/uxnemu.c
|
@ -235,16 +235,8 @@ system_talk(Device *d, Uint8 b0, Uint8 w)
|
|||
void
|
||||
console_talk(Device *d, Uint8 b0, Uint8 w)
|
||||
{
|
||||
char buffer[7], *p = buffer;
|
||||
int len = 0;
|
||||
if(!w) return;
|
||||
switch(b0) {
|
||||
case 0x8: len = 1, p = (char *)&d->dat[0x8]; break;
|
||||
case 0x9: len = sprintf(p, "0x%02x", d->dat[0x9]); break;
|
||||
case 0xb: len = sprintf(p, "0x%04x", mempeek16(d->dat, 0xa)); break;
|
||||
case 0xd: len = strlen(p = (char *)&d->mem[mempeek16(d->dat, 0xc)]); break;
|
||||
}
|
||||
if(len) write(1, p, len);
|
||||
if(w && b0 == 0x8)
|
||||
write(1, (char *)&d->dat[0x8], 1);
|
||||
}
|
||||
|
||||
void
|
||||
|
|
Loading…
Reference in a new issue