~rabbits/nasu

c69edba39d0da5f5c3e3d928a36e625bebf20b27 — neauoire 1 year, 7 months ago f7c7c40
Minor optimizations
1 files changed, 31 insertions(+), 33 deletions(-)

M src/nasu.tal
M src/nasu.tal => src/nasu.tal +31 -33
@@ 14,8 14,8 @@
	ctrl+s - save
 )

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



@@ 23,6 23,7 @@
%WIDTH  { HOR TOS #0008 ** } 
%LENGTH { HOR TOS VER TOS ** #0010 ** }

%8**  { #30 SFT2 } 
%RTN { JMP2r }
%MOD { DUP2 / * - }
%MOD2 { OVR2 OVR2 // ** -- }


@@ 899,13 900,13 @@ RTN
	
	.colorview/y2 LDZ2 #0001 ++ .Screen/y DEO2
	.colorview/x1 LDZ2 .Screen/x DEO2
	;font-hex [ .System/r GET-COLOR ] TOS #0008 ** ++ .Screen/addr DEO2
	.System/r GET-COLOR ;draw-short/parse JSR2 .Screen/addr DEO2
	#20 .settings/color LDZ + .Screen/color DEO
	.Screen/x DEI2 #0008 ++ .Screen/x DEO2
	;font-hex [ .System/g GET-COLOR ] TOS #0008 ** ++ .Screen/addr DEO2
	.System/g GET-COLOR ;draw-short/parse JSR2 .Screen/addr DEO2
	#20 .settings/color LDZ + .Screen/color DEO
	.Screen/x DEI2 #0008 ++ .Screen/x DEO2
	;font-hex [ .System/b GET-COLOR ] TOS #0008 ** ++ .Screen/addr DEO2
	.System/b GET-COLOR ;draw-short/parse JSR2 .Screen/addr DEO2
	#20 .settings/color LDZ + .Screen/color DEO

	.colorview/x1 LDZ2 .colorview/y1 LDZ2 


@@ 1016,31 1017,37 @@ RTN

RTN

@draw-byte ( byte color -- )
	
	STH STH
	;font-hex #00 STHkr #f0 AND #04 SFT #08 * ++ .Screen/addr DEO2
	( draw ) OVRr STHr .Screen/color DEO
	.Screen/x DEI2 #0008 ++ .Screen/x DEO2
	;font-hex #00 STHr #0f AND #08 * ++ .Screen/addr DEO2
	( draw ) STHr .Screen/color DEO

RTN

@draw-short ( short* color -- )

	STH SWP 
	DUP #04 SFT TOS #0008 ** ;font-hex ++ .Screen/addr DEO2
	( draw ) STHkr .Screen/color DEO
	#0f AND TOS #0008 ** ;font-hex ++ .Screen/addr DEO2
		DUP #04 SFT ,&parse JSR .Screen/addr DEO2
		( draw ) STHkr .Screen/color DEO
	.Screen/x DEI2 #0008 ++ .Screen/x DEO2
		#0f AND ,&parse JSR .Screen/addr DEO2
		( draw ) STHkr .Screen/color DEO
	.Screen/x DEI2 #0008 ++ .Screen/x DEO2
	( draw ) STHkr .Screen/color DEO
	DUP #04 SFT TOS #0008 ** ;font-hex ++ .Screen/addr DEO2
		DUP #04 SFT ,&parse JSR .Screen/addr DEO2
		( draw ) STHkr .Screen/color DEO
	.Screen/x DEI2 #0008 ++ .Screen/x DEO2
	( draw ) STHkr .Screen/color DEO
	#0f AND TOS #0008 ** ;font-hex ++ .Screen/addr DEO2
		#0f AND ,&parse JSR .Screen/addr DEO2
		( draw ) STHr .Screen/color DEO
	RTN
	&parse ( value -- addr* )
		DUP #09 GTH ,&above JCN 
			#30 ADD #20 - TOS 8** ;font ++ RTN 
		&above 
			#09 SUB #40 ADD #20 - TOS 8** ;font ++ RTN

RTN

@draw-byte ( byte color -- )
	
	STH
		DUP #04 SFT ,draw-short/parse JSR .Screen/addr DEO2
		( draw ) STHkr .Screen/color DEO
	.Screen/x DEI2 #0008 ++ .Screen/x DEO2
	( draw ) STHr .Screen/color DEO
		#0f AND ,draw-short/parse JSR .Screen/addr DEO2
		( draw ) STHr .Screen/color DEO

RTN



@@ 1188,15 1195,6 @@ RTN
@zoom-icns
	3048 8484 4834 0200 ( in )
	3245 8284 4834 0200 ( out )
@font-hex
	007c 8282 8282 827c 0030 1010 1010 1010
	007c 8202 7c80 80fe 007c 8202 1c02 827c
	000c 1424 4484 fe04 00fe 8080 7c02 827c
	007c 8280 fc82 827c 007c 8202 1e02 0202
	007c 8282 7c82 827c 007c 8282 7e02 827c
	007c 8202 7e82 827e 00fc 8282 fc82 82fc
	007c 8280 8080 827c 00fc 8282 8282 82fc
	007c 8280 f080 827c 007c 8280 f080 8080 
@font ( specter8-frag font )
	0000 0000 0000 0000 0008 0808 0800 0800
	0014 1400 0000 0000 0024 7e24 247e 2400