I have it working on Win with most of the optimizations to it and other algos intact.
I started with 3.5.2 as a baseline then ported back the optimizations from 3.5.3 and 3.5.4
including the original x11evo fix and large optimization.
I don't know exactly what code broke it but I found 2 hash functions broken that worked
fine on Linux as well as other algos on Win.
I still need to do a performance comparison with 3.5.4 and possibly try to reimplement additional
No ETA for 3.5.5.
Edit: I broke it again. The x11evo optimization from 3.5.4 just won't work on Windows.
This works on both Windows and Linux
void evocoin_twisted_code( char *result, char *code )
{
uint32_t h32, *be32 = get_stratum_job_ntime();
h32 = be32toh(*be32);
uint32_t count = getCurrentAlgoSeq(h32, INITIAL_DATE);
getAlgoString(code, count);
sprintf(result, "_%d_%s_", count, code);
}
This doesn't work on Windows but works on Linux
static __thread uint32_t saved_ntime = UINT32_MAX;
void evocoin_twisted_code( char *result, char *code )
{
uint32_t h32, *be32 = get_stratum_job_ntime();
if ( *be32 != saved_ntime )
{
h32 = be32toh(*be32);
uint32_t count = getCurrentAlgoSeq(h32, INITIAL_DATE);
getAlgoString(code, count);
sprintf(result, "_%d_%s_", count, code);
saved_ntime = *be32;
}
}