diff --git a/gui/m291/src/m291.tal b/gui/m291/src/m291.tal index edfd90f..2ed4fc6 100644 --- a/gui/m291/src/m291.tal +++ b/gui/m291/src/m291.tal @@ -147,11 +147,11 @@ ( skip curr-frame ) #20 find-next INC2 ( skip next-frame ) #20 find-next INC2 ( | ) - parse-dec STH2 + parse-dec STH2k INC2 LDAk [ LIT "5 ] LTH ?{ INC2r } #20 find-next INC2 ( | ) - parse-dec STH2 + parse-dec STH2k INC2 LDAk [ LIT "5 ] LTH ?{ INC2r } POP2 STH2r STH2r SWP2 OVR2 ADD2 SWP2 ( | print ) @@ -401,6 +401,33 @@ INC2 GTH2k ?&>l POP2 POP2 JMP2r +@ ( time* -- ) + #0008 .Screen/x DEO2 + #0070 .Screen/y DEO2 ! + +@ ( time* -- ) + .Screen/width DEI2 #0008 SUB2 .Screen/x DEO2 + #0070 .Screen/y DEO2 + ;placeholder/time-b #01 + + #0a19 DEO + JMP2r + +@ ( time* -- ) + [ LIT2 15 -Screen/auto ] DEO + ( x0:00:00 ) DUP2 #8ca0 DIV2 NIP + ( 0x:00:00 ) DUP2 #0e10 DIV2 NIP + [ LIT ": ] + ( 00:x0:00 ) DUP2 #0258 DIV2 NIP + ( 00:0x:00 ) DUP2 #003c DIV2 NIP + [ LIT ": ] + ( 00:00:x0 ) DUP2 #000a DIV2 NIP + ( 00:00:0x ) NIP + JMP2r + +@ ( value -- ) + #0a DIVk MUL SUB [ LIT "0 ] ADD ! + @ ( addr* -- ) #0000 .Screen/x DEO2 .Screen/addr DEO2 @@ -468,17 +495,21 @@ ( >> ) @ ( text* color -- ) - ,&color STR + ,/color STR [ LIT2 15 -Screen/auto ] DEO &>w ( -- ) LDAk #1f GTH ?{ POP2 JMP2r } - LDAk #20 SUB #00 SWP - ( ) DUP2 #50 SFT2 ;font/glyphs ADD2 .Screen/addr DEO2 - ( ) ;font ADD2 LDA #00 SWP .Screen/x DEI2 ADD2 - ( ) [ LIT &color 05 ] .Screen/sprite DEOk DEO - .Screen/x DEO2 + LDAk INC2 !&>w +@ ( char -- ) + #20 SUB #00 SWP + ( ) DUP2 #50 SFT2 ;font/glyphs ADD2 .Screen/addr DEO2 + ( ) ;font ADD2 LDA #00 SWP .Screen/x DEI2 ADD2 + ( ) [ LIT &color 05 ] .Screen/sprite DEOk DEO + .Screen/x DEO2 + JMP2r + @ ( color addr* -- ) ;fill-icn .Screen/addr DEO2 #40