[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Exomizer: How is the *world* do you get it to work??



BTW: One I definitely didn't see on your list and can't get to single-
load is Plasmania by Sirius. I got rid of the Fastloader code, but the
raw image of the game takes from $300 to $BFFF and I can't get this to
Exomize or even get a runnable single-load binary from within ProDOS
(yep, even tried MENU.SYSTEM and POKE 48984,0). Did you have any luck
getting it crunched?

CHALLENGE ACCEPTED

http://xtra.usotsuki.info/plasmaniw.dsk.gz

I found a non-fastloaded version and code-traced how they managed to get it to load, then designed a version that was a single file and didn't care that it ran over the top of DOS. (As it doesn't matter that DOS isn't present.)

Source:
http://bb2k.net/download/FASTLOADER/Plasmania%20no%20fastloader.dsk

After tracing, I couldn't find any free memory in which to put my depacker except for in screen memory. The depacker sits from 06F0-06FD, with 2 wasted bytes following, and page 3 sits from 0700-07FF. The original code here has a two stage mover that copies a block to //e memory, then loads the rest, then moves the block above DOS, and the call to the second stage is in the main binary (PLASMANIA, first 3 bytes of this file). In the end, it jumps to 0300.

So my version simply has the memory move already done, as it's all in the main 48K - except that page 3 is now page 7. *This* page move is done by a 14-byte routine at 06F0, thus:

0006F0  1  A0 00        entry:    ldy       #$00
0006F2  1  B9 00 07     @1:       lda       $0700, y
0006F5  1  99 00 03               sta       $0300, y
0006F8  1  C8                     iny
0006F9  1  D0 F7                  bne       @1
0006FB  1  4C 00 03               jmp       $0300

I could actually modify the signon screen to remove the 'tro. It's part of the master memory image at 2000-3FFF, a normal graphics screen. (I did not do that here.)

-uso.