Rev 485 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 485 | Rev 661 | ||
---|---|---|---|
Line 4... | Line 4... | ||
4 | ; |
4 | ; |
5 | ; Compile with FASM for Menuet |
5 | ; Compile with FASM for Menuet |
6 | ; |
6 | ; |
Line 7... | Line 7... | ||
7 | 7 | ||
8 | use32 |
8 | use32 |
9 | org 0x0 |
9 | org 0x0 |
10 | db 'MENUET01' ; header |
10 | db 'MENUET01' ; header |
11 | dd 0x01 ; header version |
11 | dd 0x01 ; header version |
12 | dd START ; entry point |
12 | dd START ; entry point |
13 | dd I_END ; image size |
13 | dd I_END ; image size |
14 | dd I_END+0x10000 ; required memory |
14 | dd I_END+0x10000 ; required memory |
15 | dd I_END+0x10000 ; esp |
15 | dd I_END+0x10000 ; esp |
Line 16... | Line 16... | ||
16 | dd 0x0 , 0x0 ; I_Param , I_Path |
16 | dd 0x0 , 0x0 ; I_Param , I_Path |
17 | 17 | ||
Line 18... | Line 18... | ||
18 | 18 | ||
Line 19... | Line 19... | ||
19 | include 'lang.inc' |
19 | include 'lang.inc' |
20 | include '..\..\..\macros.inc' |
20 | include 'macros.inc' |
21 | 21 | ||
22 | START: ; start of execution |
22 | START: ; start of execution |
Line 41... | Line 41... | ||
41 | 41 | ||
42 | mov ebx, [socket_status] |
42 | mov ebx, [socket_status] |
Line 43... | Line 43... | ||
43 | mov [socket_status], eax |
43 | mov [socket_status], eax |
44 | 44 | ||
Line 45... | Line 45... | ||
45 | cmp eax, ebx |
45 | cmp eax, ebx |
46 | je waitev |
46 | je waitev |
Line 47... | Line 47... | ||
47 | 47 | ||
48 | red: |
48 | red: |
49 | call draw_window |
49 | call draw_window |
50 | 50 | ||
Line 51... | Line 51... | ||
51 | waitev: |
51 | waitev: |
52 | mov eax,23 ; wait here for event |
52 | mov eax,23 ; wait here for event |
53 | mov ebx,20 |
53 | mov ebx,20 |
54 | mcall |
54 | mcall |
55 | 55 | ||
56 | cmp eax,1 ; redraw request ? |
56 | cmp eax,1 ; redraw request ? |
Line 57... | Line 57... | ||
57 | je red |
57 | je red |
Line 58... | Line 58... | ||
58 | cmp eax,2 ; key in buffer ? |
58 | cmp eax,2 ; key in buffer ? |
59 | je key |
59 | je key |
Line 103... | Line 103... | ||
103 | ; just reject them all. |
103 | ; just reject them all. |
104 | ; Telnet options start with the byte 0xff and are 3 bytes long. |
104 | ; Telnet options start with the byte 0xff and are 3 bytes long. |
Line 105... | Line 105... | ||
105 | 105 | ||
106 | mov al, [telnetstate] |
106 | mov al, [telnetstate] |
107 | cmp al, 0 |
107 | cmp al, 0 |
108 | je state0 |
108 | je state0 |
109 | cmp al, 1 |
109 | cmp al, 1 |
110 | je state1 |
110 | je state1 |
111 | cmp al, 2 |
111 | cmp al, 2 |
112 | je state2 |
112 | je state2 |
Line 113... | Line 113... | ||
113 | jmp hd001 |
113 | jmp hd001 |
114 | 114 | ||
115 | state0: |
115 | state0: |
Line 136... | Line 136... | ||
136 | mov esi, telnetrep |
136 | mov esi, telnetrep |
137 | mcall |
137 | mcall |
138 | ret |
138 | ret |
Line 139... | Line 139... | ||
139 | 139 | ||
140 | hd001: |
140 | hd001: |
141 | cmp bl,13 ; BEGINNING OF LINE |
141 | cmp bl,13 ; BEGINNING OF LINE |
142 | jne nobol |
142 | jne nobol |
143 | mov ecx,[pos] |
143 | mov ecx,[pos] |
144 | add ecx,1 |
144 | add ecx,1 |
145 | boll1: |
145 | boll1: |
Line 152... | Line 152... | ||
152 | jne boll1 |
152 | jne boll1 |
153 | mov [pos],ecx |
153 | mov [pos],ecx |
154 | jmp newdata |
154 | jmp newdata |
155 | nobol: |
155 | nobol: |
Line 156... | Line 156... | ||
156 | 156 | ||
157 | cmp bl,10 ; LINE DOWN |
157 | cmp bl,10 ; LINE DOWN |
158 | jne nolf |
158 | jne nolf |
159 | addx1: |
159 | addx1: |
160 | add [pos],dword 1 |
160 | add [pos],dword 1 |
161 | mov eax,[pos] |
161 | mov eax,[pos] |
Line 166... | Line 166... | ||
166 | jnz addx1 |
166 | jnz addx1 |
167 | mov eax,[pos] |
167 | mov eax,[pos] |
168 | jmp cm1 |
168 | jmp cm1 |
169 | nolf: |
169 | nolf: |
Line 170... | Line 170... | ||
170 | 170 | ||
171 | cmp bl,8 ; BACKSPACE |
171 | cmp bl,8 ; BACKSPACE |
172 | jne nobasp |
172 | jne nobasp |
173 | mov eax,[pos] |
173 | mov eax,[pos] |
174 | dec eax |
174 | dec eax |
175 | mov [pos],eax |
175 | mov [pos],eax |
176 | mov [eax+text],byte 32 |
176 | mov [eax+text],byte 32 |
177 | mov [eax+text+60*80],byte 0 |
177 | mov [eax+text+60*80],byte 0 |
178 | jmp newdata |
178 | jmp newdata |
Line 179... | Line 179... | ||
179 | nobasp: |
179 | nobasp: |
180 | 180 | ||
181 | cmp bl,15 ; CHARACTER |
181 | cmp bl,15 ; CHARACTER |
182 | jbe newdata |
182 | jbe newdata |
183 | mov eax,[pos] |
183 | mov eax,[pos] |
184 | mov [eax+text],bl |
184 | mov [eax+text],bl |
185 | mov eax,[pos] |
185 | mov eax,[pos] |
186 | add eax,1 |
186 | add eax,1 |
187 | cm1: |
187 | cm1: |
188 | mov ebx,[scroll+4] |
188 | mov ebx,[scroll+4] |
189 | imul ebx,80 |
189 | imul ebx,80 |
190 | cmp eax,ebx |
190 | cmp eax,ebx |
191 | jb noeaxz |
191 | jb noeaxz |
192 | mov esi,text+80 |
192 | mov esi,text+80 |
193 | mov edi,text |
193 | mov edi,text |
194 | mov ecx,ebx |
194 | mov ecx,ebx |
Line 199... | Line 199... | ||
199 | noeaxz: |
199 | noeaxz: |
200 | mov [pos],eax |
200 | mov [pos],eax |
201 | newdata: |
201 | newdata: |
202 | ret |
202 | ret |
Line 203... | Line 203... | ||
203 | 203 | ||
204 | key: ; KEY |
204 | key: ; KEY |
205 | mov eax,2 ; send to modem |
205 | mov eax,2 ; send to modem |
Line 206... | Line 206... | ||
206 | mcall |
206 | mcall |
207 | 207 | ||
208 | mov ebx, [socket_status] |
208 | mov ebx, [socket_status] |
Line 209... | Line 209... | ||
209 | cmp ebx, 4 ; connection open? |
209 | cmp ebx, 4 ; connection open? |
210 | jne still ; no, so ignore key |
210 | jne still ; no, so ignore key |
211 | 211 | ||
212 | shr eax,8 |
212 | shr eax,8 |
213 | cmp eax,178 ; ARROW KEYS |
213 | cmp eax,178 ; ARROW KEYS |
214 | jne noaup |
214 | jne noaup |
215 | mov al,'A' |
215 | mov al,'A' |
Line 238... | Line 238... | ||
238 | 238 | ||
Line 239... | Line 239... | ||
239 | call to_modem |
239 | call to_modem |
Line 240... | Line 240... | ||
240 | 240 | ||
241 | jmp still |
241 | jmp still |
242 | 242 | ||
243 | button: ; BUTTON |
243 | button: ; BUTTON |
244 | mov eax,17 |
244 | mov eax,17 |
Line 245... | Line 245... | ||
245 | mcall |
245 | mcall |
246 | cmp ah,1 ; CLOSE PROGRAM |
246 | cmp ah,1 ; CLOSE PROGRAM |
247 | jne noclose |
247 | jne noclose |
248 | 248 | ||
Line 249... | Line 249... | ||
249 | mov eax,53 |
249 | mov eax,53 |
250 | mov ebx,8 |
250 | mov ebx,8 |
251 | mov ecx,[socket] |
251 | mov ecx,[socket] |
252 | mcall |
252 | mcall |
253 | 253 | ||
Line 254... | Line 254... | ||
254 | or eax,-1 |
254 | or eax,-1 |
255 | mcall |
255 | mcall |
256 | noclose: |
256 | noclose: |
Line 265... | Line 265... | ||
265 | mov edi,ip_address |
265 | mov edi,ip_address |
266 | xor eax,eax |
266 | xor eax,eax |
267 | ip1: |
267 | ip1: |
268 | inc esi |
268 | inc esi |
269 | cmp [esi],byte '0' |
269 | cmp [esi],byte '0' |
270 | jb ip2 |
270 | jb ip2 |
271 | cmp [esi],byte '9' |
271 | cmp [esi],byte '9' |
272 | jg ip2 |
272 | jg ip2 |
273 | imul eax,10 |
273 | imul eax,10 |
274 | movzx ebx,byte [esi] |
274 | movzx ebx,byte [esi] |
275 | sub ebx,48 |
275 | sub ebx,48 |
276 | add eax,ebx |
276 | add eax,ebx |
277 | jmp ip1 |
277 | jmp ip1 |
Line 285... | Line 285... | ||
285 | 285 | ||
Line 286... | Line 286... | ||
286 | 286 | ||
287 | jmp still |
287 | jmp still |
288 | 288 | ||
Line 289... | Line 289... | ||
289 | notip: |
289 | notip: |
290 | cmp ah, 3 ; set port |
290 | cmp ah, 3 ; set port |
291 | jne notport |
291 | jne notport |
Line 298... | Line 298... | ||
298 | mov edi,port |
298 | mov edi,port |
299 | xor eax,eax |
299 | xor eax,eax |
300 | ip11: |
300 | ip11: |
301 | inc esi |
301 | inc esi |
302 | cmp [esi],byte '0' |
302 | cmp [esi],byte '0' |
303 | jb ip21 |
303 | jb ip21 |
304 | cmp [esi],byte '9' |
304 | cmp [esi],byte '9' |
305 | jg ip21 |
305 | jg ip21 |
306 | imul eax,10 |
306 | imul eax,10 |
307 | movzx ebx,byte [esi] |
307 | movzx ebx,byte [esi] |
308 | sub ebx,48 |
308 | sub ebx,48 |
309 | add eax,ebx |
309 | add eax,ebx |
310 | jmp ip11 |
310 | jmp ip11 |
Line 316... | Line 316... | ||
316 | 316 | ||
Line 317... | Line 317... | ||
317 | 317 | ||
318 | jmp still |
318 | jmp still |
319 | 319 | ||
Line 320... | Line 320... | ||
320 | notport: |
320 | notport: |
321 | cmp ah, 4 ; connect |
321 | cmp ah, 4 ; connect |
322 | jne notcon |
322 | jne notcon |
323 | 323 | ||
Line 324... | Line 324... | ||
324 | mov eax, [socket_status] |
324 | mov eax, [socket_status] |
Line 325... | Line 325... | ||
325 | cmp eax, 4 |
325 | cmp eax, 4 |
326 | je still |
326 | je still |
327 | call connect |
327 | call connect |
Line 328... | Line 328... | ||
328 | 328 | ||
329 | jmp still |
329 | jmp still |
Line 330... | Line 330... | ||
330 | 330 | ||
331 | notcon: |
331 | notcon: |
332 | cmp ah,5 ; disconnect |
332 | cmp ah,5 ; disconnect |
Line 333... | Line 333... | ||
333 | jne notdiscon |
333 | jne notdiscon |
334 | 334 | ||
Line 374... | Line 374... | ||
374 | mov esi, tx_buff |
374 | mov esi, tx_buff |
375 | mcall |
375 | mcall |
376 | pop bx |
376 | pop bx |
377 | mov al, [echo] |
377 | mov al, [echo] |
378 | cmp al, 0 |
378 | cmp al, 0 |
379 | je tm_001 |
379 | je tm_001 |
Line 380... | Line 380... | ||
380 | 380 | ||
381 | push bx |
381 | push bx |
382 | call handle_data |
382 | call handle_data |
Line 407... | Line 407... | ||
407 | 407 | ||
408 | 408 | ||
Line 409... | Line 409... | ||
409 | connect: |
409 | connect: |
Line 410... | Line 410... | ||
410 | pusha |
410 | pusha |
411 | 411 | ||
412 | mov ecx, 1000 ; local port starting at 1000 |
412 | mov ecx, 1000 ; local port starting at 1000 |
413 | 413 | ||
414 | getlp: |
414 | getlp: |
415 | inc ecx |
415 | inc ecx |
416 | push ecx |
416 | push ecx |
417 | mov eax, 53 |
417 | mov eax, 53 |
418 | mov ebx, 9 |
418 | mov ebx, 9 |
Line 419... | Line 419... | ||
419 | mcall |
419 | mcall |
420 | pop ecx |
420 | pop ecx |
421 | cmp eax, 0 ; is this local port in use? |
421 | cmp eax, 0 ; is this local port in use? |
422 | jz getlp ; yes - so try next |
422 | jz getlp ; yes - so try next |
Line 429... | Line 429... | ||
429 | shl edx, 8 |
429 | shl edx, 8 |
430 | mov dl, [ip_address + 1] |
430 | mov dl, [ip_address + 1] |
431 | shl edx, 8 |
431 | shl edx, 8 |
432 | mov dl, [ip_address] |
432 | mov dl, [ip_address] |
433 | mov esi, edx |
433 | mov esi, edx |
434 | movzx edx, word [port] ; telnet port id |
434 | movzx edx, word [port] ; telnet port id |
435 | mov edi,1 ; active open |
435 | mov edi,1 ; active open |
436 | mcall |
436 | mcall |
437 | mov [socket], eax |
437 | mov [socket], eax |
Line 438... | Line 438... | ||
438 | 438 | ||
Line 453... | Line 453... | ||
453 | 453 | ||
454 | mov eax,12 |
454 | mov eax,12 |
455 | mov ebx,1 |
455 | mov ebx,1 |
Line 456... | Line 456... | ||
456 | mcall |
456 | mcall |
457 | 457 | ||
458 | xor eax,eax ; DRAW WINDOW |
458 | xor eax,eax ; DRAW WINDOW |
459 | mov ebx,100*65536+491 + 8 +15 |
459 | mov ebx,100*65536+491 + 8 +15 |
460 | mov ecx,100*65536+270 + 20 ; 20 for status bar |
460 | mov ecx,100*65536+270 + 20 ; 20 for status bar |
461 | mov edx,0x13000000 |
461 | mov edx,0x14000000 |
Line 462... | Line 462... | ||
462 | mov edi,title |
462 | mov edi,title |
463 | mcall |
463 | mcall |
464 | 464 | ||
465 | ; draw status bar |
465 | ; draw status bar |
466 | mov eax, 13 |
466 | mov eax, 13 |
467 | mov ebx, 4*65536+484 + 8 +15 |
467 | mov ebx, 4*65536+484 + 8 +15 |
Line 468... | Line 468... | ||
468 | mov ecx, 270*65536 + 3 |
468 | mov ecx, 270*65536 + 3 |
469 | mov edx, 0x00557799 |
469 | mov edx, 0x00557799 |
470 | mcall |
470 | mcall |
471 | 471 | ||
472 | mov eax,8 ; BUTTON 2: SET IP |
472 | mov eax,8 ; BUTTON 2: SET IP |
473 | mov ebx,4*65536+70 |
473 | mov ebx,4*65536+70 |
Line 474... | Line 474... | ||
474 | mov ecx,273*65536+12 |
474 | mov ecx,273*65536+12 |
475 | mov esi, 0x00557799 |
475 | mov esi, 0x00557799 |
476 | mov edx,2 |
476 | mov edx,2 |
477 | mcall |
477 | mcall |
478 | 478 | ||
479 | mov eax,4 ; Button text |
479 | mov eax,4 ; Button text |
Line 480... | Line 480... | ||
480 | mov ebx,6*65536+276 |
480 | mov ebx,6*65536+276 |
481 | mov ecx,0x00ffffff |
481 | mov ecx,0x00ffffff |
482 | mov edx,setipt |
482 | mov edx,setipt |
483 | mov esi,setiplen-setipt |
483 | mov esi,setiplen-setipt |
484 | mcall |
484 | mcall |
485 | 485 | ||
486 | 486 | ||
487 | mov eax,47 |
487 | mov eax,47 |
488 | mov edi,ip_address ; display IP address |
488 | mov edi,ip_address ; display IP address |
489 | mov edx,78*65536+276 |
489 | mov edx,78*65536+276 |
490 | mov esi,0x00ffffff |
490 | mov esi,0x00ffffff |
491 | mov ebx,3*65536 |
491 | mov ebx,3*65536 |
Line 492... | Line 492... | ||
492 | ipdisplay: |
492 | ipdisplay: |
493 | movzx ecx,byte [edi] |
493 | movzx ecx,byte [edi] |
494 | mcall |
494 | mcall |
495 | add edx,6*4*65536 |
495 | add edx,6*4*65536 |
496 | inc edi |
496 | inc edi |
497 | cmp edi,ip_address+4 |
497 | cmp edi,ip_address+4 |
Line 498... | Line 498... | ||
498 | jb ipdisplay |
498 | jb ipdisplay |
499 | 499 | ||
500 | mov eax,8 ; BUTTON 3: SET PORT |
500 | mov eax,8 ; BUTTON 3: SET PORT |
501 | mov ebx,173*65536+38 |
501 | mov ebx,173*65536+38 |
502 | mov ecx,273*65536+12 |
502 | mov ecx,273*65536+12 |
503 | mov edx,3 |
503 | mov edx,3 |
Line 504... | Line 504... | ||
504 | mov esi, 0x00557799 |
504 | mov esi, 0x00557799 |
505 | mcall |
505 | mcall |
506 | 506 | ||
507 | mov eax,4 ; Button text |
507 | mov eax,4 ; Button text |
508 | mov ebx,178*65536+276 |
508 | mov ebx,178*65536+276 |
509 | mov ecx,0x00ffffff |
509 | mov ecx,0x00ffffff |
Line 510... | Line 510... | ||
510 | mov edx,setportt |
510 | mov edx,setportt |
511 | mov esi,setportlen-setportt |
511 | mov esi,setportlen-setportt |
512 | mcall |
512 | mcall |
513 | 513 | ||
514 | 514 | ||
515 | mov edx,216*65536+276 ; display port |
515 | mov edx,216*65536+276 ; display port |
Line 516... | Line 516... | ||
516 | mov esi,0x00ffffff |
516 | mov esi,0x00ffffff |
517 | mov ebx,4*65536 |
517 | mov ebx,4*65536 |
518 | mov eax,47 |
518 | mov eax,47 |
519 | movzx ecx,word [port] |
519 | movzx ecx,word [port] |
520 | mcall |
520 | mcall |
521 | 521 | ||
Line 522... | Line 522... | ||
522 | mov eax,8 ; BUTTON 4: Connect |
522 | mov eax,8 ; BUTTON 4: Connect |
523 | mov ebx,250*65536+50 |
523 | mov ebx,250*65536+50 |
524 | mov ecx,273*65536+12 |
524 | mov ecx,273*65536+12 |
525 | mov esi, 0x00557799 |
525 | mov esi, 0x00557799 |
526 | mov edx,4 |
526 | mov edx,4 |
527 | mcall |
527 | mcall |
Line 528... | Line 528... | ||
528 | 528 | ||
529 | mov eax,4 ; Button text |
529 | mov eax,4 ; Button text |
530 | mov ebx,255*65536+276 |
530 | mov ebx,255*65536+276 |
531 | mov ecx,0x00ffffff |
531 | mov ecx,0x00ffffff |
532 | mov edx,cont |
532 | mov edx,cont |
533 | mov esi,conlen-cont |
533 | mov esi,conlen-cont |
Line 534... | Line 534... | ||
534 | mcall |
534 | mcall |
535 | 535 | ||
536 | 536 | ||
537 | mov eax,8 ; BUTTON 5: disconnect |
537 | mov eax,8 ; BUTTON 5: disconnect |
538 | mov ebx,303*65536+70 |
538 | mov ebx,303*65536+70 |
539 | mov ecx,273*65536+12 |
539 | mov ecx,273*65536+12 |
540 | mov edx,5 |
540 | mov edx,5 |
541 | mov esi, 0x00557799 |
541 | mov esi, 0x00557799 |
Line 542... | Line 542... | ||
542 | mcall |
542 | mcall |
543 | 543 | ||
544 | 544 | ||
545 | mov eax,4 ; Button text |
545 | mov eax,4 ; Button text |
Line 546... | Line 546... | ||
546 | mov ebx,307*65536+276 |
546 | mov ebx,307*65536+276 |
547 | mov ecx,0x00ffffff |
547 | mov ecx,0x00ffffff |
548 | mov edx,dist |
548 | mov edx,dist |
549 | mov esi,dislen-dist |
549 | mov esi,dislen-dist |
550 | mcall |
550 | mcall |
551 | 551 | ||
Line 579... | Line 579... | ||
579 | jne peo |
579 | jne peo |
580 | mov edx,echoot |
580 | mov edx,echoot |
581 | mov esi,echoolen-echoot |
581 | mov esi,echoolen-echoot |
Line 582... | Line 582... | ||
582 | 582 | ||
583 | peo: |
583 | peo: |
584 | mov eax,4 ; Button text |
584 | mov eax,4 ; Button text |
585 | mov ebx,463*65536+276 |
585 | mov ebx,463*65536+276 |
586 | mov ecx,0x00ffffff |
586 | mov ecx,0x00ffffff |
Line 620... | Line 620... | ||
620 | mov [esi+30*80],cl |
620 | mov [esi+30*80],cl |
Line 621... | Line 621... | ||
621 | 621 | ||
Line 622... | Line 622... | ||
622 | ; erase character |
622 | ; erase character |
623 | 623 | ||
624 | pusha |
624 | pusha |
625 | mov edx, 0 ; bg colour |
625 | mov edx, 0 ; bg colour |
626 | mov ecx, ebx |
626 | mov ecx, ebx |
627 | add ecx, 26 |
627 | add ecx, 26 |
628 | shl ecx, 16 |
628 | shl ecx, 16 |
Line 654... | Line 654... | ||
654 | noletter: |
654 | noletter: |
Line 655... | Line 655... | ||
655 | 655 | ||
656 | add esi,1 |
656 | add esi,1 |
657 | add eax,6 |
657 | add eax,6 |
658 | cmp eax,80*6 |
658 | cmp eax,80*6 |
659 | jb newletter |
659 | jb newletter |
660 | mov eax,0 |
660 | mov eax,0 |
661 | add ebx,10 |
661 | add ebx,10 |
662 | cmp ebx,24*10 |
662 | cmp ebx,24*10 |
Line 663... | Line 663... | ||
663 | jb newletter |
663 | jb newletter |
664 | 664 | ||
Line 684... | Line 684... | ||
684 | jne read_done |
684 | jne read_done |
685 | mov eax,2 |
685 | mov eax,2 |
686 | mcall |
686 | mcall |
687 | shr eax,8 |
687 | shr eax,8 |
688 | cmp eax,13 |
688 | cmp eax,13 |
689 | je read_done |
689 | je read_done |
690 | cmp eax,8 |
690 | cmp eax,8 |
691 | jnz nobsl |
691 | jnz nobsl |
692 | cmp edi,string |
692 | cmp edi,string |
693 | jz f11 |
693 | jz f11 |
694 | sub edi,1 |
694 | sub edi,1 |
695 | mov [edi],byte '_' |
695 | mov [edi],byte '_' |
696 | call print_text |
696 | call print_text |
697 | jmp f11 |
697 | jmp f11 |
698 | nobsl: |
698 | nobsl: |
699 | cmp eax,dword 31 |
699 | cmp eax,dword 31 |
700 | jbe f11 |
700 | jbe f11 |
701 | cmp eax,dword 95 |
701 | cmp eax,dword 95 |
702 | jb keyok |
702 | jb keyok |
703 | sub eax,32 |
703 | sub eax,32 |
704 | keyok: |
704 | keyok: |
705 | mov [edi],al |
705 | mov [edi],al |
706 | call print_text |
706 | call print_text |
Line 748... | Line 748... | ||
748 | 748 | ||
Line 749... | Line 749... | ||
749 | 749 | ||
750 | 750 | ||
Line 751... | Line 751... | ||
751 | ; DATA AREA |
751 | ; DATA AREA |
752 | 752 | ||
753 | telnetrep db 0xff,0xfc,0x00 |
753 | telnetrep db 0xff,0xfc,0x00 |
Line 754... | Line 754... | ||
754 | telnetstate db 0 |
754 | telnetstate db 0 |
Line 755... | Line 755... | ||
755 | 755 | ||
756 | string_length dd 16 |
756 | string_length dd 16 |
757 | string_x dd 200 |
757 | string_x dd 200 |
758 | string_y dd 60 |
758 | string_y dd 60 |
759 | 759 | ||
760 | string db '________________' |
760 | string db '________________' |
761 | 761 | ||
762 | tx_buff db 0, 10 |
762 | tx_buff db 0, 10 |
763 | ip_address db 001,002,003,004 |
763 | ip_address db 001,002,003,004 |
764 | port db 0,0 |
764 | port db 0,0 |
765 | echo db 0 |
765 | echo db 0 |
766 | socket dd 0x0 |
766 | socket dd 0x0 |
767 | socket_status dd 0x0 |
767 | socket_status dd 0x0 |
768 | pos dd 80 * 1 |
768 | pos dd 80 * 1 |
769 | scroll dd 1 |
769 | scroll dd 1 |
770 | dd 24 |
770 | dd 24 |
771 | wcolor dd 0x000000 |
771 | wcolor dd 0x000000 |
772 | title db 'Telnet v0.1',0 |
772 | title db 'Telnet v0.1',0 |
773 | setipt db 'IP Address: . . .' |
773 | setipt db 'IP Address: . . .' |
774 | setiplen: |
774 | setiplen: |
775 | setportt db 'Port:' |
775 | setportt db 'Port:' |
776 | setportlen: |
776 | setportlen: |
777 | cont db 'Connect' |
777 | cont db 'Connect' |
778 | conlen: |
778 | conlen: |
779 | dist db 'Disconnect' |
779 | dist db 'Disconnect' |
780 | dislen: |
780 | dislen: |
781 | contt db 'Connected' |
781 | contt db 'Connected' |
Line 782... | Line 782... | ||
782 | contlen: |
782 | contlen: |