Subversion Repositories Kolibri OS

Rev

Rev 109 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 109 Rev 195
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
 
Line 12... Line 12...
12
version equ '0.3'
12
version equ '0.4'
Line 13... Line 13...
13
 
13
 
Line 20... Line 20...
20
                dd      START                   ; program start
20
		dd	START			; program start
21
                dd      I_END                   ; program image size
21
		dd	I_END			; program image size
22
                dd      0x100000                ; required amount of memory
22
		dd	0x100000		; required amount of memory
23
                dd      0x100000
23
		dd	0x100000
24
                dd      0,0
24
		dd	0,0
-
 
25
 
25
include "lang.inc"
26
include "lang.inc"
26
include "macros.inc"
27
;include "macros.inc"
Line 27... Line 28...
27
 
28
 
Line 28... Line 29...
28
irc_server_ip   db      192,168,1,1
29
irc_server_ip	db	83,149,74,246		  ;server: kolibrios.org
29
 
30
 
Line 30... Line 31...
30
user_nick       dd      4                                 ; length
31
user_nick	dd	12				        ; length
31
                db      'airc                   '         ; string
32
		db	'kolibri_user           '	  ; string
Line 32... Line 33...
32
 
33
 
Line 33... Line 34...
33
user_real_name  dd      8                                 ; length
34
user_real_name	dd	14				  ; length
Line 421... Line 422...
421
 
422
 
Line -... Line 423...
-
 
423
 
-
 
424
start_user_list_at dd 0x0
-
 
425
 
-
 
426
 
-
 
427
recode_to_cp1251:
-
 
428
	push	esi edx
-
 
429
  .loop:
-
 
430
	lodsb
-
 
431
	cmp	al,0x80
-
 
432
	jb	@f
-
 
433
	and	eax,0x7F
-
 
434
	mov	al,[cp866_table+eax]
-
 
435
    @@: mov	[esi-1],al
Line 422... Line 436...
422
 
436
	dec	edx
Line 423... Line 437...
423
start_user_list_at dd 0x0
437
	jnz	.loop
Line 499... Line 513...
499
 
513
 
500
    mov  esi,send_string
514
    mov  esi,send_string
501
    mov  edx,[xpos]
515
    mov  edx,[xpos]
Line -... Line 516...
-
 
516
    inc  edx
-
 
517
 
502
    inc  edx
518
	call	recode_to_cp1251
503
 
519
 
504
    mov  eax, 53      ; write message
520
    mov  eax, 53      ; write message
505
    mov  ebx, 7
521
    mov  ebx, 7
Line 1628... Line 1644...
1628
 
1644
 
1629
    popa
1645
    popa
Line -... Line 1646...
-
 
1646
    ret
-
 
1647
 
-
 
1648
 
-
 
1649
cp1251_table:
-
 
1650
  db '?','?','?','?','?','?','?','?' , '?','?','?','?','?','?','?','?' ; 8
-
 
1651
  db '?','?','?','?','?','?','?','?' , '?','?','?','?','?','?','?','?' ; 9
-
 
1652
  db '?','?','?','?','?','?','?','?' , $F0,'?','?','?','?','?','?','?' ; A
-
 
1653
  db '?','?','?','?','?','?','?','?' , $F1,'?','?','?','?','?','?','?' ; B
-
 
1654
  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
-
 
1656
  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
-
 
1658
 
-
 
1659
cp866_table:
-
 
1660
  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
-
 
1662
  db $E0,$E1,$E2,$E3,$E4,$E5,$E6,$E7 , $E8,$E9,$EA,$EB,$EC,$ED,$EE,$EF ; A
-
 
1663
  db '?','?','?','?','?','?','?','?' , '?','?','?','?','?','?','?','?' ; B
-
 
1664
  db '?','?','?','?','?','?','?','?' , '?','?','?','?','?','?','?','?' ; C
-
 
1665
  db '?','?','?','?','?','?','?','?' , '?','?','?','?','?','?','?','?' ; D
Line 1630... Line 1666...
1630
    ret
1666
  db $F0,$F1,$F2,$F3,$F4,$F5,$F6,$F7 , $F8,$F9,$FA,$FB,$FC,$FD,$FE,$FF ; E
