Subversion Repositories Kolibri OS

Rev

Rev 132 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 132 Rev 135
Line 30... Line 30...
30
 .no_boot:
30
 .no_boot:
Line 31... Line 31...
31
 
31
 
32
   cmp   byte [temp_area],0
32
   cmp   byte [temp_area],0
33
   jz    .no_param
33
   jz    .no_param
34
   mov   edi,string      ; clear string
34
   mov   edi,string      ; clear string
35
   mov   ecx,43*3        ;   length of a string
35
   mov   ecx,256/4       ;   length of a string
36
   xor   eax,eax         ;   symbol <0>
-
 
37
   add   al,14h
-
 
38
   cld
36
   xor   eax,eax         ;   symbol <0>
Line 39... Line 37...
39
   rep   stosb
37
   rep   stosd
-
 
38
 
40
 
39
   mov   edi,temp_area   ; look for <0> in temp_area
41
   mov   edi,temp_area   ; look for <0> in temp_area
40
   mov   esi,edi
42
   mov   ecx,43*3+1      ;   strlen
41
   mov   ecx,257         ;   strlen
43
   repne scasb
-
 
Line 44... Line -...
44
   add   edi,-temp_area  ;   get length of the string
-
 
45
   dec   edi
-
 
46
 
42
   repne scasb
47
   mov   ecx,edi
43
        lea     ecx, [edi-temp_area]
Line 48... Line 44...
48
   mov   esi,temp_area
44
 
49
   mov   edi,string
45
   mov   edi,string
Line 70... Line 66...
70
  @@:
66
  @@:
Line 71... Line 67...
71
 
67
 
72
; ⥯¥àì ¢ ecx ­®¬¥à ¯à®æ¥áá 
68
; ⥯¥àì ¢ ecx ­®¬¥à ¯à®æ¥áá 
Line -... Line 69...
-
 
69
    mov  [process],ecx
73
    mov  [process],ecx
70
 
Line 74... Line 71...
74
 
71
draw_still:
Line 75... Line 72...
75
    call draw_window
72
    call draw_window
76
 
73
 
Line 77... Line 74...
77
still:
74
still:
78
 
75
 
79
    mov  eax,10                 ; wait here for event
-
 
80
    int  0x40
76
    mov  eax,10                 ; wait here for event
81
 
-
 
82
    cmp  eax,1                  ; redraw request ?
77
    int  0x40
83
    je   red
-
 
84
    cmp  eax,2                  ; key in buffer ?
-
 
85
    je   key
-
 
86
    cmp  eax,3                  ; button in buffer ?
-
 
87
    je   button
-
 
88
 
-
 
89
    jmp  still
-
 
90
 
-
 
91
  red:
-
 
92
    bt   [status],2
-
 
93
    jnc  @f
-
 
94
    mov eax,18
-
 
95
    mov ebx,3
-
 
96
    mov ecx,[process]
-
 
97
    int 0x40
-
 
Line 98... Line 78...
98
    btr [status],2
78
 
-
 
79
        dec     eax
99
    jmp still
80
        jz      red
-
 
81
        dec     eax
100
   @@:
82
        jnz     button
101
    call draw_window
83
 
102
    jmp still
84
  key:                          ; key
103
 
85
    mov  al,2
104
  key:                          ; key
86
    int  0x40
105
    int  0x40
87
    mov  al,ah
106
    cmp  ah,6
88
    cmp  al,6
107
    je   kfile
89
    je   kfile
108
    cmp  ah,15
90
    cmp  al,15
Line -... Line 91...
-
 
91
    je   kopen
-
 
92
    cmp  al,9
-
 
93
    je   kinfo
-
 
94
    cmp  al,2
-
 
95
    je   kbgrd
-
 
96
    jmp  still
-
 
97
 
-
 
98
  red:
-
 
99
        test    byte [status], 4
-
 
100
        jz      draw_still
109
    je   kopen
101
        mov     al, 18
110
    cmp  ah,9
102
        mov     ebx, 3
111
    je   kinfo
103
        mov     ecx, [process]
Line 112... Line 104...
112
    cmp  ah,2
104
        int     0x40
Line 124... Line 116...
124
    int  0x40
116
    int  0x40
125
  noclose:
117
  noclose:
126
    cmp  ah,2
118
    cmp  ah,2
127
    jne  nofile
119
    jne  nofile
128
  kfile:
120
  kfile:
129
    bt   dword [status],0
