| |
Smasher
Registered: Feb 2003 Posts: 512 |
Release id #220685 : Krill's Loader, Repository Version 192
first of all a big THANK-YOU Krill for the (long-awaited) release!!!
a question about the new feature "PREFER_SPEED_OVER_SIZE":
with this setting disabled loader fits in my ideal place $0200-$03ff (no stack, no screen area, yuppy!), while if I enable it it gets bigger and it doesn't fit.
so based on your testings, how fast is the "potentially faster decompression routine" compared to the default one? |
|
| |
Krill
Registered: Apr 2002 Posts: 2844 |
Bitfire benchmark:
ZX0-Dali TSCrunch
CPU size speed size speed
% B/s B/s B/s B/s
100 9475 9563 9827 9827
90 8885 9041 9613 9613
80 7103 7125 7737 7560
70 6451 6428 6574 6593
60 5694 5670 6000 6201
50 4824 4836 5128 5044
40 4007 4119 4671 4668
30 2974 3058 3568 3582
20 1954 1995 2405 2429
10 855 877 1092 1093 So not much of a difference (about 200 B/s tops), and the prefer-speed option may be slower than prefer-size depending on CPU percentage for loading.
It also depends on your specific set of compressed files.
YMMV. =) |
| |
FEFA
Registered: Mar 2018 Posts: 4 |
Hi.
I have tried to run "make prg" on this release, but it failed because "src/make-loadersymbolsinc.pl" now requires a version parameter, and "src/Makefile" gets it from the svn directory which is not included in the distribution.
Just as a workaround I have set VERSION to 192 in line 38 of the Makefile.
BTW, great stuff! |
| |
Krill
Registered: Apr 2002 Posts: 2844 |
You're the second person to have missed the goofs section and to come up with the exact same fix. https://csdb.dk/release/?id=220685&show=goof =)
Proper fix isSVNVERSION = svnversion
ifneq ($(wildcard ../../.svn/format),)
VERSION = $(shell $(SVNVERSION) | tr -d [:cntrl:])
else
VERSION = $(shell $(GREP) -oP 'VERSION_STRING "\K[^"]+' ../version.inc)
endif
[...]
GREP = grep |
| |
FEFA
Registered: Mar 2018 Posts: 4 |
Oh, sorry. I am a very inexperienced CSDb user, and I did not notice there is a section for goofs. I was also wondering how it was possible that no one had come across the bug before, but fortunately they did. |
| |
Krill
Registered: Apr 2002 Posts: 2844 |
Yeah, could be a little more prominent, that goofs section. :) |
| |
F7sus4
Registered: Apr 2013 Posts: 112 |
It's conveniently hidden. ;-) |
| |
Krill
Registered: Apr 2002 Posts: 2844 |
SD2IEC support for this loader (current and relevant previous versions) has now been invented! \=D/
Mad propz to Thierer! =)
https://github.com/thierer/sd2iec
https://github.com/thierer/sd2iec/releases/tag/v1.0.0atentdead0.. |
| |
MagerValp
Registered: Dec 2001 Posts: 1056 |
Whoa. Nice. |
| |
tlr
Registered: Sep 2003 Posts: 1714 |
Quite a lot of work put into reverse engineering that I assume, cool!
Seems to need some "magic" too:
static const PROGMEM file_quirks_t file_quirks[] = {
{ 0x1ba6, 20 }, /* coma light 13 / "SAMPLE" */
{ 0xe5ac, 80 }, /* coma light 13 / "PICDAT" */
{ 0xfe43, 80 }, /* protogeo 100% / 13th file */
{ 0x7f19, 120 }, /* pearls for pigs / "03" */
{ 0x8e1e, 20 }, /* cause of death / "PLOTBALL" */
{ 0, 0 } // end marker
}; |
| |
Krill
Registered: Apr 2002 Posts: 2844 |
Quoting tlrSeems to need some "magic" too:
static const PROGMEM file_quirks_t file_quirks[] = {
{ 0x1ba6, 20 }, /* coma light 13 / "SAMPLE" */
{ 0xe5ac, 80 }, /* coma light 13 / "PICDAT" */
{ 0xfe43, 80 }, /* protogeo 100% / 13th file */
{ 0x7f19, 120 }, /* pearls for pigs / "03" */
{ 0x8e1e, 20 }, /* cause of death / "PLOTBALL" */
{ 0, 0 } // end marker
}; I think that's to work around some problems due to the loader loading a lot faster with no wait time for individual blocks, which those demos do not expect (it's not a loader problem per se) and which could not be tested at the time.
So adding some artificial delay for known productions helps. |
... 34 posts hidden. Click here to view all posts.... |
Previous - 1 | 2 | 3 | 4 | 5 - Next |