~rabbits/nasu

803883b3877bed6a1cb27979aaffbe9a770cc888 — neauoire 1 year, 6 months ago aa21593
Progress removing MUL/DIV
1 files changed, 17 insertions(+), 15 deletions(-)

M src/main.tal
M src/main.tal => src/main.tal +17 -15
@@ 19,7 19,7 @@

%+  { ADD }  %-  { SUB }  %*  { MUL }  
%<  { LTH }  %>  { GTH }  %=  { EQU }  %!  { NEQ }
%++ { ADD2 } %-- { SUB2 } %** { MUL2 } 
%++ { ADD2 } %-- { SUB2 } 
%<< { LTH2 } %>> { GTH2 } %== { EQU2 } %!! { NEQ2 }

%DEBUG  { ;print-hex JSR2 #0a .Console/write DEO }


@@ 34,7 34,9 @@
%4//  { #02 SFT2 }
%8**  { #30 SFT2 } %8//  { #03 SFT2 }
%10** { #40 SFT2 } 
%200// { #09 SFT2 }
%20** { #50 SFT2 } 
%100** { #80 SFT2 }
%200** { #90 SFT2 } %200// { #09 SFT2 }

%TOS  { #00 SWP }  
%MOD  { DIVk MUL SUB } %MOD2 { DIV2k MUL2 SUB2 }


@@ 62,7 64,7 @@
%ADD-POSITIONS { ROT2 ++ ROT2 ROT2 ++ SWP2 }
%RELEASE-MOUSE { #00 .Mouse/state DEO }
%RESET-SELECTION { .selection/x1 LDZ2 .selection/x2 STZ2 }
%GET-ADDR { TOS HOR TOS ** ROT TOS ++ 10** BANK ++ }
%GET-ADDR { TOS 20** ROT TOS ++ 10** BANK ++ }

%SET-STATE { #01 .state/changed STZ ;draw-state JSR2 }
%RESET-STATE { #00 .state/changed STZ ;draw-state JSR2 }


@@ 147,8 149,8 @@
	;on-frame    .Screen/vector DEO2

	( set defaults )
	HOR TOS 8** .frame/width STZ2
	VER TOS 8** #0040 ++ .frame/height STZ2
	#0100 .frame/width STZ2
	#0080 #0040 ++ .frame/height STZ2
	#01 .settings/depth STZ
	#01 .settings/color STZ
	#01 .settings/blending STZ


@@ 156,16 158,16 @@
	#01 .settings/tool STZ
	BANK .settings/focus STZ2

	HOR TOS 8** .tileview/width STZ2
	VER TOS 8** .tileview/height STZ2
	#0100 .tileview/width STZ2
	#0080 .tileview/height STZ2

	.Screen/width DEI2 #01 SFT2 .frame/width LDZ2 #01 SFT2 --
	.Screen/height DEI2 #01 SFT2 .frame/height LDZ2 #01 SFT2 --
	.frame/width LDZ2 .frame/height LDZ2
		SIZE-TO-RECT ;frame SET-RECT

	.frame/x1 LDZ2 .frame/y1 LDZ2 #0030 ++ HOR TOS 8** VER TOS 8** SIZE-TO-RECT ;tileview SET-RECT
	.tileview/x1 LDZ2 .tileview/y2 LDZ2 #0008 ++ HOR TOS 8** #0008 SIZE-TO-RECT ;toolview SET-RECT
	.frame/x1 LDZ2 .frame/y1 LDZ2 #0030 ++ #0100 #0080 SIZE-TO-RECT ;tileview SET-RECT
	.tileview/x1 LDZ2 .tileview/y2 LDZ2 #0008 ++ #0100 #0008 SIZE-TO-RECT ;toolview SET-RECT

	.frame/x1 LDZ2 .frame/y1 LDZ2 #0020 #0020 SIZE-TO-RECT ;blendview SET-RECT
	.frame/x1 LDZ2 #0030 ++ .frame/y1 LDZ2 #0020 #0020 SIZE-TO-RECT ;preview SET-RECT


@@ 231,11 233,11 @@ BRK

	.Controller/button DEI #f0 AND
		DUP #04 SFT #01 AND #01 ! ,&no-up JCN
			( clamp ) .settings/focus LDZ2 BANK HOR TOS 10** ++ << ,&no-up JCN
			( up )    .settings/focus LDZ2 #0010 HOR TOS ** -- .settings/focus STZ2 &no-up
			( clamp ) .settings/focus LDZ2 BANK #0020 10** ++ << ,&no-up JCN
			( up )    .settings/focus LDZ2 #0010 20** -- .settings/focus STZ2 &no-up
		DUP #05 SFT #01 AND #01 ! ,&no-down JCN
			( clamp ) .settings/focus LDZ2 BANK LENGTH HOR TOS 10** -- ++ >> ,&no-down JCN
			( down )  .settings/focus LDZ2 #0010 HOR TOS ** ++ .settings/focus STZ2 &no-down
			( clamp ) .settings/focus LDZ2 BANK LENGTH #0020 10** -- ++ >> ,&no-down JCN
			( down )  .settings/focus LDZ2 #0010 20** ++ .settings/focus STZ2 &no-down
		DUP #06 SFT #01 AND #01 ! ,&no-left JCN
			( clamp ) .settings/focus LDZ2 BANK #0001 ++ << ,&no-left JCN
			( left )  .settings/focus LDZ2 #0010 -- .settings/focus STZ2 &no-left


@@ 850,7 852,7 @@ RTN
	( get row )
	DUP2 #0008 MOD2 
	( get tile )
	SWP2 8// WIDTH 2** ** ++
	SWP2 8// 200** ++
	SWP2 STEP8 2** ++ 
	BANK ++



@@ 887,7 889,7 @@ RTN

@get-tile-addr ( x* y* -- addr* )
	
	STEP8 WIDTH ** 4// SWP2
	STEP8 100** 4// SWP2
	STEP8 2** ++
	BANK ++