Rev 3138 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3138 | Rev 8271 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | use32 |
1 | use32 |
2 | org 0x0 |
2 | org 0 |
3 | db 'MENUET01' ;¨¤¥â¨ä. ¨á¯®«ï¥¬®£® ä ©« ¢á¥£¤ 8 ¡ ©â |
3 | db 'MENUET01' ;¨¤¥â¨ä. ¨á¯®«ï¥¬®£® ä ©« ¢á¥£¤ 8 ¡ ©â |
4 | dd 0x1 |
- | |
5 | dd start |
- | |
6 | dd i_end ;à §¬¥à ¯à¨«®¦¥¨ï |
- | |
7 | dd mem,stacktop |
4 | dd 1,start,i_end,mem,stacktop,0,sys_path |
8 | dd 0,sys_path |
- | |
Line 9... | Line 5... | ||
9 | 5 | ||
10 | include '../../../../../macros.inc' |
6 | include '../../../../../macros.inc' |
- | 7 | include '../../../../../proc32.inc' |
|
11 | include '../../../../../proc32.inc' |
8 | include '../../../../../KOSfuncs.inc' |
12 | include '../../../../../develop/libraries/box_lib/load_lib.mac' |
9 | include '../../../../../load_lib.mac' |
Line 13... | Line 10... | ||
13 | include '../../../../../dll.inc' |
10 | include '../../../../../dll.inc' |
Line 14... | Line 11... | ||
14 | 11 | ||
15 | @use_library_mem mem.Alloc,mem.Free,mem.ReAlloc, dll.Load |
12 | @use_library mem.Alloc,mem.Free,mem.ReAlloc, dll.Load |
16 | 13 | ||
17 | struct FileInfoBlock |
14 | struct FileInfoBlock |
Line 44... | Line 41... | ||
44 | local .path_str |
41 | local .path_str |
45 | .path_str db path ;ä®à¬¨à㥬 «®ª «ìãî ¯¥à¥¬¥ãî |
42 | .path_str db path ;ä®à¬¨à㥬 «®ª «ìãî ¯¥à¥¬¥ãî |
46 | db 0 |
43 | db 0 |
47 | @@: |
44 | @@: |
48 | ;32 - áâ ¤ àâë© ¤à¥á ¯® ª®â®à®¬ã ¤®«¦¥ ¡ëâì ¡ãä¥à á á¨áâ¥¬ë¬ ¯ã⥬ |
45 | ;32 - áâ ¤ àâë© ¤à¥á ¯® ª®â®à®¬ã ¤®«¦¥ ¡ëâì ¡ãä¥à á á¨áâ¥¬ë¬ ¯ã⥬ |
49 | copy_path .path_str,[32],file_name,0x0 |
46 | copy_path .path_str,[32],file_name,0 |
50 | else |
47 | else |
51 | copy_path path,[32],file_name,0x0 ;ä®à¬¨à㥬 ¯®«ë© ¯ãâì ª ä ©«ã ¨§®¡à ¦¥¨ï, ¯®¤à §ã¬¥¢ ¥¬ çâ® ® ¢ ®¤®© ¯ ¯ª¥ á ¯à®£à ¬¬®© |
48 | copy_path path,[32],file_name,0 ;ä®à¬¨à㥬 ¯®«ë© ¯ãâì ª ä ©«ã ¨§®¡à ¦¥¨ï, ¯®¤à §ã¬¥¢ ¥¬ çâ® ® ¢ ®¤®© ¯ ¯ª¥ á ¯à®£à ¬¬®© |
52 | end if |
49 | end if |
Line 53... | Line 50... | ||
53 | 50 | ||
54 | stdcall mem.Alloc, dword size ;¢ë¤¥«ï¥¬ ¯ ¬ïâì ¤«ï ¨§®¡à ¦¥¨ï |
51 | stdcall mem.Alloc, dword size ;¢ë¤¥«ï¥¬ ¯ ¬ïâì ¤«ï ¨§®¡à ¦¥¨ï |
Line 65... | Line 62... | ||
65 | mov ebx,run_file_70 |
62 | mov ebx,run_file_70 |
66 | int 0x40 ;§ £à㦠¥¬ ä ©« ¨§®¡à ¦¥¨ï |
63 | int 0x40 ;§ £à㦠¥¬ ä ©« ¨§®¡à ¦¥¨ï |
67 | cmp ebx,0xffffffff |
64 | cmp ebx,0xffffffff |
68 | je @f |
65 | je @f |
69 | ;®¯à¥¤¥«ï¥¬ ¢¨¤ ¨§®¡à ¦¥¨ï ¨ ¯¥à¥¢®¤¨¬ ¥£® ¢® ¢à¥¬¥ë© ¡ãä¥à image_data |
66 | ;®¯à¥¤¥«ï¥¬ ¢¨¤ ¨§®¡à ¦¥¨ï ¨ ¯¥à¥¢®¤¨¬ ¥£® ¢® ¢à¥¬¥ë© ¡ãä¥à image_data |
70 | stdcall dword[img_decode], dword[buf],ebx,0 |
67 | stdcall [img_decode], [buf],ebx,0 |
71 | mov dword[image_data],eax |
68 | mov [image_data],eax |
72 | ;¯à¥®¡à §ã¥¬ ¨§®¡à ¦¥¨¥ ª ä®à¬ âã rgb |
69 | ;¯à¥®¡à §ã¥¬ ¨§®¡à ¦¥¨¥ ª ä®à¬ âã rgb |
73 | stdcall dword[img_to_rgb2], dword[image_data],dword[buf] |
70 | stdcall [img_to_rgb2], [image_data],[buf] |
74 | ;㤠«ï¥¬ ¢à¥¬¥ë© ¡ãä¥à image_data |
71 | ;㤠«ï¥¬ ¢à¥¬¥ë© ¡ãä¥à image_data |
75 | stdcall dword[img_destroy], dword[image_data] |
72 | stdcall [img_destroy], [image_data] |
76 | @@: |
73 | @@: |
77 | } |
74 | } |
Line 78... | Line 75... | ||
78 | 75 | ||
79 | align 4 |
76 | align 4 |
Line 82... | Line 79... | ||
82 | 79 | ||
83 | ;¯à®¢¥àª ᪮«ìª® ã¤ ç® § £ã§¨« áì è «¨¡ |
80 | ;¯à®¢¥àª ᪮«ìª® ã¤ ç® § £ã§¨« áì è «¨¡ |
84 | mov ebp,lib0 |
81 | mov ebp,lib0 |
85 | cmp dword [ebp+ll_struc_size-4],0 |
82 | cmp dword [ebp+ll_struc_size-4],0 |
86 | jz @f |
83 | jz @f |
87 | mcall -1 ;exit not correct |
84 | mcall SF_TERMINATE_PROCESS |
88 | @@: |
85 | @@: |
89 | mov ebp,lib1 |
86 | mov ebp,lib1 |
90 | cmp dword [ebp+ll_struc_size-4],0 |
87 | cmp dword [ebp+ll_struc_size-4],0 |
91 | jz @f |
88 | jz @f |
92 | mcall -1 ;exit not correct |
89 | mcall SF_TERMINATE_PROCESS |
Line 93... | Line 90... | ||
93 | @@: |
90 | @@: |
94 | 91 | ||
Line 95... | Line 92... | ||
95 | mcall 40,0x27 |
92 | mcall SF_SET_EVENTS_MASK,0x27 |
96 | mcall 48,3,sc,sizeof.system_colors ;¯®«ãç ¥¬ á¨áâ¥¬ë¥ æ¢¥â |
93 | mcall SF_STYLE_SETTINGS,SSF_GET_COLORS,sc,sizeof.system_colors ;¯®«ãç ¥¬ á¨áâ¥¬ë¥ æ¢¥â |
97 | 94 | ||
98 | load_image_file 'img1.png',image_data_rgb, IMAGE_FILE1_SIZE |
95 | load_image_file 'img1.png',image_data_rgb, IMAGE_FILE1_SIZE |
Line 108... | Line 105... | ||
108 | red_win: |
105 | red_win: |
109 | call draw_window |
106 | call draw_window |
Line 110... | Line 107... | ||
110 | 107 | ||
111 | align 4 |
108 | align 4 |
112 | still: ;£« ¢ë© 横« |
109 | still: ;£« ¢ë© 横« |
Line 113... | Line 110... | ||
113 | mcall 10 |
110 | mcall SF_WAIT_EVENT |
114 | 111 | ||
115 | cmp al,0x1 ;¨§¬¥¨«®áì ¯®«®¦¥¨¥ ®ª |
112 | cmp al,1 ;¨§¬¥¨«®áì ¯®«®¦¥¨¥ ®ª |
116 | jz red_win |
113 | jz red_win |
117 | cmp al,0x2 |
114 | cmp al,2 |
118 | jz key |
115 | jz key |
Line 119... | Line 116... | ||
119 | cmp al,0x3 |
116 | cmp al,3 |
Line 120... | Line 117... | ||
120 | jz button |
117 | jz button |
121 | 118 | ||
122 | jmp still |
119 | jmp still |
123 | 120 | ||
124 | align 4 |
121 | align 4 |
125 | key: |
122 | key: |
126 | push eax ebx |
123 | push eax ebx |
Line 127... | Line 124... | ||
127 | mcall 2 |
124 | mcall SF_GET_KEY |
128 | ;... |
125 | ;... |
129 | pop ebx eax |
126 | pop ebx eax |
130 | jmp still |
127 | jmp still |
Line 131... | Line 128... | ||
131 | 128 | ||
132 | 129 | ||
133 | align 4 |
130 | align 4 |
Line 134... | Line 131... | ||
134 | draw_window: |
131 | draw_window: |
135 | pushad |
132 | pushad |
136 | mcall 12,1 |
133 | mcall SF_REDRAW,SSF_BEGIN_DRAW |
Line 137... | Line 134... | ||
137 | 134 | ||
138 | mov edx,[sc.work] |
135 | mov edx,[sc.work] |
139 | or edx,0x33000000 |
136 | or edx,0x33000000 |
Line 140... | Line -... | ||
140 | mcall 0,(20 shl 16)+670,(20 shl 16)+520,,,caption ;ᮧ¤ ¨¥ ®ª |
- | |
141 | - | ||
142 | stdcall [buf2d_draw], buf_0 |
- | |
143 | stdcall [buf2d_draw], buf_1 |
137 | mcall SF_CREATE_WINDOW,(20 shl 16)+670,(20 shl 16)+520,,,caption ;ᮧ¤ ¨¥ ®ª |
144 | stdcall [buf2d_draw], buf_2 |
138 | |
145 | - | ||
146 | mcall 12,2 |
- | |
Line 147... | Line 139... | ||
147 | popad |
139 | stdcall [buf2d_draw], buf_0 |
148 | ret |
140 | stdcall [buf2d_draw], buf_1 |
149 | - | ||
150 | head_f_i: |
- | |
Line 151... | Line 141... | ||
151 | head_f_l db '¨á⥬ ï ®è¨¡ª ',0 |
141 | stdcall [buf2d_draw], buf_2 |
152 | 142 | ||
153 | system_dir0 db '/sys/lib/' |
143 | mcall SF_REDRAW,SSF_END_DRAW |
154 | name_buf2d db 'buf2d.obj',0 |
144 | popad |
155 | err_message_found_lib0 db '¥ 㤠«®áì ©â¨ ¡¨¡«¨®â¥ªã buf2d.obj',0 |
145 | ret |
Line 156... | Line 146... | ||
156 | err_message_import0 db '訡ª ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ buf2d.obj',0 |
146 | |
157 | 147 | system_dir0 db '/sys/lib/' |
|
158 | system_dir1 db '/sys/lib/' |
148 | name_buf2d db 'buf2d.obj',0 |
159 | name_libimg db 'libimg.obj',0 |
149 | |
160 | err_message_found_lib1 db '¥ 㤠«®áì ©â¨ ¡¨¡«¨®â¥ªã libimg.obj',0 |
150 | system_dir1 db '/sys/lib/' |
161 | err_message_import1 db '訡ª ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ libimg.obj',0 |
151 | name_libimg db 'libimg.obj',0 |
162 | 152 | ||
163 | ;library structures |
153 | ;library structures |
164 | l_libs_start: |
154 | l_libs_start: |
165 | lib0 l_libs name_buf2d, sys_path, file_name, system_dir0, err_message_found_lib0, head_f_l, import_buf2d_lib, err_message_import0, head_f_i |
155 | lib0 l_libs name_buf2d, file_name, system_dir0, import_buf2d_lib |
Line 166... | Line 156... | ||
166 | lib1 l_libs name_libimg, sys_path, file_name, system_dir1, err_message_found_lib1, head_f_l, import_libimg, err_message_import1, head_f_i |
156 | lib1 l_libs name_libimg, file_name, system_dir1, import_libimg |
167 | load_lib_end: |
157 | load_lib_end: |
168 | 158 | ||
169 | align 4 |
159 | align 4 |
Line 170... | Line 160... | ||
170 | button: |
160 | button: |
171 | mcall 17 ;¯®«ãç¨âì ª®¤ ¦ ⮩ ª®¯ª¨ |
161 | mcall SF_GET_BUTTON |
172 | cmp ah,1 |
162 | cmp ah,1 |
Line 173... | Line 163... | ||
173 | jne still |
163 | jne still |
174 | .exit: |
164 | .exit: |
175 | stdcall [buf2d_delete],buf_0 ;㤠«ï¥¬ ¡ãä¥à |
165 | stdcall [buf2d_delete],buf_0 ;㤠«ï¥¬ ¡ãä¥à |
Line 279... | Line 269... | ||
279 | sz_buf2d_clear db 'buf2d_clear',0 |
269 | sz_buf2d_clear db 'buf2d_clear',0 |
280 | sz_buf2d_draw db 'buf2d_draw',0 |
270 | sz_buf2d_draw db 'buf2d_draw',0 |
281 | sz_buf2d_delete db 'buf2d_delete',0 |
271 | sz_buf2d_delete db 'buf2d_delete',0 |
282 | sz_buf2d_filter_dither db 'buf2d_filter_dither',0 |
272 | sz_buf2d_filter_dither db 'buf2d_filter_dither',0 |
Line -... | Line 273... | ||
- | 273 | ||
283 | 274 | align 16 |
|
284 | i_end: |
- | |
285 | rb 1024 |
- | |
286 | stacktop: |
275 | i_end: |
287 | sys_path rb 4096 |
276 | sys_path rb 4096 |
288 | file_name: |
277 | file_name: |
289 | rb 4096 |
278 | rb 4096 |
290 | plugin_path: |
279 | plugin_path: |
291 | rb 4096 |
280 | rb 4096 |
292 | openfile_path: |
281 | openfile_path: |
293 | rb 4096 |
282 | rb 4096 |
294 | filename_area: |
283 | filename_area: |
- | 284 | rb 256 |
|
- | 285 | rb 1024 |
|
295 | rb 256 |
286 | stacktop: |