121
        test    byte [status], 1
130
    jc   still
122
        jnz     still
131
    bts  dword [status],0
123
        or      byte [status], 1
132
    mov  eax,51
124
    mov  eax,51
133
    mov  ebx,1
125
    mov  ebx,1
134
    mov  ecx,thread1
126
    mov  ecx,thread1
135
    mov  edx,0x29fff0
127
    mov  edx,0x29fff0
136
    int  0x40
128
    int  0x40
Line 161... Line 153...
161
  noopen:
153
  noopen:
Line 162... Line 154...
162
 
154
 
163
    cmp  ah,4
155
    cmp  ah,4
164
    jne  noinfo
156
    jne  noinfo
165
  kinfo:
157
  kinfo:
166
    bt   dword [status],1
158
        test    byte [status], 2
167
    jc   still
159
        jnz     still
168
    bts  dword [status],1
160
        or      byte [status], 2
169
    mov  eax,51
161
    mov  eax,51
170
    mov  ebx,1
162
    mov  ebx,1
171
    mov  ecx,thread2
163
    mov  ecx,thread2
172
    mov  edx,0x2afff0
164
    mov  edx,0x2afff0
Line 176... Line 168...
176
 
168
 
177
; “‘’€Ž‚ˆ’œ ”Ž
169
; “‘’€Ž‚ˆ’œ ”Ž
178
    cmp  ah,5
170
    cmp  ah,5
179
    jne  still
171
    jne  still
180
  kbgrd:
172
  kbgrd:
181
    bt dword [status],3
173
        test    byte [status], 8
182
    jc   still
174
        jnz     still
183
    bts dword [status],3
175
        or      byte [status], 8
184
    mov  eax,51
176
    mov  eax,51
185
    mov  ebx,1
177
    mov  ebx,1
186
    mov  ecx,thread3
178
    mov  ecx,thread3
187
    mov  edx,0x2bfff0
179
    mov  edx,0x2bfff0
Line 195... Line 187...
195
    int  0x40
187
    int  0x40
196
    ret
188
    ret
Line 197... Line 189...
197
 
189
 
198
 
-
 
199
load_image:
190
 
200
    mov  dword [fileinfo+8],1 ; how many blocks to read (1)
-
 
201
    mov  eax,58
-
 
202
    mov  ebx,fileinfo
-
 
203
    int  0x40
-
 
204
    cmp  [I_END+2],dword 512  ; à §¬¥à ä ©«  (file size)
-
 
205
    jbe  @f
-
 
206
    mov  eax,[I_END+2]
-
 
207
    shr  eax,9 ; ¯®¤¥«¨¬ ­  512 ¨ ¯à¨¡ ¢¨¬ 1 - ¯®«ã稬 ç¨á«® ¡«®ª®¢
-
 
208
    inc  eax
-
 
209
 
-
 
210
    mov  dword [fileinfo+8],eax
191
load_image:
211
    mov  eax,58
192
        mov     eax, 70
212
    mov  ebx,fileinfo
-
 
213
    int  0x40
193
        mov     ebx, fileinfo
214
@@:
194
        int     0x40
215
    mov  eax,[I_END+18]
195
    mov  eax,[I_END+18]
216
    mov  ebx,[I_END+22]
196
    mov  ebx,[I_END+22]
217
    add  eax,20
197
    add  eax,20
Line 261... Line 241...
261
    mov  edx,[I_END+22] ; ¢ëá®â 
241
    mov  edx,[I_END+22] ; ¢ëá®â 
262
    int  0x40
242
    int  0x40
Line 263... Line 243...
263
 
243
 
264
    mov  esi, ecx
244
    mov  esi, ecx
265
    imul esi, edx
245
    imul esi, edx
266
    imul esi, 3
246
        lea     esi, [esi+esi*2]
267
    mov  ebx,5
247
    mov  ebx,5
268
    mov  ecx,[soi]
248
    mov  ecx,[soi]
269
    xor  edx,edx
249
    xor  edx,edx
270
;;;    mov  esi, ;640*480*3
250
;;;    mov  esi, ;640*480*3
Line 280... Line 260...
280
    ret
260
    ret
Line 281... Line 261...
281
 
261
 
282
  convert:
262
  convert:
283
    movzx eax,word [I_END+28]
263
    movzx eax,word [I_END+28]
284
    mul dword [I_END+18]
264
    mul dword [I_END+18]
285
    mov  ebx,32
