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