Subversion Repositories Kolibri OS

Rev

Rev 134 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
31 halyavin 1
; @RCHER data area
2
; Written in pure assembler by Ivushkin Andrey aka Willow
3
 
4
if  SYS eq win
5
  dumpfile:
6
            db 'D:\Ivushkin\projects\zip\output.dmp',0
7
  dumpf_len=$-dumpfile
8
end if
9
outfile:
10
if SYS eq win
11
            db 'D:\Ivushkin\projects\zip\output.raw',0
12
end if
139 diamond 13
            dd 2
31 halyavin 14
            dd 0
139 diamond 15
            dd 0
31 halyavin 16
  .size     dd 0
17
  .out      dd output
18
if ~SYS eq win
19
  dumpfile:
20
            db DUMPFILE,0
21
  dumpf_len=$-dumpfile
22
end if
139 diamond 23
attrinfo:
24
        dd      5
25
        dd      0
26
        dd      0
27
        dd      0
28
        dd      fileattr
29
        db      0
30
        dd      filename
31 halyavin 31
Finfo:
32
            dd 0
33
    .block  dd 0
139 diamond 34
            dd 0
35
    .count  dd BUFSIZE*1024
31 halyavin 36
    .ptr    dd BUFPTR
37
 
38
filename:
39
if SYS eq win
40
db 'png\absolut0.png',0
41
;db  'fasm-1.54.tgz',0
42
;include 'testsu~1.inc'
43
;      db  'pngsuite\pngsuite.tar.gz',0  ; OK
44
;      db  'pngsuite\basn4a08.png',0  ; OK
45
;      db  'goldhill.png',0  ; beeping
46
;      db  'arl_logo.png',0  ; wrong out
47
;      db  'tech.png',0  ; wrong out
48
;     db  'png\lena0000.png',0
49
;      db 'arcs\'
50
;      db 'NTOSKRNL.gz'
51
;      db 'msg_enc.zip'
52
      ;db 'msgplain.zip'
53
;      db 'c_866.gz'
54
;     db 'zalman_2.png' ;OK
55
;     db 'arcs\headerbar.png',0 ;OK
56
;     db 'fonts1.png' ;OK
57
;     db 'fonts.png' ;
58
;     db 'skin.png' ;OK
59
;     db 'JavaPowered8.png'; OK
60
;     db 'opr008S8.png'
61
;    db  'goldhill.png'
62
;     db 'k3b.png',0
63
;      db 'image0051.png'
64
;     db 'window-elements.png',0
65
;    db 'WWW.zip',0
66
;     db 'png.zip',0
67
;    db 'zlib09.zip',0
68
 
69
else
70
  if ~ FNAME eq
71
     db FNAME
131 diamond 72
  end if
31 halyavin 73
;    db '/hd/1/zip/png.zip',0
74
;    db '/hd/1/zip/files/opossum.png'
75
;    db '/rd/1/www.zip',0
76
;    db '/hd/1/zip/test2.zip',0
77
end if
78
 db 0
79
I_END:
134 diamond 80
rb 1024+16-($-filename)
31 halyavin 81
 
82
if SYS eq win
83
    cr_lf db 0xa,0xd
84
    hnd dd ?
85
    cons  dd ?
86
    cons_in dd ?
87
    cparam1 dd ?
88
    cparam2 dd ?
89
end if
90
 
91
DKeys rd 3
92
Dheader rb 12
93
Dpassword rb PASSW_LEN
94
 
139 diamond 95
if ~SYS eq win
96
fileattr rd 40/4
97
end if
98
 
131 diamond 99
png_     dd ?
100
fat_     dd ?
101
fat_fnum dd ?
102
lpath    dd ?
103
lpath_len dd ?
31 halyavin 104
png_bpp  dd ?
105
sline_len dd ?
106
IDATcount  dd ?
107
IDATsize  dd ?
108
PNG_info:
109
            .Width dd ?
110
            .Height dd ?
111
            .Bit_depth db ?
112
            .Color_type db ?
113
            .Compression_method db ?
114
            .Filter_method db ?
115
            .Interlace_method db ?
116
            .Palette rb 3*256
117
gpbf dw ?
118
file_count dd ?
119
filters rd 6
120
arc_base dd ?
121
outp  dd ?
122
unp_size  dd ?
123
CRC_check dd ?
124
CRC32 dd ?
125
CRC32table rd 256
126
Adler32 dd ?
127
child dd ?
128
clientPID dd ?
129
 
130
filesize dd ?
131
bits db ?
132
cur_byte dd ?
133
lastblk db ?
134
Flags dd ?
135
tblCount dw ?
136
tblLen dw ?
137
hclen db ?
138
max_len dw ?
139
 
139 diamond 140
align 4
131 diamond 141
fat:
142
  rb 4096;512
143
child_stack:
144
  rb 1024
139 diamond 145
child_stack_top:
131 diamond 146
main_stack:
139 diamond 147
  rb 1024
148
main_stack_top:
131 diamond 149
area:
150
 rb INBUF
151
os_work rb 4*1024
152
 
31 halyavin 153
bl_count rb BITS
154
 
155
next_code rw BITS
156
tmp_clit:
157
    rw 20
158
calph:
159
    rw 20
160
sorted_clit rw 20
161
 
162
seql_c db ?
163
seql rb BITS
164
 
165
seqd_c db ?
166
seqd rb BITS
167
 
168
hlit dw ?
169
Literal rw 286
170
Lit_c rw 286
171
 
172
hdist db ?
173
Distance rw 32
174
Dist_c rw 32
175
 
176
output:
131 diamond 177
;rb OUTBUF
31 halyavin 178
 
131 diamond 179
;png_image:
31 halyavin 180
if SYS eq win
181
  rb OUTBUF
182
end if