~rabbits/orca-toy

86d7f7e92e8eb3f9c3c71cf3b28d24485485b04e — neauoire 1 year, 1 month ago faabc80
Optimized Q
1 files changed, 15 insertions(+), 15 deletions(-)

M src/main.tal
M src/main.tal => src/main.tal +15 -15
@@ 884,7 884,7 @@ RTN

RTN

@op-p ( x y char -- ) ( TODO )
@op-p ( x y char -- )

	POP POP2
	.head/addr LDZ2 STH2k


@@ 902,24 902,24 @@ RTN

RTN

@op-q ( x y char -- ) ( TODO )
@op-q ( x y char -- )

	POP
	( get x ) DUP2 [ SWP #03 - SWP ] GET-PORT-LEFT STH
	( get y ) DUP2 [ SWP #02 - SWP ] GET-PORT-LEFT STH
	( get len ) DUP2 [ SWP #01 - SWP ] GET-PORT-LEFT 1MIN
	POP POP2
	.head/addr LDZ2 STH2k
	( x ) STH2kr #0003 -- ;get-port-left-value JSR2 
		( load ) TOS INC2 ++
	( y ) STH2kr #0002 -- ;get-port-left-value JSR2 
		( load ) TOS [ #00 .grid/width LDZ ** ] ++ 
	,&load STR2
	( len ) STH2kr #0001 -- ;get-port-left-value JSR2 1MIN
		( save ) DUP TOS STH2kr BELOW SWP2 -- INC2 ,&save STR2
	#00
	&loop
		( x+i+1,y ) STHk OVR2 STHr ROT + INC SWP
		( x+x0,y+y0 ) STHkr + SWP OVRr STHr + SWP
		GET-PORT-RIGHT-RAW STH
		( x-i-len ) DUP2  - STH
		( x,y ) OVR2 SWP STHr - INC SWP INC
		STHr SET-PORT-OUTPUT
		 INC
		GTHk ;&loop JCN2
		( load ) DUP TOS [ LIT2 &load $2 ] ++ ;get-port-right-raw JSR2
		( save ) OVR TOS [ LIT2 &save $2 ] ++ ;set-port-output JSR2
		INC GTHk ,&loop JCN
	POP2
	( clean ) POP2 POP2r
	POP2r

RTN