Rev 195 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 195 | Rev 485 | ||
---|---|---|---|
Line 7... | Line 7... | ||
7 | ;; ;; |
7 | ;; ;; |
8 | ;; Compile with FASM for Menuet ;; |
8 | ;; Compile with FASM for Menuet ;; |
9 | ;; ;; |
9 | ;; ;; |
10 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
10 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
Line 11... | Line 11... | ||
11 | 11 | ||
- | 12 | version equ '0.5' |
|
- | 13 | ||
- | 14 | ||
- | 15 | ;__DEBUG__ equ 1 |
|
Line 12... | Line 16... | ||
12 | version equ '0.4' |
16 | ;__DEBUG_LEVEL__ equ 1 |
Line 13... | Line 17... | ||
13 | 17 | ||
Line 21... | Line 25... | ||
21 | dd I_END ; program image size |
25 | dd I_END ; program image size |
22 | dd 0x100000 ; required amount of memory |
26 | dd 0x100000 ; required amount of memory |
23 | dd 0x100000 |
27 | dd 0x100000 |
24 | dd 0,0 |
28 | dd 0,0 |
Line -... | Line 29... | ||
- | 29 | ||
- | 30 | include "..\..\..\macros.inc" |
|
25 | 31 | ;include "fdo.inc" |
|
26 | include "lang.inc" |
32 | include "eth.inc" |
Line 27... | Line 33... | ||
27 | ;include "macros.inc" |
33 | ;include "lang.inc" |
Line 28... | Line 34... | ||
28 | 34 | ||
29 | irc_server_ip db 83,149,74,246 ;server: kolibrios.org |
35 | irc_server_ip db 83,149,74,246 ;server: kolibrios.org |
Line 37... | Line 43... | ||
37 | 43 | ||
Line 38... | Line 44... | ||
38 | START: ; start of execution |
44 | START: ; start of execution |
39 | 45 | ||
40 | mov eax,40 |
46 | mov eax,40 |
Line 41... | Line 47... | ||
41 | mov ebx,10000111b |
47 | mov ebx,10000111b |
42 | int 0x40 |
48 | mcall |
43 | 49 | ||
44 | mov edi,I_END |
50 | mov edi,I_END |
Line 59... | Line 65... | ||
59 | 65 | ||
Line 60... | Line 66... | ||
60 | inc [cursor_on_off] |
66 | inc [cursor_on_off] |
61 | 67 | ||
62 | mov eax,5 |
68 | mov eax,5 |
Line 63... | Line 69... | ||
63 | mov ebx,1 |
69 | mov ebx,1 |
64 | int 0x40 |
70 | mcall |
Line 65... | Line 71... | ||
65 | 71 | ||
Line 66... | Line 72... | ||
66 | mov eax,11 ; wait here for event |
72 | mov eax,11 ; wait here for event |
67 | int 0x40 |
73 | mcall |
Line 103... | Line 109... | ||
103 | 109 | ||
Line 104... | Line 110... | ||
104 | 110 | ||
105 | button: ; button |
111 | button: ; button |
Line 106... | Line 112... | ||
106 | 112 | ||
107 | mov eax,17 ; get id |
113 | mov eax,17 ; get id |
108 | int 0x40 |
114 | mcall |
109 | 115 | ||
110 | cmp ah,1 ; close program |
116 | cmp ah,1 ; close program |
Line 111... | Line 117... | ||
111 | jne noclose |
117 | jne noclose |
Line 112... | Line 118... | ||
112 | mov eax,-1 |
118 | mov eax,-1 |
Line 123... | Line 129... | ||
123 | pusha |
129 | pusha |
Line 124... | Line 130... | ||
124 | 130 | ||
125 | mov eax,53 |
131 | mov eax,53 |
126 | mov ebx,6 |
132 | mov ebx,6 |
127 | mov ecx,[socket] |
133 | mov ecx,[socket] |
Line 128... | Line 134... | ||
128 | int 0x40 |
134 | mcall |
Line 129... | Line 135... | ||
129 | 135 | ||
130 | mov [status],eax |
136 | mov [status],eax |
Line 138... | Line 144... | ||
138 | 144 | ||
139 | mov eax,13 |
145 | mov eax,13 |
140 | mov ebx,450*65536+30 |
146 | mov ebx,450*65536+30 |
141 | mov ecx,231*65536+10 |
147 | mov ecx,231*65536+10 |
142 | mov edx,0xffffff |
148 | mov edx,0xffffff |
Line 143... | Line 149... | ||
143 | int 0x40 |
149 | mcall |
144 | 150 | ||
145 | pop ecx |
151 | pop ecx |
146 | mov eax,47 |
152 | mov eax,47 |
147 | mov ebx,2*65536 |
153 | mov ebx,2*65536 |
148 | mov edx,450*65536+231 |
154 | mov edx,450*65536+231 |
Line 149... | Line 155... | ||
149 | mov esi,0x000000 |
155 | mov esi,0x000000 |
Line 150... | Line 156... | ||
150 | int 0x40 |
156 | mcall |
Line 162... | Line 168... | ||
162 | socket_commands: |
168 | socket_commands: |
Line 163... | Line 169... | ||
163 | 169 | ||
164 | cmp ah,22 ; open socket |
170 | cmp ah,22 ; open socket |
165 | jnz tst3 |
171 | jnz tst3 |
166 | mov eax,3 |
172 | mov eax,3 |
167 | int 0x40 |
173 | mcall |
168 | mov ecx,eax |
174 | mov ecx,eax |
169 | mov eax,53 |
175 | mov eax,53 |
170 | mov ebx,5 |
176 | mov ebx,5 |
171 | mov edx,6667 |
177 | mov edx,6667 |
172 | mov esi,dword [irc_server_ip] |
178 | mov esi,dword [irc_server_ip] |
173 | mov edi,1 |
179 | mov edi,1 |
174 | int 0x40 |
180 | mcall |
175 | mov [socket], eax |
181 | mov [socket], eax |
176 | ret |
182 | ret |
Line 183... | Line 189... | ||
183 | mov eax,53 ; user |
189 | mov eax,53 ; user |
184 | mov ebx,7 |
190 | mov ebx,7 |
185 | mov ecx,[socket] |
191 | mov ecx,[socket] |
186 | mov edx,string0l-string0 |
192 | mov edx,string0l-string0 |
187 | mov esi,string0 |
193 | mov esi,string0 |
188 | int 0x40 |
194 | mcall |
Line 189... | Line 195... | ||
189 | 195 | ||
190 | mov eax,53 ; |
196 | mov eax,53 ; |
191 | mov ebx,7 |
197 | mov ebx,7 |
192 | mov ecx,[socket] |
198 | mov ecx,[socket] |
193 | mov edx,[user_real_name] |
199 | mov edx,[user_real_name] |
194 | mov esi,user_real_name+4 |
200 | mov esi,user_real_name+4 |
Line 195... | Line 201... | ||
195 | int 0x40 |
201 | mcall |
196 | 202 | ||
197 | mov eax,53 ; |
203 | mov eax,53 ; |
198 | mov ebx,7 |
204 | mov ebx,7 |
199 | mov ecx,[socket] |
205 | mov ecx,[socket] |
200 | mov edx,2 |
206 | mov edx,2 |
Line 201... | Line 207... | ||
201 | mov esi,line_feed |
207 | mov esi,line_feed |
202 | int 0x40 |
208 | mcall |
203 | 209 | ||
Line 204... | Line 210... | ||
204 | 210 | ||
205 | mov eax,5 |
211 | mov eax,5 |
206 | mov ebx,10 |
212 | mov ebx,10 |
207 | int 0x40 |
213 | mcall |
208 | 214 | ||
209 | mov eax,53 ; nick |
215 | mov eax,53 ; nick |
Line 210... | Line 216... | ||
210 | mov ebx,7 |
216 | mov ebx,7 |
211 | mov ecx,[socket] |
217 | mov ecx,[socket] |
212 | mov edx,string1l-string1 |
218 | mov edx,string1l-string1 |
213 | mov esi,string1 |
219 | mov esi,string1 |
214 | int 0x40 |
220 | mcall |
215 | 221 | ||
Line 216... | Line 222... | ||
216 | mov eax,53 ; |
222 | mov eax,53 ; |
217 | mov ebx,7 |
223 | mov ebx,7 |
218 | mov ecx,[socket] |
224 | mov ecx,[socket] |
219 | mov edx,[user_nick] |
225 | mov edx,[user_nick] |
220 | mov esi,user_nick+4 |
226 | mov esi,user_nick+4 |
221 | int 0x40 |
227 | mcall |
Line 222... | Line 228... | ||
222 | 228 | ||
Line 223... | Line 229... | ||
223 | mov eax,53 ; |
229 | mov eax,53 ; |
Line 238... | Line 244... | ||
238 | cmp ah,24 ; close socket |
244 | cmp ah,24 ; close socket |
239 | jnz no_24 |
245 | jnz no_24 |
240 | mov eax,53 |
246 | mov eax,53 |
241 | mov ebx,8 |
247 | mov ebx,8 |
242 | mov ecx,[socket] |
248 | mov ecx,[socket] |
243 | int 0x40 |
249 | mcall |
244 | ret |
250 | ret |
245 | no_24: |
251 | no_24: |
Line 246... | Line 252... | ||
246 | 252 | ||
Line 247... | Line 253... | ||
247 | 253 | ||
Line 248... | Line 254... | ||
248 | ret |
254 | ret |
249 | 255 | ||
Line 250... | Line 256... | ||
250 | 256 | ||
Line 251... | Line 257... | ||
251 | main_window_key: |
257 | main_window_key: |
252 | 258 | ||
Line 296... | Line 302... | ||
296 | 302 | ||
297 | mov eax,13 |
303 | mov eax,13 |
298 | mov ebx,415*65536+6*13 |
304 | mov ebx,415*65536+6*13 |
299 | mov ecx,27*65536+12*10 |
305 | mov ecx,27*65536+12*10 |
300 | mov edx,0xffffff |
306 | mov edx,0xffffff |
Line 301... | Line 307... | ||
301 | int 0x40 |
307 | mcall |
302 | 308 | ||
303 | mov eax,4 |
309 | mov eax,4 |
304 | mov ebx,415*65536+27 |
310 | mov ebx,415*65536+27 |
305 | mov ecx,[index_list_1] |
311 | mov ecx,[index_list_1] |
306 | mov edx,channel_list+32 |
312 | mov edx,channel_list+32 |
307 | newch: |
313 | newch: |
308 | movzx esi,byte [edx+31] |
314 | movzx esi,byte [edx+31] |
309 | and esi,0x1f |
315 | and esi,0x1f |
310 | int 0x40 |
316 | mcall |
311 | add edx,32 |
317 | add edx,32 |
312 | add ebx,12 |
318 | add ebx,12 |
Line 372... | Line 378... | ||
372 | pusha |
378 | pusha |
373 | mov eax,13 |
379 | mov eax,13 |
374 | mov ebx,415*65536+6*13 |
380 | mov ebx,415*65536+6*13 |
375 | mov ecx,27*65536+12*10 |
381 | mov ecx,27*65536+12*10 |
376 | mov edx,0xffffff |
382 | mov edx,0xffffff |
377 | int 0x40 |
383 | mcall |
378 | popa |
384 | popa |
Line 379... | Line 385... | ||
379 | 385 | ||
380 | mov eax,4 |
386 | mov eax,4 |
Line 396... | Line 402... | ||
396 | cmp [edx],byte '@' |
402 | cmp [edx],byte '@' |
397 | jne no_op |
403 | jne no_op |
398 | mov ecx,[index_list_2] |
404 | mov ecx,[index_list_2] |
399 | no_op: |
405 | no_op: |
Line 400... | Line 406... | ||
400 | 406 | ||
Line 401... | Line 407... | ||
401 | int 0x40 |
407 | mcall |
402 | 408 | ||
403 | inc ebp |
409 | inc ebp |
Line 507... | Line 513... | ||
507 | add edx,ebx |
513 | add edx,ebx |
Line 508... | Line 514... | ||
508 | 514 | ||
509 | mov eax, 53 ; write channel |
515 | mov eax, 53 ; write channel |
510 | mov ebx, 7 |
516 | mov ebx, 7 |
511 | mov ecx, [socket] |
517 | mov ecx, [socket] |
Line 512... | Line 518... | ||
512 | int 0x40 |
518 | mcall |
513 | 519 | ||
514 | mov esi,send_string |
520 | mov esi,send_string |
Line 515... | Line 521... | ||
515 | mov edx,[xpos] |
521 | mov edx,[xpos] |
Line 516... | Line 522... | ||
516 | inc edx |
522 | inc edx |
517 | 523 | ||
518 | call recode_to_cp1251 |
524 | call recode_to_cp1251 |
519 | 525 | ||
Line 520... | Line 526... | ||
520 | mov eax, 53 ; write message |
526 | mov eax, 53 ; write message |
Line 521... | Line 527... | ||
521 | mov ebx, 7 |
527 | mov ebx, 7 |
Line 600... | Line 606... | ||
600 | no_set_real_name: |
606 | no_set_real_name: |
Line 601... | Line 607... | ||
601 | 607 | ||
602 | cmp [send_string+1],dword 'aser' |
608 | cmp [send_string+1],dword 'aser' |
Line 603... | Line 609... | ||
603 | jne no_set_server |
609 | jne no_set_server |
604 | 610 | ||
605 | pusha |
611 | ; pusha |
606 | mov edi,irc_server_ip |
612 | ; mov edi,irc_server_ip |
607 | mov esi,send_string+7 |
613 | ; mov esi,send_string+7 |
608 | mov eax,0 |
614 | ; mov eax,0 |
609 | mov edx,[xpos] |
615 | ; mov edx,[xpos] |
610 | add edx,send_string-1 |
616 | ; add edx,send_string-1 |
611 | newsip: |
617 | ; newsip: |
612 | cmp [esi],byte '.' |
618 | ; cmp [esi],byte '.' |
613 | je sipn |
619 | ; je sipn |
614 | cmp esi,edx |
620 | ; cmp esi,edx |
615 | jg sipn |
621 | ; jg sipn |
616 | movzx ebx,byte [esi] |
622 | ; movzx ebx,byte [esi] |
617 | inc esi |
623 | ; inc esi |
618 | imul eax,10 |
624 | ; imul eax,10 |
619 | sub ebx,48 |
625 | ; sub ebx,48 |
620 | add eax,ebx |
626 | ; add eax,ebx |
621 | jmp newsip |
627 | ; jmp newsip |
622 | sipn: |
628 | ; sipn: |
623 | mov [edi],al |
629 | ; mov [edi],al |
624 | xor eax,eax |
630 | ; xor eax,eax |
625 | inc esi |
631 | ; inc esi |
626 | cmp esi,send_string+30 |
632 | ; cmp esi,send_string+30 |
627 | jg sipnn |
633 | ; jg sipnn |
628 | inc edi |
634 | ; inc edi |
629 | cmp edi,irc_server_ip+3 |
635 | ; cmp edi,irc_server_ip+3 |
- | 636 | ; jbe newsip |
|
- | 637 | ; sipnn: |
|
- | 638 | ; popa |
|
- | 639 | ||
- | 640 | pusha |
|
- | 641 | mov eax,send_string |
|
- | 642 | add eax,[xpos] |
|
- | 643 | mov dword[eax],0 |
|
630 | jbe newsip |
644 | resolve send_string+7,dword[irc_server_ip] |
Line 631... | Line 645... | ||
631 | sipnn: |
645 | ;DEBUGF 1,'%u.%u.%u.%u\n',1[irc_server_ip],1[irc_server_ip+1],1[irc_server_ip+2],1[irc_server_ip+3] |
632 | popa |
646 | popa |
Line 713... | Line 727... | ||
713 | add edx,1 |
727 | add edx,1 |
Line 714... | Line 728... | ||
714 | 728 | ||
715 | mov eax, 53 ; write server command |
729 | mov eax, 53 ; write server command |
716 | mov ebx, 7 |
730 | mov ebx, 7 |
717 | mov ecx, [socket] |
731 | mov ecx, [socket] |
Line 718... | Line 732... | ||
718 | int 0x40 |
732 | mcall |
Line 719... | Line 733... | ||
719 | 733 | ||
720 | send_done: |
734 | send_done: |
Line 721... | Line 735... | ||
721 | 735 | ||
722 | mov [xpos],0 |
736 | mov [xpos],0 |
723 | mov [send_to_server],0 |
737 | mov [send_to_server],0 |
724 | 738 | ||
725 | cmp [send_string+1],dword 'quit' |
739 | cmp [send_string+1],dword 'quit' |
Line 726... | Line 740... | ||
726 | jne no_quit_server |
740 | jne no_quit_server |
727 | mov eax,5 |
741 | mov eax,5 |
728 | mov ebx,200 |
742 | mov ebx,200 |
729 | int 0x40 |
743 | mcall |
Line 730... | Line 744... | ||
730 | 744 | ||
731 | mov eax, 53 ; close socket |
745 | mov eax, 53 ; close socket |
732 | mov ebx, 8 |
746 | mov ebx, 8 |
733 | mov ecx, [socket] |
747 | mov ecx, [socket] |
Line 840... | Line 854... | ||
840 | 854 | ||
841 | mov eax,51 |
855 | mov eax,51 |
842 | mov ebx,1 |
856 | mov ebx,1 |
843 | mov ecx,channel_thread |
857 | mov ecx,channel_thread |
844 | mov edx,[thread_stack] |
858 | mov edx,[thread_stack] |
Line 845... | Line 859... | ||
845 | int 0x40 |
859 | mcall |
846 | 860 | ||
847 | mov eax,5 |
861 | mov eax,5 |
Line 848... | Line 862... | ||
848 | mov ebx,10 |
862 | mov ebx,10 |
849 | int 0x40 |
863 | mcall |
Line 850... | Line 864... | ||
850 | 864 | ||
Line 862... | Line 876... | ||
862 | 876 | ||
863 | mov eax,13 |
877 | mov eax,13 |
864 | mov ebx,8*65536+6*80 |
878 | mov ebx,8*65536+6*80 |
865 | mov ecx,151*65536+13 |
879 | mov ecx,151*65536+13 |
866 | mov edx,0xffffff |
880 | mov edx,0xffffff |
Line 867... | Line 881... | ||
867 | int 0x40 |
881 | mcall |
868 | 882 | ||
869 | mov eax,4 |
883 | mov eax,4 |
870 | mov ebx,8*65536+154 |
884 | mov ebx,8*65536+154 |
871 | mov ecx,0x000000 |
885 | mov ecx,0x000000 |
872 | mov edx,send_string |
886 | mov edx,send_string |
Line 873... | Line 887... | ||
873 | mov esi,[xpos] |
887 | mov esi,[xpos] |
Line 874... | Line 888... | ||
874 | int 0x40 |
888 | mcall |
Line 884... | Line 898... | ||
884 | pusha |
898 | pusha |
Line 885... | Line 899... | ||
885 | 899 | ||
886 | mov eax,9 |
900 | mov eax,9 |
887 | mov ebx,0xe0000 |
901 | mov ebx,0xe0000 |
888 | mov ecx,-1 |
902 | mov ecx,-1 |
Line 889... | Line 903... | ||
889 | int 0x40 |
903 | mcall |
890 | 904 | ||
891 | mov edx,[blink] |
905 | mov edx,[blink] |
892 | and edx,1 |
906 | and edx,1 |
Line 905... | Line 919... | ||
905 | mov cx,bx |
919 | mov cx,bx |
906 | shl ebx,16 |
920 | shl ebx,16 |
907 | mov bx,cx |
921 | mov bx,cx |
908 | mov ecx,151*65536+163 |
922 | mov ecx,151*65536+163 |
909 | mov eax,38 |
923 | mov eax,38 |
910 | int 0x40 |
924 | mcall |
Line 911... | Line 925... | ||
911 | 925 | ||
Line 912... | Line 926... | ||
912 | popa |
926 | popa |
Line 917... | Line 931... | ||
917 | 931 | ||
918 | mov eax,13 |
932 | mov eax,13 |
919 | mov ebx,8*65536+6*60 |
933 | mov ebx,8*65536+6*60 |
920 | mov ecx,151*65536+13 |
934 | mov ecx,151*65536+13 |
921 | mov edx,0xffffff |
935 | mov edx,0xffffff |
Line 922... | Line 936... | ||
922 | int 0x40 |
936 | mcall |
Line 923... | Line 937... | ||
923 | 937 | ||
Line 1070... | Line 1084... | ||
1070 | mov ebx,100*65536+3 |
1084 | mov ebx,100*65536+3 |
1071 | mov ecx,0xffffff |
1085 | mov ecx,0xffffff |
1072 | mov edx,command |
1086 | mov edx,command |
1073 | mov esi,[cmd] |
1087 | mov esi,[cmd] |
1074 | mov [command+esi-1],word '**' |
1088 | mov [command+esi-1],word '**' |
1075 | ; int 0x40 |
1089 | ; mcall |
Line 1076... | Line 1090... | ||
1076 | 1090 | ||
1077 | mov eax,53 |
1091 | mov eax,53 |
1078 | mov ebx,7 |
1092 | mov ebx,7 |
1079 | mov ecx,[socket] |
1093 | mov ecx,[socket] |
1080 | mov edx,[cmd] |
1094 | mov edx,[cmd] |
1081 | sub edx,2 |
1095 | sub edx,2 |
1082 | and edx,255 |
1096 | and edx,255 |
1083 | mov esi,command |
1097 | mov esi,command |
Line 1084... | Line 1098... | ||
1084 | int 0x40 |
1098 | mcall |
1085 | 1099 | ||
1086 | mov eax,53 |
1100 | mov eax,53 |
1087 | mov ebx,7 |
1101 | mov ebx,7 |
1088 | mov ecx,[socket] |
1102 | mov ecx,[socket] |
1089 | mov edx,2 |
1103 | mov edx,2 |
Line 1090... | Line 1104... | ||
1090 | mov esi,linef |
1104 | mov esi,linef |
1091 | int 0x40 |
1105 | mcall |
Line 1092... | Line 1106... | ||
1092 | 1106 | ||
Line 1653... | Line 1667... | ||
1653 | db '?','?','?','?','?','?','?','?' , $F1,'?','?','?','?','?','?','?' ; B |
1667 | db '?','?','?','?','?','?','?','?' , $F1,'?','?','?','?','?','?','?' ; B |
1654 | db $80,$81,$82,$83,$84,$85,$86,$87 , $88,$89,$8A,$8B,$8C,$8D,$8E,$8F ; C |
1668 | db $80,$81,$82,$83,$84,$85,$86,$87 , $88,$89,$8A,$8B,$8C,$8D,$8E,$8F ; C |
1655 | db $90,$91,$92,$93,$94,$95,$96,$97 , $98,$99,$9A,$9B,$9C,$9D,$9E,$9F ; D |
1669 | db $90,$91,$92,$93,$94,$95,$96,$97 , $98,$99,$9A,$9B,$9C,$9D,$9E,$9F ; D |
1656 | db $A0,$A1,$A2,$A3,$A4,$A5,$A6,$A7 , $A8,$A9,$AA,$AB,$AC,$AD,$AE,$AF ; E |
1670 | db $A0,$A1,$A2,$A3,$A4,$A5,$A6,$A7 , $A8,$A9,$AA,$AB,$AC,$AD,$AE,$AF ; E |
1657 | db $E0,$E1,$E2,$E3,$E4,$E5,$E6,$E7 , $E8,$E9,$EA,$EB,$EC,$ED,$EE,$EF ; F |
1671 | db $E0,$E1,$E2,$E3,$E4,$E5,$E6,$E7 , $E8,$E9,$EA,$EB,$EC,$ED,$EE,$EF ; F |
- | 1672 | ; 0 1 2 3 4 5 6 7 8 9 A B C D E F |
|
Line 1658... | Line 1673... | ||
1658 | 1673 | ||
1659 | cp866_table: |
1674 | cp866_table: |
1660 | db $C0,$C1,$C2,$C3,$C4,$C5,$C6,$C7 , $C8,$C9,$CA,$CB,$CC,$CD,$CE,$CF ; 8 |
1675 | db $C0,$C1,$C2,$C3,$C4,$C5,$C6,$C7 , $C8,$C9,$CA,$CB,$CC,$CD,$CE,$CF ; 8 |
1661 | db $D0,$D1,$D2,$D3,$D4,$D5,$D6,$D7 , $D8,$D9,$DA,$DB,$DC,$DD,$DE,$DF ; 9 |
1676 | db $D0,$D1,$D2,$D3,$D4,$D5,$D6,$D7 , $D8,$D9,$DA,$DB,$DC,$DD,$DE,$DF ; 9 |
1662 | db $E0,$E1,$E2,$E3,$E4,$E5,$E6,$E7 , $E8,$E9,$EA,$EB,$EC,$ED,$EE,$EF ; A |
1677 | db $E0,$E1,$E2,$E3,$E4,$E5,$E6,$E7 , $E8,$E9,$EA,$EB,$EC,$ED,$EE,$EF ; A |
1663 | db '?','?','?','?','?','?','?','?' , '?','?','?','?','?','?','?','?' ; B |
1678 | db '?','?','?','?','?','?','?','?' , '?','?','?','?','?','?','?','?' ; B |
1664 | db '?','?','?','?','?','?','?','?' , '?','?','?','?','?','?','?','?' ; C |
1679 | db '?','?','?','?','?','?','?','?' , '?','?','?','?','?','?','?','?' ; C |
1665 | db '?','?','?','?','?','?','?','?' , '?','?','?','?','?','?','?','?' ; D |
1680 | db '?','?','?','?','?','?','?','?' , '?','?','?','?','?','?','?','?' ; D |
1666 | db $F0,$F1,$F2,$F3,$F4,$F5,$F6,$F7 , $F8,$F9,$FA,$FB,$FC,$FD,$FE,$FF ; E |
1681 | db $F0,$F1,$F2,$F3,$F4,$F5,$F6,$F7 , $F8,$F9,$FA,$FB,$FC,$FD,$FE,$FF ; E |
1667 | db $A8,$B8,'?','?','?','?','?','?' , '?','?','?','?','?','?','?','?' ; F |
- | |
- | 1682 | db $A8,$B8,'?','?','?','?','?','?' , '?','?','?','?','?','?','?','?' ; F |
|
Line 1668... | Line 1683... | ||
1668 | 1683 | ; 0 1 2 3 4 5 6 7 8 9 A B C D E F |
|
Line 1669... | Line 1684... | ||
1669 | 1684 | ||
Line 1788... | Line 1803... | ||
1788 | read_incoming_byte: |
1803 | read_incoming_byte: |
Line 1789... | Line 1804... | ||
1789 | 1804 | ||
1790 | mov eax, 53 |
1805 | mov eax, 53 |
1791 | mov ebx, 2 |
1806 | mov ebx, 2 |
1792 | mov ecx, [socket] |
1807 | mov ecx, [socket] |
Line 1793... | Line 1808... | ||
1793 | int 0x40 |
1808 | mcall |
Line 1794... | Line 1809... | ||
1794 | 1809 | ||
1795 | mov ecx,-1 |
1810 | mov ecx,-1 |
Line 1796... | Line 1811... | ||
1796 | 1811 | ||
1797 | cmp eax,0 |
1812 | cmp eax,0 |
1798 | je no_more_data |
1813 | je no_more_data |
1799 | 1814 | ||
Line 1800... | Line 1815... | ||
1800 | mov eax, 53 |
1815 | mov eax, 53 |
1801 | mov ebx, 3 |
1816 | mov ebx, 3 |
1802 | mov ecx, [socket] |
1817 | mov ecx, [socket] |
1803 | int 0x40 |
1818 | mcall |
Line 1820... | Line 1835... | ||
1820 | 1835 | ||
Line 1821... | Line 1836... | ||
1821 | pusha |
1836 | pusha |
1822 | 1837 | ||
1823 | mov eax,12 |
1838 | mov eax,12 |
Line 1824... | Line 1839... | ||
1824 | mov ebx,1 |
1839 | mov ebx,1 |
Line 1825... | Line 1840... | ||
1825 | int 0x40 |
1840 | mcall |
1826 | 1841 | ||
1827 | mov [old_status],300 |
1842 | mov [old_status],300 |
1828 | 1843 | ||
1829 | mov eax,0 ; draw window |
1844 | xor eax,eax ; draw window |
1830 | mov ebx,5*65536+499 |
- | |
1831 | mov ecx,5*65536+345 |
- | |
1832 | mov edx,[wcolor] |
- | |
1833 | add edx,0x03ffffff |
- | |
1834 | mov esi,0x80555599 |
- | |
1835 | mov edi,0x00ffffff |
- | |
1836 | int 0x40 |
- | |
1837 | 1845 | mov ebx,5*65536+499 |
|
1838 | mov eax,4 ; label |
- | |
1839 | mov ebx,9*65536+8 |
1846 | mov ecx,5*65536+345 |
Line 1840... | Line 1847... | ||
1840 | mov ecx,0x10ffffff |
1847 | mov edx,[wcolor] |
1841 | mov edx,labelt |
1848 | add edx,0x13ffffff |
1842 | mov esi,labellen-labelt |
1849 | mov edi,title |
1843 | int 0x40 |
1850 | mcall |
1844 | 1851 | ||
1845 | mov eax,8 ; button: open socket |
1852 | mov eax,8 ; button: open socket |
Line 1846... | Line 1853... | ||
1846 | mov ebx,43*65536+22 |
1853 | mov ebx,43*65536+22 |
1847 | mov ecx,229*65536+10 |
1854 | mov ecx,229*65536+10 |
1848 | mov edx,22 |
1855 | mov edx,22 |
1849 | mov esi,[main_button] |
1856 | mov esi,[main_button] |
1850 | int 0x40 |
1857 | mcall |
Line 1851... | Line 1858... | ||
1851 | 1858 | ||
1852 | mov eax,8 ; button: send userinfo |
1859 | ;mov eax,8 ; button: send userinfo |
1853 | mov ebx,180*65536+22 |
1860 | mov ebx,180*65536+22 |
1854 | mov ecx,229*65536+10 |
1861 | mov ecx,229*65536+10 |
1855 | mov edx,23 |
1862 | mov edx,23 |
Line 1856... | Line 1863... | ||
1856 | int 0x40 |
1863 | mcall |
1857 | 1864 | ||
1858 | mov eax,8 ; button: close socket |
1865 | ;mov eax,8 ; button: close socket |
1859 | mov ebx,317*65536+22 |
1866 | mov ebx,317*65536+22 |
1860 | mov ecx,229*65536+10 |
1867 | mov ecx,229*65536+10 |
1861 | mov edx,24 |
1868 | mov edx,24 |
1862 | int 0x40 |
- | |
1863 | - | ||
Line 1864... | Line 1869... | ||
1864 | mov eax,38 ; line |
1869 | mcall |
1865 | mov ebx,5*65536+494 |
1870 | |
1866 | mov ecx,148*65536+148 |
1871 | mov eax,38 ; line |
1867 | mov edx,[main_line] |
1872 | mov ebx,5*65536+494 |
1868 | int 0x40 |
1873 | mov ecx,148*65536+148 |
1869 | add ecx,1*65536+1 |
- | |
1870 | ; mov edx,0x5555cc |
- | |
Line 1871... | Line 1874... | ||
1871 | ; int 0x40 |
1874 | mov edx,[main_line] |
1872 | 1875 | mcall |
|
1873 | mov eax,38 ; line |
1876 | add ecx,1*65536+1 |
1874 | mov ebx,5*65536+494 |
1877 | |
1875 | mov ecx,166*65536+166 |
1878 | mov eax,38 ; line |
1876 | int 0x40 |
- | |
1877 | add ecx,1*65536+1 |
- | |
Line 1878... | Line 1879... | ||
1878 | ; mov edx,0x5555cc |
1879 | mov ebx,5*65536+494 |
1879 | ; int 0x40 |
1880 | mov ecx,166*65536+166 |
1880 | 1881 | mcall |
|
1881 | mov eax,38 ; line |
1882 | add ecx,1*65536+1 |
1882 | mov ebx,410*65536+410 |
1883 | |
1883 | mov ecx,22*65536+148 |
1884 | mov eax,38 ; line |
1884 | int 0x40 |
1885 | mov ebx,410*65536+410 |
1885 | add ebx,1*65536+1 |
1886 | mov ecx,22*65536+148 |
1886 | ; mov edx,0x5555cc |
1887 | mcall |
1887 | ; int 0x40 |
1888 | add ebx,1*65536+1 |
1888 | 1889 | ||
Line 1889... | Line 1890... | ||
1889 | mov ebx,25*65536+183 ; info text |
1890 | mov ebx,25*65536+183 ; info text |
1890 | mov ecx,0x000000 |
1891 | mov ecx,0x000000 |
Line 1891... | Line 1892... | ||
1891 | mov edx,text |
1892 | mov edx,text |
1892 | mov esi,70 |
1893 | mov esi,70 |
1893 | newline: |
1894 | newline: |
Line 1894... | Line 1895... | ||
1894 | mov eax,4 |
1895 | mov eax,4 |
Line 1895... | Line 1896... | ||
1895 | int 0x40 |
1896 | mcall |
Line 1914... | Line 1915... | ||
1914 | 1915 | ||
Line 1915... | Line 1916... | ||
1915 | 1916 | ||
1916 | text: |
1917 | text: |
1917 | 1918 | ||
1918 | db ' Real name : KolibriOS User - change with eg /areal Jill User ' |
1919 | db ' Real name : KolibriOS User - change with eg /areal Jill User ' |
1919 | db ' Nick : kolibri_user - change with eg /anick Jill ' |
1920 | db ' Nick : KolibriOS User - change with eg /anick Jill ' |
1920 | db ' Server : 83.149.74.246 - change with eg /aserv 192.168.1.24 ' |
1921 | db ' Server : kolibrios.org - change with eg /aserv irc.by ' |
1921 | db ' ' |
1922 | db ' ' |
1922 | db ' 1) Open socket 2) Send userinfo Close socket ' |
1923 | db ' 1) Open socket 2) Send userinfo Close socket ' |
Line 1972... | Line 1973... | ||
1972 | mov edi,ebp |
1973 | mov edi,ebp |
1973 | shl edi,5 |
1974 | shl edi,5 |
1974 | mov dword [channel_list+edi],dword ' ' |
1975 | mov dword [channel_list+edi],dword ' ' |
1975 | mov byte [channel_list+edi+31],byte 1 |
1976 | mov byte [channel_list+edi+31],byte 1 |
1976 | mov eax,-1 |
1977 | mov eax,-1 |
1977 | int 0x40 |
1978 | mcall |
1978 | no_channel_leave: |
1979 | no_channel_leave: |
Line 1979... | Line 1980... | ||
1979 | 1980 | ||
Line 1980... | Line 1981... | ||
1980 | call check_mouse |
1981 | call check_mouse |
1981 | 1982 | ||
1982 | mov eax,23 |
1983 | mov eax,23 |
Line 1983... | Line 1984... | ||
1983 | mov ebx,1 |
1984 | mov ebx,1 |
1984 | int 0x40 |
1985 | mcall |
1985 | 1986 | ||
1986 | cmp eax,1 |
1987 | cmp eax,1 |
Line 1994... | Line 1995... | ||
1994 | je thread_key |
1995 | je thread_key |
Line 1995... | Line 1996... | ||
1995 | 1996 | ||
1996 | cmp eax,3 |
1997 | cmp eax,3 |
1997 | jne no_end |
1998 | jne no_end |
1998 | mov eax,17 |
1999 | mov eax,17 |
1999 | int 0x40 |
2000 | mcall |
2000 | mov eax,ebp |
2001 | mov eax,ebp |
2001 | imul eax,120*80 |
2002 | imul eax,120*80 |
2002 | add eax,I_END |
2003 | add eax,I_END |
2003 | cmp [eax+120*60+8],byte 0 ; channel window |
2004 | cmp [eax+120*60+8],byte 0 ; channel window |
Line 2006... | Line 2007... | ||
2006 | shl eax,5 |
2007 | shl eax,5 |
2007 | add eax,channel_list |
2008 | add eax,channel_list |
2008 | mov [eax],dword ' ' |
2009 | mov [eax],dword ' ' |
2009 | mov [eax+31],byte 1 |
2010 | mov [eax+31],byte 1 |
2010 | mov eax,-1 |
2011 | mov eax,-1 |
2011 | int 0x40 |
2012 | mcall |
2012 | not_close: |
2013 | not_close: |
2013 | mov [text_start],eax |
2014 | mov [text_start],eax |
2014 | mov eax,nocl |
2015 | mov eax,nocl |
2015 | newcc: |
2016 | newcc: |
2016 | mov bl,[eax] |
2017 | mov bl,[eax] |
Line 2045... | Line 2046... | ||
2045 | 2046 | ||
Line 2046... | Line 2047... | ||
2046 | pusha |
2047 | pusha |
2047 | 2048 | ||
2048 | mov eax,37 |
2049 | mov eax,37 |
Line 2049... | Line 2050... | ||
2049 | mov ebx,1 |
2050 | mov ebx,1 |
2050 | int 0x40 |
2051 | mcall |
2051 | 2052 | ||
Line 2071... | Line 2072... | ||
2071 | add eax,120*70+I_END |
2072 | add eax,120*70+I_END |
2072 | inc dword [eax-8] |
2073 | inc dword [eax-8] |
2073 | call print_user_list |
2074 | call print_user_list |
2074 | mov eax,5 |
2075 | mov eax,5 |
2075 | mov ebx,8 |
2076 | mov ebx,8 |
2076 | int 0x40 |
2077 | mcall |
2077 | jmp no_mouse |
2078 | jmp no_mouse |
2078 | no_plus: |
2079 | no_plus: |
Line 2079... | Line 2080... | ||
2079 | 2080 | ||
2080 | cmp ebx,80 |
2081 | cmp ebx,80 |
Line 2086... | Line 2087... | ||
2086 | je no_mouse |
2087 | je no_mouse |
2087 | dec dword [eax-8] |
2088 | dec dword [eax-8] |
2088 | call print_user_list |
2089 | call print_user_list |
2089 | mov eax,5 |
2090 | mov eax,5 |
2090 | mov ebx,8 |
2091 | mov ebx,8 |
2091 | int 0x40 |
2092 | mcall |
Line 2092... | Line 2093... | ||
2092 | 2093 | ||
Line 2093... | Line 2094... | ||
2093 | no_minus: |
2094 | no_minus: |
Line 2102... | Line 2103... | ||
2102 | 2103 | ||
Line 2103... | Line 2104... | ||
2103 | 2104 | ||
2104 | thread_key: |
2105 | thread_key: |
Line 2105... | Line 2106... | ||
2105 | 2106 | ||
Line 2106... | Line 2107... | ||
2106 | mov eax,2 |
2107 | mov eax,2 |
2107 | int 0x40 |
2108 | mcall |
Line 2137... | Line 2138... | ||
2137 | mov dword [send_to_channel],ebp |
2138 | mov dword [send_to_channel],ebp |
2138 | mov [send_to_server],1 |
2139 | mov [send_to_server],1 |
2139 | wait_for_sending: |
2140 | wait_for_sending: |
2140 | mov eax,5 |
2141 | mov eax,5 |
2141 | mov ebx,1 |
2142 | mov ebx,1 |
2142 | int 0x40 |
2143 | mcall |
2143 | cmp [send_to_server],1 |
2144 | cmp [send_to_server],1 |
2144 | je wait_for_sending |
2145 | je wait_for_sending |
2145 | call draw_channel_text |
2146 | call draw_channel_text |
2146 | call print_entry |
2147 | call print_entry |
2147 | jmp w_t |
2148 | jmp w_t |
Line 2170... | Line 2171... | ||
2170 | mov eax,13 |
2171 | mov eax,13 |
2171 | mov ebx,10*65536 |
2172 | mov ebx,10*65536 |
2172 | mov bx,word [rxs] |
2173 | mov bx,word [rxs] |
2173 | imul bx,6 |
2174 | imul bx,6 |
2174 | mov edx,0xffffff |
2175 | mov edx,0xffffff |
2175 | int 0x40 |
2176 | mcall |
2176 | popa |
2177 | popa |
2177 | push ecx |
2178 | push ecx |
2178 | mov eax,4 |
2179 | mov eax,4 |
2179 | mov ecx,0 |
2180 | mov ecx,0 |
2180 | cmp [edx],word '* ' |
2181 | cmp [edx],word '* ' |
Line 2189... | Line 2190... | ||
2189 | no_light_blue: |
2190 | no_light_blue: |
2190 | cmp [edx],byte '#' |
2191 | cmp [edx],byte '#' |
2191 | jne no_blue |
2192 | jne no_blue |
2192 | mov ecx,0x0000ff |
2193 | mov ecx,0x0000ff |
2193 | no_blue: |
2194 | no_blue: |
2194 | int 0x40 |
2195 | mcall |
2195 | add edx,[rxs] |
2196 | add edx,[rxs] |
2196 | add ebx,10 |
2197 | add ebx,10 |
2197 | pop ecx |
2198 | pop ecx |
2198 | loop dct |
2199 | loop dct |
Line 2208... | Line 2209... | ||
2208 | 2209 | ||
Line 2209... | Line 2210... | ||
2209 | pusha |
2210 | pusha |
2210 | 2211 | ||
2211 | mov eax,12 |
2212 | mov eax,12 |
Line 2212... | Line 2213... | ||
2212 | mov ebx,1 |
2213 | mov ebx,1 |
2213 | int 0x40 |
2214 | mcall |
2214 | 2215 | ||
2215 | mov ebx,ebp ; draw window |
2216 | mov ebx,ebp ; draw window |
Line 2229... | Line 2230... | ||
2229 | mov edx,[wcolor] |
2230 | mov edx,[wcolor] |
2230 | add edx,0x03ffffff |
2231 | add edx,0x03ffffff |
2231 | mov esi,0x80555599 |
2232 | mov esi,0x80555599 |
2232 | mov edi,0x00ffffff |
2233 | mov edi,0x00ffffff |
Line 2233... | Line 2234... | ||
2233 | 2234 | ||
Line 2234... | Line 2235... | ||
2234 | int 0x40 |
2235 | mcall |
2235 | 2236 | ||
2236 | mov eax,ebp ; label |
2237 | mov eax,ebp ; label |
2237 | add eax,48 |
2238 | add eax,48 |
Line 2250... | Line 2251... | ||
2250 | add esi,ebx |
2251 | add esi,ebx |
2251 | mov eax,4 |
2252 | mov eax,4 |
2252 | mov ebx,9*65536+8 |
2253 | mov ebx,9*65536+8 |
2253 | mov ecx,0x00ffffff |
2254 | mov ecx,0x00ffffff |
2254 | mov edx,labelc |
2255 | mov edx,labelc |
2255 | int 0x40 |
2256 | mcall |
Line 2256... | Line 2257... | ||
2256 | 2257 | ||
2257 | mov eax,38 ; line |
2258 | mov eax,38 ; line |
2258 | mov ebx,5*65536+494 |
2259 | mov ebx,5*65536+494 |
2259 | mov ecx,148*65536+148 |
2260 | mov ecx,148*65536+148 |
2260 | mov edx,[channel_line_sun] |
2261 | mov edx,[channel_line_sun] |
2261 | int 0x40 |
2262 | mcall |
2262 | add ecx,1*65536+1 |
2263 | add ecx,1*65536+1 |
2263 | mov edx,[channel_line_shadow] |
2264 | mov edx,[channel_line_shadow] |
Line 2264... | Line 2265... | ||
2264 | int 0x40 |
2265 | mcall |
2265 | 2266 | ||
2266 | 2267 | ||
2267 | mov eax,38 ; line |
2268 | ;mov eax,38 ; line |
2268 | mov ebx,410*65536+410 |
2269 | mov ebx,410*65536+410 |
2269 | mov ecx,22*65536+148 |
2270 | mov ecx,22*65536+148 |
2270 | mov edx,[channel_line_sun] |
2271 | mov edx,[channel_line_sun] |
2271 | int 0x40 |
2272 | mcall |
Line 2272... | Line 2273... | ||
2272 | add ebx,1*65536+1 |
2273 | add ebx,1*65536+1 |
2273 | mov edx,[channel_line_shadow] |
2274 | mov edx,[channel_line_shadow] |
2274 | int 0x40 |
2275 | mcall |
Line 2275... | Line 2276... | ||
2275 | 2276 | ||
Line 2276... | Line 2277... | ||
2276 | mov eax,12 |
2277 | mov eax,12 |
Line 2277... | Line -... | ||
2277 | mov ebx,2 |
- | |
2278 | int 0x40 |
2278 | mov ebx,2 |
Line 2279... | Line 2279... | ||
2279 | 2279 | mcall |
|
Line 2280... | Line 2280... | ||
2280 | popa |
2280 | |
Line 2374... | Line 2374... | ||
2374 | numtext db ' ' |
2374 | numtext db ' ' |
Line 2375... | Line 2375... | ||
2375 | 2375 | ||
Line 2376... | Line 2376... | ||
2376 | wcolor dd 0x000000 |
2376 | wcolor dd 0x000000 |
2377 | 2377 | ||
- | 2378 | labelc db 'AIRC - WINDOW X: #xxx ' |
|
- | 2379 | title db 'IRC client ',version,0 |
|
- | 2380 | ||
- | 2381 | ;include_debug_strings ; ALWAYS present in data section |
|
2378 | labelc db 'AIRC - WINDOW X: #xxx ' |
2382 | |
Line 2379... | Line 2383... | ||
2379 | labelt db 'IRC client ',version |
2383 | dnsMsg: rb 512 ; buffer used by DNS client |
2380 | labellen: |
2384 | |
2381 | 2385 | ||
2382 | ;; |
2386 | ;; |