From 5c974ebb383eadda22c9c873cfa7b75d8cfce386 Mon Sep 17 00:00:00 2001 From: Devine Lu Linvega Date: Sun, 25 Aug 2024 19:50:15 -0700 Subject: [PATCH] (m291) Handle messages --- gui/m291/src/m291.tal | 57 ++++++++++++++++++++++++++----------------- 1 file changed, 34 insertions(+), 23 deletions(-) diff --git a/gui/m291/src/m291.tal b/gui/m291/src/m291.tal index 4402147..4400578 100644 --- a/gui/m291/src/m291.tal +++ b/gui/m291/src/m291.tal @@ -70,22 +70,6 @@ &status-bar ( y* -> ) POP2 BRK -@ ( y* -- id ) - #0014 SUB2 - ( | above ) - DUP2 #8000 GTH2 ?&outside - ( | spacer ) - has-spacer #00 EQU ?{ - DUP2 [ LIT2 00 -lines/folders ] LDZ #40 SFT2 SUB2 #0008 LTH2 ?&outside - DUP2 [ LIT2 00 -lines/folders ] LDZ #40 SFT2 GTH2 #00 SWP #30 SFT2 SUB2 } - #04 SFT2 NIP - ( | below ) - DUP count-lines LTH ?{ POP #ff } - JMP2r - - &outside ( y* -- id ) - POP2 #ff JMP2r - @on-control ( -> ) ( | mod ) [ LIT2 04 -Controller/button ] DEI AND #00 NEQ .selection/mod STZ @@ -109,13 +93,13 @@ #00 / ( | parse line ) ;&buf LDAk [ LIT "@ ] EQU ?{ POP2 JMP2r } - ( INC2k LDA LIT "F EQU ?on-frame - | INC2k LDA LIT "H EQU ?on-help - | INC2k LDA LIT "I EQU ?on-id3 - | INC2k LDA LIT "P EQU ?on-paused - | INC2k LDA LIT "R EQU ?on-revision - | INC2k LDA LIT "S EQU ?on-status - | INC2k LDA LIT "T EQU ?on-tag ) + INC2 LDAk + ( | route ) + DUP [ LIT "S ] EQU ?handle-status + DUP [ LIT "F ] EQU ?handle-frame + POP + ( | not-handled ) + #0a19 DEO ( >> ) @@ -128,9 +112,36 @@ STA JMP2r +( +@|events ) + +@handle-status ( buf* char -- ) + POP + #0a19 DEO !message/ + +@handle-frame ( buf* char -- ) + POP + #0a19 DEO !message/ + ( @|core ) +@ ( y* -- id ) + #0014 SUB2 + ( | above ) + DUP2 #8000 GTH2 ?&outside + ( | spacer ) + has-spacer #00 EQU ?{ + DUP2 [ LIT2 00 -lines/folders ] LDZ #40 SFT2 SUB2 #0008 LTH2 ?&outside + DUP2 [ LIT2 00 -lines/folders ] LDZ #40 SFT2 GTH2 #00 SWP #30 SFT2 SUB2 } + #04 SFT2 NIP + ( | below ) + DUP count-lines LTH ?{ POP #ff } + JMP2r + + &outside ( y* -- id ) + POP2 #ff JMP2r + @ ( -- ) ;path .File/name DEO2 #0800 .File/length DEO2