ZX Pilot #29
30 сентября 1998

HARD and SOFT - On-screen file compressors and more ...

<b>HARD and SOFT</b> - On-screen file compressors and more ...
(C) DP

 On compressors display files and not only ...


   The reason for writing this text was the fact that
the majority (!) programs that work with screen files
(Pictures) do not quite want to work with the packed
screens, and work only with the file length of 6912 bytes -
Standard screen files.

   In fact, to determine with accuracy 99%, that particular file
is the image that is not difficult. In each
unpacker must be two things:


   1. Garter under the loaded address.


   In most cases, doing so:

...
CALL # 0056
ADR1DECSP
DECSP; further removed from the stack address ADR1
...


   But sometimes encountered and this option:

...
CALL # 1FC6
ADR2 ...; in the register pair HL address ADR2


   2. Since the screen saver is unpacked, then
unpacker should stand the team loading the register pair
number # 4000. In most cases (at least
I have not met other options) a register pair
is a DE.


   To summarize: The file of less than 6,912 bytes is (
99%) packed screen, if at the beginning (first
50 bytes) meet the team:


   1. CALL XXXX: DEC SP: DEC SP or CALL # 1FC6

   2. LD DE, # 4000 or LD DE, # 4800 or LD DE, # 5000


   Note: unpacking using 6912 byte buffer for
unpacking the screen can not be identification method described 
above for the reason that loading the register pair (not 
necessarily DE) # number 4000 in the first 50 bytes unpacker 
did not fall. 


   In recent years, can get compressed files without
unpacker. Such files, for example, create the program:

Quick Screen Viewer 1.0 by Abba / Inside Law: (format is packed
the screen is the same as that of ASC, but without the 
decompressor). Files this format have the extension "$" and the 
parameter start = 40000 

