~rabbits/orca-toy

9c88b3f2869ac01a43ac8595e4e3b131ca0c7310 — neauoire 1 year, 1 month ago 86d7f7e
Optimized G
1 files changed, 13 insertions(+), 12 deletions(-)

M src/main.tal
M src/main.tal => src/main.tal +13 -12
@@ 761,22 761,23 @@ RTN

RTN

@op-g ( x y char -- ) ( TODO )
@op-g ( 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 ++
	( y ) STH2kr #0002 -- ;get-port-left-value JSR2 
		( load ) TOS INC2 [ #00 .grid/width LDZ ** ] ++ 
	,&save STR2
	( len ) STH2kr #0001 -- ;get-port-left-value JSR2 1MIN
	#00
	&loop
		( x+i+1,y ) STHk OVR2 STHr ROT + INC SWP
		DUP2 GET-PORT-RIGHT-RAW STH
		( unstash x,y ) ROTr STHkr ROTr STHkr ROTr
		( x0+x1-1,y0+y1+1 ) ROT + STH + #01 - STHr INC
		STHr SET-PORT-OUTPUT
		INC GTHk ;&loop JCN2
		( load ) DUP TOS STH2kr INC2 ++ ;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