265
;    mov  ebx,32
286
    div  ebx
266
;    div  ebx
287
    test edx,edx
267
;    test edx,edx
288
    je   noaddword
268
;    je   noaddword
289
    inc  eax
269
;    inc  eax
-
 
270
;  noaddword:
-
 
271
        add     eax, 31
290
  noaddword:
272
        shr     eax, 5
291
    mov  [dwps],eax  ;dwps-doublewords per string
273
    mov  [dwps],eax  ;dwps-doublewords per string
292
    shl  eax,2
274
    shl  eax,2
Line 293... Line 275...
293
    mov  [bps],eax   ;bps-bytes per string
275
    mov  [bps],eax   ;bps-bytes per string
Line 460... Line 442...
460
labelt:
442
labelt:
461
         db 'MeView v.0.3'
443
         db 'MeView v.0.3'
Line 462... Line 444...
462
 
444
 
463
lsz buttext,\
445
lsz buttext,\
464
    en,   ' FILE   OPEN   INFO   BGRD',\
446
    en,   ' FILE   OPEN   INFO   BGRD',\
-
 
447
    ru,   ' ”€‰‹  Ž’Š   ˆ”Ž   ”Ž  ',\
Line 465... Line 448...
465
    ru,   ' ”€‰‹  Ž’Š   ˆ”Ž   ”Ž  '
448
    de,   'DATEI OEFNEN  INFO   HGRD'
466
 
449
 
467
status   dd 0  ;bit0=1 if file thread is created
450
status   dd 0  ;bit0=1 if file thread is created
468
bps      dd 0
451
bps      dd 0
Line 632... Line 615...
632
                                   ; WINDOW LABEL
615
                                   ; WINDOW LABEL
633
    mov  eax,4                     ; function 4 : write text to window
616
    mov  eax,4                     ; function 4 : write text to window
634
    mov  ebx,8*65536+8             ; [x start] *65536 + [y start]
617
    mov  ebx,8*65536+8             ; [x start] *65536 + [y start]
635
    mov  ecx,0x10ddeeff            ; font 1 & color ( 0xF0RRGGBB )
618
    mov  ecx,0x10ddeeff            ; font 1 & color ( 0xF0RRGGBB )
636
    mov  edx,labelt1               ; pointer to text beginning
619
    mov  edx,labelt1               ; pointer to text beginning
637
    mov  esi,4                     ; text length
620
    mov  esi,labelt1.size          ; text length
638
    int  0x40
621
    int  0x40
Line 639... Line 622...
639
 
622
 
Line 640... Line 623...
640
    call drawstring
623
    call drawstring
Line 677... Line 660...
677
 
660
 
Line 678... Line 661...
678
; DATA AREA
661
; DATA AREA
679
 
662
 
680
lsz labelt1,\
663
lsz labelt1,\
681
   en,  'File',\
-
 
682
   ru,  '” ©«'
-
 
683
 
-
 
684
pos: dd 6
-
 
685
fileinfo:
-
 
686
     dd 0
-
 
687
     dd 0
-
 
688
     dd 1          ;number of blocks  of 512 bytes
664
   en,  'File',\
689
     dd I_END
-
 
690
     dd temp_area
-
 
691
string:
-
 
692
; db '/HARDDISK/FIRST/1/DICK.BMP                  '
-
 
693
; db '/hd/1/menuet/pics/new.bmp                   '
-
 
694
  db '/rd/1/bgr.bmp                               '
-
 
Line 695... Line 665...
695
  db '                                            '
665
   ru,  '” ©«',\
Line 696... Line 666...
696
  db '                                            '
666
   de,  'Datei'
Line 821... Line 791...
821
 
791
 
Line 822... Line 792...
822
; DATA AREA
792
; DATA AREA
823
 
793
 
824
lsz labelt2,\
794
lsz labelt2,\
-
 
795
    en,   'File info',\
Line 825... Line 796...
825
    en,   'File info',\
796
    ru,   'ˆ­ä®à¬ æ¨ï ® ä ©«¥',\
826
    ru,   'ˆ­ä®à¬ æ¨ï ® ä ©«¥'
797
    de,   'Dateiinfo'
827
 
798
 
828
lsz fitext,\
799
lsz fitext,\
829
     en, 'FILE SIZE     ',\
800
     en, 'FILE SIZE     ',\
830
     en, 'X SIZE        ',\
801
     en, 'X SIZE        ',\
831
     en, 'Y SIZE        ',\
