Exemplo n.º 1
0
bool NBFFileOsImageWriter::Open()
{
	NB0ImageReader nb0(g_cfg.BootloaderName);
	m_checksum=0;

    if (!nb0.Open()) 
	{
		g_err.Set(stringformat("error opening source bootloader from %s", g_cfg.BootloaderName.c_str()));
		return false;
	}
    ByteVector bootloader;

    if (!nb0.ReadData(0x80000000, 0x40000, bootloader))
	{
		g_err.Set("error reading bootloader");
        return false;
	}
    nb0.Close();

	if (!LinearFileImageWriter::Open())
		return false;

    if (!WriteData(0x80000000, bootloader))
        return false;

	return true;

}
Exemplo n.º 2
0
double nball(double *x, double *par)
{
//   if (x[0]>=0.0 && x[0]<1.0) return nb0( par[0], par[1], 0.0, (1-par[4])*ntotal*(1-par[2]), (1-par[4])*ntotal*par[2], par[4]*ntotal*(1-par[2]), par[4]*ntotal*par[2], 2, par[3]);
//   else if (x[0]>=1.0 && x[0]<2.0) return nb1( par[0], par[1], 0.0, (1-par[4])*ntotal*(1-par[2]), (1-par[4])*ntotal*par[2], par[4]*ntotal*(1-par[2]), par[4]*ntotal*par[2],  2, par[3]);
//   else if (x[0]>=2.0 && x[0]<3.0) return nb2( par[0], par[1], 0.0, (1-par[4])*ntotal*(1-par[2]), (1-par[4])*ntotal*par[2], par[4]*ntotal*(1-par[2]), par[4]*ntotal*par[2],  2, par[3]);
//   else if (x[0]>=3.0 && x[0]<4.0) return nb3( par[0], par[1], 0.0, (1-par[4])*ntotal*(1-par[2]), (1-par[4])*ntotal*par[2], par[4]*ntotal*(1-par[2]), par[4]*ntotal*par[2],  2, par[3]);

   if (x[0]>=0.0 && x[0]<1.0) return nb0( par[0], par[1], 0.0, (1-par[4])*ntotal*(1-par[2]), (1-par[4])*ntotal*par[2], par[4]*ntotal*0.14, par[4]*ntotal*0.80, 0, par[4]*ntotal*0.03, 2, par[3]);
   else if (x[0]>=1.0 && x[0]<2.0) return nb1( par[0], par[1], 0.0, (1-par[4])*ntotal*(1-par[2]), (1-par[4])*ntotal*par[2], par[4]*ntotal*0.14, par[4]*ntotal*0.80, 0, par[4]*ntotal*0.03, 2, par[3]);
   else if (x[0]>=2.0 && x[0]<3.0) return nb2( par[0], par[1], 0.0, (1-par[4])*ntotal*(1-par[2]), (1-par[4])*ntotal*par[2], par[4]*ntotal*0.14, par[4]*ntotal*0.80, 0, par[4]*ntotal*0.03, 2, par[3]);
   else if (x[0]>=3.0 && x[0]<4.0) return nb3( par[0], par[1], 0.0, (1-par[4])*ntotal*(1-par[2]), (1-par[4])*ntotal*par[2], par[4]*ntotal*0.14, par[4]*ntotal, 0, par[4]*ntotal*0.03, 2, par[3]);
   else if (x[0]>=4.0 && x[0]<5.0) return nb4( par[0], par[1], 0.0, (1-par[4])*ntotal*(1-par[2]), (1-par[4])*ntotal*par[2], par[4]*ntotal*0.14, par[4]*ntotal, 0, par[4]*ntotal*0.03, 2, par[3]);
}