(m291) Added repeat and random modes
This commit is contained in:
parent
2dce8c937a
commit
85b07d0b30
|
@ -27,6 +27,14 @@
|
|||
0804 0201 0000 0000 0000 0080 601f 0000
|
||||
0000 0001 06f8 0000 1020 4080 0000 0000 ]
|
||||
|
||||
@mode-icns [
|
||||
0000 001f 1f00 0000 0010 18fc fc18 1000
|
||||
0000 001f 1f00 0000 0010 18fc fc18 1000
|
||||
0000 001f 1f01 0101 0010 187c bc98 9080
|
||||
0101 011d 1e00 0000 8090 98fc fc18 1000
|
||||
0000 000f 1f18 1818 0010 18fc fc18 1008
|
||||
1818 181f 0f00 0000 1818 18f8 f000 0000 ]
|
||||
|
||||
@pause-icn [
|
||||
0000 001e 1e1e 1e1e 0000 0078 7878 7878
|
||||
1e1e 1e1e 1e00 0000 7878 7878 7800 0000 ]
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
|80 @Controller &vector $2 &button $1 &key $1
|
||||
|90 @Mouse &vector $2 &x $2 &y $2 &state $1 &chord $1 &pad $4 &scrolly &scrolly-hb $1 &scrolly-lb $1
|
||||
|a0 @File &vector $2 &success $1 &success-lb $1 &stat $2 &delete $1 &append $1 &name $2 &length $2 &read $2 &write $2
|
||||
|c0 @DateTime &year $2 &month $1 &day $1 &hour $1 &minute $1 &second $1 &dotw $1 &doty $2 &isdst $1
|
||||
|
||||
|000
|
||||
|
||||
|
@ -20,6 +21,7 @@
|
|||
@path $2 &null $80
|
||||
@lines &folders $1 &tracks $1
|
||||
@playing $1
|
||||
@mode $1
|
||||
@paused $1
|
||||
@secfrom $2
|
||||
@secto $2
|
||||
|
@ -45,6 +47,7 @@
|
|||
[ LIT2 00 -playing ] STZ
|
||||
;dict/home-path path/<set>
|
||||
<refresh-dir>
|
||||
<prng-init>
|
||||
( | unlock )
|
||||
;on-mouse .Mouse/vector DEO2
|
||||
;on-control .Controller/vector DEO2
|
||||
|
@ -93,7 +96,11 @@
|
|||
BRK
|
||||
|
||||
&status-bar ( y* -> )
|
||||
POP2 BRK
|
||||
POP2 .Mouse/state DEI ?{ BRK }
|
||||
.Mouse/x DEI2 .Screen/width DEI2 #0014 SUB2 GTH2 ?{ BRK }
|
||||
<change-mode>
|
||||
;on-mouse-locked .Mouse/vector DEO2
|
||||
BRK
|
||||
|
||||
&player ( y* -> )
|
||||
.Mouse/state DEI ?{ POP2 BRK }
|
||||
|
@ -181,6 +188,11 @@
|
|||
|
||||
@<skip-next> ( -- )
|
||||
.lines/tracks LDZ ?{ JMP2r }
|
||||
( | random )
|
||||
[ LIT2 01 -mode ] LDZ NEQ ?{
|
||||
prng ADD .lines/tracks LDZ DIVk MUL SUB !<pick>/tracks }
|
||||
( | repeat )
|
||||
[ LIT2 02 -mode ] LDZ NEQ ?{ .selection/track LDZ !<pick>/tracks }
|
||||
.selection/track LDZ INC .lines/tracks LDZ DIVk MUL SUB !<pick>/tracks
|
||||
|
||||
@<seek> ( x* -- )
|
||||
|
@ -238,6 +250,9 @@
|
|||
;path/null LDA ?{ JMP2r }
|
||||
path/pop !<refresh-dir>
|
||||
|
||||
@<change-mode> ( -- )
|
||||
.mode LDZk INC #03 DIVk MUL SUB SWP STZ !<draw-mode>
|
||||
|
||||
(
|
||||
@|events )
|
||||
|
||||
|
@ -497,10 +512,19 @@
|
|||
#0008 .Screen/x DEO2
|
||||
#0004 .Screen/y DEO2
|
||||
;path #01 <draw-uf2>
|
||||
<draw-mode>
|
||||
( | spacer )
|
||||
#0014 .Screen/y DEO2
|
||||
;line-icn !<draw-spacer>
|
||||
|
||||
@<draw-mode> ( -- )
|
||||
[ LIT2 16 -Screen/auto ] DEO
|
||||
#0004 .Screen/y DEO2
|
||||
.Screen/width DEI2 #0014 SUB2 .Screen/x DEO2
|
||||
;mode-icns [ LIT2 00 -mode ] LDZ #50 SFT2 ADD2 .Screen/addr DEO2
|
||||
[ LIT2 03 -Screen/sprite ] DEOk DEO
|
||||
JMP2r
|
||||
|
||||
@<redraw-player> ( -- )
|
||||
#ffff ;<draw-timestamp>/last STA2
|
||||
#ffff ;<draw-progress>/last STA2
|
||||
|
@ -825,6 +849,24 @@
|
|||
#0f AND DUP #09 GTH #27 MUL ADD [ LIT "0 ] ADD #19 DEO
|
||||
JMP2r
|
||||
|
||||
@<prng-init> ( -- )
|
||||
( > ) [ LIT2 00 -DateTime/second ] DEI
|
||||
( > ) [ LIT2 00 -DateTime/minute ] DEI #60 SFT2 EOR2
|
||||
( > ) [ LIT2 00 -DateTime/hour ] DEI #c0 SFT2 EOR2 ,prng/x STR2
|
||||
( > ) [ LIT2 00 -DateTime/hour ] DEI #04 SFT2
|
||||
( > ) [ LIT2 00 -DateTime/day ] DEI #10 SFT2 EOR2
|
||||
( > ) [ LIT2 00 -DateTime/month ] DEI #60 SFT2 EOR2
|
||||
( > ) .DateTime/year DEI2 #a0 SFT2 EOR2 ,prng/y STR2
|
||||
JMP2r
|
||||
|
||||
@prng ( -- number* )
|
||||
( > ) [ LIT2 &x $2 ]
|
||||
( > ) DUP2 #50 SFT2 EOR2
|
||||
( > ) DUP2 #03 SFT2 EOR2
|
||||
( > ) [ LIT2 &y $2 ] DUP2 ,&x STR2
|
||||
( > ) DUP2 #01 SFT2 EOR2 EOR2
|
||||
( > ) ,&y STR2k POP JMP2r
|
||||
|
||||
(
|
||||
@|theme )
|
||||
|
||||
|
|
Binary file not shown.
Loading…
Reference in New Issue