diff --git a/gui/m291/src/m291.tal b/gui/m291/src/m291.tal index 38fd37d..62bed71 100644 --- a/gui/m291/src/m291.tal +++ b/gui/m291/src/m291.tal @@ -23,6 +23,7 @@ @playing $1 @secfrom $2 @secto $2 + @secprog $2 |100 @@ -140,7 +141,9 @@ @handle-status ( buf* char -- ) [ LIT2 01 -playing ] STZ + ( | force redraws ) #ffff ;/last STA2 + #ffff ;/last STA2 fit-window POP #0a19 DEO !message/ @@ -159,7 +162,8 @@ INC2 LDAk [ LIT "5 ] LTH ?{ INC2r } POP2 STH2r STH2r SWP2 OVR2 ADD2 SWP2 ( | print ) - calc-width !message/ + calc-width .secprog STZ2 + !message/ @handle-id3 ( buf* char -- ) POP @@ -366,10 +370,13 @@ [ LIT2 36 -Screen/auto ] DEO ;button-icn .Screen/addr DEO2 [ LIT2 01 -Screen/sprite ] DEOk DEOk DEOk DEO - ( fill width ) #00e7 - ( >> ) + ! -@ ( width* -- ) +@ ( -- ) + .secprog LDZ2 + ( | catch redraws ) + DUP2 [ LIT2 &last $2 ] NEQ2 ?{ POP2 JMP2r } + DUP2 ,&last STR2 [ LIT2 01 -Screen/auto ] DEO #0004 .Screen/x DEO2 #0088 .Screen/y DEO2