Laser Compact 4.0: extension "P", setting start = 40004 (# 9C44)
Laser Compact 5.0: extension "P", setting start = 40005 (# 9C45)


   Below are 3 unpacker: for files that are packaged in
format ASC, LC4.0, LC5.0. To unpack the images should be
write the address in HL packed pictures and call
appropriate extractor.

   To exclude certain specific commands and STORM
little use other information, unpacking given in the format
disassembler STS5.1.

Unpacker ASC (Screen Crasher):

   (Minimum correction copyright option

     connected to a file).

LL8000PUSHHL
CALL # 0052
DECSP
DECSP
POPBC
LDHL, # 0097
ADDHL, BC
EXDE, HL
LDHL, # 0066
ADDHL, BC
LD (HL), E
INCHL
LD (HL), D
LDHL, # 007B
ADDHL, BC
LD (HL), E
INCHL
LD (HL), D
LDHL, # 0089
ADDHL, BC
LD (HL), E
INCHL
LD (HL), D
NOP
NOP
NOP
POPHL
LDDE, # 4000
PUSHDE
EXX
EXAF, AF '
LDA, # 03
ORA
LDB, # 08
LDC, B
POPHL
EXAF, AF '
EXX
LL8034LDA, (HL)
BIT7, A
JRNZ, LL8073
AND # 07
LDC, A
LDA, (HL)
RRCA
RRCA
RRCA
AND # 0F
ADDA, # 03
LDB, A
INCHL
LDA, E
SUB (HL)
INCHL
PUSHHL
LDL, A
LDA, D
SBCA, C
LDH, A
LL804EPUSHHL
LDA, H
AND # 58
CP # 58
JRZ, LL8068
LDC, A
LDA, L
AND # 07
ORC
LDC, A
ADDHL, HL
ADDHL, HL
LDA, H
AND # 1F
LDH, A
LDA, L
AND # E0
ORH
LDL, A
LDH, C
LL8068LDA, (HL)
CALL # 74A6
POPHL
INCHL
DJNZLL804E
POPHL
JRLL8034
LL8073AND # 7F
JRZ, LL8094
INCHL
BIT6, A
JRNZ, LL8086
LDB, A
LL807DLDA, (HL)
CALL # 74A6
INCHL
DJNZLL807D
JRLL8034
LL8086AND # 3F
ADDA, # 03
LDB, A
LDA, (HL)
LL808CCALL # 74A6
DJNZLL808C
INCHL
JRLL8034
LL8094EXX
LDHL, # 2758
EXX
EI
RET
INCDE
EXX
LD (HL), A
EXAF, AF '
JRZ, LL80BA
INCH
DJNZLL80BF
LDDE, # F820
ADDHL, DE
DECC
JRNZ, LL80BD
LDDE, # FF01
ADDHL, DE
ADDA, # 08
JRNC, LL80BB
LDDE, # 07E0
ADDHL, DE
DECA
JRLL80BB
LL80BAINCHL
LL80BBLDC, # 08
LL80BDLDB, # 08
LL80BFEXAF, AF '
EXX
RET

Unpacker Laser Compact 4.0.

LL8100 LDA, (HL)
LDLX, A
AND # 03
RLCA
RLCA
RLCA
OR # 40
LDD, A
LDE, # 00
LDA, (HL)
INCHL
AND # FC
LDC, A
LDA, # 58
SUBC
LDC, A
LL8116LDA, (HL)
SUB # C0
JRC, LL8135
INCHL
RETZ
RRA
LDB, A
LDA, (HL)
JRNC, LL8168
SRLB
JRNZ, LL812D
LDB, A
INCHL
JRNC, LL8131
LL812AXORA
JRLL8168
LL812DJRC, LL812A
INCB
XORA
LL8131LDA, (HL)
INCHL
JRLL8168
LL8135ADDA, # 40
BIT7, A
EXAF, AF '
LDA, (HL)
OR # F8
LDB, A
LDA, (HL)
INCHL
RRCA
RRCA
RRCA
AND # 0F
JRNZ, LL814C
LDA, (HL)
INCHL
RRA
RLB
LL814CINCA
PUSHHL
LDL, (HL)
LDH, B
LDB, A
EXAF, AF '
ADDHL, DE
LL8153EXAF, AF '
LDA, H
CPC
JRNC, LL8191
XORL
AND # F8
XORL
EXX
LDD, A
EXX
XORL
XORH
RLCA
RLCA
LL8163EXX
LDE, A
EXAF, AF '
LDA, (DE)
EXX
LL8168EXAF, AF '
LDA, D
CPC
JRNC, LL8192
XORE
AND # F8
XORE
EXX
LDD, A
EXX
XORE
XORD
RLCA
RLCA
LL8178EXX
LDE, A
EXAF, AF '
LD (DE), A
EXX
INCDE
JRZ, LL8188
INCHL
JRC, LL818B
LDA, (HL)
LL8184DJNZLL8168
JRLL8116
LL8188JRNC, LL8184
DECHL
LL818BDJNZLL8153
POPHL
INCHL
JRLL8116
LL8191SCF
LL8192PUSHAF
ADDA, LX
EXX
LDD, A
EXX
POPAF
LDA, E
JRNC, LL8178
LDA, L
JRLL8163

Unpacker Laser Compact 5.0.

LL8200LDA, (HL)
LDD, A
AND # 03
RLCA
RLCA
RLCA
OR # 40
EXX
LDD, A
LDE, # 00
EXX
LDA, (HL)
INCHL
AND # FC
LDC, A
LDA, # 58
SUBC
LDHX, A
LDE, # 80
LL821ALDA, (HL)
INCHL
LDLX, # FF
LL821FEXX
JRNZ, LL827A
SLAE
JRNZ, LL822A
LDE, (HL)
INCHL
RLE
LL822AJRC, LL821A
LL822CEXAF, AF '
LDBC, # FF56
LDA, B
LL8231SLAE
JRNZ, LL8239
LDE, (HL)
INCHL
RLE
LL8239JRNC, LL8243
SLAC
JRC, LL8248
SLAB
JRLL8231
LL8243SLAC
CCF
JRC, LL824B
LL8248RLA
JRNZ, LL8231
LL824BADCA, B
EXAF, AF '
JRC, LL825A
EXAF, AF '
CP # FC
JRZ, LL82A6
LL8254ADCA, # FF
LDLX, A
JRLL822C
LL825ALDA, (HL)
INCHL
SLAE
JRNZ, LL8264
LDE, (HL)
INCHL
RLE
LL8264EXX
LDL, A
EXAF, AF '
LDH, A
ADDHL, DE
LL8269LDA, H
CPHX
JRNC, LL8299
XORL
AND # F8
XORL
LDB, A
XORL
XORH
RLCA
RLCA
LDC, A
LL8278EXAF, AF '
LDA, (BC)
LL827AEXAF, AF '
LDA, D
CPHX
JRNC, LL829A
XORE
AND # F8
XORE
LDB, A
XORE
XORD
RLCA
RLCA
LDC, A
LL828AEXAF, AF '
LD (BC), A
INCDE
JRNC, LL8291
DECHL
DECHL
LL8291INCHL
EXAF, AF '
INCLX
JRNZ, LL8269
JRLL821F
LL8299SCF
LL829APUSHAF
EXX
ADDA, D
EXX
LDB, A
POPAF
LDC, E
JRNC, LL828A
LDC, L
JRLL8278
LL82A6LDA, (HL)
INCHL
INCA
JRNZ, LL8254
LDHL, # 2758
EXX
RET


   Below are comparisons of different compressors.
These 20 images took first place at Enlight'96.

ekranASCLC3.1LC4.0LC5.0LAZYMSP1.4

 1. tiger219720472007194320322025
 2. chaos +494646664609435244424481
 3. chaos413038883921380339033919
 4. darkgod393337233700359636483679
 5. kazansk250522882277219822422256
 6. knight404639163878380638953953
 7. slavik295727992782282929262952
 8. st.peter 993 901 806 807 866 852
 9. fil4375934663461328833683399
10. before323229842983288829932975
11. rush391136923687358036833683
12. fil2169915101459141915071471
13. shaoling373635503538350036393679
14. go489446594621468947554746
15. lifeshit271325322473242325572553
16. znachok196118331804179818961896
17. steel151413771303128013571340
18. fil3207118951875188019811973
19. hardrok411838763891376439363963
20. fil1235821602161217422232237


ASC: Screen Crasher 2.6 by ASC, 1992;
LC3.1: Laser Compact 3.1, 1995;
LC4.0: Laser Compact 4.0, May 1998;
LC5.0: Laser Compact 5.0, August 1998;
LAZY: LAZYPACK 1.0 by PANDA, December 1997;
MSP1.4: Maxsoft Screen Packer 1.4, March 1998,

    (Using 6912 byte buffer).


   All screens were packed in the "maximum compression" with
"Garter" unpacker.






Other articles:

Introduction - News from gulkin ... nose.

TOP TEN - Desyatochka best games.

HARD and SOFT - Error STS v6.2 and fixing it.

HARD and SOFT - On-screen file compressors and more ...

HINTS! - Passwords are 50 levels of game QUADRAX.

about different - The problems of ELITE-2.

about different - Pick your best compressor data.

BIRTHDAY - President of our friend MAXWELL-a.

Detective - particularly the right game Wanted: BATTLE COMMAND 128, ART STUD 128, VICTORY ROAD, SCRABBLE, BRUCE LEE, SW, STTY

Advertising - Advertisements and announcements ...


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Similar articles:
From the Author - About the paper and the authors.
Secrets of Successful Design - Head for the book "Design your Programs

В этот день...   21 November