~rabbits/nasu

53415c13626e906238f3f6588db6e64095d18d54 — neauoire 1 year, 9 months ago ba407fd
Added circular bit shift operations
1 files changed, 52 insertions(+), 6 deletions(-)

M nasu.usm
M nasu.usm => nasu.usm +52 -6
@@ 9,12 9,10 @@

	TODO:
		Save/load/rename
		Tile Modifiers
		Zoom
		Brushes
		Resize buttons
		Display tile preview view
		Erase with right-click
		Painting in zoom view
)

%+  { ADD } %-   { SUB }  %*  { MUL } %/   { DIV }


@@ 32,6 30,9 @@
%CPY { STHkr }
%STEP8 { #0033 SFT2 }

%ROL { DUP #80 AND #07 SFT SWP #10 SFT + }
%ROR { DUP #01 AND #70 SFT SWP #01 SFT + }

%SFL { #40 SFT SFT }

%MOD { DUP2 / * - }


@@ 296,9 297,26 @@ BRK

@on-touch-zoomview ( -> )
	
	.settings/focus LDZ2 
	DUP2 ;op-shiftup JSR2
	#0008 ++ ;op-shiftup JSR2
	.Mouse/y DEI2 .zoomview/y1 LDZ2 -- #0008 // TOB #04 ! ;&no-mod JCN2
		.Mouse/x DEI2 .zoomview/x1 LDZ2 -- #0008 // TOB 
		DUP #00 = .Mouse/state DEI #01 = #0101 !! ,&no-shiftup JCN
			.settings/focus LDZ2 
			DUP2 ;op-shiftup JSR2
			#0008 ++ ;op-shiftup JSR2 &no-shiftup
		DUP #00 = .Mouse/state DEI #10 = #0101 !! ,&no-shiftdown JCN
			.settings/focus LDZ2 
			DUP2 ;op-shiftdown JSR2
			#0008 ++ ;op-shiftdown JSR2 &no-shiftdown
		DUP #01 = .Mouse/state DEI #01 = #0101 !! ,&no-shiftright JCN
			.settings/focus LDZ2 
			DUP2 ;op-shiftright JSR2
			#0008 ++ ;op-shiftright JSR2 &no-shiftright
		DUP #01 = .Mouse/state DEI #10 = #0101 !! ,&no-shiftleft JCN
			.settings/focus LDZ2 
			DUP2 ;op-shiftleft JSR2
			#0008 ++ ;op-shiftleft JSR2 &no-shiftleft
		POP
	&no-mod

	;redraw JSR2



@@ 419,6 437,34 @@ RTN

RTN

@op-shiftleft ( addr* -- )
	
	STH2
	#00 #08
	&loop
		OVR TOS STH2kr ++ DUP2
		LDA [ ROL ] ROT ROT STA
		INCR
		LTHk ,&loop JCN
	POP2
	POP2r

RTN

@op-shiftright ( addr* -- )
	
	STH2
	#00 #08
	&loop
		OVR TOS STH2kr ++ DUP2
		LDA [ ROR ] ROT ROT STA
		INCR
		LTHk ,&loop JCN
	POP2
	POP2r

RTN

@redraw ( -- )
	
	;draw-toolview JSR2