Есть ли в доступном виде(исходник/псевдокод) алгоритмы работы Спектрумовских программ для упаковки/распаковки картинок?
Вид для печати
Есть ли в доступном виде(исходник/псевдокод) алгоритмы работы Спектрумовских программ для упаковки/распаковки картинок?
Быстров как то в Инферногуид описвыал формат упакованных данных разных пакеров, можно там посмотреть...
на всякий случай, распаковка lc 4.0 и lc 5.2 на с/с++Цитата:
Сообщение от Hrumer
хм.. а нету консольных hrust'ов для РС?
ну почему же нету... где нашел не помню, не исключено что где-то здесь, на форумеЦитата:
Сообщение от psb
вооо :))) спасибо большое! :)))
А распаковщики hrum/hrust консольные есть(с сорцами)?
есть как паковщики, так и распаковщики. обращаться надо вроде к elf/2.
есть ещё моя версия на C++ (на самом деле классы юзаются только ради пространства имён). ИМХО моя версия почитабельнее будет.
если надо, то когда приду домой закину.
Да, надо, закидывай! :)
короче кому надо хруст и дехруст в классах, ловите.
на добрый толк надо конечно было сделать методы статическими, но мне влом.
Привет!
А алгоритм OLZH никто не пробовал прикручивать?
Интересно, насколько оптимально (в рамках формата упакованных данных) пакует этот "хруст в классах"? Что такое "spd 0-3" ? На 1 файле он немного обошёл, на другом немного проиграл megalz'у. А поскольку депакер megalz'а всего 112 байт, то в данном случае хруст в пролёте =)Цитата:
Сообщение от Sinus
lvd, интересно, а в megalz применяются какие либо специальные алгоритмы для улучшения качества сжатия(т.е. более опитмального подбора кодируемых пар) или все кодируется "в лоб"?
"хруст в классах" - порт 1:1 со спековского хруста. по этому по всем вопросам относительно оптимальности/неоптимальности упаковки не ко мне ^_~
а что такое megalz?
Я не знаю, я пакер не писал и не ломал. Депакер можно увидеть в поздних (чем позже тем больше вероятность что самый последний депакер) релизах mayhem. По всем вопросам можно обратиться к fyrex'у, он его писал.Цитата:
Сообщение от Hrumer
Кстати, а есть сорец депакера к этому пакеру, желательно перемещаемый (LDIR'ом) и нестековый? =)
Пакер, написанный fyrex'ом из mayhem.Цитата:
Сообщение от Sinus
а где его взять?
Депакер вроде я сказал где, а пакер только для внутреннего использования. По всем вопросам можно к fyrex'у, он тута есть в юзерах, если надо, скажу емыл в личку.Цитата:
Сообщение от Sinus
хотелось бы посмотреть на этот пакер. ибо если он пакует лучше хруста с депакером в 112 байт, то это по крайней мере интересно.
То, что лучше - это конечно врядли...
но то что быстрее распаковщик и меньше на соизмеримом
качестве сжатия - это да.
2hrumer - к сожалению не использует, хотел в своё время поработать с
этим подходом к сжатию, но так и не было особой нужды - предел
некий уже можно сказать достигнут (в этом классе кранчеров)
ну так это, не томи ;)
дай потестить
fyrex: Напрасно. Я оцениваю выигрыш по объему где то 1..15%. А может и выше. Если уж Павлов в своем 7zip для формата zip указывает выигрыш до 8..10%, то при использовании "статических кодов" выигрыш будет гораздо серьезнее.
fyrex: оппа. я депакера от megalz не видел. То, на что я подумал называлось bitbuster и RNC_ProPack... Если не трудно, дай текст распаковщика.
да, закиньте уже плиз эти 112 байт в виде текста прямо в форум
Из дома закину. Туто нету. Кстати фурех разрешил дать пакер отдельным личностям - тоже разошлю =)).Цитата:
Сообщение от jtn
Депакер megalz v4
Код:DEC40
;HL - from
;DE - to
LD A,#80
EX AF,AF'
MS LDI
M0 LD BC,#2FF
M1 EX AF,AF'
M1X ADD A,A
JR NZ,M2
LD A,(HL)
INC HL
RLA
M2 RL C
JR NC,M1X
EX AF,AF'
DJNZ X2
LD A,2
SRA C
JR C,N1
INC A
INC C
JR Z,N2
LD BC,#33F
JR M1
X2 DJNZ X3
SRL C
JR C,MS
INC B
JR M1
X6
ADD A,C
N2
LD BC,#4FF
JR M1
N1
INC C
JR NZ,M4
EX AF,AF'
INC B
N5 RR C
RET C
RL B
ADD A,A
JR NZ,N6
LD A,(HL)
INC HL
RLA
N6 JR NC,N5
EX AF,AF'
ADD A,B
LD B,6
JR M1
X3
DJNZ X4
LD A,1
JR M3
X4 DJNZ X5
INC C
JR NZ,M4
LD BC,#51F
JR M1
X5
DJNZ X6
LD B,C
M4 LD C,(HL)
INC HL
M3 DEC B
PUSH HL
LD L,C
LD H,B
ADD HL,DE
LD C,A
LD B,0
LDIR
POP HL
JR M0
Зачем только отдельным? Из чего делать секрет? Лучше здесь выложить. Спектрумисты будут благодарны. А вдруг его поддержат в каком-нибудь новом коммандере (например, QC).Цитата:
Сообщение от lvd
Вопрос не ко мне - к фуреху.Цитата:
Сообщение от axor
2hrumer - Да, как раз 7з мне и открыл глаза на оптимальное сжатие, когда обычным методом зипа достигается существенно большее сжатие...
Но нада учитывать, что на спеке файлы жмут обычно маленькие, так что
выигрыш в проценты - это несколько байт ! А мучиться с пакером придётся
долго =)
Повторю вопрос. Можно ли пакер закинуть сюда?Цитата:
Сообщение от fyrex