Rev 449 | Rev 468 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 449 | Rev 461 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | ; |
1 | ; |
2 | ;ä䥪⨢®¥ ¯à®£à ¬¬¨à®¢ ¨¥ ¢ KOLIBRI |
2 | ;ä䥪⨢®¥ ¯à®£à ¬¬¨à®¢ ¨¥ ¢ KOLIBRI |
3 | ;¯â¨¬¨§¨à®¢ ë© ª®¬¯®¥â EditBox (áå®¤ë© ¢ ਠ⠮â Maxxxx32) |
3 | ;¯â¨¬¨§¨à®¢ ë© ª®¬¯®¥â EditBox (áå®¤ë© ¢ ਠ⠮â Maxxxx32) |
4 | ;¯â¨¬¨§ æ¨ï ª®¬ ¤. |
4 | ;¯â¨¬¨§ æ¨ï ª®¬ ¤. |
5 | ; |
5 | ; |
6 | - | ||
7 | ;§ £®«®¢®ª ¯à¨«®¦¥¨ï |
6 | ;§ £®«®¢®ª ¯à¨«®¦¥¨ï |
8 | use32 ; âà á«ïâ®à, ¨á¯®«ì§ãî騩 32 à §àï¤ëå ª®¬ ¤ë |
7 | use32 ; âà á«ïâ®à, ¨á¯®«ì§ãî騩 32 à §àï¤ëå ª®¬ ¤ë |
9 | org 0x0 ; ¡ §®¢ë© ¤à¥á ª®¤ , ¢á¥£¤ 0x0 |
8 | org 0x0 ; ¡ §®¢ë© ¤à¥á ª®¤ , ¢á¥£¤ 0x0 |
10 | db 'MENUET01' ; ¨¤¥â¨ä¨ª â®à ¨á¯®«ï¥¬®£® ä ©« (8 ¡ ©â) |
9 | db 'MENUET01' ; ¨¤¥â¨ä¨ª â®à ¨á¯®«ï¥¬®£® ä ©« (8 ¡ ©â) |
11 | dd 0x1 ; ¢¥àá¨ï ä®à¬ â § £®«®¢ª ¨á¯®«ï¥¬®£® ä ©« |
10 | dd 0x1 ; ¢¥àá¨ï ä®à¬ â § £®«®¢ª ¨á¯®«ï¥¬®£® ä ©« |
Line 13... | Line 12... | ||
13 | ; ¯®á«¥ § £à㧪¨ ¯à¨«®¦¥¨ï ¢ ¯ ¬ïâì |
12 | ; ¯®á«¥ § £à㧪¨ ¯à¨«®¦¥¨ï ¢ ¯ ¬ïâì |
14 | dd i_end ; à §¬¥à ¯à¨«®¦¥¨ï |
13 | dd i_end ; à §¬¥à ¯à¨«®¦¥¨ï |
15 | dd i_end and not 3 ; ¡ê¥¬ ¨á¯®«ì§ã¥¬®© ¯ ¬ïâ¨, ¤«ï á⥪ ®â¢¥¤¥¬ 0å100 ¡ ©â ¨ ¢ë஢¨¬ £à¨æã 4 ¡ ©â |
14 | dd i_end and not 3 ; ¡ê¥¬ ¨á¯®«ì§ã¥¬®© ¯ ¬ïâ¨, ¤«ï á⥪ ®â¢¥¤¥¬ 0å100 ¡ ©â ¨ ¢ë஢¨¬ £à¨æã 4 ¡ ©â |
16 | dd i_end and not 3 ; à ᯮ«®¦¨¬ ¯®§¨æ¨î á⥪ ¢ ®¡« á⨠¯ ¬ïâ¨, áà §ã § ⥫®¬ ¯à®£à ¬¬ë. ¥àè¨ á⥪ ¢ ¤¨ ¯ §®¥ ¯ ¬ïâ¨, 㪠§ ®¬ ¢ëè¥ |
15 | dd i_end and not 3 ; à ᯮ«®¦¨¬ ¯®§¨æ¨î á⥪ ¢ ®¡« á⨠¯ ¬ïâ¨, áà §ã § ⥫®¬ ¯à®£à ¬¬ë. ¥àè¨ á⥪ ¢ ¤¨ ¯ §®¥ ¯ ¬ïâ¨, 㪠§ ®¬ ¢ëè¥ |
17 | dd 0x0,0x0 ; 㪠§ ⥫ì áâபã á ¯ à ¬¥âà ¬¨. |
16 | dd 0x0,0x0 ; 㪠§ ⥫ì áâபã á ¯ à ¬¥âà ¬¨. |
18 | ; ¥á«¨ ¯®á«¥ § ¯ã᪠¥à ¢® ã«î, ¯à¨«®¦¥¨¥ ¡ë«® |
- | |
19 | ; § ¯ã饮 á ¯ à ¬¥âà ¬¨ ¨§ ª®¬ ¤®© áâப¨ |
- | |
20 | - | ||
21 | ; 㪠§ ⥫ì áâபã, ¢ ª®â®àãî § ¯¨á ¯ãâì, |
- | |
22 | ; ®âªã¤ § ¯ã饮 ¯à¨«®¦¥¨¥ |
17 | include 'macros.inc' |
23 | - | ||
24 | include 'editbox.inc' |
18 | include 'editbox.inc' |
25 | use_edit_box |
19 | use_edit_box |
26 | ;¡« áâì ª®¤ |
20 | ;¡« áâì ª®¤ |
27 | start: ;®çª ¢å®¤ ¢ ¯à®£à ¬¬ã |
21 | start: ;®çª ¢å®¤ ¢ ¯à®£à ¬¬ã |
28 | mov eax,40 ;ãáâ ®¢¨âì ¬ áªã ¤«ï ®¦¨¤ ¥¬ëå ᮡë⨩ |
22 | mcall 40,0x27 ;ãáâ ®¢¨âì ¬ áªã ¤«ï ®¦¨¤ ¥¬ëå ᮡë⨩ |
29 | mov ebx,0x27 ;á¨á⥬ ¡ã¤¥â ॠ£¨à®¢ âì ⮫쪮 á®®¡é¥¨¥ ® ¯¥à¥à¨á®¢ª¥, ¦ â ª®¯ª , ®¯à¥¤¥«ñ ï à ¥¥, ᮡë⨥ ®â ¬ëè¨ (çâ®-â® á«ã稫®áì - ¦ ⨥ ª®¯ªã ¬ëè¨ ¨«¨ ¯¥à¥¬¥é¥¨¥; á¡à áë¢ ¥âáï ¯à¨ ¯à®ç⥨¨) ¨ ¦ ⨥ ª« ¢¨è¨ |
23 | ;á¨á⥬ ¡ã¤¥â ॠ£¨à®¢ âì ⮫쪮 á®®¡é¥¨¥ ® ¯¥à¥à¨á®¢ª¥, ¦ â ª®¯ª , ®¯à¥¤¥«ñ ï à ¥¥, ᮡë⨥ ®â ¬ëè¨ (çâ®-â® á«ã稫®áì - ¦ ⨥ ª®¯ªã ¬ëè¨ ¨«¨ ¯¥à¥¬¥é¥¨¥; á¡à áë¢ ¥âáï ¯à¨ ¯à®ç⥨¨) ¨ ¦ ⨥ ª« ¢¨è¨ |
30 | int 0x40 |
- | |
31 | red_win: |
24 | red_win: |
32 | call draw_window ;¯¥à¢® ç «ì® ¥®¡å®¤¨¬® à¨á®¢ âì ®ª® |
25 | call draw_window ;¯¥à¢® ç «ì® ¥®¡å®¤¨¬® à¨á®¢ âì ®ª® |
33 | still: ;®á®¢®© ®¡à ¡®â稪 |
26 | still: ;®á®¢®© ®¡à ¡®â稪 |
34 | mov eax,10 ;¦¨¤ âì ᮡëâ¨ï |
- | |
35 | int 0x40 ;®¦¨¤ âì ᮡë⨥ ¢ â¥ç¥¨¥ 2 ¬¨««¨á¥ªã¤ |
27 | mcall 10 ;¦¨¤ âì ᮡëâ¨ï ¢ â¥ç¥¨¥ 2 ¬¨««¨á¥ªã¤ |
Line 36... | Line 28... | ||
36 | 28 | ||
37 | cmp al,0x1 ;¥á«¨ ¨§¬¥¨«®áì ¯®«®¦¥¨¥ ®ª |
29 | cmp al,0x1 ;¥á«¨ ¨§¬¥¨«®áì ¯®«®¦¥¨¥ ®ª |
38 | jz red_win |
30 | jz red_win |
39 | cmp al,0x2 ;¥á«¨ ¦ â ª« ¢¨è â® ¯¥à¥©â¨ |
31 | cmp al,0x2 ;¥á«¨ ¦ â ª« ¢¨è â® ¯¥à¥©â¨ |
Line 43... | Line 35... | ||
43 | mouse_edit_boxes editboxes,editboxes_end |
35 | mouse_edit_boxes editboxes,editboxes_end |
44 | jmp still ;¥á«¨ ¨ç¥£® ¨§ ¯¥à¥ç¨á«¥®£® ⮠ᮢ ¢ 横« |
36 | jmp still ;¥á«¨ ¨ç¥£® ¨§ ¯¥à¥ç¨á«¥®£® ⮠ᮢ ¢ 横« |
45 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
37 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
46 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
38 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
47 | button: |
39 | button: |
48 | mov eax,17 ;¯®«ãç¨âì ¨¤¥â¨ä¨ª â®à ¦ ⮩ ª« ¢¨è¨ |
40 | mcall 17 ;¯®«ãç¨âì ¨¤¥â¨ä¨ª â®à ¦ ⮩ ª« ¢¨è¨ |
49 | int 0x40 |
- | |
50 | test ah,ah ;¥á«¨ ¢ ah 0, â® ¯¥à¥©â¨ ®¡à ¡®â稪 ᮡë⨩ still |
41 | test ah,ah ;¥á«¨ ¢ ah 0, â® ¯¥à¥©â¨ ®¡à ¡®â稪 ᮡë⨩ still |
51 | jz still |
42 | jz still |
52 | or eax,-1 ;¢ eax,-1 - 5 ,¡ ©â®¢ ã á ¦¥ ⮫쪮 3 ¢ë©â¨ |
43 | mcall -1 |
53 | int 0x40 ;¤ «¥¥ ¢ë¯®«ï¥âáï ¢ë室 ¨§ ¯à®£à ¬¬ë |
- | |
54 | - | ||
55 | key: |
44 | key: |
56 | mov eax,2 ;§ £à㧨¬ § 票¥ 2 ¢ ॣ¨áâ®à eax |
- | |
57 | int 0x40 ;¯®«ã稬 ª®¤ ¦ ⮩ ª« ¢¨è¨ |
45 | mcall 2 ;§ £à㧨¬ § 票¥ 2 ¢ ॣ¨áâ®à eax ¨ ¯®«ã稬 ª®¤ ¦ ⮩ ª« ¢¨è¨ |
58 | key_edit_boxes editboxes,editboxes_end |
46 | key_edit_boxes editboxes,editboxes_end |
59 | jmp still |
47 | jmp still |
Line 60... | Line 48... | ||
60 | 48 | ||
61 | ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>> |
49 | ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>> |
62 | draw_window: ;à¨á®¢ ¨¥ ®ª ¯à¨«®¦¥¨ï |
- | |
63 | mov eax,12 ;¢ ॣ¨áâà ¢¥á⨠§ 票¥ = 12 |
- | |
64 | mov ebx,1 ;¯à¨á¢®¨âì 1 |
50 | draw_window: ;à¨á®¢ ¨¥ ®ª ¯à¨«®¦¥¨ï |
65 | int 0x40 |
- | |
66 | - | ||
67 | xor eax,eax ;®¡ã«¨âì eax |
- | |
68 | mov ebx,50*65536+390 ;[ª®®à¤¨ â ¯® ®á¨ x]*65536 + [à §¬¥à ¯® ®á¨ x] |
- | |
69 | mov ecx,30*65536+200 ;[ª®®à¤¨ â ¯® ®á¨ y]*65536 + [à §¬¥à ¯® ®á¨ y] |
- | |
70 | mov edx,0xb3AABBCC ;0xXYRRGGBB Y =3 - ¢ë¢®¤ à ¬ª¨, ¨á¯®«ì§ãï áªà¨ |
51 | mcall 12,1 |
71 | mov esi,0x805080DD ;0xXYRRGGBB - 梥⠧ £®«®¢ª |
- | |
72 | mov edi,hed ;ª § ⥫ì áâபã á § £®«®¢ª®¬ |
- | |
73 | int 0x40 ; à¨á®¢ âì ®ª® ¯à¨«®¦¥¨ï |
- | |
74 | 52 | mcall 0,(50*65536+390),(30*65536+200),0xb3AABBCC,0x805080DD,hed |
|
75 | draw_edit_boxes editboxes,editboxes_end ;à¨á®¢ ¨¥ edit box'®¢ |
- | |
76 | - | ||
77 | mov eax,12 ;ãªæ¨ï 12 - ç âì/§ ª®ç¨âì ¯¥à¥à¨á®¢ªã ®ª . |
- | |
78 | mov ebx,2 ;®¤äãªæ¨ï 2 - § ª®ç¨âì ¯¥à¥à¨á®¢ªã ®ª . |
53 | draw_edit_boxes editboxes,editboxes_end ;à¨á®¢ ¨¥ edit box'®¢ |
79 | int 0x40 |
54 | mcall 12,2 |
80 | ret |
55 | ret |
81 | ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> |
56 | ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> |
82 | ;DATA ¤ ë¥ |
57 | ;DATA ¤ ë¥ |
83 | editboxes: |
58 | editboxes: |
84 | edit1 edit_box 168,5,10,0xffffff,0,0,0,99,ed_buffer.2,ed_figure_only |
59 | edit1 edit_box 168,5,10,0xffffff,0x6a9480,0,0,0,99,ed_buffer.2,ed_figure_only |
85 | edit2 edit_box 250,5,30,0xffffff,0,0xAABBCC,0,308,hed,ed_focus,53 |
60 | edit2 edit_box 250,5,30,0xffffff,0x6a9480,0,0xAABBCC,0,308,hed,ed_focus,53,53 |
86 | edit3 edit_box 35,5,50,0xffffff,0,0,0,9,ed_buffer.3,ed_figure_only |
61 | edit3 edit_box 35,5,50,0xffffff,0x6a9480,0,0,0,9,ed_buffer.3,ed_figure_only |
87 | edit4 edit_box 16,5,70,0xffffff,0,0,0,1,ed_buffer.4,ed_figure_only |
62 | edit4 edit_box 16,5,70,0xffffff,0x6a9480,0,0,0,1,ed_buffer.4,ed_figure_only |
88 | editboxes_end: |
63 | editboxes_end: |
- | 64 | data_of_code dd 0 |
|
- | 65 | mouse_flag dd 0x0 |
|
- | 66 | hed db 'EDITBOX optimization and retype |
|
89 | data_of_code dd 0 |
67 | rb 256 |
90 | ed_buffer: |
68 | ed_buffer: |
91 | ;.1: rb 514;256 |
69 | ;.1: rb 514;256 |
92 | .2: rb 101 |
70 | .2: rb 101 |
93 | .3: rb 11 |
71 | .3: rb 11 |
94 | .4: rb 3 |
72 | .4: rb 3 |
95 | ;¤¢ § ¯ áëå ¡ ©â ¥®¡å®¤¨¬ë ¤«ï ⮣® çâ® ¡ë ¥ ¯¥¯¥à¥¯¨á âì á«¥¤ãî騥© ¡ ©âë, ¢ ª®æ¥ ¡ãä¥à 0 |
73 | ;¤¢ § ¯ áëå ¡ ©â ¥®¡å®¤¨¬ë ¤«ï ⮣® çâ® ¡ë ¥ ¯¥¯¥à¥¯¨á âì á«¥¤ãî騥© ¡ ©âë, ¢ ª®æ¥ ¡ãä¥à 0 |
96 | buffer_end: |
- | |
97 | hed db 'EDITBOX optimization and retype |
- | |
98 | rb 256 |
- | |
99 | mouse_flag: dd 0x0 |
74 | buffer_end: |
100 | structure_of_potock: |
75 | structure_of_potock: |
101 | rb 1024 ;1 ª¡ ¤«ï ¯®«ãç¥¨ï ®¡é¥© áâàãªâãàë |
76 | rb 1024 ;1 ª¡ ¤«ï ¯®«ãç¥¨ï ®¡é¥© áâàãªâãàë |
102 | rb 1024 |
77 | rb 1024 |
103 | i_end: |
78 | i_end: |