Line 1631... Line 1667...
1631
 
1667
  db $A8,$B8,'?','?','?','?','?','?' , '?','?','?','?','?','?','?','?' ; F
Line 1747... Line 1783...
1747
 
1783
 
1748
    popa
1784
    popa
Line 1749... Line -...
1749
    ret
-
 
1750
 
1785
    ret
Line 1751... Line 1786...
1751
 
1786
 
1752
 
1787
 
1753
read_incoming_byte:
1788
read_incoming_byte:
Line 1765... Line 1800...
1765
    mov  eax, 53
1800
    mov  eax, 53
1766
    mov  ebx, 3
1801
    mov  ebx, 3
1767
    mov  ecx, [socket]
1802
    mov  ecx, [socket]
1768
    int  0x40
1803
    int  0x40
Line -... Line 1804...
-
 
1804
 
-
 
1805
	cmp	bl,0x80
-
 
1806
	jb	@f
-
 
1807
	and	ebx,0x7F
-
 
1808
	mov	bl,[cp1251_table+ebx]
-
 
1809
    @@:
1769
 
1810
 
Line 1770... Line 1811...
1770
    mov  ecx,0
1811
    mov  ecx,0
Line 1771... Line 1812...
1771
 
1812
 
Line 1872... Line 1913...
1872
main_button  dd 0x6565cc
1913
main_button  dd 0x6565cc
Line 1873... Line 1914...
1873
 
1914
 
Line 1874... Line 1915...
1874
 
1915
 
1875
text:
1916
text:
1876
 
1917
 
1877
db '   Real name : Joe User        - change with eg /areal Jill User      '
1918
db '   Real name : KolibriOS User  - change with eg /areal Jill User      '
1878
db '   Nick      : AIRC            - change with eg /anick Jill           '
1919
db '   Nick      : kolibri_user    - change with eg /anick Jill           '
1879
db '   Server    : 192.168.1.1     - change with eg /aserv 192.168.1.24   '
1920
db '   Server    : 83.149.74.246   - change with eg /aserv 192.168.1.24   '
1880
db '                                                                      '
1921
db '                                                                      '
1881
db '        1) Open socket         2) Send userinfo       Close socket    '
1922
db '        1) Open socket         2) Send userinfo       Close socket    '
1882
db '                                                                      '
1923
db '                                                                      '
1883
db '   Commands after established connection:                             '
1924
db '   Commands after established connection:                             '
1884
db '                                                                      '
1925
db '                                                                      '
1885
db '   /join #ChannelName         - eg /join #menuet                      '
1926
db '   /join #ChannelName         - eg /join #general                     '
Line 1886... Line 1927...
1886
db '   /part #ChannelName         - eg /part #linux                       '
1927
db '   /part #ChannelName         - eg /part #windows                     '
Line 1887... Line 1928...
1887
db '   /query Nickname            - eg /query Mary                        '
1928
db '   /query Nickname            - eg /query Mary                        '
Line 2278... Line 2319...
2278
action_header_blue  db  10,'*** ',0
2319
action_header_blue  db	10,'*** ',0
2279
action_header_red   db  10,'*** ',0
2320
action_header_red   db	10,'*** ',0
Line 2280... Line 2321...
2280
 
2321
 
Line 2281... Line 2322...
2281
action_header_short db  10,'* ',0
2322
action_header_short db	10,'* ',0
2282
 
2323
 
2283
has_left_channel db  ' left channel ',0
2324
has_left_channel db  ' has left ',0
2284
joins_channel    db  ' joined channel ',0
2325
joins_channel	 db  ' has joined ',0
2285
is_now_known_as  db  ' is now known as ',0
2326
is_now_known_as  db  ' is now known as ',0
2286
has_quit_irc     db  ' has quit irc',0
2327
has_quit_irc	 db  ' has quit IRC',0
Line 2287... Line 2328...
2287
sets_mode        db  ' sets mode ',0
2328
sets_mode	 db  ' sets mode ',0
2288
kicked           db  ' kicked from ',0
2329
kicked		 db  ' kicked from ',0