Jump to content
Sign in to follow this  
rensoup

xbios: squeezing out a little more mem?

Recommended Posts

Posted (edited)

I'm planning to use xBios (seems like a great tool btw) and I'm wondering if I could get even more RAM back.

 

the wiki says:

$0700-$07FF        xBIOS I/O buffer$0800-$0BFF        xBIOS

1) I'm guessing I can use the IO buffer safely between loads ?

 

2) Assuming I've got a decompression routine already in memory that I use for other purposes, could I keep a compressed version of the $800-$c00 area ?

I assume there is some data in there that is dependent on disk layout, and perhaps temporary variables so I can't just dump the memory and compress it ?

 

Thanks.

Edited by rensoup

Share this post


Link to post
Share on other sites

Hi Rensoup,

 

Although I wrote the English version of the xBIOS documentation, translating and extending the original docs, I am not sure about these questions as I've never tried to do what you are doing. I am just a relative beginner with it too.

 

If XXL finds this thread, he'll best be able to answer.

 

I'll give you the answers which I -believe- will be correct but XXL can answer better:

1) I can't see why you couldn't use the buffer between loads for other purposes. If you're not using it, then what is the problem?

2) Alike to (1), if you're not using xBIOS, you could compress it when not in use, do something else with the area, then inflate it back to its original location before being used again.

 

Ensure that you don't have a compress/inflate routine in place just for these as you may be using up more memory than you are saving.

 

Loving the creativity! :)

Share this post


Link to post
Share on other sites

Hi Snicklin,

 

 

1) I can't see why you couldn't use the buffer between loads for other purposes. If you're not using it, then what is the problem?

 

Well the code could store some internal state in that buffer, maybe even just one byte. Although that's unlikely, I'd rather be absolutely sure.

 

 

2) Alike to (1), if you're not using xBIOS, you could compress it when not in use, do something else with the area, then inflate it back to its original location before being used again.

 

Same as 1) but that's a lot more likely. Let's say I create a disk with xBios, run it, then break into the debugger to dump the $0800-$0BFF area. Perhaps that area contains the current directory structure as well as internal states?

 

I then add more files or update the files on disk, changing their filesizes. The initial load from the bootsector would be up to date but after decrunching the old xBios, I'd end up with old data and almost certainly a crash.

 

Just speculating :)

Share this post


Link to post
Share on other sites
after loading xB, the code is relocated and modified to the appropriate disk format (sector size, which filesystem).

After this step, you can change everything with files and directories - size of files, write / delete, sort, create catalogs, etc. you can even add directories that store more than 64 files - (catalog entry longer than 8 sectors)

  • Like 1

Share this post


Link to post
Share on other sites

I'm not entirely sure this answers my question but I'll do some more digging, thanks

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...