Code:

// Yacoin defaults

unsigned int Ntimestamp = 1367991200;

unsigned int minN = 4;

unsigned int maxN = 30;

if (strlen(jane_params) > 0) {

if (!strcmp(jane_params, "YAC") || !strcasecmp(jane_params, "Yacoin")) {} // No-Op

else if (!strcmp(jane_params, "YBC") || !strcasecmp(jane_params, "YBCoin")) {

// YBCoin: 1372386273, minN: 4, maxN: 30

Ntimestamp = 1372386273; minN= 4; maxN= 30;

} else if (!strcmp(jane_params, "ZZC") || !strcasecmp(jane_params, "ZZCoin")) {

// ZcCoin: 1375817223, minN: 12, maxN: 30

Ntimestamp = 1375817223; minN= 12; maxN= 30;

} else if (!strcmp(jane_params, "FEC") || !strcasecmp(jane_params, "FreeCoin")) {

// FreeCoin: 1375801200, minN: 6, maxN: 32

Ntimestamp = 1375801200; minN= 6; maxN= 32;

} else if (!strcmp(jane_params, "ONC") || !strcasecmp(jane_params, "OneCoin")) {

// OneCoin: 1371119462, minN: 6, maxN: 30

Ntimestamp = 1371119462; minN= 6; maxN= 30;

} else if (!strcmp(jane_params, "QQC") || !strcasecmp(jane_params, "QQCoin")) {

// QQCoin: 1387769316, minN: 4, maxN: 30

Ntimestamp = 1387769316; minN= 4; maxN= 30;

} else if (!strcmp(jane_params, "GPL") || !strcasecmp(jane_params, "GoldPressedLatinum")) {

// GoldPressedLatinum: 1377557832, minN: 4, maxN: 30

Ntimestamp = 1377557832; minN= 4; maxN= 30;

} else {

if (sscanf(jane_params, "%u,%u,%u", &Ntimestamp, &minN, &maxN) != 3)

if (sscanf(jane_params, "%u", &Nfactor) == 1) return Nfactor; // skip bounding against minN, maxN

else applog(LOG_INFO, "Unable to parse scrypt-jane parameters: '%s'. Defaulting to Yacoin.", jane_params);

}

}

unsigned int Ntimestamp = 1367991200;

unsigned int minN = 4;

unsigned int maxN = 30;

if (strlen(jane_params) > 0) {

if (!strcmp(jane_params, "YAC") || !strcasecmp(jane_params, "Yacoin")) {} // No-Op

else if (!strcmp(jane_params, "YBC") || !strcasecmp(jane_params, "YBCoin")) {

// YBCoin: 1372386273, minN: 4, maxN: 30

Ntimestamp = 1372386273; minN= 4; maxN= 30;

} else if (!strcmp(jane_params, "ZZC") || !strcasecmp(jane_params, "ZZCoin")) {

// ZcCoin: 1375817223, minN: 12, maxN: 30

Ntimestamp = 1375817223; minN= 12; maxN= 30;

} else if (!strcmp(jane_params, "FEC") || !strcasecmp(jane_params, "FreeCoin")) {

// FreeCoin: 1375801200, minN: 6, maxN: 32

Ntimestamp = 1375801200; minN= 6; maxN= 32;

} else if (!strcmp(jane_params, "ONC") || !strcasecmp(jane_params, "OneCoin")) {

// OneCoin: 1371119462, minN: 6, maxN: 30

Ntimestamp = 1371119462; minN= 6; maxN= 30;

} else if (!strcmp(jane_params, "QQC") || !strcasecmp(jane_params, "QQCoin")) {

// QQCoin: 1387769316, minN: 4, maxN: 30

Ntimestamp = 1387769316; minN= 4; maxN= 30;

} else if (!strcmp(jane_params, "GPL") || !strcasecmp(jane_params, "GoldPressedLatinum")) {

// GoldPressedLatinum: 1377557832, minN: 4, maxN: 30

Ntimestamp = 1377557832; minN= 4; maxN= 30;

} else {

if (sscanf(jane_params, "%u,%u,%u", &Ntimestamp, &minN, &maxN) != 3)

if (sscanf(jane_params, "%u", &Nfactor) == 1) return Nfactor; // skip bounding against minN, maxN

else applog(LOG_INFO, "Unable to parse scrypt-jane parameters: '%s'. Defaulting to Yacoin.", jane_params);

}

}

Multiple coin support for scrypt-jane! Let me know which others you want (see above code to check what's available)

--algo=scrypt-jane

directly specify N factor 12

--algo=scrypt-jane:12

mine Freecoin (likewise for other coins)

--algo=scrypt-jane:FEC

--algo=scrypt-jane:FreeCoin

The most flexible way: specify parameters for Gold Pressed Latinum manually

--algo=scrypt-jane:1377557832,4,30

Note that N factor changes during mining will most likely lead to a crash. You have been warned