802
     en, 'Y SIZE        ',\
832
     en, 'BITS PER PIXEL',\
803
     en, 'BITS PER PIXEL',\
833
                          \
804
                          \
834
     ru, ' §¬¥à ä ©«   ',\
805
     ru, ' §¬¥à ä ©«   ',\
-
 
806
     ru, '˜¨à¨­         ',\
-
 
807
     ru, '‚ëá®â         ',\
-
 
808
     ru, '¨â ­  ¯¨ªá¥« ',\
-
 
809
                          \
-
 
810
     de, 'FATEIGROESSE  ',\
Line 835... Line 811...
835
     ru, '˜¨à¨­         ',\
811
     de, 'X GROESSE     ',\
Line 836... Line 812...
836
     ru, '‚ëá®â         ',\
812
     de, 'Y GROESSE     ',\
Line 937... Line 913...
937
                                   ; WINDOW LABEL
913
                                   ; WINDOW LABEL
938
    mov  eax,4                     ; function 4 : write text to window
914
    mov  eax,4                     ; function 4 : write text to window
939
    mov  ebx,8*65536+8             ; [x start] *65536 + [y start]
915
    mov  ebx,8*65536+8             ; [x start] *65536 + [y start]
940
    mov  ecx,0x10ddeeff            ; font 1 & color ( 0xF0RRGGBB )
916
    mov  ecx,0x10ddeeff            ; font 1 & color ( 0xF0RRGGBB )
941
    mov  edx,labelt3               ; pointer to text beginning
917
    mov  edx,labelt3               ; pointer to text beginning
942
    mov  esi,14                    ; text length
918
    mov  esi,labelt3.size          ; text length
943
    int  0x40
919
    int  0x40
944
    add  ebx,38*65536+20
920
    add  ebx,38*65536+20
945
    mov  ecx,0xddeeff
921
    mov  ecx,0xddeeff
946
    mov  edx, bgrdtext
922
    mov  edx, bgrdtext
947
    mov  esi, bgrdtext.size
923
    mov  esi, bgrdtext.size
Line 997... Line 973...
997
wnd_width dd 210
973
wnd_width dd 210
998
wnd_height dd 53
974
wnd_height dd 53
Line 999... Line 975...
999
 
975
 
1000
lsz labelt3,\
976
lsz labelt3,\
1001
    en,   'Background set',\
977
    en,   'Background set',\
-
 
978
    ru,   "“áâ ­®¢ª  ä®­ ",\
Line 1002... Line 979...
1002
    ru,   "“áâ ­®¢ª  ä®­ "
979
    de,   'Hintergrund gesetzt'
1003
 
980
 
1004
lsz bgrdtext,\
981
lsz bgrdtext,\
-
 
982
    en, 'SET AS BACKGROUND:',\
Line 1005... Line 983...
1005
    en, 'SET AS BACKGROUND:',\
983
    ru, '’¨¯ ®¡®¥¢:',\
1006
    ru, '’¨¯ ®¡®¥¢:'
984
    de, 'ALS HINTERGRUND'
1007
 
985
 
-
 
986
lsz tiled,\
Line 1008... Line 987...
1008
lsz tiled,\
987
    en, 'TILED',\
1009
    en, 'TILED',\
988
    ru, '§ ¬®áâ¨âì',\
1010
    ru, '§ ¬®áâ¨âì'
989
    de, 'GEKACHELT'
-
 
990
 
Line 1011... Line 991...
1011
 
991
lsz stretch,\
1012
lsz stretch,\
992
    en, 'STRETCH',\
1013
    en, 'STRETCH',\
993
    ru, 'à áâï­ãâì',\
1014
    ru, 'à áâï­ãâì'
994
    de, 'GESTRECKT'
Line -... Line 995...
-
 
995
 
-
 
996
lsz ok_btn,\
-
 
997
    en, 'Ok',\
-
 
998
    ru, 'Ok',\
-
 
999
    de, 'Ok'
-
 
1000
 
-
 
1001
pos: dd 6
-
 
1002
fileinfo:
-
 
1003
     dd 0
Line 1015... Line 1004...
1015
 
1004
     dd 0
-
 
1005
     dd 0
-
 
1006
     dd 0x290000-I_END
1016
lsz ok_btn,\
1007
     dd I_END
1017
    en, 'Ok',\
1008
string:
1018
    ru, 'Ok'
1009
        db      '/rd/1/bgr.bmp',0
1019
 
1010