William A. Arbaugh writes:
> Can anyone tell me what to look out for (i.e. fix) when I have an image
> over 32kb?
>
> I have a set of functions that run fine without stdlib. Linking a few of
> them into a eepro100 image (lzcom or com) and using masq to produce a
> bootable floppy works fine when the size is below 32kb. As soon as the
> size goes over that, the system hangs on boot.
>
> I've tried lowering the RELOCADDR, but I keep getting a data out of bounds
> when zloader or loader are assembled. I've seen some posts that indicated
> that this addr can be changed, but I'm at a loss on how to do it (or if it
> will even help with my problem).
At the very least, you will have to modify RELOCADDR; most likely, you
will also have to change the address of the stack pointer. If you use
"lzcom", you will have to make further changes, because "lzcom" makes
the general assumption that the image never grows bigger than 32kB. If
it grows a lot bigger, then the uncompressor probably needs to be
changed to update the 16 counts in the table. Make sure, that the
addresses you use, do not conflict with the load addresses for the
tagged images.
All of these changes are possible, but in general it might be an
easier approach to try optimizing the driver. I have not looked at the
EEPRO100 code yet, so I cannot tell how difficult that would
be. Usually, for a boot prom you want to have to most simple and
fool-proof driver there is; do not include any advanced features,
because they might not work reliably at boot time.
Markus
--
Markus Gutschke Internet: markus@infoscape.com
Infoscape, Inc Phone: +1-415-537-3778
657 Mission Street, Suite 200
San Francisco, CA 94105
Disclaimer: The above message represents my personal opinion; It does
not constitute an offical statement by Infoscape!
For requests or suggestions regarding this mailing list archive please write to netboot@gkminix.han.de.