removed 'line mode' from telnet

git-svn-id: http://svn.code.sf.net/p/netboot65/code@233 93682198-c243-4bdb-bd91-e943c89aac3b
This commit is contained in:
jonnosan 2009-12-22 09:11:56 +00:00
parent f40df53bf7
commit 9c27ceba51
3 changed files with 10 additions and 97 deletions

View File

@ -34,8 +34,6 @@
.import telnet_port
.import telnet_ip
.import telnet_connect
.import telnet_local_echo
.import telnet_line_mode
.import telnet_use_native_charset
.import url_ip
@ -529,8 +527,6 @@ load_resource_into_buffer:
ldax resource_port
stax telnet_port
lda #0
sta telnet_local_echo
sta telnet_line_mode
sta telnet_use_native_charset
;if the username = '/n', then connect in native mode

View File

@ -8,8 +8,6 @@
; 3) define a routine called 'exit_telnet'
.import telnet_connect
.import telnet_local_echo
.import telnet_line_mode
.import telnet_use_native_charset
.import telnet_port
.import telnet_ip
@ -83,42 +81,25 @@ telnet_main_entry:
cmp #'p'
beq @petscii_mode
cmp #'l'
beq @line_mode
cmp #'L'
beq @line_mode
jmp @char_mode_input
@vt100_mode:
lda #0
sta telnet_use_native_charset
sta telnet_line_mode
lda #1
sta telnet_local_echo
.ifdef XMODEM_IN_TELNET
lda #1
sta xmodem_iac_escape
.endif
jmp @after_mode_set
@petscii_mode:
lda #1
sta telnet_use_native_charset
lda #0
sta telnet_local_echo
sta telnet_line_mode
.ifdef XMODEM_IN_TELNET
sta xmodem_iac_escape
.endif
jmp @after_mode_set
@line_mode:
lda #0
sta telnet_use_native_charset
.ifdef XMODEM_IN_TELNET
sta xmodem_iac_escape
.endif
lda #1
sta telnet_local_echo
sta telnet_line_mode
.ifdef XMODEM_IN_TELNET
lda #0
sta xmodem_iac_escape
.endif
@after_mode_set:
lda #147 ; 'CLR/HOME'
@ -131,12 +112,7 @@ telnet_main_entry:
ldax #petscii
jmp @c_mode
@v_mode:
lda telnet_line_mode
bne @l_mode
ldax #vt100
jmp @c_mode
@l_mode:
ldax #line
@c_mode:
jsr print_ascii_as_native
ldax #mode
@ -148,11 +124,10 @@ telnet_main_entry:
connecting_in: .byte "connecting in ",0
vt100: .byte "vt100",0
petscii: .byte "petscii",0
line: .byte "line",0
mode: .byte " mode",10,0
remote_host: .byte "hostname (leave blank to quit)",10,": ",0
remote_port: .byte "port # (leave blank for default)",10,": ",0
char_mode_prompt: .byte "mode - V=vt100, P=petscii, L=line",10,0
char_mode_prompt: .byte "mode - V=vt100, P=petscii",10,0

View File

@ -1,11 +1,7 @@
;minimal telnet implementation (dumb terminal emulation only)
;to use:
;set the following variables - telnet_local_echo, telnet_line_mode,telnet_use_native_charset,telnet_port,telnet_ip
;set the following variables - telnet_use_native_charset,telnet_port,telnet_ip
;then call telnet_connect
;sensible combinations of telnet_local_echo, telnet_line_mode,telnet_use_native_charset are:
;for interacting with 'line at time' servers (smtp/pop3/http/gopher): telnet_local_echo=1, telnet_line_mode=1,telnet_use_native_charset=0
;for logging in to a normal telnet server: telnet_local_echo=0, telnet_line_mode=0,telnet_use_native_charset=0
;for logging in to a PETSCII BBS on a C64 : telnet_local_echo=0, telnet_line_mode=0,telnet_use_native_charset=1
.include "../inc/common.i"
@ -40,8 +36,6 @@
.import ascii_to_native
.export telnet_connect
.export telnet_local_echo
.export telnet_line_mode
.export telnet_use_native_charset
.export telnet_port
.export telnet_ip
@ -84,20 +78,7 @@ telnet_connect:
jsr print_cr
lda #0
sta connection_closed
sta iac_response_buffer_length
lda telnet_use_native_charset
bne @main_polling_loop
lda telnet_line_mode
bne @main_polling_loop
; ldax #initial_telnet_options_length
; stax tcp_send_data_len
; ldax #initial_telnet_options
; jsr tcp_send
sta iac_response_buffer_length
@main_polling_loop:
@ -108,35 +89,6 @@ telnet_connect:
jsr print
rts
@not_disconnected:
lda telnet_line_mode
beq @not_line_mode
ldy #40 ;max chars
ldax #$0000
jsr get_filtered_input
stax buffer_ptr
ldy #0
@copy_one_char:
lda (buffer_ptr),y
jsr native_to_ascii
beq @end_of_input_string
sta scratch_buffer,y
iny
bne @copy_one_char
@end_of_input_string:
lda #$0d
sta scratch_buffer,y
iny
lda #$0a
sta scratch_buffer,y
iny
sty tcp_send_data_len
lda #0
sta tcp_send_data_len+1
jsr print_cr
jmp @send_char
@not_line_mode:
@inner_loop:
jsr timer_read
@ -270,10 +222,6 @@ telnet_callback:
jmp @no_conversion_req
:
lda telnet_line_mode
beq :+
jmp@convert_to_native
:
;if we get here, we are in ASCII 'char at a time' mode, so look for (and process) Telnet style IAC bytes
lda telnet_state
cmp #telnet_state_got_command
@ -412,14 +360,10 @@ telnet_callback:
jmp @add_iac_response
@will_echo:
lda #0
sta telnet_local_echo
lda #$fd ;DO
jmp @add_iac_response
@will_suppress_ga:
lda #0
sta telnet_line_mode
lda #$fd ;DO
jmp @add_iac_response
@ -519,8 +463,6 @@ telnet_timeout: .res 1
connection_closed: .res 1
telnet_use_native_charset: .res 1 ; 0 means all data is translated to/from NVT ASCII
buffer_offset: .res 1
telnet_local_echo: .res 1 ;0 should mean local echo is disabled - in fact at the moment we never do local echo except in 'line mode'
telnet_line_mode: .res 1 ;do characters get sent after each keypress, or can a line be created/edited and then sent only when return is pressed?
telnet_command: .res 1
telnet_option: .res 1