Jump to content
IGNORED

Superpacker & Exomizer


Heaven/TQA

Recommended Posts

Can someone give me an advice?

 

I saved memblock $1000 -$bc40 in Altirra and want to pack it with Exomizer in Tebe's Superpacker...

 

I am not managing to get it packed properly for depacking?

 

in memory block $5000 ff. is empty and can be used for "loading adress"?

 

thx for help

 

 

 

Link to comment
Share on other sites

Mapa... and what is the loading adress then? where the data file will be loaded by DOS? can this be in the depacked area?

If you pack $1000-$bc40 then the default loading address is $1000 I think?

 

I'm not sure, but it looks to me that exomizer adds routine for copying the packed data before decompresing so even if you load them at "wrong" place, it will move them somewhere safe and then depack. Exomizer decompres data from higher to lower memory I think.

Edited by MaPa
Link to comment
Share on other sites

Mapa... yeah little confusing with loading adress...

 

I managed to split it in 2 blocks... there is basicly code at loading-adress (you see it in the INI segment adress pointer) but I also need the depacker at default $400 ff. and if saving memory blocks... of course I needed to add RUN into the main procedure after depacking.

 

Jac pointed out that saving complete "big block" instead of smaller junks helps to increase massive packing ratio with exomizer...

 

so... fex... 12 KB code was packed down (each segment) to 9kb... while having the big memory junk (even filled with 00) exo packed it down to 6kb.

Link to comment
Share on other sites

as I said... data and code is 12kb spread in memory... so there are a lot of zeors in the mentioned memblock...

 

there is no magic here... when packing atari specific "loading segments" ($ff,$ff blocks) superpacker packs each segment separatly with exomizer... of course it is more likely to find packable patterns when the packing data is 44k instead of 512 bytes.

Edited by Heaven/TQA
Link to comment
Share on other sites

This is how I typically do it via a Make file:

 

C:\jac\system\Atari800\Tools\ASM\MADS\mads.exe SillyMenu.asm -o:SillyMenu.xex %2 %3 // has ORG $2000 where the first opcode starts
if ERRORLEVEL 1 goto :mads_error
C:\jac\system\Atari800\Tools\PAK\SuperPacker\exomizer sfx $2000 SillyMenu.xex -t 168 -o SillyMenu-Packed.xex
C:\jac\system\Atari800\Tools\ASM\MADS\mads.exe SillyMenu-Loader.asm -l -o:atr\files\%1 %2 %3
if ERRORLEVEL 1 goto :mads_error
Full source:
And (my every repeating usual advise), don't go below $2000 for anything you plan to load.
Load >= $2000, move it where it belongs and then unpack.
Note: And exomizer uses the stack starting at $100 for the actual unpacking routine.
Edited by JAC!
  • Like 1
Link to comment
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.
Note: Your post will require moderator approval before it will be visible.

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...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...