Важная информация

User Tag List

Страница 22 из 23 ПерваяПервая ... 181920212223 ПоследняяПоследняя
Показано с 211 по 220 из 221

Тема: Сжатие данных

  1. #211
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,857
    Спасибо Благодарностей отдано 
    655
    Спасибо Благодарностей получено 
    1,846
    Поблагодарили
    1,054 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    upkr удобно сравнивать с идеологически близким шринклером, он примерно в 2 раза быстрее шринклера, соответственно правее. На моем тестовом наборе (20 векторовских программ) upkr сжал немного лучше шринклера, но если говорить конкретно про тот график, то там надо брать и соответствующий тестовый набор (который мне не интересен применительно к вектору). Скорее всего upkr все же и на том тестовом наборе чуть выше, но это даже не принципиально при том выигрыше в скорости, размере распаковщиков и таблиц, который он демонстрирует. Еще можно сравнить циферки тут. Плюс еще возможность ограничивать дальность ссылок, что позволяет при необходимости распаковывать в круговой буфер (для шринклера нет такого упаковщика).
    Кстати, если взять картинки upkrdemo в пиксельном, а не в битплановом представлении и сжать с ограничением для буфера 256 байт, то выигрыш >2 килобайт (это даже с учетом 256 байт). Т.е. можно уместить две полновысотные картинки шире 208 точек.
    Ну и я все еще не против общения на ты.

  2. Эти 5 пользователя(ей) поблагодарили ivagor за это полезное сообщение:

    Improver (21.12.2022), nzeemin (21.12.2022), Oleg N. Cher (21.12.2022), Rus (22.12.2022), svofski (21.12.2022)

  3. #211
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  4. #212
    Member
    Регистрация
    16.11.2014
    Адрес
    г. Абакан
    Сообщений
    60
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    41
    Поблагодарили
    15 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    nzeemin,
    Если вы про UPKR, то точка будет (LDIR x 189; 2.29)

  5. Этот пользователь поблагодарил Eugene85 за это полезное сообщение:

    nzeemin (25.01.2023)

  6. #213
    Member
    Регистрация
    16.11.2014
    Адрес
    г. Абакан
    Сообщений
    60
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    41
    Поблагодарили
    15 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Компрессоры RIP и mRIP

    Цитата Сообщение от ivagor Посмотреть сообщение
    но для него нет упаковщика с возможностью ограничения длины смещений.
    Как же нет, когда есть :)

  7. Этот пользователь поблагодарил Eugene85 за это полезное сообщение:

    ivagor (01.04.2023)

  8. #214
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,857
    Спасибо Благодарностей отдано 
    655
    Спасибо Благодарностей получено 
    1,846
    Поблагодарили
    1,054 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Сократил DeRIP на 7 байт и чуть ускорил. Изменил описание, т.к. новый RIP сам умеет переворачивать битовый поток.

  9. Эти 4 пользователя(ей) поблагодарили ivagor за это полезное сообщение:

    nzeemin (14.06.2023), Oleg N. Cher (12.06.2023), svofski (11.06.2023), Titus (11.06.2023)

  10. #215
    Veteran Аватар для Pyk
    Регистрация
    05.04.2013
    Адрес
    с. Починки, Нижегородская обл.
    Сообщений
    1,184
    Спасибо Благодарностей отдано 
    265
    Спасибо Благодарностей получено 
    460
    Поблагодарили
    184 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ivagor, а что с репозиторием на github?

  11. #216
    Banned
    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,841
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    658
    Поблагодарили
    512 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Pyk Посмотреть сообщение
    ivagor, а что с репозиторием на github?
    Оо!
    И такого опасного для ваших банковских щетов ivagor-а зашадов прибанили

    - - - Добавлено - - -

    ivagor, это ты не включил 2FA?

    - - - Добавлено - - -

    хотя те кто ужо давно не ходит в/на гитх00б еще вроде есть


    или это ивагор там был просто раньше зареган?
    а тем уйти в 404 еще не пришло время
    Последний раз редактировалось NEO SPECTRUMAN; 10.10.2023 в 06:41.

  12. #217
    Banned
    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,841
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    658
    Поблагодарили
    512 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ivagor, так ты сам удолилсо или тя удолили?

  13. #218
    Master Аватар для Improver
    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    978
    Спасибо Благодарностей отдано 
    439
    Спасибо Благодарностей получено 
    397
    Поблагодарили
    221 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ivagor, вопрос есть по распаковщику... Решил сделать упакованный вариант какой-нибудь игрушки, попалась MoonBugs (moonbugs.rom), упаковал её при помощи LZSA с ключами "-f1 -r" и дополнил таким распаковщиком на основе твоего unlzsa, когда-то имевшегося на гитхабе:

    Исходники

    Код:
    	.ORG	100H
    START:	DI
    	LXI	SP,000F0H
    	LXI	H,PAKPR		; откуда
    	LXI	D, 0A000H	; куда
    BEGIN:	MOV	A,M
    	STAX	D
    	INX	H
    	INR	E
    	JNZ	BEGIN
    	INR	D
    	MOV	A,D
    	CPI	0FFH
    	JC	BEGIN		; цикл до адреса FF00h
    	LXI	D, START
    	PUSH	D		; для запуска распакованного
    	LXI	H, PDATA
    	JMP	0A000H
    PAKPR:	.db 0FFh
    ;
    	.org 0A000H		; после компиляции удалить область от PAKPR до 0A000H и дописать в конец архив
    ;
    ;input: 	hl=compressed data start
    ;		de=uncompressed destination start
    unlzsa1:
    	mvi b,0
    	jmp ReadToken
    ;
    NoLiterals:
    	xra m
    	push d
    	inx h
    	mov e,m
    	jm LongOffset
    ShortOffset:
    	mvi d,0FFh
    	adi 3
    	cpi 15+3
    	jnc LongerMatch
    CopyMatch:
    	mov c,a
    CopyMatch_UseC:
    	inx h
    	xthl
    	xchg
    	dad d
    	mov a,m
    	inx h
    	stax d
    	inx d
    	dcx b
    	mov a,m
    	inx h
    	stax d
    	inx d
    	dcx b
    	dcx b
    	inr c
    BLOCKCOPY1:
    	mov a,m
    	stax d
    	inx h
    	inx d
    	dcr c
    	jnz BLOCKCOPY1
    	xra a
    	ora b
    	jz $+7		; >>>
    	dcr b
    	jmp BLOCKCOPY1
    	pop h		; <<<
    ReadToken:
    	mov a,m
    	ani 70h
    	jz NoLiterals 
    	cpi 70h
    	jz MoreLiterals
    	rrc
    	rrc
    	rrc
    	rrc
    	mov c,a
    	mov b,m
    	inx h
    	mov a,m		; <<<
    	stax d
    	inx h
    	inx d
    	dcr c
    	jnz $-5		; >>>
    	push d
    	mov e,m
    	mvi a,8Fh
    	ana b
    	mvi b,0
    	jp ShortOffset
    LongOffset:
    	inx h
    	mov d,m
    	adi -128+3
    	cpi 15+3
    	jc CopyMatch
    LongerMatch:
    	inx h
    	add m
    	jnc CopyMatch
    	mov b,a
    	inx h
    	mov c,m
    	jnz CopyMatch_UseC
    	inx h
    	mov b,m
    	mov a,b
    	ora c
    	jnz CopyMatch_UseC
    	pop d
    	ret		; >>>>>>>>>>>>>>>
    ;
    MoreLiterals:		
    	xra m
    	push psw
    	mvi a,7
    	inx h
    	add m
    	jc ManyLiterals
    CopyLiterals:
    	mov c,a
    CopyLiterals_UseC:
    	inx h
    	dcx b
    	inr c
    BLOCKCOPY2:
    	mov a,m
    	stax d
    	inx h
    	inx d
    	dcr c
    	jnz BLOCKCOPY2
    	xra a
    	ora b
    	jz $+7		; >>>
    	dcr b
    	jmp BLOCKCOPY1
    	pop psw		; <<<
    	push d
    	mov e,m
    	jp ShortOffset
    	jmp LongOffset
    ManyLiterals:
    	mov b,a
    	inx h
    	mov c,m
    	jnz CopyLiterals_UseC
    	inx h
    	mov b,m
    	jmp CopyLiterals_UseC
    ;
    PDATA:	.END
    [свернуть]

    Начало, вроде, отрабатывает нормально, но при распаковке после адреса 3BC4h сыпет мусор в память. Что я там не так сделал, подскажи?
    Собранный распаковщик с архивом игры, для тестов: moonbugp.rar
    Последний раз редактировалось Improver; 08.05.2024 в 15:17.

  14. #219
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,857
    Спасибо Благодарностей отдано 
    655
    Спасибо Благодарностей получено 
    1,846
    Поблагодарили
    1,054 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вероятно когда ты преобразовывал исходник для себя сделал одну неправильную замену. В конце цикла BLOCKCOPY2 должно быть jmp BLOCKCOPY2 вместо jmp BLOCKCOPY1

  15. Этот пользователь поблагодарил ivagor за это полезное сообщение:

    Improver (08.05.2024)

  16. #220
    Master Аватар для Improver
    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    978
    Спасибо Благодарностей отдано 
    439
    Спасибо Благодарностей получено 
    397
    Поблагодарили
    221 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    когда ты преобразовывал исходник для себя сделал одну неправильную замену
    Спасибо, исправил. Эту подпрограмму я скопировал из РДС, и там та же ошибка, но, наверно, повезло -- в РДС она себя не проявила...

Страница 22 из 23 ПерваяПервая ... 181920212223 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Архивирование, сжатие, упаковка.
    от GriV в разделе Программирование
    Ответов: 30
    Последнее: 22.07.2019, 17:25
  2. Существует ли идеальное сжатие без потери данных?
    от CodeMaster в разделе Программирование
    Ответов: 35
    Последнее: 06.10.2017, 00:15
  3. RLE сжатие (покритикуйте)
    от Vladson в разделе Программирование
    Ответов: 12
    Последнее: 16.03.2008, 12:29
  4. Ответов: 18
    Последнее: 18.06.2006, 16:50

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •