~rabbits/left

3719903fb412c47d01b44087392bda569510709b — Devine Lu Linvega 19 days ago b2f2324
LIT2 optimizations
1 files changed, 23 insertions(+), 23 deletions(-)

M src/left.tal
M src/left.tal => src/left.tal +23 -23
@@ 51,7 51,7 @@
	;text select-start
	( begin )
	draw-menu
	#15 .Screen/auto DEO
	[ LIT2 15 -Screen/auto ] DEO
	file-new
	#01 draw-state
	draw-spacer


@@ 263,7 263,7 @@ JMP2r
	.Mouse/y DEI2 #0014 LTH2 ?trap-menu
	.Mouse/state DEI #00 NEQ #41 ADD ;cursor-icn update-cursor

	#15 .Screen/auto DEO
	[ LIT2 15 -Screen/auto ] DEO
	( scroll )
	.Mouse/scrolly DEI2 .scroll/y LDZ2 ADD2 scroll-to
	( routing )


@@ 807,14 807,14 @@ JMP2r
@draw-textarea ( -- )

	( fast clear )
	#71 .Screen/auto DEO
	[ LIT2 71 -Screen/auto ] DEO
	#0020 .Screen/y DEO2
	[ LIT &height $1 ]
	&h
		#0088 .Screen/x DEO2
		[ LIT &width $1 ]
		&w
			#00 .Screen/sprite DEO
			[ LIT2 00 -Screen/sprite ] DEO
			INC DUP ?&w
		POP
		.Screen/y DEI2k #0040 ADD2 ROT DEO2


@@ 827,7 827,7 @@ JMP2r
	( paint )
	#0010 .scroll/x LDZ2 SUB2 #0080 ADD2 .Screen/x DEO2
	#0020 .Screen/y DEO2
	#15 .Screen/auto DEO
	[ LIT2 15 -Screen/auto ] DEO
	get-eof INC2 .scroll/addr LDZ2
	&l
		scan-comment


@@ 879,8 879,8 @@ JMP2r
	&skip

JMP2r
	&true #01 .state/c STZ JMP2r
	&false #00 .state/c STZ JMP2r
	&true [ LIT2 01 -state/c ] STZ JMP2r
	&false [ LIT2 00 -state/c ] STZ JMP2r

@scan-fixed ( addr* -- addr* )



@@ 891,8 891,8 @@ JMP2r
	&skip

JMP2r
	&true #01 .state/f STZ JMP2r
	&false #00 .state/f STZ JMP2r
	&true [ LIT2 01 -state/f ] STZ JMP2r
	&false [ LIT2 00 -state/f ] STZ JMP2r

@walk-color ( addr* -- addr* color )



@@ 927,7 927,7 @@ JMP2r
	STHk #00 SWP .Screen/x DEI2
		DUP2 ,&anchor STR2
		ADD2
	[ LIT &color $1 ] .Screen/sprite DEOk
	[ LIT2 &color $1 -Screen/sprite ] DEOk
	STHkr #09 LTH [ JMP DEOk POP2 ]
	( underline )
	[ LIT &ul $1 ] #00 EQU ?&no-ul


@@ 955,12 955,12 @@ JMP2r
	#0000 .Screen/x DEO2
	#0018 .Screen/y DEO2

	#02 .Screen/auto DEO
	[ LIT2 02 -Screen/auto ] DEO
	( bg )
	;checkered-icn .Screen/addr DEO2
	.scrollbar/height LDZ2 #03 SFT2 NIP #00
	&l
		#04 .Screen/sprite DEO
		[ LIT2 04 -Screen/sprite ] DEO
		INC GTHk ?&l
	POP2
	( fg )


@@ 968,10 968,10 @@ JMP2r
	#0018 STH2k .scroll/y LDZ2 .scroll/ratio LDZ2 STH2k DIV2 ADD2 .Screen/y DEO2
	.Screen/height DEI2 count-lines STH2r DIV2 SUB2 STH2r SUB2 #03 SFT2 NIP INC #00
	&stretch
		#05 .Screen/sprite DEO
		[ LIT2 05 -Screen/sprite ] DEO
		INC GTHk ?&stretch
	POP2
	#15 .Screen/auto DEO
	[ LIT2 15 -Screen/auto ] DEO

JMP2r



@@ 979,11 979,11 @@ JMP2r

	#0000 .Screen/x DEO2
	#0017 .Screen/y DEO2
	#01 .Screen/auto DEO
	[ LIT2 01 -Screen/auto ] DEO
	;dashed-icn .Screen/addr DEO2
	#00 .Screen/width DEI2 #03 SFT2 NIP SUB
	&l
		#05 .Screen/sprite DEO
		[ LIT2 05 -Screen/sprite ] DEO
		INC DUP ?&l
	POP



@@ 994,11 994,11 @@ JMP2r
	( fast clear )
	#0008 .Screen/x DEO2
	#0020 .Screen/y DEO2
	#f2 .Screen/auto DEO
	[ LIT2 f2 -Screen/auto ] DEO
	#00 .textarea/lines LDZ2 NIP DUP ADD SUB
	&lc #00 .Screen/sprite DEO INC DUP ?&lc POP
	&lc [ LIT2 00 -Screen/sprite ] DEO INC DUP ?&lc POP
	( draw )
	#15 .Screen/auto DEO
	[ LIT2 15 -Screen/auto ] DEO
	.selection/from LDZ2 get-current-marker ,&sel STR
	.nav/len LDZ #00 EQUk ?&when-empty
	&l


@@ 1025,11 1025,11 @@ JMP2r

@draw-state ( state -- )

	#25 .Screen/auto DEO
	[ LIT2 25 -Screen/auto ] DEO
	#0000 DUP2 .Screen/x DEO2 .Screen/y DEO2
	;state-icns .Screen/addr DEO2
	.Screen/sprite DEO
	#15 .Screen/auto DEO
	[ LIT2 15 -Screen/auto ] DEO

JMP2r



@@ 1086,7 1086,7 @@ JMP2r
@draw-str ( str* -- str* )

	LDAk #00 EQU ?&skip
	#15 .Screen/auto DEO
	[ LIT2 15 -Screen/auto ] DEO
	&w
		LDAk draw-chr
		INC2 LDAk ?&w


@@ 1100,7 1100,7 @@ JMP2r
	DUP
	( addr ) get-chr .Screen/addr DEO2
	( anchor ) get-chrw STHk .Screen/x DEI2 ADD2
	[ LIT &color 01 ] .Screen/sprite DEOk STHr #08 LTH [ JMP DEOk ] POP2
	[ LIT2 &color 01 -Screen/sprite ]  DEOk STHr #08 LTH [ JMP DEOk ] POP2
	.Screen/x DEO2

JMP2r