Rev 122 | Rev 242 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 122 | Rev 178 | ||
---|---|---|---|
1 | ;----------------------------------------------------------------------------- |
1 | ;----------------------------------------------------------------------------- |
2 | ; project name: TINYPAD |
2 | ; project name: TINYPAD |
3 | ; compiler: flat assembler 1.64 |
3 | ; compiler: flat assembler 1.67.1 |
4 | ; memory to compile: 3.0/11.5 MBytes (without/with size optimizations) |
4 | ; memory to compile: 2.0/7.0 MBytes (without/with size optimizations) |
5 | ; version: 4.0 |
5 | ; version: 4.0.3 |
6 | ; last update: 2006-04-13 (Apr 13, 2006) |
6 | ; last update: 2006-08-28 (Aug 28, 2006) |
- | 7 | ; minimal kernel: revision #138 (svn://kolibrios.org/kernel) |
|
7 | ;----------------------------------------------------------------------------- |
8 | ;----------------------------------------------------------------------------- |
8 | ; originally by: Ville Michael Turjanmaa >> villemt@aton.co.jyu.fi |
9 | ; originally by: Ville Michael Turjanmaa >> villemt@aton.co.jyu.fi |
9 | ; maintained by: Ivan Poddubny >> ivan-yar@bk.ru |
10 | ; maintained by: Ivan Poddubny >> ivan-yar@bk.ru |
10 | ; Mike Semenyako >> mike.dld@gmail.com |
11 | ; Mike Semenyako >> mike.dld@gmail.com |
11 | ;----------------------------------------------------------------------------- |
12 | ;----------------------------------------------------------------------------- |
12 | ; TODO: |
13 | ; TODO: |
13 | ; optimize drawing (reduce flickering); |
14 | ; - optimize drawing (reduce flickering) |
14 | ; optimize memory usage (allocate only needed amount, not static 3 Mbytes); |
15 | ; - optimize memory usage (allocate only needed amount, not static 3 Mbytes) |
15 | ; add block selection ability, undo action; |
16 | ; - add block selection ability, undo action, goto position |
16 | ; working with multiple files (add tabs); |
17 | ; - working with multiple files (add tabs) |
- | 18 | ; - improve window drawing with small dimensions |
|
17 | ; other bugfixes and speed/size optimizations |
19 | ; - other bugfixes and speed/size optimizations |
18 | ; |
20 | ; |
19 | ; HISTORY: |
21 | ; HISTORY: |
- | 22 | ; 4.0.3 (mike.dld) |
|
- | 23 | ; bug-fixes: |
|
- | 24 | ; - 1-char selection if pressing |
|
- | 25 | ; - fault in `writepos`, added call to function 9 |
|
- | 26 | ; - main menu items weren't highlighted if popup opened and cursor |
|
- | 27 | ; isn't in menu item's area |
|
- | 28 | ; - statusbar and textboxes drawing fixes (wrong colors) |
|
- | 29 | ; - perform no redraw while pressing Shift, Ctrl, Alt keys |
|
- | 30 | ; - data length from DOCPAK in string representation (fix by diamond) |
|
- | 31 | ; changes: |
|
- | 32 | ; - function 70 instead of 58 for files loading/saving |
|
- | 33 | ; - clientarea-relative drawing (less code) |
|
- | 34 | ; - every line's dword is now splitted into 2 words; |
|
- | 35 | ; low word - line block length, so max line length is 65535 now |
|
- | 36 | ; high word - various flags. for now, only 2 of 16 bits are used: |
|
- | 37 | ; if bit #0 is set, line was modified since file open |
|
- | 38 | ; if bit #1 is set, line was saved after last modification |
|
- | 39 | ; high word could also be further used for code collapsing and different |
|
- | 40 | ; line marking features (breakpoints, errors, bookmarks, etc.) |
|
- | 41 | ; new features: |
|
- | 42 | ; - line markers for modified and saved lines |
|
- | 43 | ; - status messages for various actions |
|
20 | ; 4.0.2 (mike.dld) |
44 | ; 4.0.2 (mike.dld) |
21 | ; bug-fixes: |
45 | ; bug-fixes: |
22 | ; - program terminates if started with parameters (fine for DOCPAK) |
46 | ; - program terminates if started with parameters (fine for DOCPAK) |
23 | ; 4.0.1 (mike.dld) |
47 | ; 4.0.1 (mike.dld) |
24 | ; bug-fixes: |
48 | ; bug-fixes: |
25 | ; - unable to run program after exiting from main menu (Alt+X) |
49 | ; - unable to run program after exiting from main menu (Alt+X) |
26 | ; new features: |
50 | ; new features: |
27 | ; - integration with DOCPAK |
51 | ; - integration with DOCPAK |
28 | ; 4.0 (mike.dld) |
52 | ; 4.0 (mike.dld) |
29 | ; bug-fixes: |
53 | ; bug-fixes: |
30 | ; - main menu popups' "on show" was called only for first shown popup |
54 | ; - main menu popups' "on show" was called only for first shown popup |
31 | ; - clear selection on left/right arrow keys |
55 | ; - clear selection on left/right arrow keys |
32 | ; new features: |
56 | ; new features: |
33 | ; - "replace" dialog (w/o "skip", "replace all") |
57 | ; - "replace" dialog (w/o "skip", "replace all") |
34 | ; - line numbers display |
58 | ; - line numbers display |
35 | ; - options (except "appearance" and "smart tabulation") |
59 | ; - options (except "appearance" and "smart tabulation") |
36 | ; - options saving (colors, window position, "Options" popup triggers) |
60 | ; - options saving (colors, window position, "Options" popup triggers) |
37 | ; 4.0 beta 2 (mike.dld) |
61 | ; 4.0 beta 2 (mike.dld) |
38 | ; bug-fixes: |
62 | ; bug-fixes: |
39 | ; - unable to start if /rd/1/example.asm is missing (from Halyavin) |
63 | ; - unable to start if /rd/1/example.asm is missing (from Halyavin) |
40 | ; - clicking on menu items draws main window in popup (from Rohan) |
64 | ; - clicking on menu items draws main window in popup (from Rohan) |
41 | ; - passed parameters aren't taken into account (from Mario79) |
65 | ; - passed parameters aren't taken into account (from Mario79) |
42 | ; - background isn't erased if text lines < screen lines after |
66 | ; - background isn't erased if text lines < screen lines after |
43 | ; selection deletion (from Rohan) |
67 | ; selection deletion (from Rohan) |
44 | ; 4.0 beta 1 (mike.dld) |
68 | ; 4.0 beta 1 (mike.dld) |
45 | ; menu bar and popup menu; |
69 | ; menu bar and popup menu; |
46 | ; removed buttons from the top and input fields from the bottom since |
70 | ; removed buttons from the top and input fields from the bottom since |
47 | ; now they're accesible through main/popup menu; |
71 | ; now they're accesible through main/popup menu; |
48 | ; improved keyboard handling (using 66th function); |
72 | ; improved keyboard handling (using 66th function); |
49 | ; support for almost all FASMW keyboard shourtcuts; |
73 | ; support for almost all FASMW keyboard shourtcuts; |
50 | ; added text selection ability, standard selection operations |
74 | ; added text selection ability, standard selection operations |
51 | ; (copy,cut,paste); |
75 | ; (copy,cut,paste); |
52 | ; new integrated dialogs (open, save, find) |
76 | ; new integrated dialogs (open, save, find) |
53 | ; fix to collapse SPACEs into TABs only for *.asm and *.inc files |
77 | ; fix to collapse SPACEs into TABs only for *.asm and *.inc files |
54 | ; 3.78a (mike.dld) |
78 | ; 3.78a (mike.dld) |
55 | ; fixed termination while typing in x positions higher than (line_length+10); |
79 | ; fixed termination while typing in x positions higher than (line_length+10); |
56 | ; improved drawing on small heights |
80 | ; improved drawing on small heights |
57 | ; don't draw window while its height = 0 (Kolibri "minimize" support) |
81 | ; don't draw window while its height = 0 (Kolibri "minimize" support) |
58 | ; 3.78 (mike.dld) |
82 | ; 3.78 (mike.dld) |
59 | ; now lines may be of ANY length; |
83 | ; now lines may be of ANY length; |
60 | ; optimized memory usage (less memory for internal file representation) |
84 | ; optimized memory usage (less memory for internal file representation) |
61 | ; after loading file, it's internal size equals to its real size |
85 | ; after loading file, it's internal size equals to its real size |
62 | ; plus 14 bytes for each line (4 bytes for line length |
86 | ; plus 14 bytes for each line (4 bytes for line length |
63 | ; and 10 spaced to the end - to reduce data relocations count); |
87 | ; and 10 spaced to the end - to reduce data relocations count); |
64 | ; completely rewritten keyboard handling; |
88 | ; completely rewritten keyboard handling; |
65 | ; added horizontal scrollbar; |
89 | ; added horizontal scrollbar; |
66 | ; all line feed formats are supported: WIN(CRLF),*NIX(LF),MAC(CR); |
90 | ; all line feed formats are supported: WIN(CRLF),*NIX(LF),MAC(CR); |
67 | ; etc. |
91 | ; etc. |
68 | ; 3.77 (mike.dld) |
92 | ; 3.77 (mike.dld) |
69 | ; changed save_string to collapse SPACEs into TABs; |
93 | ; changed save_string to collapse SPACEs into TABs; |
70 | ; rewrote drawfile from scratch (speed++) |
94 | ; rewrote drawfile from scratch (speed++) |
71 | ; through some drawing improvements still needed |
95 | ; through some drawing improvements needed |
72 | ; (some checkups to reduce flickering); |
96 | ; (some checkups to reduce flickering); |
73 | ; writepos (size--); |
97 | ; writepos (size--); |
74 | ; fixed drawing window while height < 100px, and for non-asm files; |
98 | ; fixed drawing window while height < 100px, and for non-asm files; |
75 | ; several small fixes; speed/size optimizations |
99 | ; several small fixes; speed/size optimizations |
76 | ; 3.76 (mike.dld) |
100 | ; 3.76 (mike.dld) |
77 | ; changed loadfile/loadhdfile to expand TABs into SPACEs; |
101 | ; changed loadfile/loadhdfile to expand TABs into SPACEs; |
78 | ; changed TAB,ENTER,DELETE,BSPACE keys behaviour (rewritten from scratch); |
102 | ; changed TAB,ENTER,DELETE,BSPACE keys behaviour (rewritten from scratch); |
79 | ; vertical scrollbar; |
103 | ; vertical scrollbar; |
80 | ; extra window resizing capabilities (added a couple of constants); |
104 | ; extra window resizing capabilities (added a couple of constants); |
81 | ; completely new text cursor management & moving text cursor with mouse; |
105 | ; completely new text cursor management & moving text cursor with mouse; |
82 | ; improved search function, moving cursor to beginning of text found; |
106 | ; improved search function, moving cursor to beginning of text found; |
83 | ; adjustable max line width (change LINE_WIDTH & recompile) // (obsolet) |
107 | ; adjustable max line width (change LINE_WIDTH & recompile) // (obsolet) |
84 | ; 3.75a |
108 | ; 3.75a |
85 | ; fixed converting char to upper case in read_string |
109 | ; fixed converting char to upper case in read_string |
86 | ; 3.75 |
110 | ; 3.75 |
87 | ; rewrote save_file from scratch; bugfix in loadfile; |
111 | ; rewrote save_file from scratch; bugfix in loadfile; |
88 | ; 3.74 |
112 | ; 3.74 |
89 | ; optimisation |
113 | ; optimisation |
90 | ; 3.73 |
114 | ; 3.73 |
91 | ; completly new load_file function |
115 | ; completly new load_file function |
92 | ; 3.72 |
116 | ; 3.72 |
93 | ; speed++ |
117 | ; speed++ |
94 | ; 3.71 |
118 | ; 3.71 |
95 | ; error beep |
119 | ; error beep |
96 | ; 3.6,3.7: |
120 | ; 3.6,3.7: |
97 | ; many bugs fixed |
121 | ; many bugs fixed |
98 | ; simple toolbar |
122 | ; simple toolbar |
99 | ; compile, run applications from TINYPAD, all fasm output is in debug board |
123 | ; compile, run applications from TINYPAD, all fasm output is in debug board |
100 | ; TAB button |
124 | ; TAB button |
101 | ; auto-indent |
125 | ; auto-indent |
102 | ; Ctrl+L - insert comment string |
126 | ; Ctrl+L - insert comment string |
103 | ;----------------------------------------------------------------------------- |
127 | ;----------------------------------------------------------------------------- |
104 | ; Memory 0x300000: |
128 | ; Memory 0x300000: |
105 | ; stack for popup 0x00dff0 - |
129 | ; stack for popup 0x00dff0 - |
106 | ; stack for help 0x00eff0 - |
130 | ; stack for help 0x00eff0 - |
107 | ; stack 0x00fff0 - |
131 | ; stack 0x00fff0 - |
108 | ; load position 0x010000 + |
132 | ; load position 0x010000 + |
109 | ; edit area 0x080000 + |
133 | ; edit area 0x080000 + |
110 | ; copy/paste area 0x2f0000 + |
134 | ; copy/paste area 0x2f0000 + |
111 | ;----------------------------------------------------------------------------- |
135 | ;----------------------------------------------------------------------------- |
- | 136 | ||
112 | 137 | include 'lang.inc' |
|
- | 138 | include 'macros.inc' ; useful stuff |
|
113 | include 'macros.inc' ; useful stuff |
139 | ;include 'proc32.inc' |
114 | include 'tinypad.inc' |
140 | include 'tinypad.inc' |
115 | purge mov,add,sub ; SPEED |
141 | ;purge mov,add,sub ; SPEED |
116 | 142 | ||
117 | header '01',1,@CODE,TINYPAD_END,AREA_ENDMEM,MAIN_STACK,@PARAMS,self_path |
143 | header '01',1,@CODE,TINYPAD_END,AREA_ENDMEM,MAIN_STACK,@PARAMS,self_path |
118 | 144 | ||
119 | ;include 'debug.inc' |
145 | ;include 'debug.inc' |
120 | 146 | ||
121 | ASEPC = '-' ; separator character (char) |
147 | ASEPC = '-' ; separator character (char) |
122 | ATOPH = POP_IHEIGHT+2 ; menu bar height (pixels) |
148 | ATOPH = POP_IHEIGHT+2 ; menu bar height (pixels) |
123 | ;OLEFT = 50+1 ; left offset (pixels) !!! don't change !!! |
149 | ;OLEFT = 50+1 ; left offset (pixels) !!! don't change !!! |
124 | SCRLW = 16 ; scrollbar widht/height (pixels) |
150 | SCRLW = 16 ; scrollbar widht/height (pixels) |
125 | ATABW = 8 ; tab width (chars) |
151 | ATABW = 8 ; tab width (chars) |
126 | LINEH = 10 ; line height (pixels) |
152 | LINEH = 10 ; line height (pixels) |
127 | PATHL = 255 ; maximum path length (chars) !!! don't change !!! |
153 | PATHL = 255 ; maximum path length (chars) !!! don't change !!! |
128 | AMINS = 8 ; minimal scroll thumb size (pixels) |
154 | AMINS = 8 ; minimal scroll thumb size (pixels) |
- | 155 | LCHGW = 2 ; changed/saved marker width |
|
129 | 156 | ||
130 | STATH = 14 ; status bar height |
157 | STATH = 14 ; status bar height |
131 | 158 | ||
132 | MEV_LDOWN = 1 |
159 | MEV_LDOWN = 1 |
133 | MEV_LUP = 2 |
160 | MEV_LUP = 2 |
134 | MEV_RDOWN = 3 |
161 | MEV_RDOWN = 3 |
135 | MEV_RUP = 4 |
162 | MEV_RUP = 4 |
136 | MEV_MOVE = 5 |
163 | MEV_MOVE = 5 |
137 | 164 | ||
138 | ;----------------------------------------------------------------------------- |
165 | ;----------------------------------------------------------------------------- |
139 | section @OPTIONS ;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: |
166 | section @OPTIONS ;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: |
140 | ;----------------------------------------------------------------------------- |
167 | ;----------------------------------------------------------------------------- |
141 | 168 | ||
142 | label color_tbl dword |
169 | label color_tbl dword |
143 | RGB( 0, 0, 0) ; RGB( 0, 0, 0) ; RGB( 0, 0, 0) ; text |
170 | RGB( 0, 0, 0) ; RGB( 0, 0, 0) ; RGB( 0, 0, 0) ; text |
144 | RGB( 0,144, 0) ; RGB( 0,144, 0) ; RGB( 0,160, 0) ; numbers |
171 | RGB( 0,144, 0) ; RGB( 0,144, 0) ; RGB( 0,160, 0) ; numbers |
145 | RGB(176, 0, 0) ; RGB(160, 0, 0) ; RGB( 0,128,255) ; strings |
172 | RGB(176, 0, 0) ; RGB(160, 0, 0) ; RGB( 0,128,255) ; strings |
146 | RGB(128,128,128) ; RGB(144,144,144) ; RGB(160,160,160) ; comments |
173 | RGB(128,128,128) ; RGB(144,144,144) ; RGB(160,160,160) ; comments |
147 | RGB( 48, 48,240) ; RGB( 48, 48,240) ; RGB(255, 0, 0) ; symbols |
174 | RGB( 48, 48,240) ; RGB( 48, 48,240) ; RGB(255, 0, 0) ; symbols |
148 | RGB(255,255,255) ; RGB(224,224,224) ; RGB(255,255,255) ; background |
175 | RGB(255,255,255) ; RGB(224,224,224) ; RGB(255,255,255) ; background |
149 | RGB(255,255,255) ; RGB(255,255,255) ; RGB(255,255,255) ; selection text |
176 | RGB(255,255,255) ; RGB(255,255,255) ; RGB(255,255,255) ; selection text |
150 | RGB( 10, 36,106) ; RGB( 0, 0,128) ; RGB( 0, 64,128) ; selection background |
177 | RGB( 10, 36,106) ; RGB( 0, 0,128) ; RGB( 0, 64,128) ; selection background |
- | 178 | RGB( 0,255, 0) ; modified line marker |
|
- | 179 | RGB(255,255, 0) ; saved line marker |
|
151 | 180 | ||
152 | ins_mode db 1 |
181 | ins_mode db 1 |
153 | 182 | ||
154 | options db OPTS_AUTOINDENT+OPTS_OPTIMSAVE+OPTS_SMARTTAB |
183 | options db OPTS_AUTOINDENT+OPTS_OPTIMSAVE+OPTS_SMARTTAB |
155 | 184 | ||
156 | mainwnd_pos: |
185 | mainwnd_pos: |
157 | .x dd 100 |
186 | .x dd 100 |
158 | .y dd 75 |
187 | .y dd 75 |
159 | .w dd 6*80+6+SCRLW+5 |
188 | .w dd 6*80+6+SCRLW+5 |
160 | .h dd 402 |
189 | .h dd 402 |
161 | 190 | ||
162 | ;----------------------------------------------------------------------------- |
191 | ;----------------------------------------------------------------------------- |
163 | section @CODE ;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: |
192 | section @CODE ;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: |
164 | ;----------------------------------------------------------------------------- |
193 | ;----------------------------------------------------------------------------- |
165 | 194 | ||
166 | ; fninit |
195 | ; fninit |
- | 196 | ||
- | 197 | ; stdcall ini.get_int,finfo_ini,ini_sec_window,ini_window_left,50 |
|
- | 198 | ; mov [mainwnd_pos.x],eax |
|
- | 199 | ; stdcall ini.get_int,finfo_ini,ini_sec_window,ini_window_top,50 |
|
- | 200 | ; mov [mainwnd_pos.y],eax |
|
- | 201 | ; stdcall ini.get_int,finfo_ini,ini_sec_window,ini_window_right,350 |
|
- | 202 | ; sub eax,[mainwnd_pos.x] |
|
- | 203 | ; mov [mainwnd_pos.w],eax |
|
- | 204 | ; stdcall ini.get_int,finfo_ini,ini_sec_window,ini_window_bottom,450 |
|
- | 205 | ; sub eax,[mainwnd_pos.y] |
|
- | 206 | ; mov [mainwnd_pos.h],eax |
|
167 | 207 | ||
168 | cld |
208 | cld |
169 | mov edi,@UDATA |
209 | mov edi,@UDATA |
170 | mov ecx,@PARAMS-@UDATA |
210 | mov ecx,@PARAMS-@UDATA |
171 | mov al,0 |
211 | mov al,0 |
172 | rep stosb |
212 | rep stosb |
- | 213 | ||
- | 214 | inc [do_not_draw] |
|
173 | 215 | ||
174 | mov [left_ofs],40+1 |
216 | mov [left_ofs],40+1 |
175 | mov [f_info+4],0 |
217 | mov [f_info+4],0 |
176 | mov [f_info+12],AREA_TEMP |
218 | mov [f_info+12],AREA_TEMP |
177 | mov [f_info+16],AREA_EDIT-AREA_TEMP |
219 | mov [f_info+16],AREA_EDIT-AREA_TEMP |
178 | - | ||
179 | ; mov esi,s_example |
- | |
180 | ; mov edi,s_fname |
- | |
181 | ; mov ecx,s_example.size |
- | |
182 | ; mov [s_fname.size],ecx |
- | |
183 | ; rep movsb |
220 | |
184 | mov esi,s_example |
221 | mov esi,s_example |
185 | mov edi,tb_opensave.text |
222 | mov edi,tb_opensave.text |
186 | mov ecx,s_example.size |
223 | mov ecx,s_example.size |
187 | mov [tb_opensave.length],cl |
224 | mov [tb_opensave.length],cl |
188 | rep movsb |
225 | rep movsb |
189 | 226 | ||
190 | mov esi,s_still |
227 | mov esi,s_still |
191 | mov edi,s_search |
228 | mov edi,s_search |
192 | mov ecx,s_still.size |
229 | mov ecx,s_still.size |
193 | mov [s_search.size],ecx |
230 | mov [s_search.size],ecx |
194 | rep movsb |
231 | rep movsb |
195 | 232 | ||
196 | cmp byte[@PARAMS],0 |
233 | cmp byte[@PARAMS],0 |
197 | jz no_params |
234 | jz no_params |
198 | 235 | ||
199 | ;// Willow's code to support DOCPAK [ |
236 | ;// Willow's code to support DOCPAK [ |
200 | 237 | ||
201 | cmp byte[@PARAMS],'*' |
238 | cmp byte[@PARAMS],'*' |
202 | jne .noipc |
239 | jne .noipc |
- | 240 | ||
203 | ; convert size from decimal representation to dword |
241 | ;// diamond [ (convert size from decimal representation to dword) |
- | 242 | ;-- mov edx,dword[@PARAMS+1] |
|
204 | mov esi, @PARAMS+1 |
243 | mov esi,@PARAMS+1 |
205 | xor edx, edx |
244 | xor edx,edx |
206 | xor eax, eax |
245 | xor eax,eax |
207 | @@: |
- | |
208 | lodsb |
246 | @@: lodsb |
209 | test al, al |
247 | test al,al |
210 | jz @f |
248 | jz @f |
211 | lea edx, [edx*4+edx] |
249 | lea edx,[edx*4+edx] |
212 | lea edx, [edx*2+eax] |
250 | lea edx,[edx*2+eax-'0'] |
213 | jmp @b |
251 | jmp @b |
214 | @@: |
252 | @@: |
- | 253 | ;// diamond ] |
|
- | 254 | ||
215 | add edx,20 |
255 | add edx,20 |
216 | mcall 60,1,AREA_TEMP-16 ; 0x10000-16 |
256 | mcall 60,1,AREA_TEMP-16 ; 0x10000-16 |
217 | mov dword[AREA_TEMP-16+4],8 ; [0x10000-16+4],8 |
257 | mov dword[AREA_TEMP-16+4],8 ; [0x10000-16+4],8 |
218 | mcall 40,1000000b |
258 | mcall 40,1000000b |
219 | mcall 23,200 |
259 | mcall 23,200 |
220 | cmp eax,7 |
260 | cmp eax,7 |
221 | jne key.alt_x.close ; ýòî íà mcall -1 ìåòêà |
261 | jne key.alt_x.close ; ýòî íà mcall -1 ìåòêà |
222 | mov esi,AREA_TEMP-16 ; 0x10000-16 |
262 | mov esi,AREA_TEMP-16 ; 0x10000-16 |
223 | mov byte[esi],1 |
263 | mov byte[esi],1 |
224 | mov eax,[esi+12] |
264 | mov eax,[esi+12] |
225 | inc eax |
265 | inc eax |
226 | call load_file.file_found |
266 | call load_file.file_found |
227 | jmp @f |
267 | jmp @f |
228 | ; call file_found ; çàãðóçêà ôàéëà |
- | |
229 | ; jmp do_load_file.restorecursor ; îòîáðàæåíèå |
- | |
230 | .noipc: |
268 | .noipc: |
231 | 269 | ||
232 | ;// Willow's code to support DOCPAK ] |
270 | ;// Willow's code to support DOCPAK ] |
233 | 271 | ||
234 | ; parameters are at @PARAMS |
272 | ; parameters are at @PARAMS |
235 | mov esi,@PARAMS |
273 | mov esi,@PARAMS |
236 | mov edi,tb_opensave.text |
274 | mov edi,tb_opensave.text |
237 | mov ecx,PATHL |
275 | mov ecx,PATHL |
238 | rep movsb |
276 | rep movsb |
239 | mov edi,tb_opensave.text |
277 | mov edi,tb_opensave.text |
240 | mov ecx,PATHL |
278 | mov ecx,PATHL |
241 | xor al,al |
279 | xor al,al |
242 | repne scasb |
280 | repne scasb |
243 | jne key.alt_x.close |
281 | jne key.alt_x.close |
244 | lea eax,[edi-tb_opensave.text-1] |
282 | lea eax,[edi-tb_opensave.text-1] |
245 | mov [tb_opensave.length],al |
283 | mov [tb_opensave.length],al |
246 | 284 | ||
247 | no_params: |
285 | no_params: |
248 | call btn.load_file;do_load_file |
286 | call btn.load_file;do_load_file |
249 | jnc @f |
287 | jnc @f |
250 | call new_file |
288 | call new_file |
251 | 289 | ||
252 | @@: |
290 | @@: |
253 | call drawwindow |
291 | dec [do_not_draw] |
254 | mcall 66,1,1 |
292 | mcall 66,1,1 |
255 | mcall 40,00100111b |
293 | mcall 40,00100111b |
- | 294 | red: |
|
- | 295 | call drawwindow |
|
- | 296 | call check_inv_all.skip_check |
|
256 | 297 | ||
257 | ;----------------------------------------------------------------------------- |
298 | ;----------------------------------------------------------------------------- |
258 | 299 | ||
259 | still: |
300 | still: |
260 | call writepos ; write current position & number of strings |
301 | call writepos ; write current position & number of strings |
261 | 302 | ||
262 | .skip_write: |
303 | .skip_write: |
263 | mcall 10;23,50; wait here until event |
304 | mcall 10;23,50; wait here until event |
264 | cmp [main_closed],0 |
305 | cmp [main_closed],0 |
265 | jne key.alt_x |
306 | jne key.alt_x |
266 | dec eax ; redraw ? |
307 | dec eax ; redraw ? |
267 | jz red |
308 | jz red |
268 | dec eax ; key ? |
309 | dec eax ; key ? |
269 | jz key |
310 | jz key |
270 | dec eax ; button ? |
311 | dec eax ; button ? |
271 | jz button |
312 | jz button |
272 | sub eax,3 ; mouse ? |
313 | sub eax,3 ; mouse ? |
273 | jz mouse |
314 | jz mouse |
274 | 315 | ||
275 | jmp still.skip_write |
316 | jmp still.skip_write |
276 | 317 | ||
277 | ;----------------------------------------------------------------------------- |
318 | ;----------------------------------------------------------------------------- |
278 | func red ;///// window redraw //////////////////////////////////////////////// |
- | |
279 | ;----------------------------------------------------------------------------- |
- | |
280 | call drawwindow |
- | |
281 | call check_inv_all.skip_check |
- | |
282 | jmp still |
- | |
283 | endf |
- | |
284 | - | ||
285 | ;----------------------------------------------------------------------------- |
- | |
286 | func start_fasm ;///////////////////////////////////////////////////////////// |
319 | func start_fasm ;///////////////////////////////////////////////////////////// |
287 | ;----------------------------------------------------------------------------- |
320 | ;----------------------------------------------------------------------------- |
288 | ; BL = run after compile |
321 | ; BL = run after compile |
289 | ;----------------------------------------------------------------------------- |
322 | ;----------------------------------------------------------------------------- |
290 | cmp [asm_mode],0 |
323 | cmp [asm_mode],0 |
291 | jne @f |
324 | jne @f |
292 | ret |
325 | ret |
293 | @@: mov esi,f_info.path ; s_fname |
326 | @@: mov esi,f_info.path ; s_fname |
294 | mov edi,fasm_parameters |
327 | mov edi,fasm_parameters |
295 | 328 | ||
296 | cmp byte[esi],'/' |
329 | cmp byte[esi],'/' |
297 | je .yes_systree |
330 | je .yes_systree |
298 | 331 | ||
299 | mov ecx,[f_info.length] ; [s_fname.size] |
332 | mov ecx,[f_info.length] ; [s_fname.size] |
300 | rep movsb |
333 | rep movsb |
301 | 334 | ||
302 | mov al,',' |
335 | mov al,',' |
303 | stosb |
336 | stosb |
304 | 337 | ||
305 | mov ecx,[f_info.length] ; [s_fname.size] |
338 | mov ecx,[f_info.length] ; [s_fname.size] |
306 | add ecx,-4 |
339 | add ecx,-4 |
307 | mov esi,f_info.path ; s_fname |
340 | mov esi,f_info.path ; s_fname |
308 | rep movsb |
341 | rep movsb |
309 | 342 | ||
310 | mov al,',' |
343 | mov al,',' |
311 | stosb |
344 | stosb |
312 | 345 | ||
313 | mov dword[edi],'/RD/' |
346 | mov dword[edi],'/RD/' |
314 | mov word[edi+4],'1/' |
347 | mov word[edi+4],'1/' |
315 | add edi,6 |
348 | add edi,6 |
316 | 349 | ||
317 | mov al,0 |
350 | mov al,0 |
318 | stosb |
351 | stosb |
319 | 352 | ||
320 | jmp .run |
353 | jmp .run |
321 | 354 | ||
322 | .yes_systree: |
355 | .yes_systree: |
323 | mov eax,[f_info.length] |
356 | mov eax,[f_info.length] |
324 | add esi,eax ; [s_fname.size] |
357 | add esi,eax ; [s_fname.size] |
325 | dec esi |
358 | dec esi |
326 | 359 | ||
327 | xor ecx,ecx |
360 | xor ecx,ecx |
328 | mov al,'/' |
361 | mov al,'/' |
329 | @@: cmp [esi],al |
362 | @@: cmp [esi],al |
330 | je @f |
363 | je @f |
331 | dec esi |
364 | dec esi |
332 | inc ecx |
365 | inc ecx |
333 | jmp @b |
366 | jmp @b |
334 | @@: inc esi |
367 | @@: inc esi |
335 | 368 | ||
336 | push esi esi ecx |
369 | push esi esi ecx |
337 | 370 | ||
338 | rep movsb |
371 | rep movsb |
339 | 372 | ||
340 | mov al,',' |
373 | mov al,',' |
341 | stosb |
374 | stosb |
342 | 375 | ||
343 | pop ecx esi |
376 | pop ecx esi |
344 | 377 | ||
345 | add ecx,-4 |
378 | add ecx,-4 |
346 | rep movsb |
379 | rep movsb |
347 | 380 | ||
348 | mov al,',' |
381 | mov al,',' |
349 | stosb |
382 | stosb |
350 | 383 | ||
351 | pop ecx |
384 | pop ecx |
352 | sub ecx,f_info.path ; s_fname |
385 | sub ecx,f_info.path ; s_fname |
353 | mov esi,f_info.path ; s_fname |
386 | mov esi,f_info.path ; s_fname |
354 | 387 | ||
355 | rep movsb |
388 | rep movsb |
356 | 389 | ||
357 | mov al,0 |
390 | mov al,0 |
358 | stosb |
391 | stosb |
359 | 392 | ||
360 | .run: |
393 | .run: |
361 | cmp bl,0 ; run outfile ? |
394 | cmp bl,0 ; run outfile ? |
362 | je @f |
395 | je @f |
363 | mov dword[edi-1],',run' |
396 | mov dword[edi-1],',run' |
364 | mov byte[edi+3],0 |
397 | mov byte[edi+3],0 |
- | 398 | @@: |
|
365 | @@: mcall 19,fasm_filename,fasm_parameters |
399 | mov ebx, fasm_start |
- | 400 | start_ret: |
|
- | 401 | mov eax, 70 |
|
- | 402 | int 0x40 |
|
366 | ret |
403 | ret |
367 | endf |
404 | endf |
368 | 405 | ||
369 | ;----------------------------------------------------------------------------- |
406 | ;----------------------------------------------------------------------------- |
370 | func open_debug_board ;/////////////////////////////////////////////////////// |
407 | func open_debug_board ;/////////////////////////////////////////////////////// |
371 | ;----------------------------------------------------------------------------- |
408 | ;----------------------------------------------------------------------------- |
372 | mcall 19,debug_filename,0 |
409 | mov ebx, board_start |
373 | ret |
410 | jmp start_ret |
374 | endf |
411 | endf |
375 | 412 | ||
376 | ;----------------------------------------------------------------------------- |
413 | ;----------------------------------------------------------------------------- |
377 | func open_sysfuncs_txt ;////////////////////////////////////////////////////// |
414 | func open_sysfuncs_txt ;////////////////////////////////////////////////////// |
378 | ;----------------------------------------------------------------------------- |
415 | ;----------------------------------------------------------------------------- |
379 | mcall 19,docpak_filename,sysfuncs_param |
416 | mov ebx, docpak_start |
- | 417 | call start_ret |
|
380 | cmp eax,0xfffffff0 |
418 | cmp eax,0xfffffff0 |
381 | jb @f |
419 | jb @f |
- | 420 | mov ebx, tinypad_start |
|
382 | mcall 19,tinypad_filename,sysfuncs_filename |
421 | mov dword [ebx+8], sysfuncs_filename |
- | 422 | call start_ret |
|
383 | @@: ret |
423 | @@: ret |
384 | endf |
424 | endf |
385 | 425 | ||
386 | ;----------------------------------------------------------------------------- |
426 | ;----------------------------------------------------------------------------- |
387 | func layout ;///// change keyboard layout /////////////////////////////////// |
427 | ;func layout ;///// change keyboard layout /////////////////////////////////// |
388 | ;----------------------------------------------------------------------------- |
428 | ;----------------------------------------------------------------------------- |
389 | mcall 19,setup,param_setup |
429 | ; mcall 19,setup,param_setup |
390 | mcall 5,eax |
430 | ; mcall 5,eax |
391 | ; call activate_me |
431 | ;; call activate_me |
392 | ; ret |
432 | ;; ret |
- | 433 | ;;endf |
|
- | 434 | ||
- | 435 | ;;func activate_me |
|
- | 436 | ; mcall 9,p_info,-1 |
|
- | 437 | ; inc eax |
|
- | 438 | ; inc eax |
|
- | 439 | ; mov ecx,eax |
|
- | 440 | ; mov edi,[p_info.PID] |
|
- | 441 | ; mov ebx,p_info |
|
- | 442 | ; @@: dec ecx |
|
- | 443 | ; jz @f ; counter=0 => not found? => return |
|
- | 444 | ; mcall 9 |
|
- | 445 | ; cmp edi,[p_info.PID] |
|
- | 446 | ; jne @b |
|
- | 447 | ; mcall 18,3 |
|
- | 448 | ; mcall 5,eax |
|
- | 449 | ; @@: ret |
|
393 | ;endf |
450 | ;endf |
394 | - | ||
395 | ;func activate_me |
- | |
396 | mcall 9,p_info,-1 |
- | |
397 | inc eax |
- | |
398 | inc eax |
- | |
399 | mov ecx,eax |
- | |
400 | mov edi,[p_info.PID] |
- | |
401 | mov ebx,p_info |
- | |
402 | @@: dec ecx |
- | |
403 | jz @f ; counter=0 => not found? => return |
- | |
404 | mcall 9 |
- | |
405 | cmp edi,[p_info.PID] |
- | |
406 | jne @b |
- | |
407 | mcall 18,3 |
- | |
408 | mcall 5,eax |
- | |
409 | @@: ret |
- | |
410 | endf |
- | |
411 | 451 | ||
412 | func set_opt |
452 | func set_opt |
413 | test [options],al |
453 | test [options],al |
414 | je @f |
454 | je @f |
415 | not al |
455 | not al |
416 | and [options],al |
456 | and [options],al |
417 | ret |
457 | ret |
418 | @@: or [options],al |
458 | @@: or [options],al |
419 | ret |
459 | ret |
420 | endf |
460 | endf |
421 | 461 | ||
422 | func set_line_numbers |
462 | func set_line_numbers |
423 | mov al,OPTS_LINENUMS |
463 | mov al,OPTS_LINENUMS |
424 | call set_opt |
464 | call set_opt |
425 | ret |
465 | ret |
426 | endf |
466 | endf |
427 | 467 | ||
428 | func set_optimal_fill |
468 | func set_optimal_fill |
429 | mov al,OPTS_OPTIMSAVE |
469 | mov al,OPTS_OPTIMSAVE |
430 | call set_opt |
470 | call set_opt |
431 | ret |
471 | ret |
432 | endf |
472 | endf |
433 | 473 | ||
434 | func set_auto_indents |
474 | func set_auto_indents |
435 | mov al,OPTS_AUTOINDENT |
475 | mov al,OPTS_AUTOINDENT |
436 | call set_opt |
476 | call set_opt |
437 | ret |
477 | ret |
438 | endf |
478 | endf |
439 | 479 | ||
440 | func set_auto_braces |
480 | func set_auto_braces |
441 | mov al,OPTS_AUTOBRACES |
481 | mov al,OPTS_AUTOBRACES |
442 | call set_opt |
482 | call set_opt |
443 | ret |
483 | ret |
444 | endf |
484 | endf |
445 | 485 | ||
446 | func set_secure_sel |
486 | func set_secure_sel |
447 | mov al,OPTS_SECURESEL |
487 | mov al,OPTS_SECURESEL |
448 | call set_opt |
488 | call set_opt |
449 | ret |
489 | ret |
450 | endf |
490 | endf |
451 | 491 | ||
452 | ;----------------------------------------------------------------------------- |
492 | ;----------------------------------------------------------------------------- |
453 | 493 | ||
454 | include 'tp-draw.asm' |
494 | include 'tp-draw.asm' |
455 | include 'tp-key.asm' |
495 | include 'tp-key.asm' |
456 | ;include 'tp-key2.asm' |
- | |
457 | include 'tp-butto.asm' |
496 | include 'tp-butto.asm' |
458 | include 'tp-mouse.asm' |
497 | include 'tp-mouse.asm' |
459 | include 'tp-files.asm' |
498 | include 'tp-files.asm' |
460 | include 'tp-commo.asm' |
499 | include 'tp-commo.asm' |
461 | include 'tp-dialo.asm' |
500 | include 'tp-dialo.asm' |
462 | ;include 'tp-find.asm' |
- | |
463 | include 'tp-popup.asm' |
501 | include 'tp-popup.asm' |
464 | include 'tp-tbox.asm' |
502 | include 'tp-tbox.asm' |
- | 503 | ||
- | 504 | ;include 'lib-ini.asm' |
|
465 | 505 | ||
466 | ;----------------------------------------------------------------------------- |
506 | ;----------------------------------------------------------------------------- |
467 | section @DATA ;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: |
507 | section @DATA ;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: |
468 | ;----------------------------------------------------------------------------- |
508 | ;----------------------------------------------------------------------------- |
469 | 509 | ||
470 | ;addr dd s_fname ; address of input string |
510 | ;addr dd s_fname ; address of input string |
471 | ;temp dd 0xABCD ; used in read_string |
511 | ;temp dd 0xABCD ; used in read_string |
472 | vscrl_capt dd -1 |
512 | vscrl_capt dd -1 |
473 | hscrl_capt dd -1 |
513 | hscrl_capt dd -1 |
474 | body_capt dd -1 |
514 | body_capt dd -1 |
475 | 515 | ||
476 | key0 db \ |
516 | key0 db \ |
477 | 0x00,0x00,0x02,0x03,0x04,0x05,0x06,0x07,\ |
517 | 0x00,0x00,0x02,0x03,0x04,0x05,0x06,0x07,\ |
478 | 0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x00,0x00,\ |
518 | 0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x00,0x00,\ |
479 | 0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,\ |
519 | 0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,\ |
480 | 0x18,0x19,0x1A,0x1B,0x00,0x00,0x1E,0x1F,\ |
520 | 0x18,0x19,0x1A,0x1B,0x00,0x00,0x1E,0x1F,\ |
481 | 0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,\ |
521 | 0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,\ |
482 | 0x28,0x29,0x00,0x2B,0x2C,0x2D,0x2E,0x2F,\ |
522 | 0x28,0x29,0x00,0x2B,0x2C,0x2D,0x2E,0x2F,\ |
483 | 0x30,0x31,0x32,0x33,0x34,0x35,0x00,0x00,\ |
523 | 0x30,0x31,0x32,0x33,0x34,0x35,0x00,0x00,\ |
484 | 0x00,0x39,0x00,0x00,0x00,0x00,0x00,0x00 |
524 | 0x00,0x39,0x00,0x00,0x00,0x00,0x00,0x00 |
485 | times 12*16 db 0x00 |
525 | times 12*16 db 0x00 |
486 | 526 | ||
487 | accel_table dd \ |
527 | accel_table dd \ |
488 | 0x0000000E,key.bkspace ,\ ; BackSpace |
528 | 0x0000000E,key.bkspace ,\ ; BackSpace |
489 | 0x0000000F,key.tab ,\ ; Tab |
529 | 0x0000000F,key.tab ,\ ; Tab |
490 | 0x0000001C,key.return ,\ ; Return |
530 | 0x0000001C,key.return ,\ ; Return |
491 | 0x0000003D,key.f3 ,\ ; F3 |
531 | 0x0000003D,key.f3 ,\ ; F3 |
492 | 0x00000043,key.f9 ,\ ; F9 |
532 | 0x00000043,key.f9 ,\ ; F9 |
493 | 0x00000147,key.home ,\ ; Home |
533 | 0x00000147,key.home ,\ ; Home |
494 | 0x00000148,key.up ,\ ; Up |
534 | 0x00000148,key.up ,\ ; Up |
495 | 0x00000149,key.pgup ,\ ; PageUp |
535 | 0x00000149,key.pgup ,\ ; PageUp |
496 | 0x0000014B,key.left ,\ ; Left |
536 | 0x0000014B,key.left ,\ ; Left |
497 | 0x0000014D,key.right ,\ ; Right |
537 | 0x0000014D,key.right ,\ ; Right |
498 | 0x0000014F,key.end ,\ ; End |
538 | 0x0000014F,key.end ,\ ; End |
499 | 0x00000150,key.down ,\ ; Down |
539 | 0x00000150,key.down ,\ ; Down |
500 | 0x00000151,key.pgdn ,\ ; PageDown |
540 | 0x00000151,key.pgdn ,\ ; PageDown |
501 | 0x00000152,key.ins ,\ ; Insert |
541 | 0x00000152,key.ins ,\ ; Insert |
502 | 0x00000153,key.del ,\ ; Delete |
542 | 0x00000153,key.del ,\ ; Delete |
503 | 0x00010147,key.shift_home ,\ ; Shift+Home |
543 | 0x00010147,key.shift_home ,\ ; Shift+Home |
504 | 0x00010148,key.shift_up ,\ ; Shift+Up |
544 | 0x00010148,key.shift_up ,\ ; Shift+Up |
505 | 0x00010149,key.shift_pgup ,\ ; Shift+PageUp |
545 | 0x00010149,key.shift_pgup ,\ ; Shift+PageUp |
506 | 0x0001014B,key.shift_left ,\ ; Shift+Left |
546 | 0x0001014B,key.shift_left ,\ ; Shift+Left |
507 | 0x0001014D,key.shift_right ,\ ; Shift+Right |
547 | 0x0001014D,key.shift_right ,\ ; Shift+Right |
508 | 0x0001014F,key.shift_end ,\ ; Shift+End |
548 | 0x0001014F,key.shift_end ,\ ; Shift+End |
509 | 0x00010150,key.shift_down ,\ ; Shift+Down |
549 | 0x00010150,key.shift_down ,\ ; Shift+Down |
510 | 0x00010151,key.shift_pgdn ,\ ; Shift+PageDown |
550 | 0x00010151,key.shift_pgdn ,\ ; Shift+PageDown |
511 | 0x00010153,key.del ,\ ; Shift+Delete |
551 | 0x00010153,key.del ,\ ; Shift+Delete |
512 | 0x00020015,key.ctrl_y ,\ ; Ctrl+Y |
552 | 0x00020015,key.ctrl_y ,\ ; Ctrl+Y |
513 | 0x00020018,key.ctrl_o ,\ ; Ctrl+O |
553 | 0x00020018,key.ctrl_o ,\ ; Ctrl+O |
514 | 0x0002001E,key.ctrl_a ,\ ; Ctrl+A |
554 | 0x0002001E,key.ctrl_a ,\ ; Ctrl+A |
515 | 0x0002001F,key.ctrl_s ,\ ; Ctrl+S |
555 | 0x0002001F,key.ctrl_s ,\ ; Ctrl+S |
516 | 0x00020020,key.ctrl_d ,\ ; Ctrl+D |
556 | 0x00020020,key.ctrl_d ,\ ; Ctrl+D |
517 | 0x00020021,key.ctrl_f ,\ ; Ctrl+F |
557 | 0x00020021,key.ctrl_f ,\ ; Ctrl+F |
518 | 0x00020022,key.ctrl_g ,\ ; Ctrl+G |
558 | 0x00020022,key.ctrl_g ,\ ; Ctrl+G |
519 | 0x00020023,key.ctrl_h ,\ ; Ctrl+H |
559 | 0x00020023,key.ctrl_h ,\ ; Ctrl+H |
520 | \;0x00020026,key.ctrl_l ,\ ; Ctrl+L |
560 | \;0x00020026,key.ctrl_l ,\ ; Ctrl+L |
521 | 0x0002002D,key.ctrl_x ,\ ; Ctrl+X |
561 | 0x0002002D,key.ctrl_x ,\ ; Ctrl+X |
522 | 0x0002002E,key.ctrl_c ,\ ; Ctrl+C |
562 | 0x0002002E,key.ctrl_c ,\ ; Ctrl+C |
523 | 0x0002002F,key.ctrl_v ,\ ; Ctrl+V |
563 | 0x0002002F,key.ctrl_v ,\ ; Ctrl+V |
524 | 0x00020031,key.ctrl_n ,\ ; Ctrl+N |
564 | 0x00020031,key.ctrl_n ,\ ; Ctrl+N |
525 | 0x00020043,key.ctrl_f9 ,\ ; Ctrl+F9 |
565 | 0x00020043,key.ctrl_f9 ,\ ; Ctrl+F9 |
526 | 0x00020147,key.ctrl_home ,\ ; Ctrl+Home |
566 | 0x00020147,key.ctrl_home ,\ ; Ctrl+Home |
527 | \;0x00020148,key.ctrl_up ,\ ; Ctrl+Up |
567 | \;0x00020148,key.ctrl_up ,\ ; Ctrl+Up |
528 | 0x00020149,key.ctrl_pgup ,\ ; Ctrl+PageUp |
568 | 0x00020149,key.ctrl_pgup ,\ ; Ctrl+PageUp |
529 | 0x0002014B,key.ctrl_left ,\ ; Ctrl+Left |
569 | 0x0002014B,key.ctrl_left ,\ ; Ctrl+Left |
530 | 0x0002014D,key.ctrl_right ,\ ; Ctrl+Right |
570 | 0x0002014D,key.ctrl_right ,\ ; Ctrl+Right |
531 | 0x0002014F,key.ctrl_end ,\ ; Ctrl+End |
571 | 0x0002014F,key.ctrl_end ,\ ; Ctrl+End |
532 | \;0x00020150,key.ctrl_down ,\ ; Ctrl+Down |
572 | \;0x00020150,key.ctrl_down ,\ ; Ctrl+Down |
533 | 0x00020151,key.ctrl_pgdn ,\ ; Ctrl+PageDown |
573 | 0x00020151,key.ctrl_pgdn ,\ ; Ctrl+PageDown |
534 | 0x00020153,key.del ,\ ; Ctrl+Del |
574 | 0x00020153,key.del ,\ ; Ctrl+Del |
535 | 0x0003001F,key.shift_ctrl_s ,\ ; Shift+Ctrl+S |
575 | 0x0003001F,key.shift_ctrl_s ,\ ; Shift+Ctrl+S |
536 | 0x00030147,key.shift_ctrl_home ,\ ; Shift+Ctrl+Home |
576 | 0x00030147,key.shift_ctrl_home ,\ ; Shift+Ctrl+Home |
537 | \;0x00030148,key.shift_ctrl_up ,\ ; Shift+Ctrl+Up |
577 | \;0x00030148,key.shift_ctrl_up ,\ ; Shift+Ctrl+Up |
538 | 0x00030149,key.shift_ctrl_pgup ,\ ; Shift+Ctrl+PageUp |
578 | 0x00030149,key.shift_ctrl_pgup ,\ ; Shift+Ctrl+PageUp |
539 | 0x0003014B,key.shift_ctrl_left ,\ ; Shift+Ctrl+Left |
579 | 0x0003014B,key.shift_ctrl_left ,\ ; Shift+Ctrl+Left |
540 | 0x0003014D,key.shift_ctrl_right ,\ ; Shift+Ctrl+Right |
580 | 0x0003014D,key.shift_ctrl_right ,\ ; Shift+Ctrl+Right |
541 | 0x0003014F,key.shift_ctrl_end ,\ ; Shift+Ctrl+End |
581 | 0x0003014F,key.shift_ctrl_end ,\ ; Shift+Ctrl+End |
542 | \;0x00030150,key.shift_ctrl_down ,\ ; Shift+Ctrl+Down |
582 | \;0x00030150,key.shift_ctrl_down ,\ ; Shift+Ctrl+Down |
543 | 0x00030151,key.shift_ctrl_pgdn ,\ ; Shift+Ctrl+PageDown |
583 | 0x00030151,key.shift_ctrl_pgdn ,\ ; Shift+Ctrl+PageDown |
544 | 0x0004002D,key.alt_x ,\ ; Alt+X |
584 | 0x0004002D,key.alt_x ,\ ; Alt+X |
545 | 0 |
585 | 0 |
546 | 586 | ||
547 | accel_table_textbox dd \ |
587 | accel_table_textbox dd \ |
548 | \;0x00000001,key.tb.escape ,\ ; Escape |
588 | \;0x00000001,key.tb.escape ,\ ; Escape |
549 | 0x0000000E,key.tb.bkspace ,\ ; BackSpace |
589 | 0x0000000E,key.tb.bkspace ,\ ; BackSpace |
550 | \;0x0000000F,key.tb.tab ,\ ; Tab |
590 | \;0x0000000F,key.tb.tab ,\ ; Tab |
551 | \;0x0000001C,key.tb.return ,\ ; Return |
591 | \;0x0000001C,key.tb.return ,\ ; Return |
552 | 0x00000147,key.tb.home ,\ ; Home |
592 | 0x00000147,key.tb.home ,\ ; Home |
553 | 0x0000014B,key.tb.left ,\ ; Left |
593 | 0x0000014B,key.tb.left ,\ ; Left |
554 | 0x0000014D,key.tb.right ,\ ; Right |
594 | 0x0000014D,key.tb.right ,\ ; Right |
555 | 0x0000014F,key.tb.end ,\ ; End |
595 | 0x0000014F,key.tb.end ,\ ; End |
556 | 0x00000153,key.tb.del ,\ ; Delete |
596 | 0x00000153,key.tb.del ,\ ; Delete |
557 | 0x00010147,key.tb.shift_home ,\ ; Shift+Home |
597 | 0x00010147,key.tb.shift_home ,\ ; Shift+Home |
558 | 0x0001014B,key.tb.shift_left ,\ ; Shift+Left |
598 | 0x0001014B,key.tb.shift_left ,\ ; Shift+Left |
559 | 0x0001014D,key.tb.shift_right ,\ ; Shift+Right |
599 | 0x0001014D,key.tb.shift_right ,\ ; Shift+Right |
560 | 0x0001014F,key.tb.shift_end ,\ ; Shift+End |
600 | 0x0001014F,key.tb.shift_end ,\ ; Shift+End |
561 | 0x00010153,key.tb.del ,\ ; Shift+Del |
601 | 0x00010153,key.tb.del ,\ ; Shift+Del |
562 | 0 |
602 | 0 |
563 | 603 | ||
564 | accel_table2 dd \ |
604 | accel_table2 dd \ |
565 | 1,btn.close_main_window ,\ |
605 | 1,btn.close_main_window ,\ |
566 | \;10000,btn.compile ,\ |
606 | \;10000,btn.compile ,\ |
567 | \;10001,btn.compile_run ,\ |
607 | \;10001,btn.compile_run ,\ |
568 | \;10002,btn.debug_board ,\ |
608 | \;10002,btn.debug_board ,\ |
569 | \;10003,btn.sysfuncs_txt ,\ |
609 | \;10003,btn.sysfuncs_txt ,\ |
570 | 'UP',btn.scroll_up ,\ |
610 | 'UP',btn.scroll_up ,\ |
571 | 'DN',btn.scroll_down ,\ |
611 | 'DN',btn.scroll_down ,\ |
572 | 'LT',btn.scroll_left ,\ |
612 | 'LT',btn.scroll_left ,\ |
573 | 'RT',btn.scroll_right ,\ |
613 | 'RT',btn.scroll_right ,\ |
574 | \;5,key.ctrl_o ,\ |
614 | \;5,key.ctrl_o ,\ |
575 | 0 |
615 | 0 |
576 | 616 | ||
577 | accel_table2_botdlg dd \ |
617 | accel_table2_botdlg dd \ |
578 | 1,btn.close_main_window ,\ |
618 | 1,btn.close_main_window ,\ |
579 | 20001,btn.bot.cancel ,\ |
619 | 20001,btn.bot.cancel ,\ |
580 | 20002,btn.bot.opensave ,\ |
620 | 20002,btn.bot.opensave ,\ |
581 | 20003,btn.bot.find ,\ |
621 | 20003,btn.bot.find ,\ |
582 | 0 |
622 | 0 |
583 | 623 | ||
584 | add_table: |
624 | add_table: |
585 | ; times $61 db -$00 |
625 | ; times $61 db -$00 |
586 | times $1A db -$20 |
626 | times $1A db -$20 |
587 | times $25 db -$00 |
627 | times $25 db -$00 |
588 | times $10 db -$20 |
628 | times $10 db -$20 |
589 | times $30 db -$00 |
629 | times $30 db -$00 |
590 | times $10 db -$50 |
630 | times $10 db -$50 |
591 | times $04 db -$00,-$01 |
631 | times $04 db -$00,-$01 |
592 | times $08 db -$00 |
632 | times $08 db -$00 |
593 | 633 | ||
594 | ;error_beep db 0xA0,0x30,0 |
634 | ;error_beep db 0xA0,0x30,0 |
- | 635 | ||
- | 636 | s_status dd 0 |
|
595 | 637 | ||
596 | sz s_example,'EXAMPLE.ASM' |
638 | sz s_example,'EXAMPLE.ASM' |
597 | sz s_still ,'still' |
639 | sz s_still ,'still' |
598 | 640 | ||
599 | ;sz param_setup,'LANG',0 ; parameter for SETUP |
641 | ;sz param_setup,'LANG',0 ; parameter for SETUP |
- | 642 | ||
- | 643 | fasm_start: |
|
- | 644 | dd 7 |
|
- | 645 | dd 0 |
|
600 | 646 | dd fasm_parameters |
|
- | 647 | dd 0 |
|
- | 648 | dd 0 |
|
- | 649 | db '/RD/1/FASM',0 |
|
- | 650 | board_start: |
|
- | 651 | dd 7 |
|
- | 652 | dd 0 |
|
- | 653 | dd 0 |
|
- | 654 | dd 0 |
|
601 | sz fasm_filename ,'FASM ' |
655 | dd 0 |
- | 656 | db '/RD/1/BOARD',0 |
|
- | 657 | tinypad_start: |
|
- | 658 | dd 7 |
|
- | 659 | dd 0 |
|
- | 660 | dd ? |
|
- | 661 | dd 0 |
|
602 | sz debug_filename ,'BOARD ' |
662 | dd 0 |
- | 663 | db '/RD/1/TINYPAD',0 |
|
- | 664 | docpak_start: |
|
- | 665 | dd 7 |
|
- | 666 | dd 0 |
|
- | 667 | dd sysfuncs_param |
|
- | 668 | dd 0 |
|
603 | sz tinypad_filename,'TINYPAD ' |
669 | dd 0 |
- | 670 | db '/RD/1/DOCPAK',0 |
|
604 | sz docpak_filename ,'DOCPAK ' |
671 | |
605 | ;sz setup ,'SETUP ' ; to change keyboard layout |
672 | ;sz setup ,'SETUP ' ; to change keyboard layout |
606 | 673 | ||
607 | sz sysfuncs_param,'g',0 |
674 | sz sysfuncs_param,'g',0 |
608 | 675 | ||
609 | lsz sysfuncs_filename,\ |
676 | lsz sysfuncs_filename,\ |
610 | ru,<'SYSFUNCR.TXT',0>,\ |
677 | ru,<'SYSFUNCR.TXT',0>,\ |
611 | en,<'SYSFUNCS.TXT',0> |
678 | en,<'SYSFUNCS.TXT',0> |
612 | 679 | ||
613 | sz htext,'TINYPAD' |
680 | sz htext,'TINYPAD 4.0.3' |
614 | 681 | ||
615 | lszc help_text,b,\ |
682 | lszc help_text,b,\ |
616 | ru,':',\ |
683 | ru,':',\ |
617 | ru,' ',\ |
684 | ru,' ',\ |
618 | ru,' CTRL+F1 : â® ®ª®',\ |
685 | ru,' CTRL+F1 : â® ®ª®',\ |
619 | ru,' CTRL+S : ¥à¢ ï áâப ¤«ï ª®¯¨à®¢ ¨ï',\ |
686 | ru,' CTRL+S : ¥à¢ ï áâப ¤«ï ª®¯¨à®¢ ¨ï',\ |
620 | ru,' CTRL+E : ®á«¥¤ïï áâப ¤«ï ª®¯¨à®¢ ¨ï',\ |
687 | ru,' CTRL+E : ®á«¥¤ïï áâப ¤«ï ª®¯¨à®¢ ¨ï',\ |
621 | ru,' CTRL+P : áâ ¢¨âì ¢ë¡à ®¥ ⥪ãéãî ¯®§¨æ¨î',\ |
688 | ru,' CTRL+P : áâ ¢¨âì ¢ë¡à ®¥ ⥪ãéãî ¯®§¨æ¨î',\ |
622 | ru,' CTRL+D : ¤ «¨âì áâபã',\ |
689 | ru,' CTRL+D : ¤ «¨âì áâபã',\ |
623 | ru,' CTRL+L : áâ ¢¨âì áâபã-à §¤¥«¨â¥«ì',\ |
690 | ru,' CTRL+L : áâ ¢¨âì áâபã-à §¤¥«¨â¥«ì',\ |
624 | ru,' CTRL+[ : ¥à¥©â¨ ¢ ç «® ä ©« ',\ |
691 | ru,' CTRL+[ : ¥à¥©â¨ ¢ ç «® ä ©« ',\ |
625 | ru,' CTRL+] : ¥à¥©â¨ ¢ ª®¥æ ä ©« ',\ |
692 | ru,' CTRL+] : ¥à¥©â¨ ¢ ª®¥æ ä ©« ',\ |
626 | ru,' CTRL+F2 : £à㧨âì ä ©«',\ |
693 | ru,' CTRL+F2 : £à㧨âì ä ©«',\ |
627 | ru,' CTRL+F3 : ®¨áª',\ |
694 | ru,' CTRL+F3 : ®¨áª',\ |
628 | ru,' CTRL+F4 : ®åà ¨âì ä ©«',\ |
695 | ru,' CTRL+F4 : ®åà ¨âì ä ©«',\ |
629 | ru,' CTRL+F5 : ¢¥á⨠¨¬ï ä ©« ',\ |
696 | ru,' CTRL+F5 : ¢¥á⨠¨¬ï ä ©« ',\ |
630 | ru,' CTRL+F6 : ¢¥á⨠áâப㠤«ï ¯®¨áª ',\ |
697 | ru,' CTRL+F6 : ¢¥á⨠áâப㠤«ï ¯®¨áª ',\ |
631 | ru,' CTRL+F8 : ¬¥¨âì à ᪫ ¤ªã ª« ¢¨ âãàë',\ |
698 | ru,' CTRL+F8 : ¬¥¨âì à ᪫ ¤ªã ª« ¢¨ âãàë',\ |
632 | \ |
699 | \ |
633 | en,'COMMANDS:',\ |
700 | en,'COMMANDS:',\ |
634 | en,' ',\ |
701 | en,' ',\ |
635 | en,' CTRL+F1 : SHOW THIS WINDOW',\ |
702 | en,' CTRL+F1 : SHOW THIS WINDOW',\ |
636 | en,' CTRL+S : SELECT FIRST STRING TO COPY',\ |
703 | en,' CTRL+S : SELECT FIRST STRING TO COPY',\ |
637 | en,' CTRL+E : SELECT LAST STRING TO COPY',\ |
704 | en,' CTRL+E : SELECT LAST STRING TO COPY',\ |
638 | en,' CTRL+P : PASTE SELECTED TO CURRENT POSITION',\ |
705 | en,' CTRL+P : PASTE SELECTED TO CURRENT POSITION',\ |
639 | en,' CTRL+D : DELETE CURRENT LINE',\ |
706 | en,' CTRL+D : DELETE CURRENT LINE',\ |
640 | en,' CTRL+L : INSERT SEPARATOR LINE',\ |
707 | en,' CTRL+L : INSERT SEPARATOR LINE',\ |
641 | en,' CTRL+[ : GO TO THE BEGINNING OF FILE',\ |
708 | en,' CTRL+[ : GO TO THE BEGINNING OF FILE',\ |
642 | en,' CTRL+] : GO TO THE END OF FILE',\ |
709 | en,' CTRL+] : GO TO THE END OF FILE',\ |
643 | en,' CTRL+F2 : LOAD FILE',\ |
710 | en,' CTRL+F2 : LOAD FILE',\ |
644 | en,' CTRL+F3 : SEARCH',\ |
711 | en,' CTRL+F3 : SEARCH',\ |
645 | en,' CTRL+F4 : SAVE FILE',\ |
712 | en,' CTRL+F4 : SAVE FILE',\ |
646 | en,' CTRL+F5 : ENTER FILENAME',\ |
713 | en,' CTRL+F5 : ENTER FILENAME',\ |
647 | en,' CTRL+F6 : ENTER SEARCH STRING',\ |
714 | en,' CTRL+F6 : ENTER SEARCH STRING',\ |
648 | en,' CTRL+F8 : CHANGE KEYBOARD LAYOUT' |
715 | en,' CTRL+F8 : CHANGE KEYBOARD LAYOUT' |
649 | db 0 |
716 | db 0 |
650 | 717 | ||
651 | menubar_res main_menu,\ |
718 | menubar_res main_menu,\ |
652 | ru,' ©«' ,popup_file ,onshow.file ,\ |
719 | ru,' ©«' ,popup_file ,onshow.file ,\ |
653 | ru,'à ¢ª ',popup_edit ,onshow.edit ,\ |
720 | ru,'à ¢ª ',popup_edit ,onshow.edit ,\ |
654 | ru,'®¨áª' ,popup_search ,onshow.search ,\ |
721 | ru,'®¨áª' ,popup_search ,onshow.search ,\ |
655 | ru,' ¯ãáª',popup_run ,onshow.run ,\ |
722 | ru,' ¯ãáª',popup_run ,onshow.run ,\ |
656 | ru,'¯æ¨¨' ,popup_options,onshow.options,\ |
723 | ru,'¯æ¨¨' ,popup_options,onshow.options,\ |
657 | \ |
724 | \ |
658 | en,'File' ,popup_file ,onshow.file ,\ |
725 | en,'File' ,popup_file ,onshow.file ,\ |
659 | en,'Edit' ,popup_edit ,onshow.edit ,\ |
726 | en,'Edit' ,popup_edit ,onshow.edit ,\ |
660 | en,'Search' ,popup_search ,onshow.search,\ |
727 | en,'Search' ,popup_search ,onshow.search,\ |
661 | en,'Run' ,popup_run ,onshow.run ,\ |
728 | en,'Run' ,popup_run ,onshow.run ,\ |
662 | en,'Options',popup_options,onshow.options |
729 | en,'Options',popup_options,onshow.options |
663 | 730 | ||
664 | popup_res popup_file,\ |
731 | popup_res popup_file,\ |
665 | ru,'®¢ë©' ,'Ctrl+N',key.ctrl_n ,\ |
732 | ru,'®¢ë©' ,'Ctrl+N' ,key.ctrl_n ,\ |
666 | ru,'âªàëâì...' ,'Ctrl+O',key.ctrl_o ,\ |
733 | ru,'âªàëâì...' ,'Ctrl+O' ,key.ctrl_o ,\ |
667 | ru,'®åà ¨âì' ,'Ctrl+S',key.ctrl_s ,\ |
734 | ru,'®åà ¨âì' ,'Ctrl+S' ,key.ctrl_s ,\ |
668 | ru,'®åà ¨âì ª ª...','' ,key.shift_ctrl_s,\ |
735 | ru,'®åà ¨âì ª ª...','Ctrl+Shift+S',key.shift_ctrl_s,\ |
669 | ru,'-' ,'' ,0 ,\ |
736 | ru,'-' ,'' ,0 ,\ |
670 | ru,'ë室' ,'Alt+X' ,key.alt_x ,\ |
737 | ru,'ë室' ,'Alt+X' ,key.alt_x ,\ |
671 | \ |
738 | \ |
672 | en,'New' ,'Ctrl+N',key.ctrl_n ,\ |
739 | en,'New' ,'Ctrl+N' ,key.ctrl_n ,\ |
673 | en,'Open...' ,'Ctrl+O',key.ctrl_o ,\ |
740 | en,'Open...' ,'Ctrl+O' ,key.ctrl_o ,\ |
674 | en,'Save' ,'Ctrl+S',key.ctrl_s ,\ |
741 | en,'Save' ,'Ctrl+S' ,key.ctrl_s ,\ |
675 | en,'Save as...','' ,key.shift_ctrl_s,\ |
742 | en,'Save as...','Ctrl+Shift+S',key.shift_ctrl_s,\ |
676 | en,'-' ,'' ,0 ,\ |
743 | en,'-' ,'' ,0 ,\ |
677 | en,'Exit' ,'Alt+X' ,key.alt_x |
744 | en,'Exit' ,'Alt+X' ,key.alt_x |
678 | 745 | ||
679 | popup_res popup_edit,\ |
746 | popup_res popup_edit,\ |
680 | ru,'ë१ âì' ,'Ctrl+X',key.ctrl_x,\ |
747 | ru,'ë१ âì' ,'Ctrl+X',key.ctrl_x,\ |
681 | ru,'®¯¨à®¢ âì' ,'Ctrl+C',key.ctrl_c,\ |
748 | ru,'®¯¨à®¢ âì' ,'Ctrl+C',key.ctrl_c,\ |
682 | ru,'áâ ¢¨âì' ,'Ctrl+V',key.ctrl_v,\ |
749 | ru,'áâ ¢¨âì' ,'Ctrl+V',key.ctrl_v,\ |
683 | ru,'¤ «¨âì' ,'' ,key.del ,\ |
750 | ru,'¤ «¨âì' ,'' ,key.del ,\ |
684 | ru,'-' ,'' ,0 ,\ |
751 | ru,'-' ,'' ,0 ,\ |
685 | ru,'뤥«¨âì ¢áñ','Ctrl+A',key.ctrl_a,\ |
752 | ru,'뤥«¨âì ¢áñ','Ctrl+A',key.ctrl_a,\ |
- | 753 | \; ru,'-' ,'' ,0 ,\ |
|
- | 754 | \; ru,'¥à⨪ «ì®¥ ¢ë¤¥«¥¨¥','Alt+Ins',0 ,\ |
|
686 | \ |
755 | \ |
687 | en,'Cut' ,'Ctrl+X',key.ctrl_x,\ |
756 | en,'Cut' ,'Ctrl+X',key.ctrl_x,\ |
688 | en,'Copy' ,'Ctrl+C',key.ctrl_c,\ |
757 | en,'Copy' ,'Ctrl+C',key.ctrl_c,\ |
689 | en,'Paste' ,'Ctrl+V',key.ctrl_v,\ |
758 | en,'Paste' ,'Ctrl+V',key.ctrl_v,\ |
690 | en,'Delete' ,'' ,key.del ,\ |
759 | en,'Delete' ,'' ,key.del ,\ |
691 | en,'-' ,'' ,0 ,\ |
760 | en,'-' ,'' ,0 ,\ |
692 | en,'Select all','Ctrl+A',key.ctrl_a |
761 | en,'Select all','Ctrl+A',key.ctrl_a;,\ |
- | 762 | ; en,'-' ,'' ,0 ,\ |
|
- | 763 | ; en,'Vertical selection','Alt+Ins',0 |
|
693 | 764 | ||
694 | popup_res popup_search,\ |
765 | popup_res popup_search,\ |
695 | ru,'¥à¥©â¨...' ,'Ctrl+G',key.ctrl_g,\ |
766 | ru,'¥à¥©â¨...' ,'Ctrl+G',key.ctrl_g,\ |
696 | ru,'-' ,'' ,0 ,\ |
767 | ru,'-' ,'' ,0 ,\ |
697 | ru,' ©â¨...' ,'Ctrl+F',key.ctrl_f,\ |
768 | ru,' ©â¨...' ,'Ctrl+F',key.ctrl_f,\ |
698 | ru,' ©â¨ ¤ «¥¥','F3' ,key.f3 ,\ |
769 | ru,' ©â¨ ¤ «¥¥','F3' ,key.f3 ,\ |
699 | ru,' ¬¥¨âì...','Ctrl+H',key.ctrl_h,\ |
770 | ru,' ¬¥¨âì...','Ctrl+H',key.ctrl_h,\ |
700 | \ |
771 | \ |
701 | en,'Position...','Ctrl+G',key.ctrl_g,\ |
772 | en,'Position...','Ctrl+G',key.ctrl_g,\ |
702 | en,'-' ,'' ,0 ,\ |
773 | en,'-' ,'' ,0 ,\ |
703 | en,'Find...' ,'Ctrl+F',key.ctrl_f,\ |
774 | en,'Find...' ,'Ctrl+F',key.ctrl_f,\ |
704 | en,'Find next' ,'F3' ,key.f3 ,\ |
775 | en,'Find next' ,'F3' ,key.f3 ,\ |
705 | en,'Replace...' ,'Ctrl+H',key.ctrl_h |
776 | en,'Replace...' ,'Ctrl+H',key.ctrl_h |
706 | 777 | ||
707 | popup_res popup_run,\ |
778 | popup_res popup_run,\ |
708 | ru,' ¯ãáâ¨âì' ,'F9' ,key.f9 ,\ |
779 | ru,' ¯ãáâ¨âì' ,'F9' ,key.f9 ,\ |
709 | ru,'®¬¯¨«¨à®¢ âì' ,'Ctrl+F9',key.ctrl_f9 ,\ |
780 | ru,'®¬¯¨«¨à®¢ âì' ,'Ctrl+F9',key.ctrl_f9 ,\ |
710 | ru,'-' ,'' ,0 ,\ |
781 | ru,'-' ,'' ,0 ,\ |
711 | ru,'®áª ®â« ¤ª¨' ,'' ,open_debug_board ,\ |
782 | ru,'®áª ®â« ¤ª¨' ,'' ,open_debug_board ,\ |
712 | ru,'¨áâ¥¬ë¥ äãªæ¨¨','' ,open_sysfuncs_txt,\ |
783 | ru,'¨áâ¥¬ë¥ äãªæ¨¨','' ,open_sysfuncs_txt,\ |
713 | \ |
784 | \ |
714 | en,'Run' ,'F9' ,key.f9 ,\ |
785 | en,'Run' ,'F9' ,key.f9 ,\ |
715 | en,'Compile' ,'Ctrl+F9',key.ctrl_f9 ,\ |
786 | en,'Compile' ,'Ctrl+F9',key.ctrl_f9 ,\ |
716 | en,'-' ,'' ,0 ,\ |
787 | en,'-' ,'' ,0 ,\ |
717 | en,'Debug board' ,'' ,open_debug_board ,\ |
788 | en,'Debug board' ,'' ,open_debug_board ,\ |
718 | en,'System functions' ,'' ,open_sysfuncs_txt |
789 | en,'System functions' ,'' ,open_sysfuncs_txt |
719 | 790 | ||
720 | popup_res popup_options,\ |
791 | popup_res popup_options,\ |
721 | ru,'¥è¨© ¢¨¤...' ,'',0,\ |
792 | ru,'¥è¨© ¢¨¤...' ,'',0,\ |
722 | ru,'-' ,'',0,\ |
793 | ru,'-' ,'',0,\ |
723 | ru,'¥§®¯ ᮥ ¢ë¤¥«¥¨¥' ,'',set_secure_sel,\ |
794 | ru,'¥§®¯ ᮥ ¢ë¤¥«¥¨¥' ,'',set_secure_sel,\ |
724 | ru,'¢â®¬ â¨ç¥áª¨¥ ᪮¡ª¨' ,'',set_auto_braces,\ |
795 | ru,'¢â®¬ â¨ç¥áª¨¥ ᪮¡ª¨' ,'',set_auto_braces,\ |
725 | ru,'¢â®¬ â¨ç¥áª¨© ®âáâã¯' ,'',set_auto_indents,\ |
796 | ru,'¢â®¬ â¨ç¥áª¨© ®âáâã¯' ,'',set_auto_indents,\ |
726 | ru,'¬ ï â ¡ã«ïæ¨ï' ,'',0,\ |
797 | ru,'¬ ï â ¡ã«ïæ¨ï' ,'',0,\ |
727 | ru,'¯â¨¬ «ì®¥ á®åà ¥¨¥','',set_optimal_fill,\ |
798 | ru,'¯â¨¬ «ì®¥ á®åà ¥¨¥','',set_optimal_fill,\ |
728 | ru,'-' ,'',0,\ |
799 | ru,'-' ,'',0,\ |
729 | ru,'®¬¥à áâப' ,'',set_line_numbers,\ |
800 | ru,'®¬¥à áâப' ,'',set_line_numbers,\ |
730 | \ |
801 | \ |
731 | en,'Appearance...' ,'',0,\ |
802 | en,'Appearance...' ,'',0,\ |
732 | en,'-' ,'',0,\ |
803 | en,'-' ,'',0,\ |
733 | en,'Secure selection' ,'',set_secure_sel,\ |
804 | en,'Secure selection' ,'',set_secure_sel,\ |
734 | en,'Automatic brackets' ,'',set_auto_braces,\ |
805 | en,'Automatic brackets' ,'',set_auto_braces,\ |
735 | en,'Automatic indents' ,'',set_auto_indents,\ |
806 | en,'Automatic indents' ,'',set_auto_indents,\ |
736 | en,'Smart tabulation' ,'',0,\ |
807 | en,'Smart tabulation' ,'',0,\ |
737 | en,'Optimal fill on saving','',set_optimal_fill,\ |
808 | en,'Optimal fill on saving','',set_optimal_fill,\ |
738 | en,'-' ,'',0,\ |
809 | en,'-' ,'',0,\ |
739 | en,'Line numbers' ,'',set_line_numbers |
810 | en,'Line numbers' ,'',set_line_numbers |
740 | 811 | ||
741 | lsz s_modified,\ |
812 | lsz s_modified,\ |
742 | ru,'§¬¥¥®',\ |
813 | ru,'§¬¥¥®',\ |
743 | en,'Modified' |
814 | en,'Modified' |
744 | 815 | ||
745 | lsz s_2filename,\ |
816 | lsz s_2filename,\ |
746 | ru,'¬ï ä ©« :',\ |
817 | ru,'¬ï ä ©« :',\ |
747 | en,'Filename:' |
818 | en,'Filename:' |
748 | lsz s_2open,\ |
819 | lsz s_2open,\ |
749 | ru,'âªàëâì',\ |
820 | ru,'âªàëâì',\ |
750 | en,'Open' |
821 | en,'Open' |
751 | lsz s_2save,\ |
822 | lsz s_2save,\ |
752 | ru,'®åà ¨âì',\ |
823 | ru,'®åà ¨âì',\ |
753 | en,'Save' |
824 | en,'Save' |
754 | lsz s_2find,\ |
825 | lsz s_2find,\ |
755 | ru,' ©â¨',\ |
826 | ru,' ©â¨',\ |
756 | en,'Find' |
827 | en,'Find' |
757 | db ':' |
828 | db ':' |
758 | lsz s_2replace,\ |
829 | lsz s_2replace,\ |
759 | ru,' ¬¥¨âì',\ |
830 | ru,' ¬¥¨âì',\ |
760 | en,'Replace' |
831 | en,'Replace' |
761 | db ':' |
832 | db ':' |
762 | lsz s_2cancel,\ |
833 | lsz s_2cancel,\ |
763 | ru,'⬥ ',\ |
834 | ru,'⬥ ',\ |
764 | en,'Cancel' |
835 | en,'Cancel' |
- | 836 | ||
- | 837 | lsz s_enter_filename,\ |
|
- | 838 | ru,<'¢¥¤¨â¥ ¨¬ï ä ©« ',0>,\ |
|
- | 839 | en,<'Enter filename',0> |
|
- | 840 | ||
- | 841 | lsz s_enter_text_to_find,\ |
|
- | 842 | ru,<'¢¥¤¨â¥ ⥪áâ ¤«ï ¯®¨áª ',0>,\ |
|
- | 843 | en,<'Enter text to find',0> |
|
- | 844 | ||
- | 845 | lsz s_enter_text_to_replace,\ |
|
- | 846 | ru,<'¢¥¤¨â¥ ⥪áâ ¤«ï § ¬¥ë',0>,\ |
|
- | 847 | en,<'Enter text to replace',0> |
|
- | 848 | ||
- | 849 | lsz s_text_not_found,\ |
|
- | 850 | ru,<'®á⨣ãâ ª®¥æ ä ©« , ⥪áâ ¥ ©¤¥',0>,\ |
|
- | 851 | en,<'Reached end of file, text not found',0> |
|
- | 852 | ||
- | 853 | lszc s_fs_error,b,\ |
|
- | 854 | ru,<'¯¥à æ¨ï § ¢¥àè¥ ãá¯¥è® (0)',0>,\ |
|
- | 855 | ru,<'',0>,\ |
|
- | 856 | ru,<'ãªæ¨ï ¥ ¯®¤¤¥à¦¨¢ ¥âáï ¤«ï ¤ ®© ä ©«®¢®© á¨á⥬ë (2)',0>,\ |
|
- | 857 | ru,<'¥¨§¢¥áâ ï ä ©«®¢ ï á¨á⥬ (3)',0>,\ |
|
- | 858 | ru,<'',0>,\ |
|
- | 859 | ru,<'¥¢®§¬®¦® ®âªàëâì ä ©« (5)',0>,\ |
|
- | 860 | ru,<'¯¥à æ¨ï § ¢¥àè¥ ãá¯¥è® (6)',0>,\ |
|
- | 861 | ru,<'¤à¥á 室¨âáï § £à ¨æ ¬¨ ¯ ¬ï⨠¯à®£à ¬¬ë (7)',0>,\ |
|
- | 862 | ru,<' ¤¨áª¥ ¥â ᢮¡®¤®£® ¬¥áâ (8)',0>,\ |
|
- | 863 | ru,<' ¡«¨æ FAT ã¨ç⮦¥ (9)',0>,\ |
|
- | 864 | ru,<'®áâ㯠§ ¯à¥éñ (10)',0>,\ |
|
- | 865 | ru,<'訡ª ãáâனá⢠(11)',0>,\ |
|
- | 866 | \ |
|
- | 867 | en,<'Operation executed successfully (0)',0>,\ |
|
- | 868 | en,<'',0>,\ |
|
- | 869 | en,<'Function is not supported for the given filesystem (2)',0>,\ |
|
- | 870 | en,<'Unknown filesystem (3)',0>,\ |
|
- | 871 | en,<'',0>,\ |
|
- | 872 | en,<'Unable to open file (5)',0>,\ |
|
- | 873 | en,<'Operation executed successfully (6)',0>,\ |
|
- | 874 | en,<'Pointer lies outside of application memory (7)',0>,\ |
|
- | 875 | en,<'Disk is full (8)',0>,\ |
|
- | 876 | en,<'FAT table is destroyed (9)',0>,\ |
|
- | 877 | en,<'Access denied (10)',0>,\ |
|
- | 878 | en,<'Device error (11)',0> |
|
765 | 879 | ||
766 | sz symbols_ex,';?.%"',"'" |
880 | sz symbols_ex,';?.%"',"'" |
767 | sz symbols ,'#&*\:/<>|{}()[]=+-, ' |
881 | sz symbols ,'#&*\:/<>|{}()[]=+-, ' |
- | 882 | ||
- | 883 | ini_sec_window db 'Window',0 |
|
- | 884 | ini_window_top db 'Top',0 |
|
- | 885 | ini_window_left db 'Left',0 |
|
- | 886 | ini_window_right db 'Right',0 |
|
- | 887 | ini_window_bottom db 'Bottom',0 |
|
- | 888 | ||
- | 889 | finfo_ini dd ?,?,?,AREA_TEMP,AREA_EDIT-AREA_TEMP |
|
- | 890 | db '/rd/1/tinypad.ini',0 |
|
768 | 891 | ||
769 | TINYPAD_END: ; end of file |
892 | TINYPAD_END: ; end of file |
770 | 893 | ||
771 | self_path rb PATHL |
894 | self_path rb PATHL |
772 | 895 | ||
773 | ;----------------------------------------------------------------------------- |
896 | ;----------------------------------------------------------------------------- |
774 | section @UDATA ;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: |
897 | section @UDATA ;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: |
775 | ;----------------------------------------------------------------------------- |
898 | ;----------------------------------------------------------------------------- |
- | 899 | ||
- | 900 | f_info70 rd 7 |
|
776 | 901 | ||
777 | f_info.length dd ? |
902 | f_info.length dd ? |
778 | f_info dd ?,?,?,?,?;?,0,?,AREA_TEMP,AREA_EDIT-AREA_TEMP |
903 | f_info dd ?,?,?,?,?;?,0,?,AREA_TEMP,AREA_EDIT-AREA_TEMP |
779 | 904 | ||
780 | f_info.path: |
905 | f_info.path: |
781 | times PATHL+1 db ? |
906 | times PATHL+1 db ? |
782 | 907 | ||
783 | pos.x dd ? ; global X position (cursor) |
908 | pos.x dd ? ; global X position (cursor) |
784 | pos.y dd ? ; global Y position (cursor) |
909 | pos.y dd ? ; global Y position (cursor) |
785 | sel.x dd ? ; global X position (selection start) |
910 | sel.x dd ? ; global X position (selection start) |
786 | sel.y dd ? ; global Y position (selection start) |
911 | sel.y dd ? ; global Y position (selection start) |
787 | lines dd ? ; number of lines in file |
912 | lines dd ? ; number of lines in file |
788 | lines.scr dd ? ; number of lines on the screen |
913 | lines.scr dd ? ; number of lines on the screen |
789 | columns dd ? ; number of columns in file |
914 | columns dd ? ; number of columns in file |
790 | columns.scr dd ? ; number of columns on the screen |
915 | columns.scr dd ? ; number of columns on the screen |
791 | top_ofs dd ? ; height occupied by top buttons |
916 | top_ofs dd ? ; height occupied by top buttons |
792 | bot_ofs dd ? ; height occupied by bottom buttons |
917 | bot_ofs dd ? ; height occupied by bottom buttons |
793 | dw ? |
918 | dw ? |
794 | left_ofs dd ? ; |
919 | left_ofs dd ? ; |
795 | top_line dd ? ; topmost visible line on screen |
920 | top_line dd ? ; topmost visible line on screen |
796 | left_col dd ? ; leftmost visible char on line |
921 | left_col dd ? ; leftmost visible char on line |
797 | vscrl_top dd ? |
922 | vscrl_top dd ? |
798 | vscrl_size dd ? |
923 | vscrl_size dd ? |
799 | hscrl_top dd ? |
924 | hscrl_top dd ? |
800 | hscrl_size dd ? |
925 | hscrl_size dd ? |
801 | skinh dd ? ; skin height |
926 | ;skinh dd ? ; skin height |
802 | __rc dd ?,?,?,? |
927 | __rc dd ?,?,?,? |
803 | ;filelen dd ? ; file size (on save) ??? |
928 | ;filelen dd ? ; file size (on save) ??? |
804 | filesize dd ? ; file size (on load) ??? |
929 | filesize dd ? ; file size (on load) ??? |
805 | ya dd ? ; for read_string |
930 | ya dd ? ; for read_string |
806 | ;copy_start dd ? ; first line for copying (Ctrl+S) |
931 | ;copy_start dd ? ; first line for copying (Ctrl+S) |
807 | copy_count dd ? ; number of lines for copying (Ctrl+E) |
932 | copy_count dd ? ; number of lines for copying (Ctrl+E) |
808 | copy_size dd ? ; size of data to copy |
933 | copy_size dd ? ; size of data to copy |
809 | s_title.size dd ? ; caption length |
934 | s_title.size dd ? ; caption length |
810 | 935 | ||
811 | draw_blines dd ? ; last line to draw |
936 | draw_blines dd ? ; last line to draw |
812 | 937 | ||
813 | cur_line_len dd ? |
938 | cur_line_len dd ? |
814 | h_popup dd ? |
939 | h_popup dd ? |
815 | bot_dlg_handler dd ? |
940 | bot_dlg_handler dd ? |
816 | 941 | ||
817 | sel.begin.x dd ? |
942 | sel.begin.x dd ? |
818 | sel.begin.y dd ? |
943 | sel.begin.y dd ? |
819 | sel.end.x dd ? |
944 | sel.end.x dd ? |
820 | sel.end.y dd ? |
945 | sel.end.y dd ? |
821 | sel.selected db ? |
946 | sel.selected db ? |
822 | 947 | ||
823 | in_sel db ? |
948 | in_sel db ? |
824 | 949 | ||
825 | asm_mode db ? ; ASM highlight? |
950 | asm_mode db ? ; ASM highlight? |
826 | do_not_draw db ? ; draw top and bottom buttons? |
951 | do_not_draw db ? ; draw top and bottom buttons? |
827 | main_closed db ? ; main window closed? |
952 | main_closed db ? ; main window closed? |
828 | tb_casesen db ? ; focused textbox is case-sensitive? |
953 | tb_casesen db ? ; focused textbox is case-sensitive? |
829 | 954 | ||
830 | align 4 |
955 | align 4 |
831 | s_fname.size dd ? |
956 | s_fname.size dd ? |
832 | s_fname rb PATHL+1 |
957 | s_fname rb PATHL+1 |
833 | align 4 |
958 | align 4 |
834 | s_search.size dd ? |
959 | s_search.size dd ? |
835 | s_search rb PATHL+1 |
960 | s_search rb PATHL+1 |
836 | 961 | ||
837 | s_title rb PATHL+11 ; window caption |
962 | s_title rb PATHL+11 ; window caption |
838 | 963 | ||
839 | chr db ? |
964 | chr db ? |
840 | ext db ? |
965 | ext db ? |
841 | shi dd ? |
966 | shi dd ? |
842 | 967 | ||
843 | align 4 |
968 | align 4 |
844 | cl_3d_normal dd ? |
969 | cl_3d_normal dd ? |
845 | cl_3d_pushed dd ? |
970 | cl_3d_pushed dd ? |
846 | cl_3d_outset dd ? |
971 | cl_3d_outset dd ? |
847 | cl_3d_inset dd ? |
972 | cl_3d_inset dd ? |
848 | cl_3d_grayed dd ? |
973 | cl_3d_grayed dd ? |
849 | 974 | ||
850 | tb_opensave TBOX |
975 | tb_opensave TBOX |
851 | tb_find TBOX |
976 | tb_find TBOX |
852 | tb_replace TBOX |
977 | tb_replace TBOX |
853 | tb_gotorow TBOX |
978 | tb_gotorow TBOX |
854 | tb_gotocol TBOX |
979 | tb_gotocol TBOX |
855 | 980 | ||
856 | focused_tb dd ? |
981 | focused_tb dd ? |
857 | 982 | ||
858 | key1 rb 256 |
983 | key1 rb 256 |
859 | 984 | ||
860 | mst db ? |
985 | mst db ? |
861 | mst2 db ? |
986 | mst2 db ? |
862 | mev db ? |
987 | mev db ? |
863 | mouse_captured db ? |
988 | mouse_captured db ? |
864 | just_from_popup db ? |
989 | just_from_popup db ? |
865 | 990 | ||
866 | bot_mode db ? |
991 | bot_mode db ? |
867 | 992 | ||
868 | modified db ? |
993 | modified db ? |
869 | 994 | ||
870 | align 4 |
995 | align 4 |
871 | 996 | ||
872 | bot_dlg_height dd ? |
997 | bot_dlg_height dd ? |
873 | bot_dlg_mode2 db ? |
998 | bot_dlg_mode2 db ? |
874 | 999 | ||
875 | ;----------------------------------------------------------------------------- |
1000 | ;----------------------------------------------------------------------------- |
876 | section @PARAMS ;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: |
1001 | section @PARAMS ;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: |
877 | ;----------------------------------------------------------------------------- |
1002 | ;----------------------------------------------------------------------------- |
878 | 1003 | ||
879 | fasm_parameters: |
1004 | fasm_parameters: |
880 | 1005 | ||
881 | p_info process_information |
1006 | p_info process_information |
882 | p_info2 process_information |
1007 | p_info2 process_information |
883 | sc system_colors |
1008 | sc system_colors |
884 | 1009 | ||
885 | diff16 'Main memory size',0,$ |
1010 | diff16 'Main memory size',0,$ |
886 | 1011 | ||
887 | MAIN_STACK = 0x0000FFF0 |
1012 | MAIN_STACK = 0x0000FFF0 |
888 | POPUP_STACK = 0x0000EFF0 |
1013 | POPUP_STACK = 0x0000EFF0 |
889 | 1014 | ||
890 | AREA_TEMP = 0x00010000 ; 0x00010000 |
1015 | AREA_TEMP = 0x00010000 ; 0x00010000 |
891 | AREA_EDIT = 0x000C0000 ; 0x00080000 |
1016 | AREA_EDIT = 0x000C0000 ; 0x00080000 |
892 | AREA_TEMP2 = 0x00190000 ; 0x002E0000 |
1017 | AREA_TEMP2 = 0x00190000 ; 0x002E0000 |
893 | AREA_CBUF = 0x001A0000 ; 0x002F0000 |
1018 | AREA_CBUF = 0x001A0000 ; 0x002F0000 |
894 | AREA_ENDMEM = 0x001B0000 ; 0x00300000 |
1019 | AREA_ENDMEM = 0x001B0000 ; 0x00300000 |
895 | 1020 | ||
896 | diff10 'Header+options size',0,@CODE |
1021 | diff10 'Header+options size',0,@CODE |
897 | diff10 'Load area size',AREA_TEMP,AREA_EDIT |
1022 | diff10 'Load area size',AREA_TEMP,AREA_EDIT |
898 | diff10 'Edit area size',AREA_EDIT,AREA_TEMP2 |
1023 | diff10 'Edit area size',AREA_EDIT,AREA_TEMP2 |
899 | diff10 'Total memory usage',0,AREA_ENDMEM |
1024 | diff10 'Total memory usage',0,AREA_ENDMEM |
900 | 1025 | ||
901 | ;store dword '/hd/' at tb_opensave.text+4*0 |
1026 | ;store dword '/hd/' at tb_opensave.text+4*0 |
902 | ;store dword '1/tp' at tb_opensave.text+4*1 |
1027 | ;store dword '1/tp' at tb_opensave.text+4*1 |
903 | ;store dword 'ad4/' at tb_opensave.text+4*2 |
1028 | ;store dword 'ad4/' at tb_opensave.text+4*2 |
904 | ;store dword 'tiny' at tb_opensave.text+4*3 |
1029 | ;store dword 'tiny' at tb_opensave.text+4*3 |
905 | ;store dword 'pad.' at tb_opensave.text+4*4 |
1030 | ;store dword 'pad.' at tb_opensave.text+4*4 |
906 | ;store dword 'asm' at tb_opensave.text+4*5 |
1031 | ;store dword 'asm' at tb_opensave.text+4*5 |
907 | ;store byte 23 at tb_opensave.length>'SYSFUNCS.TXT',0>'SYSFUNCR.TXT',0>>> |
1032 | ;store byte 23 at tb_opensave.length>'Device>'Access>'FAT>'Disk>'Pointer>'Operation>'Unable>'',0>'Unknown>'Function>'',0>'Operation>'訡ª >'®áâã¯>' ¡«¨æ >' >'¤à¥á>'¯¥à æ¨ï>'¥¢®§¬®¦®>'',0>'¥¨§¢¥áâ ï>'ãªæ¨ï>'',0>'¯¥à æ¨ï>'Reached>'®á⨣ãâ>'Enter>'¢¥¤¨â¥>'Enter>'¢¥¤¨â¥>'Enter>'¢¥¤¨â¥>'SYSFUNCS.TXT',0>'SYSFUNCR.TXT',0>>> |