Вложений: 1
Дизассемблированные исходники архиватора LZ(LZA) и разархиватора UZ(UZA)
Чё-то все увлеклись этими архиваторами и я заодно тоже. Подумал написать кросс упаковщик-распаковщик, чтоб смотреть, что там, в иногда попадающихся архивах. Но пока дизассемблировал - устал и энтузиазм иссяк. Поэтому, пусть кто-нибудь другой напишет.
Во вложении Вложение 74983 в архиве:
. LZ.asm, UZ.asm - исходники для кросс макро-11, потому что используются длинные метки. Сами исходники в КОИ-8 и русские буквы там тоже в КОИ-8. Чтобы компилировать в родной среде RT-11, нужно творчески переделать многие метки в уникальные 6-ти символьные. Чтобы получить русские буквы из КОИ-8 в КОИ-7, нужно применять какие-то неизвестные мне макросы или др. средства.
Из исходников можно получить как оригинальные LZ/UZ, так и не оригинальные LZA/UZA, где применены только правки от EmeSoft, и то не все.
LZ получается почти бинарно идентичен, разница - два байта текста, где исправлены две опечатки.
UZ получается с небольшими отличиями, в двух макросах, порядок передачи аргументов EMTу отличается (потому что только такую макробиблиотеку я нашёл).
Оригинальные LZA/UZA не получатся, т.к. EmeSoft там увлечённо шифровал код методом ксорения.
. lzss.c - исходник Haruhiko Okumura, который брался за основу архиватора/разархиватора. Просто так, не стал его из директории выкидывать, когда архив паковал.
. Macro11.exe - кроссассемблер макро-11 от Rhialto, с небольшими исправлениями (1.компиляция под RT-11 работает, а то он RSX увлёкся и поломал там RT-11, 2.имена макросов принудительно обрезаются до 6 символов при использовании длинных лексем, чтобы из SYSMAC.SML макросы доставались даже если писать их полное имя. Это не очень полезная фича, просто она осталась в этой сборке, 3. isdigit при парсинге чисел в 16-ричной системе счислении работает.)
. pclink11.exe - кросслинковщик от nzeemin
. батники, чтобы компилировать, две макробиблиотеки, первые попавшиеся, которые я нашёл, для сборки в SAV.
. Формат архива LZA.txt - описание формата архива, чтобы писать кросс упаковщик/распаковщик.