diff --git a/programs/network/stackcfg/trunk/stackcfg.asm b/programs/network/stackcfg/trunk/stackcfg.asm index fba21908b1..e87349b25b 100644 --- a/programs/network/stackcfg/trunk/stackcfg.asm +++ b/programs/network/stackcfg/trunk/stackcfg.asm @@ -8,69 +8,69 @@ memsize = 100000h - org 0 -PARAMS = memsize - 1024 + org 0 +PARAMS = memsize - 1024 use32 - db 'MENUET01' ; 8 byte id - dd 0x01 ; header version - dd START ; start of code - dd I_END ; size of image - dd memsize ; memory for app - dd memsize - 1024 ; esp - dd PARAMS , 0x0 ; I_Param , I_Icon + db 'MENUET01' ; 8 byte id + dd 0x01 ; header version + dd START ; start of code + dd I_END ; size of image + dd memsize ; memory for app + dd memsize - 1024 ; esp + dd PARAMS , 0x0 ; I_Param , I_Icon include 'lang.inc' -include '..\..\..\macros.inc' +include 'macros.inc' -START: ; start of execution +START: ; start of execution cmp [PARAMS], dword 'BOOT' - jz boot_set_settings + jz boot_set_settings no_params: red: - call draw_window ; at first, draw the window + call draw_window ; at first, draw the window still: - mov eax,10 ; wait here for event + mov eax,10 ; wait here for event mcall - cmp eax,1 ; redraw request ? - jz red - cmp eax,2 ; key in buffer ? + cmp eax,1 ; redraw request ? + jz red + cmp eax,2 ; key in buffer ? jnz button - key: ; key + key: ; key ; mov al,2 ; just read it and ignore mcall jmp still - button: ; button - mov al,17 ; get id + button: ; button + mov al,17 ; get id mcall shr eax,8 - dec eax ; button id=1 ? + dec eax ; button id=1 ? jne noclose - or eax,-1 ; close this program + or eax,-1 ; close this program mcall noclose: - dec eax - je read_stack_setup + dec eax + je read_stack_setup - dec eax + dec eax jne no_apply_stack_setup call apply_stack_setup jmp still no_apply_stack_setup: - dec eax ; GET COM PORT + dec eax ; GET COM PORT dec eax jne no_read_comport mov [string_x],272 @@ -79,7 +79,7 @@ no_apply_stack_setup: call read_string movzx eax,byte [string] cmp eax,'A' - jb gcp1 + jb gcp1 sub eax,'A'-'9'-1 gcp1: sub eax,48 @@ -87,7 +87,7 @@ no_apply_stack_setup: mov ebx,eax movzx eax,byte [string+1] cmp eax,'A' - jb gcp2 + jb gcp2 sub eax,'A'-'9'-1 gcp2: sub eax,48 @@ -95,7 +95,7 @@ no_apply_stack_setup: add ebx,eax movzx eax,byte [string+2] cmp eax,'A' - jb gcp3 + jb gcp3 sub eax,'A'-'9'-1 gcp3: sub eax,48 @@ -104,7 +104,7 @@ no_apply_stack_setup: jmp red no_read_comport: - dec eax ; GET COM IRQ + dec eax ; GET COM IRQ jne no_read_comirq mov [string_x],284 mov [string_y],50 @@ -112,7 +112,7 @@ no_apply_stack_setup: call read_string movzx eax,byte [string] cmp eax,'A' - jb gci1 + jb gci1 sub eax,'A'-'9'-1 gci1: sub eax,48 @@ -120,7 +120,7 @@ no_apply_stack_setup: jmp red no_read_comirq: - dec eax ; GET IP + dec eax ; GET IP jne no_read_ip mov [string_x],205 mov [string_y],80 @@ -133,9 +133,9 @@ no_apply_stack_setup: ip1: inc esi cmp [esi],byte '0' - jb ip2 + jb ip2 cmp [esi],byte '9' - jg ip2 + jg ip2 imul eax,10 movzx ebx,byte [esi] sub ebx,48 @@ -147,8 +147,8 @@ no_apply_stack_setup: jbe ip0 jmp red no_read_ip: - - dec eax ; set gateway ip + + dec eax ; set gateway ip jne no_set_gateway mov [string_x],205 @@ -162,9 +162,9 @@ no_apply_stack_setup: gip1: inc esi cmp [esi],byte '0' - jb gip2 + jb gip2 cmp [esi],byte '9' - jg gip2 + jg gip2 imul eax,10 movzx ebx,byte [esi] sub ebx,48 @@ -192,9 +192,9 @@ no_apply_stack_setup: sip1: inc esi cmp [esi],byte '0' - jb sip2 + jb sip2 cmp [esi],byte '9' - jg sip2 + jg sip2 imul eax,10 movzx ebx,byte [esi] sub ebx,48 @@ -221,9 +221,9 @@ no_apply_stack_setup: dip1: inc esi cmp [esi],byte '0' - jb dip2 + jb dip2 cmp [esi],byte '9' - jg dip2 + jg dip2 imul eax,10 movzx ebx,byte [esi] sub ebx,48 @@ -238,17 +238,17 @@ no_apply_stack_setup: no_set_dns: dec eax - jb no_set_interface + jb no_set_interface cmp eax,14-11 - ja no_set_interface + ja no_set_interface mov [interface],eax jmp red no_set_interface: sub eax,21-11 - jb no_ip_sf + jb no_ip_sf cmp eax,22-21 - ja no_ip_sf + ja no_ip_sf xor eax,1 mov [assigned],eax jmp red @@ -282,21 +282,21 @@ read_stack_setup: mcall mov dword [dns_ip],eax - mov eax,[config] ; unwrap com IRQ + mov eax,[config] ; unwrap com IRQ shr eax,8 and eax,0xf mov [com_irq],eax - mov eax,[config] ; unwrap com PORT + mov eax,[config] ; unwrap com PORT shr eax,16 and eax,0xfff mov [com_add],eax - mov eax,[config] ; unwrap IRQ + mov eax,[config] ; unwrap IRQ and eax,0xf mov [interface],eax - mov eax,[config] ; unwrap com PORT + mov eax,[config] ; unwrap com PORT shr eax,7 and eax,1 mov [assigned],eax @@ -347,7 +347,7 @@ string_length dd 16 string_x dd 200 string_y dd 60 -string db '________________' +string db '________________' read_string: @@ -369,11 +369,11 @@ read_string: mcall shr eax,8 cmp eax,13 - je read_done + je read_done cmp eax,8 jnz nobsl cmp edi,string - jz f11 + jz f11 sub edi,1 mov [edi],byte '_' call print_text @@ -382,7 +382,7 @@ read_string: cmp eax,dword 31 jbe f11 cmp eax,dword 95 - jb keyok + jb keyok sub eax,32 keyok: mov [edi],al @@ -436,20 +436,20 @@ print_text: draw_window: - mov eax,12 ; function 12:tell os about windowdraw - mov ebx,1 ; 1, start of draw + mov eax,12 ; function 12:tell os about windowdraw + mov ebx,1 ; 1, start of draw mcall - ; DRAW WINDOW - mov eax,0 ; function 0 : define and draw window - mov ebx,100*65536+330 ; [x start] *65536 + [x size] - mov ecx,100*65536+157 ; [y start] *65536 + [y size] - mov edx,0x14ffffff ; color of work area RRGGBB,8->color gl - mov edi,title ; WINDOW LABEL + ; DRAW WINDOW + mov eax,0 ; function 0 : define and draw window + mov ebx,100*65536+330 ; [x start] *65536 + [x size] + mov ecx,100*65536+157 ; [y start] *65536 + [y size] + mov edx,0x14ffffff ; color of work area RRGGBB,8->color gl + mov edi,title ; WINDOW LABEL mcall - - mov eax,8 ; BUTTON : READ SETUP + + mov eax,8 ; BUTTON : READ SETUP mov ebx,90*65536+65 mov ecx,127*65536+12 mov edx,2 @@ -471,9 +471,9 @@ draw_window: add ecx,10*65536 inc edx cmp edx,11+4 - jb interface_select + jb interface_select - mov ebx,[interface] ; PRINT SELECTED INTERFACE 'X' + mov ebx,[interface] ; PRINT SELECTED INTERFACE 'X' imul ebx,10 add ebx,31*65536+39 mov eax,4 @@ -482,7 +482,7 @@ draw_window: mov esi,1 mcall - mov eax,8 ; BUTTONS 21-22 : SERVER / MANUAL IP + mov eax,8 ; BUTTONS 21-22 : SERVER / MANUAL IP mov ebx,143*65536+8 mov ecx,69*65536+8 mov edx,21 @@ -493,7 +493,7 @@ draw_window: mov ecx,79*65536+8 mov edx,22 mcall - mov ebx,[assigned] ; PRINT SELECTED SERVER/MANUAL 'X' + mov ebx,[assigned] ; PRINT SELECTED SERVER/MANUAL 'X' not ebx and ebx,1 imul ebx,10 @@ -504,7 +504,7 @@ draw_window: mov esi,1 mcall - mov eax,47 ; COM ADDRESS + mov eax,47 ; COM ADDRESS mov ebx,3*65536+1*256 mov ecx,[com_add] mov edx,272*65536+40 @@ -529,7 +529,7 @@ draw_window: add edx,6*4*65536 inc edi cmp edi,ip_address+4 - jb ipdisplay + jb ipdisplay mov edi,gateway_ip mov edx,205*65536+90 @@ -542,7 +542,7 @@ draw_window: add edx,6*4*65536 inc edi cmp edi,gateway_ip+4 - jb gipdisplay + jb gipdisplay mov edi,subnet_mask mov edx,205*65536+100 @@ -555,7 +555,7 @@ draw_window: add edx,6*4*65536 inc edi cmp edi,subnet_mask+4 - jb sipdisplay + jb sipdisplay mov edi,dns_ip mov edx,205*65536+110 @@ -568,10 +568,10 @@ draw_window: add edx,6*4*65536 inc edi cmp edi,dns_ip+4 - jb dipdisplay + jb dipdisplay - mov eax,8 ; BUTTON 5 : SET PORT + mov eax,8 ; BUTTON 5 : SET PORT mov ebx,299*65536+8 mov ecx,39*65536+8 mov edx,5 @@ -602,7 +602,7 @@ draw_window: inc edx mcall - mov ebx,31*65536+40 ; draw info text with function 4 + mov ebx,31*65536+40 ; draw info text with function 4 mov edx,text mov esi,49 mov eax,4 @@ -619,8 +619,8 @@ draw_window: cmp [edx],byte 'x' jne newline - mov eax,12 ; function 12:tell os about windowdraw - mov ebx,2 ; 2, end of draw + mov eax,12 ; function 12:tell os about windowdraw + mov ebx,2 ; 2, end of draw mcall ret @@ -634,18 +634,18 @@ boot_set_settings: mcall mov [config],eax - shr eax,8 ; unwrap com IRQ + shr eax,8 ; unwrap com IRQ and eax,0xf mov [com_irq],eax - mov eax,[config] ; unwrap com PORT + mov eax,[config] ; unwrap com PORT shr eax,16 and eax,0xfff mov [com_add],eax call apply_stack_setup - - mov eax,-1 ; close this program + + mov eax,-1 ; close this program mcall ;****************************************************************************** @@ -653,6 +653,22 @@ boot_set_settings: ; DATA AREA +if lang eq ru +title db 'Настройка сетевого стека',0 +text: + db ' Неактивный Модем на Com-порту: 0x < ' + db ' Slip Прерывание модема: 0x < ' + db ' PPP ' + db ' Драйвер пакетов IP server назначенный ' + db ' Фикс. . . . < ' + db ' Шлюз: . . . < ' + db ' Подсеть: . . . < ' + db ' DNS IP: . . . < ' + db ' ' + db 'w Читать Применить ' + +else +title db 'Stack configuration',0 text: db ' Not active Modem Com Port: 0x < ' db ' Slip Modem Com Irq: 0x < ' @@ -664,27 +680,26 @@ text: db ' DNS IP: . . . < ' db ' ' db 'w READ APPLY ' + end if xx: db 'x' ;<- END MARKER, DONT DELETE button_color dd 0x2254b9 -title db 'STACK CONFIGURATION',0 - ;ENTER YOUR SETTINGS HERE: -ip_address db 010,005,004,175 -gateway_ip db 010,005,000,001 -subnet_mask db 255,255,000,000 -dns_ip db 213,184,238,006 +ip_address db 010,005,004,175 +gateway_ip db 010,005,000,001 +subnet_mask db 255,255,000,000 +dns_ip db 213,184,238,006 -com_irq dd 0 ; irq for slip/ppp -com_add dd 0 ; com port address for slip/ppp -interface dd 3 ; not active,slip,ppp,packet driver -assigned dd 0 ; get ip from server +com_irq dd 0 ; irq for slip/ppp +com_add dd 0 ; com port address for slip/ppp +interface dd 3 ; not active,slip,ppp,packet driver +assigned dd 0 ; get ip from server -config dd 0 +config dd 0 I_END: