diff --git a/gui/shavian/shavian.tal b/gui/shavian/shavian.tal index 8cd7520..749c7e9 100644 --- a/gui/shavian/shavian.tal +++ b/gui/shavian/shavian.tal @@ -41,15 +41,24 @@ JMP2r @new-pixels ( -- ) - #ff .id LDZ2 #40 SFT2 ;glyphs ADD2 [ LIT2 &row $2 ] INC2k ,&row STR2 + ;buf parse-pixels .id LDZ2 #40 SFT2 ;glyphs ADD2 [ LIT2 &row $2 ] INC2k ,&row STR2 ADD2 STA ( clean ) #0000 ;buf STA2 JMP2r +@parse-pixels ( line* -- icn ) + [ LITr 00 ] DUP2 + &w ( -- ) + LDAk [ LIT "0 ] EQU ?{ + [ LITr 01 ] ORAr } + [ LITr 10 ] SFTr INC2 LDAk ?&w + POP2 STHr JMP2r + @is-pixels ( buf* -- f ) LDA DUP [ LIT "0 ] EQU SWP [ LIT "1 ] EQU ORA JMP2r @ ( id* -- ) + DUP2 #ffff NEQ2 ?{ POP2 JMP2r } #40 SFT2 ;glyphs ADD2 .Screen/addr DEO2 #07 .Screen/sprite DEO JMP2r