| |
Credits :
Download :
Look for downloads on external sites:
Pokefinder.org
User Comment Submitted by ChristopherJam on 31 July 2018
Yes, it uses getopt(), whose standard behaviour under unix/macOS is to return (-1) as soon as the next argument parsed doesn't match one of the provided options. Subsizer's option parser then drops through to code that treats the remainder of the argument list as input files.
Looks like windows doesn't actually have a standard getopt()? At least, not going by some cursory googling… | User Comment Submitted by Frantic on 30 July 2018
iAN: I guess the command line handler code is system dependent. Different libraries, or so. | User Comment Submitted by iAN CooG on 30 July 2018
cjam: weird, works for me on the win32 exe.
> subsizer test.1200 -otest.sub.prg -Xdirty,jmp=0x1200
> unp64 -v test.sub.prg
T.L.R. Subsizer 0.6 / dirty, unpacker=$00ee
Entry point: $0815
pass1, find unpacker: $00ee
Iterations 4975 cycles 15663
pass2, return to mem: $1200
Iterations 778071 cycles 2555446
saved $0b00-$91c0 as test.sub.prg.1200
and works in vice. | User Comment Submitted by ChristopherJam on 13 July 2018
Minor gotcha that had me scratching my head for a bit: any options after the input file will be silently ignored.
Eg, don't do this:
subsizer in.prg -oout.prg -Xdirty,jmp=0x0801
(it will just produce an a.out and ignore the SFX flags) | User Comment Submitted by ChristopherJam on 13 July 2018
One way to filter the .h files from the args passed to cc is to change the build rule to
$(CC) -O3 -march=native -Wall -o$@ $(filter-out $(wildcard *.h),$^) -lm | User Comment Submitted by Bacchus on 11 June 2018
Very interesting - a must try | User Comment Submitted by iAN CooG on 22 April 2017
new dirty decruncher it's even faster =)
Same program (just a sid tune for test) crunched with both 0.51 and 0.6, unpacked with unp64 updated right now with support for 0.6:
(with sys)
T.L.R. Subsizer 0.5 / dirty, unpacker=$00f2
Entry point: $0815
pass1, find unpacker: $00f2
Iterations 4333 cycles 14123
pass2, return to mem: $102c
Iterations 81982 cycles 280923
saved $1000-$1b57 as a.out.102c
T.L.R. Subsizer 0.6 / dirty, unpacker=$00ee
Entry point: $0815
pass1, find unpacker: $00ee
Iterations 4399 cycles 13833
pass2, return to mem: $102c
Iterations 79119 cycles 274493
saved $1000-$1b57 as a.out.102c
(sysless, loadback $1000)
T.L.R. Subsizer 0.5 / dirty, unpacker=$00f2
Entry point: $1000
pass1, find unpacker: $00f2
Iterations 4759 cycles 15047
pass2, return to mem: $102c
Iterations 81983 cycles 281851
saved $1000-$1b57 as a.out.102c
T.L.R. Subsizer 0.6 / dirty, unpacker=$00ee
Entry point: $1000
pass1, find unpacker: $00ee
Iterations 4811 cycles 14893
pass2, return to mem: $102c
Iterations 79120 cycles 275557
saved $1000-$1b57 as a.out.102c | User Comment Submitted by tlr on 22 April 2017
Added an improved set of makefiles that should be more portable. Thanks to frantic for testing.
Also, thanks for the win32 builds that keep on coming! Is that you iAN? | User Comment Submitted by tlr on 22 April 2017
@frantic: Thanks for reporting. The build system is somewhat of a kludge, I know. Wouldn't have guessed that -o space requirement. Will fix for next release and test with clang. | User Comment Submitted by Frantic on 21 April 2017
To get this to compile on OSX without manually specifying some other compiler version than the default one I had to remove all the .h files from the $^ list of files passed to cc in the makefile. Otherwise the following error is thrown:
clang: error: cannot specify -o when generating multiple output files
I also had to change:
$(LD) -r $^ -o$@
...in the makefile in the sfx dir to:
$(LD) -r $^ -o $@
...in order to avoid the following error:
ld -r detect_start.o generate_sfx.o fold.o -osfx.o
ld: unknown option: -osfx.o
make: *** [sfx.o] Error 1 |
|
|
|
| Search CSDb |
| Navigate | |
|
| Detailed Info | |
|
| Fun Stuff | |
· Goofs · Hidden Parts · Trivia
|
|
| Forum | |
|
| Support CSDb | |
|
| |
|