Rev 595 | Rev 629 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 595 | Rev 617 | ||
---|---|---|---|
Line 2... | Line 2... | ||
2 | ; project name: TINYPAD |
2 | ; project name: TINYPAD |
3 | ; compiler: flat assembler 1.67.18 |
3 | ; compiler: flat assembler 1.67.18 |
4 | ; memory to compile: 3.0/9.0 MBytes (without/with size optimizations) |
4 | ; memory to compile: 3.0/9.0 MBytes (without/with size optimizations) |
5 | ; version: 4.0.4 |
5 | ; version: 4.0.4 |
6 | ; last update: 2007-02-08 (Feb 08, 2007) |
6 | ; last update: 2007-02-08 (Feb 08, 2007) |
7 | ; minimal kernel: revision #270 (svn://kolibrios.org/kernel) |
7 | ; minimal kernel: revision #270 (svn://kolibrios.org/kernel/trunk) |
8 | ;----------------------------------------------------------------------------- |
8 | ;----------------------------------------------------------------------------- |
9 | ; originally by: Ville Michael Turjanmaa >> villemt@aton.co.jyu.fi |
9 | ; originally by: Ville Michael Turjanmaa >> villemt@aton.co.jyu.fi |
10 | ; maintained by: Mike Semenyako >> mike.dld@gmail.com |
10 | ; maintained by: Mike Semenyako >> mike.dld@gmail.com |
11 | ; Ivan Poddubny >> ivan-yar@bk.ru |
11 | ; Ivan Poddubny >> ivan-yar@bk.ru |
12 | ;----------------------------------------------------------------------------- |
12 | ;----------------------------------------------------------------------------- |
13 | ; TODO (4.1.0): |
13 | ; TODO (4.1.0): |
14 | ; - optimize drawing (reduce flickering) |
- | |
15 | ; - add vertical selection, undo, goto position, overwrite mode |
14 | ; - add vertical selection, undo, goto position, overwrite mode, smart tabulation |
16 | ; - improve window drawing with small dimensions |
15 | ; - improve window drawing with small dimensions |
17 | ; - save settings to ini file, not to executable |
16 | ; - save/load settings to/from ini file, not executable |
18 | ; - add prompt to save file before closing/opening |
17 | ; - path autocompletion for open/save dialogs |
19 | ; - other bug-fixes and speed/size optimizations |
18 | ; - other bug-fixes and speed/size optimizations |
20 | ; |
- | |
21 | ; HISTORY: |
- | |
22 | ; 4.0.5 (mike.dld and Rus) |
- | |
23 | ; bug-fixes: |
- | |
24 | ; - a new tab is created when opening a file from folder of tinypad |
- | |
25 | ; - correct call save-dialog for saving new files or files from folder of tinypad |
- | |
26 | ; new features: |
- | |
27 | ; - added prompt to save file before closing |
- | |
28 | ; - added close tab button |
- | |
29 | ; 4.0.4 (mike.dld) |
- | |
30 | ; bug-fixes: |
- | |
31 | ; - statusbar contained hint after dialog operation cancelled |
- | |
32 | ; - small drawing fix for gutter and line saved/modified markers |
- | |
33 | ; (incorrect calculations) |
- | |
34 | ; - incorrect lines marking on Ctrl+V |
- | |
35 | ; - put filename of current tab into open/save dialog (noticed by Maxxxx32) |
- | |
36 | ; changes: |
- | |
37 | ; - editor and other modifications to ease parts placement changing, |
- | |
38 | ; including changes in look |
- | |
39 | ; - modified/saved colors now match those in MSVS |
- | |
40 | ; - function 70 for *all* file operations (including diamond's fixes) |
- | |
41 | ; - use memory manager instead of statically allocated region |
- | |
42 | ; - case-insensitive filenames input, to be able to open/save files with |
19 | ;----------------------------------------------------------------------------- |
43 | ; non-latin chars in name (russian etc.) |
- | |
44 | ; - reduced flickering (changes checker) |
- | |
45 | ; - overall code cleanup |
- | |
46 | ; new features: |
- | |
47 | ; - recode tables between CP866, CP1251 and KOI8-R (suggested by Victor) |
- | |
48 | ; - tabbed interface, ability to open several files in one app instance |
- | |
49 | ; (thanks IRC guys for ideas and testing) |
- | |
50 | ; - make any tab default to compile it disregarding currently active tab |
- | |
51 | ; - configuration dialog (colors, tabs positioning) |
- | |
52 | ; 4.0.3 (mike.dld) |
- | |
53 | ; bug-fixes: |
- | |
54 | ; - 1-char selection if pressing |
- | |
55 | ; - fault in `writepos`, added call to function 9 |
- | |
56 | ; - main menu items weren't highlighted if popup opened and cursor |
- | |
57 | ; isn't in main menu item's area |
- | |
58 | ; - statusbar and textboxes drawing fixes (wrong colors) |
- | |
59 | ; - perform no redraw while pressing Shift, Ctrl, Alt keys |
- | |
60 | ; - data length from DOCPAK in string representation (fixed by diamond) |
- | |
61 | ; - compare file extension case-insensitively (fixed by diamond) |
- | |
62 | ; changes: |
- | |
63 | ; - function 70 instead of 58 for files loading/saving |
- | |
64 | ; - clientarea-relative drawing (less code) |
- | |
65 | ; - every line's dword is now splitted into 2 words; |
- | |
66 | ; low word - line block length, so max line length is 65535 now |
- | |
67 | ; high word - various flags. for now, only 2 of 16 bits are used: |
- | |
68 | ; if bit #0 is set, line was modified since file open |
- | |
69 | ; if bit #1 is set, line was saved after last modification |
- | |
70 | ; high word could also be further used for code collapsing and different |
- | |
71 | ; line marking features (breakpoints, errors, bookmarks, etc.) |
- | |
72 | ; new features: |
- | |
73 | ; - line markers for modified and saved lines |
- | |
74 | ; - status messages for various actions |
- | |
75 | ; 4.0.2 (mike.dld) |
- | |
76 | ; bug-fixes: |
- | |
77 | ; - program terminates if started with parameters (fine for DOCPAK) |
- | |
78 | ; 4.0.1 (mike.dld) |
- | |
79 | ; bug-fixes: |
- | |
80 | ; - unable to run program after exiting from main menu (Alt+X) |
- | |
81 | ; new features: |
- | |
82 | ; - integration with DOCPAK |
- | |
83 | ; 4.0 (mike.dld) |
- | |
84 | ; bug-fixes: |
- | |
85 | ; - main menu popups' "on show" was called only for first shown popup |
- | |
86 | ; - clear selection on left/right arrow keys |
- | |
87 | ; new features: |
- | |
88 | ; - "replace" dialog (w/o "skip", "replace all") |
- | |
89 | ; - line numbers display |
- | |
90 | ; - options (except "appearance" and "smart tabulation") |
- | |
91 | ; - options saving (colors, window position, "Options" popup triggers) |
- | |
92 | ; 4.0 beta 2 (mike.dld) |
- | |
93 | ; bug-fixes: |
- | |
94 | ; - unable to start if /rd/1/example.asm is missing (from Halyavin) |
- | |
95 | ; - clicking on menu items draws main window in popup (from Rohan) |
- | |
96 | ; - passed parameters aren't taken into account (from Mario79) |
- | |
97 | ; - background isn't erased if text lines < screen lines after |
- | |
98 | ; selection deletion (from Rohan) |
- | |
99 | ; 4.0 beta 1 (mike.dld) |
- | |
100 | ; menu bar and popup menu; |
- | |
101 | ; removed buttons from the top and input fields from the bottom since |
- | |
102 | ; now they're accesible through main/popup menu; |
- | |
103 | ; improved keyboard handling (using 66th function); |
- | |
104 | ; support for almost all FASMW keyboard shourtcuts; |
- | |
105 | ; added text selection ability, standard selection operations |
- | |
106 | ; (copy,cut,paste); |
- | |
107 | ; new integrated dialogs (open, save, find) |
- | |
108 | ; fix to collapse SPACEs into TABs only for *.asm and *.inc files |
- | |
109 | ; 3.78a (mike.dld) |
- | |
110 | ; fixed termination while typing in x positions higher than (line_length+10); |
- | |
111 | ; improved drawing on small heights |
- | |
112 | ; don't draw window while its height = 0 (Kolibri "minimize" support) |
- | |
113 | ; 3.78 (mike.dld) |
- | |
114 | ; now lines may be of ANY length; |
- | |
115 | ; optimized memory usage (less memory for internal file representation) |
- | |
116 | ; after loading file, it's internal size equals to its real size |
- | |
117 | ; plus 14 bytes for each line (4 bytes for line length |
- | |
118 | ; and 10 spaced to the end - to reduce data relocations count); |
- | |
119 | ; completely rewritten keyboard handling; |
- | |
120 | ; added horizontal scrollbar; |
- | |
121 | ; all line feed formats are supported: WIN(CRLF),*NIX(LF),MAC(CR); |
- | |
122 | ; etc. |
- | |
123 | ; 3.77 (mike.dld) |
- | |
124 | ; changed save_string to collapse SPACEs into TABs; |
- | |
125 | ; rewrote drawfile from scratch (speed++) |
- | |
126 | ; through some drawing improvements needed |
- | |
127 | ; (some checkups to reduce flickering); |
- | |
128 | ; writepos (size--); |
- | |
129 | ; fixed drawing window while height < 100px, and for non-asm files; |
- | |
130 | ; several small fixes; speed/size optimizations |
- | |
131 | ; 3.76 (mike.dld) |
- | |
132 | ; changed loadfile/loadhdfile to expand TABs into SPACEs; |
- | |
133 | ; changed TAB,ENTER,DELETE,BSPACE keys behaviour (rewritten from scratch); |
- | |
134 | ; vertical scrollbar; |
- | |
135 | ; extra window resizing capabilities (added a couple of constants); |
- | |
136 | ; completely new text cursor management & moving text cursor with mouse; |
- | |
137 | ; improved search function, moving cursor to beginning of text found; |
- | |
138 | ; adjustable max line width (change LINE_WIDTH & recompile) // (obsolet) |
- | |
139 | ; 3.75a |
- | |
140 | ; fixed converting char to upper case in read_string |
- | |
141 | ; 3.75 |
- | |
142 | ; rewrote save_file from scratch; bugfix in loadfile; |
- | |
143 | ; 3.74 |
- | |
144 | ; optimisation |
- | |
145 | ; 3.73 |
- | |
146 | ; completly new load_file function |
- | |
147 | ; 3.72 |
- | |
148 | ; speed++ |
- | |
149 | ; 3.71 |
- | |
150 | ; error beep |
- | |
151 | ; 3.6,3.7: |
- | |
152 | ; many bugs fixed |
- | |
153 | ; simple toolbar |
- | |
154 | ; compile, run applications from TINYPAD, all fasm output is in debug board |
- | |
155 | ; TAB button |
- | |
156 | ; auto-indent |
- | |
157 | ; Ctrl+L - insert comment string |
20 | ; See history.txt for complete changelog |
158 | ;----------------------------------------------------------------------------- |
21 | ;----------------------------------------------------------------------------- |
Line 159... | Line 22... | ||
159 | 22 | ||
- | 23 | include 'lang.inc' |
|
160 | include 'lang.inc' |
24 | |
- | 25 | include '../../../macros.inc' ; useful stuff |
|
161 | include '..\..\..\macros.inc' ; useful stuff |
26 | include '../../../struct.inc' |
- | 27 | include '../../../proc32.inc' |
|
- | 28 | ||
- | 29 | include 'external/libio.inc' |
|
162 | ;include 'proc32.inc' |
30 | |
- | 31 | include 'tinypad.inc' |
|
163 | include 'tinypad.inc' |
32 | |
Line 164... | Line 33... | ||
164 | ;purge mov,add,sub ; SPEED |
33 | ;purge mov,add,sub ; SPEED |
Line 165... | Line 34... | ||
165 | 34 | ||
Line -... | Line 35... | ||
- | 35 | header '01',1,@CODE,TINYPAD_END,STATIC_MEM_END,MAIN_STACK,@PARAMS,self_path |
|
- | 36 | ||
- | 37 | APP_VERSION equ '4.0.4' |
|
166 | header '01',1,@CODE,TINYPAD_END,STATIC_MEM_END,MAIN_STACK,@PARAMS,self_path |
38 | |
167 | 39 | TRUE = 1 |
|
168 | APP_VERSION equ '4.0.4' |
40 | FALSE = 0 |
169 | 41 | ||
Line 239... | Line 111... | ||
239 | 111 | ||
240 | mcall 68,11 |
112 | mcall 68,11 |
241 | or eax,eax |
113 | or eax,eax |
Line -... | Line 114... | ||
- | 114 | jz key.alt_x.close |
|
242 | jz key.alt_x.close |
115 | |
- | 116 | stdcall dll.Load,@IMPORT |
|
- | 117 | or eax,eax |
|
243 | 118 | jnz key.alt_x.close |
|
244 | mov eax,65536 |
119 | |
Line 245... | Line 120... | ||
245 | call mem.Alloc |
120 | stdcall mem.Alloc,65536 |
Line 246... | Line 121... | ||
246 | mov [temp_buf],eax |
121 | mov [temp_buf],eax |
Line 283... | Line 158... | ||
283 | @@: |
158 | @@: |
284 | ;// diamond ] |
159 | ;// diamond ] |
Line 285... | Line 160... | ||
285 | 160 | ||
Line 286... | Line -... | ||
286 | add edx,20 |
- | |
287 | 161 | add edx,20 |
|
288 | mov eax,edx |
162 | |
289 | call mem.Alloc |
163 | stdcall mem.Alloc,edx |
Line 290... | Line 164... | ||
290 | mov ebp,eax |
164 | mov ebp,eax |
291 | push eax |
165 | push eax |
Line 305... | Line 179... | ||
305 | lea esi,[ebp+16] |
179 | lea esi,[ebp+16] |
306 | call create_tab |
180 | call create_tab |
307 | call load_from_memory |
181 | call load_from_memory |
Line 308... | Line 182... | ||
308 | 182 | ||
309 | pop ebp |
- | |
310 | mov eax,ebp |
183 | pop ebp |
Line 311... | Line 184... | ||
311 | call mem.Free |
184 | stdcall mem.Free,ebp |
312 | 185 | ||
Line 313... | Line 186... | ||
313 | jmp @f |
186 | jmp @f |
Line 359... | Line 232... | ||
359 | jz mouse |
232 | jz mouse |
Line 360... | Line 233... | ||
360 | 233 | ||
Line 361... | Line 234... | ||
361 | jmp still.skip_write |
234 | jmp still.skip_write |
- | 235 | ||
- | 236 | ;----------------------------------------------------------------------------- |
|
- | 237 | proc get_event ctx ;////////////////////////////////////////////////////////// |
|
- | 238 | ;----------------------------------------------------------------------------- |
|
- | 239 | mcall 10 |
|
- | 240 | dec eax ; redraw ? |
|
- | 241 | jz .redraw |
|
- | 242 | dec eax ; key ? |
|
- | 243 | jz .key |
|
- | 244 | dec eax ; button ? |
|
- | 245 | jz .button |
|
- | 246 | sub eax,2 ; background ? |
|
- | 247 | jz .background |
|
- | 248 | dec eax ; mouse ? |
|
- | 249 | jz .mouse |
|
- | 250 | dec eax ; ipc ? |
|
- | 251 | jz .ipc |
|
- | 252 | dec eax ; network ? |
|
- | 253 | jz .network |
|
- | 254 | dec eax ; debug ? |
|
- | 255 | jz .debug |
|
- | 256 | sub eax,7 ; irq ? |
|
- | 257 | js .nothing |
|
- | 258 | cmp eax,15 |
|
- | 259 | jg .nothing |
|
- | 260 | jmp .irq |
|
- | 261 | ||
- | 262 | .nothing: |
|
- | 263 | mov eax,EV_IDLE |
|
- | 264 | ret |
|
- | 265 | ||
- | 266 | .redraw: |
|
- | 267 | mov eax,EV_REDRAW |
|
- | 268 | ret |
|
- | 269 | ||
- | 270 | .key: |
|
- | 271 | mov eax,EV_KEY |
|
- | 272 | ret |
|
- | 273 | ||
- | 274 | .button: |
|
- | 275 | mov eax,EV_BUTTON |
|
- | 276 | ret |
|
- | 277 | ||
- | 278 | .background: |
|
- | 279 | mov eax,EV_BACKGROUND |
|
- | 280 | ret |
|
- | 281 | ||
- | 282 | .mouse: |
|
- | 283 | mov eax,EV_MOUSE |
|
- | 284 | ret |
|
- | 285 | ||
- | 286 | .ipc: |
|
- | 287 | mov eax,EV_IPC |
|
- | 288 | ret |
|
- | 289 | ||
- | 290 | .network: |
|
- | 291 | mov eax,EV_NETWORK |
|
- | 292 | ret |
|
- | 293 | ||
- | 294 | .debug: |
|
- | 295 | mov eax,EV_DEBUG |
|
- | 296 | ret |
|
- | 297 | endp |
|
362 | 298 | ||
363 | ;----------------------------------------------------------------------------- |
299 | ;----------------------------------------------------------------------------- |
364 | func start_fasm ;///////////////////////////////////////////////////////////// |
300 | proc start_fasm ;///////////////////////////////////////////////////////////// |
365 | ;----------------------------------------------------------------------------- |
301 | ;----------------------------------------------------------------------------- |
366 | ; BL = run after compile |
302 | ; BL = run after compile |
367 | ;----------------------------------------------------------------------------- |
303 | ;----------------------------------------------------------------------------- |
Line 424... | Line 360... | ||
424 | mov [app_start.filename],app_fasm |
360 | mov [app_start.filename],app_fasm |
425 | mov [app_start.params],fasm_parameters |
361 | mov [app_start.params],fasm_parameters |
426 | start_ret: |
362 | start_ret: |
427 | mcall 70,app_start |
363 | mcall 70,app_start |
428 | ret |
364 | ret |
429 | endf |
365 | endp |
Line 430... | Line 366... | ||
430 | 366 | ||
431 | ;----------------------------------------------------------------------------- |
367 | ;----------------------------------------------------------------------------- |
432 | func open_debug_board ;/////////////////////////////////////////////////////// |
368 | proc open_debug_board ;/////////////////////////////////////////////////////// |
433 | ;----------------------------------------------------------------------------- |
369 | ;----------------------------------------------------------------------------- |
434 | mov [app_start.filename],app_board |
370 | mov [app_start.filename],app_board |
435 | mov [app_start.params],0 |
371 | mov [app_start.params],0 |
436 | jmp start_ret |
372 | jmp start_ret |
Line 437... | Line 373... | ||
437 | endf |
373 | endp |
438 | 374 | ||
439 | ;----------------------------------------------------------------------------- |
375 | ;----------------------------------------------------------------------------- |
440 | func open_sysfuncs_txt ;////////////////////////////////////////////////////// |
376 | proc open_sysfuncs_txt ;////////////////////////////////////////////////////// |
441 | ;----------------------------------------------------------------------------- |
377 | ;----------------------------------------------------------------------------- |
442 | mov [app_start.filename],app_docpak |
378 | mov [app_start.filename],app_docpak |
443 | mov [app_start.params],sysfuncs_param |
379 | mov [app_start.params],sysfuncs_param |
444 | call start_ret |
380 | call start_ret |
445 | cmp eax,0xfffffff0 |
381 | cmp eax,0xfffffff0 |
446 | jb @f |
382 | jb @f |
447 | mov [app_start.filename],app_tinypad |
383 | mov [app_start.filename],app_tinypad |
448 | mov [app_start.params],sysfuncs_filename |
384 | mov [app_start.params],sysfuncs_filename |
449 | call start_ret |
385 | call start_ret |
Line 450... | Line 386... | ||
450 | @@: ret |
386 | @@: ret |
Line 451... | Line 387... | ||
451 | endf |
387 | endp |
452 | 388 | ||
Line 490... | Line 426... | ||
490 | xor [options],al |
426 | xor [options],al |
491 | ret |
427 | ret |
Line 492... | Line 428... | ||
492 | 428 | ||
Line 493... | Line 429... | ||
493 | ;----------------------------------------------------------------------------- |
429 | ;----------------------------------------------------------------------------- |
Line 494... | Line 430... | ||
494 | 430 | ||
495 | include 'tp-defines.inc' |
431 | include 'data/tp-defines.inc' |
496 | 432 | ||
497 | include 'tp-draw.asm' |
433 | include 'tp-draw.asm' |
Line 505... | Line 441... | ||
505 | include 'tp-tbox.asm' |
441 | include 'tp-tbox.asm' |
506 | include 'tp-tabctl.asm' |
442 | include 'tp-tabctl.asm' |
507 | include 'tp-editor.asm' |
443 | include 'tp-editor.asm' |
508 | include 'tp-recode.asm' |
444 | include 'tp-recode.asm' |
Line 509... | Line 445... | ||
509 | 445 | ||
Line 510... | Line 446... | ||
510 | ;include 'lib-ini.asm' |
446 | include 'external/dll.inc' |
511 | 447 | ||
512 | ;----------------------------------------------------------------------------- |
448 | ;----------------------------------------------------------------------------- |
Line 513... | Line -... | ||
513 | section @DATA ;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: |
- | |
514 | ;----------------------------------------------------------------------------- |
- | |
515 | - | ||
516 | vscrl_capt dd -1 |
- | |
517 | hscrl_capt dd -1 |
- | |
518 | body_capt dd -1 |
- | |
519 | - | ||
520 | key0 db \ |
- | |
521 | 0x00,0x00,0x02,0x03,0x04,0x05,0x06,0x07,\ |
- | |
522 | 0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x00,0x00,\ |
- | |
523 | 0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,\ |
- | |
524 | 0x18,0x19,0x1A,0x1B,0x00,0x00,0x1E,0x1F,\ |
- | |
525 | 0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,\ |
- | |
526 | 0x28,0x29,0x00,0x2B,0x2C,0x2D,0x2E,0x2F,\ |
- | |
527 | 0x30,0x31,0x32,0x33,0x34,0x35,0x00,0x00,\ |
- | |
528 | 0x00,0x39,0x00,0x00,0x00,0x00,0x00,0x00 |
- | |
529 | times 12*16 db 0x00 |
- | |
530 | - | ||
531 | accel_table_main dd \ |
- | |
532 | 0x0000000E,key.bkspace ,\ ; BackSpace |
- | |
533 | 0x0000000F,key.tab ,\ ; Tab |
- | |
534 | 0x0000001C,key.return ,\ ; Return |
- | |
535 | 0x0000003D,key.f3 ,\ ; F3 |
- | |
536 | 0x00000043,key.f9 ,\ ; F9 |
- | |
537 | 0x00000147,key.home ,\ ; Home |
- | |
538 | 0x00000148,key.up ,\ ; Up |
- | |
539 | 0x00000149,key.pgup ,\ ; PageUp |
- | |
540 | 0x0000014B,key.left ,\ ; Left |
- | |
541 | 0x0000014D,key.right ,\ ; Right |
- | |
542 | 0x0000014F,key.end ,\ ; End |
- | |
543 | 0x00000150,key.down ,\ ; Down |
- | |
544 | 0x00000151,key.pgdn ,\ ; PageDown |
- | |
545 | 0x00000152,key.ins ,\ ; Insert |
- | |
546 | 0x00000153,key.del ,\ ; Delete |
- | |
547 | 0x00010043,key.shift_f9 ,\ ; Shift+F9 |
- | |
548 | 0x00010147,key.shift_home ,\ ; Shift+Home |
- | |
549 | 0x00010148,key.shift_up ,\ ; Shift+Up |
- | |
550 | 0x00010149,key.shift_pgup ,\ ; Shift+PageUp |
- | |
551 | 0x0001014B,key.shift_left ,\ ; Shift+Left |
- | |
552 | 0x0001014D,key.shift_right ,\ ; Shift+Right |
- | |
553 | 0x0001014F,key.shift_end ,\ ; Shift+End |
- | |
554 | 0x00010150,key.shift_down ,\ ; Shift+Down |
- | |
555 | 0x00010151,key.shift_pgdn ,\ ; Shift+PageDown |
- | |
556 | 0x00010153,key.del ,\ ; Shift+Delete |
- | |
557 | 0x0002000F,key.ctrl_tab ,\ ; Ctrl+Tab |
- | |
558 | 0x00020015,key.ctrl_y ,\ ; Ctrl+Y |
- | |
559 | 0x00020018,key.ctrl_o ,\ ; Ctrl+O |
- | |
560 | 0x0002001E,key.ctrl_a ,\ ; Ctrl+A |
- | |
561 | 0x0002001F,key.ctrl_s ,\ ; Ctrl+S |
- | |
562 | 0x00020020,key.ctrl_d ,\ ; Ctrl+D |
- | |
563 | 0x00020021,key.ctrl_f ,\ ; Ctrl+F |
- | |
564 | 0x00020022,key.ctrl_g ,\ ; Ctrl+G |
- | |
565 | 0x00020023,key.ctrl_h ,\ ; Ctrl+H |
- | |
566 | \;0x00020026,key.ctrl_l ,\ ; Ctrl+L |
- | |
567 | 0x0002002D,key.ctrl_x ,\ ; Ctrl+X |
- | |
568 | 0x0002002E,key.ctrl_c ,\ ; Ctrl+C |
- | |
569 | 0x0002002F,key.ctrl_v ,\ ; Ctrl+V |
- | |
570 | 0x00020031,key.ctrl_n ,\ ; Ctrl+N |
- | |
571 | 0x0002003E,key.ctrl_f4 ,\ ; Ctrl+F4 |
- | |
572 | 0x00020043,key.ctrl_f9 ,\ ; Ctrl+F9 |
- | |
573 | 0x00020147,key.ctrl_home ,\ ; Ctrl+Home |
- | |
574 | \;0x00020148,key.ctrl_up ,\ ; Ctrl+Up |
- | |
575 | 0x00020149,key.ctrl_pgup ,\ ; Ctrl+PageUp |
- | |
576 | 0x0002014B,key.ctrl_left ,\ ; Ctrl+Left |
- | |
577 | 0x0002014D,key.ctrl_right ,\ ; Ctrl+Right |
- | |
578 | 0x0002014F,key.ctrl_end ,\ ; Ctrl+End |
- | |
579 | \;0x00020150,key.ctrl_down ,\ ; Ctrl+Down |
- | |
580 | 0x00020151,key.ctrl_pgdn ,\ ; Ctrl+PageDown |
- | |
581 | 0x00020153,key.del ,\ ; Ctrl+Del |
- | |
582 | 0x0003000F,key.shift_ctrl_tab ,\ ; Shift+Ctrl+Tab |
- | |
583 | 0x0003001F,key.shift_ctrl_s ,\ ; Shift+Ctrl+S |
- | |
584 | 0x00030147,key.shift_ctrl_home ,\ ; Shift+Ctrl+Home |
- | |
585 | \;0x00030148,key.shift_ctrl_up ,\ ; Shift+Ctrl+Up |
- | |
586 | 0x00030149,key.shift_ctrl_pgup ,\ ; Shift+Ctrl+PageUp |
- | |
587 | 0x0003014B,key.shift_ctrl_left ,\ ; Shift+Ctrl+Left |
- | |
588 | 0x0003014D,key.shift_ctrl_right ,\ ; Shift+Ctrl+Right |
- | |
589 | 0x0003014F,key.shift_ctrl_end ,\ ; Shift+Ctrl+End |
- | |
590 | \;0x00030150,key.shift_ctrl_down ,\ ; Shift+Ctrl+Down |
- | |
591 | 0x00030151,key.shift_ctrl_pgdn ,\ ; Shift+Ctrl+PageDown |
- | |
592 | 0x0004002D,key.alt_x ,\ ; Alt+X |
- | |
593 | 0 |
- | |
594 | - | ||
595 | accel_table_textbox dd \ |
- | |
596 | \;0x00000001,key.tb.escape ,\ ; Escape |
- | |
597 | 0x0000000E,key.tb.bkspace ,\ ; BackSpace |
- | |
598 | \;0x0000000F,key.tb.tab ,\ ; Tab |
- | |
599 | \;0x0000001C,key.tb.return ,\ ; Return |
- | |
600 | 0x00000147,key.tb.home ,\ ; Home |
- | |
601 | 0x0000014B,key.tb.left ,\ ; Left |
- | |
602 | 0x0000014D,key.tb.right ,\ ; Right |
- | |
603 | 0x0000014F,key.tb.end ,\ ; End |
- | |
604 | 0x00000153,key.tb.del ,\ ; Delete |
- | |
605 | 0x00010147,key.tb.shift_home ,\ ; Shift+Home |
- | |
606 | 0x0001014B,key.tb.shift_left ,\ ; Shift+Left |
- | |
607 | 0x0001014D,key.tb.shift_right ,\ ; Shift+Right |
- | |
608 | 0x0001014F,key.tb.shift_end ,\ ; Shift+End |
- | |
609 | 0x00010153,key.tb.del ,\ ; Shift+Del |
- | |
610 | 0 |
- | |
611 | - | ||
612 | accel_table2 dd \ |
- | |
613 | 1 ,key.alt_x ,\ |
- | |
614 | 'VSL',btn.vscroll_up ,\ |
- | |
615 | 'VSG',btn.vscroll_down ,\ |
- | |
616 | 'HSL',btn.hscroll_up ,\ |
- | |
617 | 'HSG',btn.hscroll_down ,\ |
- | |
618 | 'TBL',btn.tabctl_right ,\ |
- | |
619 | 'TBG',btn.tabctl_left ,\ |
- | |
620 | 177 , key.ctrl_f4 ,\ ; close current tab button |
- | |
621 | 0 |
- | |
622 | - | ||
623 | accel_table2_botdlg dd \ |
- | |
624 | 1 ,key.alt_x ,\ |
- | |
625 | 20001,btn.bot.cancel ,\ |
- | |
626 | 20002,btn.bot.opensave ,\ |
- | |
627 | 20003,btn.bot.find ,\ |
- | |
628 | 20004,btn.bot.appearance,\ |
- | |
629 | 20007, btn.bot.no ,\ |
- | |
630 | 21001,btn.bot.tabpos ,\ |
- | |
631 | 0 |
- | |
632 | - | ||
633 | add_table: |
- | |
634 | times $1A db -$20 |
- | |
635 | times $25 db -$00 |
- | |
636 | times $10 db -$20 |
- | |
637 | times $30 db -$00 |
- | |
638 | times $10 db -$50 |
- | |
639 | times $04 db -$00,-$01 |
- | |
640 | times $08 db -$00 |
- | |
641 | - | ||
642 | s_status dd 0 |
- | |
643 | - | ||
644 | @^ |
- | |
645 | fasm_start: |
- | |
646 | dd 7 |
- | |
647 | dd 0 |
- | |
648 | dd fasm_parameters |
- | |
649 | dd 0 |
- | |
650 | dd 0 |
- | |
651 | db '/sys/DEVELOP/FASM',0 |
- | |
652 | board_start: |
- | |
653 | dd 7 |
- | |
654 | dd 0 |
- | |
655 | dd 0 |
- | |
656 | dd 0 |
- | |
657 | dd 0 |
- | |
658 | db '/sys/DEVELOP/BOARD',0 |
- | |
659 | tinypad_start: |
- | |
660 | dd 7 |
- | |
661 | dd 0 |
- | |
662 | dd ? |
- | |
663 | dd 0 |
- | |
664 | dd 0 |
- | |
665 | db '/sys/TINYPAD',0 |
- | |
666 | docpak_start: |
- | |
667 | dd 7 |
- | |
668 | dd 0 |
- | |
669 | dd sysfuncs_param |
- | |
670 | dd 0 |
- | |
671 | dd 0 |
- | |
672 | db '/sys/DOCPAK',0 |
- | |
673 | ^@ |
- | |
674 | - | ||
675 | sz app_fasm ,'/sys/DEVELOP/FASM',0 |
- | |
676 | sz app_board ,'/sys/DEVELOP/BOARD',0 |
- | |
677 | sz app_tinypad ,'/sys/TINYPAD',0 |
- | |
678 | sz app_docpak ,'/sys/DOCPAK',0 |
- | |
679 | 449 | section @DATA ;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: |
|
680 | sz sysfuncs_param,'g',0 |
- | |
681 | - | ||
682 | include 'tp-locale.inc' |
- | |
683 | - | ||
684 | ;// options dialog data [ |
- | |
685 | label optsdlg_editor at $-EDITOR.Bounds |
- | |
686 | ; rb PATHL ; FilePath db PATHL dup(?) |
- | |
687 | ; dd 0 ; FileName dd ? |
- | |
688 | dd ?,?,?,? ; Bounds RECT |
- | |
689 | dd @f ; Lines dd ? |
- | |
690 | dd ? ; Lines.Size dd ? |
- | |
691 | dd 9 ; Lines.Count dd ? |
- | |
692 | dd 21 ; Columns.Count dd ? |
- | |
693 | dd 0,4 ; Caret POINT |
- | |
694 | dd 100,4 ; SelStart POINT |
- | |
695 | dd 0,0 ; TopLeft POINT |
- | |
696 | dd 0,0 ; VScroll SCROLLBAR |
- | |
697 | dd 0,0 ; HScroll SCROLLBAR |
- | |
698 | dd 0 ; Gutter.Width dd ? |
- | |
Line 699... | Line -... | ||
699 | db 0 ; Gutter.Visible db ? |
- | |
700 | db 1 ; AsmMode db ? |
- | |
701 | db 0 ; Modified db ? |
- | |
702 | - | ||
703 | @@: |
- | |
704 | dd 0x00000000+1 |
- | |
705 | db ' ' |
- | |
706 | dd 0x00010000+9 |
- | |
707 | db ' org 100h' |
450 | ;----------------------------------------------------------------------------- |
708 | dd 0x00000000+1 |
- | |
709 | db ' ' |
- | |
710 | dd 0x00000000+20 |
- | |
711 | db ' mov ah,09h ; write' |
- | |
712 | dd 0x00000000+12 |
- | |
713 | db ' mov dx,text' |
- | |
714 | dd 0x00000000+8 |
- | |
715 | db ' int 21h' |
- | |
716 | dd 0x00030000+8 |
- | |
717 | db ' int 20h' |
451 | |
718 | dd 0x00000000+1 |
- | |
719 | db ' ' |
- | |
720 | dd 0x00000000+21 |
452 | include 'data/tp-idata.inc' |
721 | db ' text db "Hello!",24h' |
- | |
722 | dd 0 |
- | |
723 | - | ||
724 | optsdlg_editor_parts: ; left,top,right,bottom,type |
- | |
725 | db 0, 12, 13, 29, 22 |
- | |
726 | db 0, 12, 33, 47, 42 |
- | |
727 | db 0, 12, 53, 29, 72 |
- | |
728 | db 0, 12, 83, 53, 92 |
- | |
729 | db 2, 12, 43, 77, 52 |
- | |
730 | db 3, 4, 43,148, 52 |
- | |
731 | db 4, 48, 33, 53, 42 |
- | |
732 | db 4,108, 83,113, 92 |
- | |
733 | db 5, 36, 13, 59, 22 |
- | |
734 | db 5, 54, 33, 71, 42 |
- | |
735 | db 5, 36, 53, 53, 72 |
- | |
736 | db 5,114, 83,131, 92 |
- | |
737 | db 6, 60, 83,107, 92 |
- | |
738 | db 7, 84, 33,125, 42 |
453 | |
739 | db 8, 1, 13, 5, 22 |
454 | ;----------------------------------------------------------------------------- |
740 | db 9, 1, 63, 5, 72 |
- | |
741 | db 1, 1, 1,148,105 |
- | |
742 | db -1 |
- | |
743 | ;// ] |
- | |
744 | - | ||
745 | sz symbols_ex,';?.%"',"'" |
- | |
746 | sz symbols ,'#&*\:/<>|{}()[]=+-, ' |
- | |
747 | - | ||
748 | sz ini_sec_window ,'Window',0 |
- | |
Line -... | Line 455... | ||
- | 455 | section @IMPORT ;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: |
|
- | 456 | ;----------------------------------------------------------------------------- |
|
- | 457 | ;align 16 |
|
- | 458 | ;@IMPORT: |
|
- | 459 | ||
- | 460 | library \ |
|
- | 461 | libini,'libini.obj',\ |
|
- | 462 | libio,'libio.obj',\ |
|
- | 463 | libgfx,'libgfx.obj' |
|
- | 464 | ||
- | 465 | import libini, \ |
|
- | 466 | ini.get_str,'ini.get_str',\ |
|
- | 467 | ini.set_str,'ini.set_str',\ |
|
- | 468 | ini.get_int,'ini.get_int',\ |
|
- | 469 | ini.set_int,'ini.set_int' |
|
749 | sz ini_window_top ,'Top',0 |
470 | |
- | 471 | import libio, \ |
|
- | 472 | file.find_first,'file.find_first',\ |
|
- | 473 | file.find_next ,'file.find_next',\ |
|
- | 474 | file.find_close,'file.find_close',\ |
|
- | 475 | file.size ,'file.size',\ |
|
- | 476 | file.open ,'file.open',\ |
|
- | 477 | file.read ,'file.read',\ |
|
- | 478 | file.write ,'file.write',\ |
|
- | 479 | file.seek ,'file.seek',\ |
|
- | 480 | file.tell ,'file.tell',\ |
|
- | 481 | file.eof? ,'file.eof?',\ |
|
- | 482 | file.truncate ,'file.truncate',\ |
|
- | 483 | file.close ,'file.close' |
|
- | 484 | ||
- | 485 | import libgfx, \ |
|
- | 486 | gfx.open ,'gfx.open',\ |
|
- | 487 | gfx.close ,'gfx.close',\ |
|
- | 488 | gfx.pen.color ,'gfx.pen.color',\ |
|
- | 489 | gfx.brush.color ,'gfx.brush.color',\ |
|
- | 490 | gfx.pixel ,'gfx.pixel',\ |
|
- | 491 | gfx.move.to ,'gfx.move.to',\ |
|
- | 492 | gfx.line.to ,'gfx.line.to',\ |
|
- | 493 | gfx.line ,'gfx.line',\ |
|
- | 494 | gfx.polyline ,'gfx.polyline',\ |
|
- | 495 | gfx.polyline.to ,'gfx.polyline.to',\ |
|
- | 496 | gfx.fillrect ,'gfx.fillrect',\ |
|
Line 750... | Line 497... | ||
750 | sz ini_window_left ,'Left',0 |
497 | gfx.fillrect.ex ,'gfx.fillrect.ex',\ |
Line 751... | Line 498... | ||
751 | sz ini_window_right ,'Right',0 |
498 | gfx.framerect ,'gfx.framerect',\ |
752 | sz ini_window_bottom,'Bottom',0 |
499 | gfx.framerect.ex,'gfx.framerect.ex',\ |
753 | 500 | gfx.rectangle ,'gfx.rectangle',\ |
|
Line 754... | Line -... | ||
754 | TINYPAD_END: ; end of file |
- | |
755 | - | ||
756 | self_path rb PATHL |
- | |
757 | - | ||
758 | ;----------------------------------------------------------------------------- |
- | |
759 | section @UDATA ;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: |
- | |
760 | ;----------------------------------------------------------------------------- |
- | |
761 | - | ||
762 | app_start: |
- | |
763 | dd ?,? |
- | |
764 | .params dd ? |
- | |
765 | dd ?,? |
- | |
766 | db ? |
- | |
767 | .filename dd ? |
- | |
768 | - | ||
769 | f_info.length dd ? |
- | |
770 | f_info.path: |
- | |
771 | times PATHL+1 db ? |
- | |
772 | f_info70 rd 7 |
501 | gfx.rectangle.ex,'gfx.rectangle.ex' |
773 | - | ||
774 | file_info FILEINFO |
- | |
775 | - | ||
776 | checker_ed EDITOR |
- | |
777 | checker_ed_ll dd ? |
- | |
778 | - | ||
779 | tab_bar TABCTL |
- | |
780 | virtual at tab_bar.Current |
- | |
781 | cur_tab TABITEM |
- | |
782 | end virtual |
- | |
783 | virtual at tab_bar.Current.Editor |
- | |
784 | cur_editor EDITOR |
- | |
785 | end virtual |
- | |
786 | - | ||
787 | lines.scr dd ? ; number of lines on the screen |
- | |
788 | columns.scr dd ? ; number of columns on the screen |
- | |
789 | top_ofs dd ? ; height occupied by top buttons |
- | |
790 | bot_ofs dd ? ; height occupied by bottom buttons |
- | |
791 | dw ? |
- | |
792 | left_ofs dd ? ; |
- | |
793 | __rc dd ?,?,?,? |
- | |
794 | copy_count dd ? ; number of lines for copying (Ctrl+E) |
- | |
795 | copy_size dd ? ; size of data to copy |
- | |
796 | s_title.size dd ? ; caption length |
- | |
797 | - | ||
798 | cur_line_len dd ? |
- | |
799 | h_popup dd ? |
- | |
800 | bot_dlg_handler dd ? |
- | |
801 | - | ||
802 | sel.begin.x dd ? |
- | |
803 | sel.begin.y dd ? |
- | |
804 | sel.end.x dd ? |
- | |
805 | sel.end.y dd ? |
- | |
806 | sel.selected db ? |
- | |
807 | - | ||
808 | in_sel db ? |
- | |
809 | - | ||
810 | do_not_draw db ? ; draw top and bottom buttons? |
- | |
811 | main_closed db ? ; main window closed? |
- | |
812 | tb_casesen db ? ; focused textbox is case-sensitive? |
- | |
813 | - | ||
814 | draw_blines db ? |
- | |
815 | - | ||
816 | align 4 |
- | |
817 | s_fname.size dd ? |
- | |
818 | s_fname rb PATHL+1 |
- | |
819 | align 4 |
- | |
820 | s_search.size dd ? |
- | |
821 | s_search rb PATHL+1 |
- | |
822 | - | ||
823 | s_title rb PATHL+11 ; window caption |
- | |
824 | - | ||
825 | chr db ? |
- | |
826 | ext db ? |
- | |
827 | shi dd ? |
- | |
828 | - | ||
829 | align 4 |
- | |
830 | cl_3d_normal dd ? |
- | |
831 | cl_3d_pushed dd ? |
- | |
832 | cl_3d_outset dd ? |
- | |
833 | cl_3d_inset dd ? |
- | |
834 | cl_3d_grayed dd ? |
- | |
835 | - | ||
836 | tb_color TBOX |
- | |
837 | tb_opensave TBOX |
- | |
838 | tb_find TBOX |
- | |
839 | tb_replace TBOX |
- | |
840 | tb_gotorow TBOX |
- | |
841 | tb_gotocol TBOX |
- | |
842 | - | ||
843 | focused_tb dd ? |
- | |
844 | - | ||
845 | key1 rb 256 |
- | |
846 | - | ||
847 | mst db ? |
- | |
848 | mst2 db ? |
- | |
849 | mev db ? |
- | |
850 | mouse_captured db ? |
- | |
851 | just_from_popup db ? |
- | |
852 | - | ||
853 | bot_mode db ? |
- | |
Line 854... | Line 502... | ||
854 | 502 | ||
855 | align 4 |
503 | TINYPAD_END: ; end of file |
856 | 504 |