Page 1 of 1

Puppy Linux

Posted: Wed Sep 09, 2009 6:19 am
by stefano
Recently my laptop hard disk broke, and I took the opportunity to try the latest Puppy Linux distribution (version 4.2.4, released Sep 2009) on a small USB memory key. Still a beta release but in a good shape already (I'm typing this message with SeaMonkey on Puppy).
Following the Puppy philosophy I tried to get the missing pieces without installing gcc or whatever, and since Puppy still hasn't got its own package for z88dk I looked for something compatible.
The current Debian stable distribution (Lenny) seems to be a good option, because the libc versions match.
I picked the current z88dk tree, expanded it under /mnt/home (the free portion of the USB key), downgraded the {z88dk}/lib/config folder to version 1.8 and just installed z88dk-bin_1.8.ds1-2_i386.deb, holding the compiled binaries.
The distro put the files in /usr/bin, but they're renamed in z88dk-something, I just changed them back to defaults.

The following symlink helps taking benefit of the path defaults:
ln -s /mnt/home/z88dk /usr/lib/z88dk

Then I set up the env variables, but something is still broken:

# zcc +zx dstar.c
cp /z88dk/lib/spec_crt0.opt /tmp/tmpXXM9VNoL.opt
cp /tmp/tmpXXM9VNoL.opt /tmp/tmpXXM9VNoL.asm
zcpp -I. -DZ80 -DSMALL_C -DSPECTRUM -D__SPECTRUM__ -DSCCZ80 -I/z88dk/include dstar.c /tmp/tmpXXG8k9Rs.i
sccz80 -// /tmp/tmpXXG8k9Rs.i
copt /z88dk/lib/z80rules.2 < /tmp/tmpXXG8k9Rs.asm > /tmp/tmpXXG8k9Rs.op1
copt /z88dk/lib/z80rules.1 < /tmp/tmpXXG8k9Rs.op1 > /tmp/tmpXXG8k9Rs.opt
z80asm -eopt -ns -Mo /tmp/tmpXXG8k9Rs.opt
z80asm -a -m -Mo -oa.bin -i/z88dk/lib/clibs/zx_clib -i/z88dk/lib/clibs/z80_crt0 /tmp/tmpXXM9VNoL.opt /tmp/tmpXXG8k9Rs.o
1 errors occurred during assembly
Key to filenames:
/tmp/tmpXXG8k9Rs.o = dstar.c
File '/tmp/tmpXXM9VNoL.asm', at line 2, File open/read error

Ideas ?

Posted: Wed Sep 09, 2009 8:17 am
by dom
Yup :)

I think this is the same as jannone's first problem.

Basically either you need Z80_OZFILES still set (with the trailing /) or add -IDESTDIR/lib to LINKOPTS in the config files and regenerate.

Posted: Fri Sep 11, 2009 6:12 am
by stefano
It took me a bit, then I discovered that I wasn't using "" correctly, I remembered it just needed the env variables set, but I was wrong. Passing the z88dk root as a parameter solved the problem.
The result is very tiny but a bit outdated and limited (make is missing too).. now it is time to pick the upup_devx sfs extension and go back thinking at the current release :rolleyes:

Posted: Fri Sep 11, 2009 3:50 pm
by stefano
Forgot to say an important thing: to "solve the problem" I had also to pick the old 1.8 tree.. for what I can say it can depend on the missing "hash" character, but there must be something more.
Summarizing the experience from this experiment: don't mix v1.9 binaries or /lib tree with previous z88dk versions.. this time it won't work !

I noticed some distributions dare to fix the bugs picking small portions of latest z88dk code (i.e. the latest CPC CRT0 improvements): it is very nice, because their 1.8 version related package is some way more stable than our official release... but my suggestion this time would be to think at 1.9 ASAP, there is also the extra bonus of Dom's (and others) updates for the 64 bit CPUs.