diff --git a/client/inc/gopher.i b/client/inc/gopher.i index 014ab42..805d3c1 100644 --- a/client/inc/gopher.i +++ b/client/inc/gopher.i @@ -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 diff --git a/client/inc/telnet.i b/client/inc/telnet.i index 33ba95d..52f3931 100644 --- a/client/inc/telnet.i +++ b/client/inc/telnet.i @@ -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 diff --git a/client/ip65/telnet.s b/client/ip65/telnet.s index c463afa..6d21c0e 100644 --- a/client/ip65/telnet.s +++ b/client/ip65/telnet.s @@ -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