unity – Problem with hard edges alpha channel in sprite Shader

I was looking for a shader that could apply a texture to the sprite and place it in a mosaic according to its global position.
I found an example of shader from here.


It works fine, except that the alpha channel breaks and the edges become sharp:Left - with standard Sprites-Default shader.Right - with mine

Left – with standard default Sprite-Shader.
Right – with mine


My current shader:


Shader "Custom / Tile" {
Properties
{
_NewTex ("Texture", 2D) = "white" {}
}
SubShader
{
Cull Off ZWrite Off ZTest Always
Mix SrcAlpha OneMinusSrcAlpha

Happen
{
CGPROGRAM
#pragma vertex vert
Fragment fragment of #pragma

#include "UnityCG.cginc"

appdata structure
{
float4 vertex: POSITION;
float2 uv: TEXCOORD0;
};
v2f structure
{
float2 uv: TEXCOORD0;
float4 vertex: SV_POSITION;
};

float4 _NewTex_ST;
v2f vert (appdata v)
{
v2f o;
o.vertex = UnityObjectToClipPos (v.vertex);
float2 worldXY = mul (unity_ObjectToWorld, v.vertex) .xz;
o.uv = TRANSFORM_TEX (worldXY, _NewTex);
return or;
}
sampler2D _NewTex;

fix4 frag (v2f i): SV_Target
{
fix4 col = tex2D (_NewTex, i.uv);
come back
}
ENDCG
}
}}

How to reach left Alpha sprite look? And yes, I'm totally noob in shaders.