add version : 2.6
This commit is contained in:
parent
ddb9be9a73
commit
b37a26c8ed
|
|
@ -110,9 +110,10 @@ char progbuf[0xfffe]; /*program buffer*/
|
||||||
char progffff; /*adr ffff prom e27512 program buffer*/
|
char progffff; /*adr ffff prom e27512 program buffer*/
|
||||||
char *peprombuf;
|
char *peprombuf;
|
||||||
char *pprogbuf;
|
char *pprogbuf;
|
||||||
|
char *p_progbuf;
|
||||||
char eprombuf[0xfffe]; /*prom buffer*/
|
char eprombuf[0xfffe]; /*prom buffer*/
|
||||||
char epromffff; /*adr ffff prom e27512 prom buffer*/
|
char epromffff; /*adr ffff prom e27512 prom buffer*/
|
||||||
|
long offprom, p_lange, p_begadre;
|
||||||
/* open filename
|
/* open filename
|
||||||
------------- */
|
------------- */
|
||||||
|
|
||||||
|
|
@ -258,6 +259,8 @@ else /* executable and overlay */
|
||||||
break;
|
break;
|
||||||
case 'l': zhl1=2; nbytes=nbytes/2; peprombuf++; break;
|
case 'l': zhl1=2; nbytes=nbytes/2; peprombuf++; break;
|
||||||
}
|
}
|
||||||
|
p_lange=nbytes;
|
||||||
|
|
||||||
for (;nbytes>0;pprogbuf++,peprombuf=peprombuf+zhl1,nbytes--)
|
for (;nbytes>0;pprogbuf++,peprombuf=peprombuf+zhl1,nbytes--)
|
||||||
*pprogbuf= *peprombuf;}
|
*pprogbuf= *peprombuf;}
|
||||||
|
|
||||||
|
|
@ -286,6 +289,8 @@ else /* executable and overlay */
|
||||||
break;
|
break;
|
||||||
case 'l': zhl1=2; nbytes=nbytes/2; peprombuf++; break;
|
case 'l': zhl1=2; nbytes=nbytes/2; peprombuf++; break;
|
||||||
}
|
}
|
||||||
|
p_lange=nbytes;
|
||||||
|
|
||||||
for (;nbytes>0;pprogbuf++,peprombuf=peprombuf+zhl1,nbytes--)
|
for (;nbytes>0;pprogbuf++,peprombuf=peprombuf+zhl1,nbytes--)
|
||||||
*pprogbuf= *peprombuf;}
|
*pprogbuf= *peprombuf;}
|
||||||
offset=boffset;
|
offset=boffset;
|
||||||
|
|
@ -308,6 +313,8 @@ else /* executable and overlay */
|
||||||
break;
|
break;
|
||||||
case 'l': zhl1=2; nbytes=nbytes/2; peprombuf++; break;
|
case 'l': zhl1=2; nbytes=nbytes/2; peprombuf++; break;
|
||||||
}
|
}
|
||||||
|
p_lange=nbytes;
|
||||||
|
|
||||||
for (;nbytes>0;pprogbuf++,peprombuf=peprombuf+zhl1,nbytes--)
|
for (;nbytes>0;pprogbuf++,peprombuf=peprombuf+zhl1,nbytes--)
|
||||||
*pprogbuf= *peprombuf;}
|
*pprogbuf= *peprombuf;}
|
||||||
|
|
||||||
|
|
@ -335,20 +342,22 @@ sfile()
|
||||||
{
|
{
|
||||||
eof=false; warning=false;
|
eof=false; warning=false;
|
||||||
adr=adr << 8;
|
adr=adr << 8;
|
||||||
if (begadrf<adr)
|
if (begadrf<adr) {
|
||||||
{if ((begadrf+langf)<=adr)
|
if ((begadrf+langf)<=adr) warning=true;
|
||||||
warning=true;
|
else {
|
||||||
else
|
offprom=adr-begadrf;
|
||||||
{peprombuf= &eprombuf[adr-begadrf];
|
peprombuf= &eprombuf[adr-begadrf];
|
||||||
pprogbuf= &progbuf[adr-begadrf];
|
pprogbuf= &progbuf[adr-begadrf];
|
||||||
if ((begadrf+langf)>=(adr+len))
|
if ((begadrf+langf)>=(adr+len)) nbytes=len;
|
||||||
nbytes=len;
|
|
||||||
else nbytes=begadrf+langf-adr;}}
|
else nbytes=begadrf+langf-adr;
|
||||||
else
|
}
|
||||||
{if (begadrf>=(adr+len))
|
}
|
||||||
eof=true;
|
else {
|
||||||
else
|
if (begadrf>=(adr+len)) eof=true;
|
||||||
{peprombuf= &eprombuf[0];
|
else {
|
||||||
|
offprom=0L;
|
||||||
|
peprombuf= &eprombuf[0];
|
||||||
pprogbuf= &progbuf[0];
|
pprogbuf= &progbuf[0];
|
||||||
aoffset=begadrf;
|
aoffset=begadrf;
|
||||||
offset=offset+aoffset;
|
offset=offset+aoffset;
|
||||||
|
|
@ -356,7 +365,11 @@ sfile()
|
||||||
offset=offset-aoffset;
|
offset=offset-aoffset;
|
||||||
if ((begadrf+langf)>(adr+len))
|
if ((begadrf+langf)>(adr+len))
|
||||||
nbytes=adr+len-begadrf;
|
nbytes=adr+len-begadrf;
|
||||||
else nbytes=langf;}}
|
else nbytes=langf;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
p_progbuf=pprogbuf;
|
||||||
|
p_begadre=begadre1+offprom;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* prom to file
|
/* prom to file
|
||||||
|
|
@ -457,7 +470,7 @@ long offs;
|
||||||
lseek (fd1, offset, 0);
|
lseek (fd1, offset, 0);
|
||||||
offset=offset + hoffset;
|
offset=offset + hoffset;
|
||||||
n_write=write (fd1,eprombuf,prlang);
|
n_write=write (fd1,eprombuf,prlang);
|
||||||
if (n_write != prlang) {error=9; outerr(); return;}
|
if ((n_write & 0xffffL) != prlang) {error=9; outerr(); return;}
|
||||||
|
|
||||||
aoffset=prlang;
|
aoffset=prlang;
|
||||||
s_exec.s_imsize=s_exec.s_imsize + aoffset;
|
s_exec.s_imsize=s_exec.s_imsize + aoffset;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue