diff --git a/CHANGES.txt b/CHANGES.txt index 3ce69f8..072a927 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,8 +1,4 @@ - - bugfix - NB65 API not setting "ip initialized" flag correct, hence extra DHCP inits occuring +- telnet now supports vt100 emulation (thanks to Lars Stollenwerk) +- gopher: fixed bug preventing connection to jamtronix.com + -0.9.8 - - created stubs for TCP functions - - split nb65 cart images into 8k (UDP only - green) & 16k (UDP+TCP - purple) images -0.9.7 - - tweak directory listing code in server so $ works by itself - - client & server updated to support subdirectories (prefixed by $) \ No newline at end of file diff --git a/client/inc/gopher.i b/client/inc/gopher.i index 7cd22dd..b089f8c 100644 --- a/client/inc/gopher.i +++ b/client/inc/gopher.i @@ -618,10 +618,16 @@ prompt_for_gopher_resource: stax resource_port lda #'/' sta resource_selector - lda #0 + lda #$0d sta resource_selector+1 + + lda #$0a + sta resource_selector+2 + + lda #0 + sta resource_selector+3 sta resource_selector_length+1 - lda #1 + lda #3 sta resource_selector_length lda #'1' sta displayed_resource_type diff --git a/client/inc/version.i b/client/inc/version.i index 80e827e..ad17d7f 100644 --- a/client/inc/version.i +++ b/client/inc/version.i @@ -1 +1 @@ -.byte "1.0.16" +.byte "1.0.19" diff --git a/client/ip65/httpd.s b/client/ip65/httpd.s index 506e6ca..a7ee61a 100644 --- a/client/ip65/httpd.s +++ b/client/ip65/httpd.s @@ -1,6 +1,5 @@ ;a simple HTTP server ;to use - call httpd_start with AX pointing at routine to call for each inbound page -;call httpd_stop to exit gracefully. .include "../inc/common.i" .ifndef KPR_API_VERSION_NUMBER diff --git a/client/ip65/telnet.s b/client/ip65/telnet.s index 45e88e0..0bebc0e 100644 --- a/client/ip65/telnet.s +++ b/client/ip65/telnet.s @@ -176,26 +176,45 @@ telnet_connect: lda telnet_use_native_charset bne @no_conversion_required - txa - cmp #$0d - bne @not_cr - ;if we get a CR in ascii mode, send CR/LF - ldy tcp_send_data_len + + txa + + jsr vt100_transform_outbound_char + + sta temp_a + tya + bne :+ + jmp @main_polling_loop ;Y=0 means nothing to send +: + + cmp #2 + beq :+ + ldx temp_a + jmp @no_conversion_required +: + + + lda temp_a + stax buffer_ptr + ldy #0 +: + lda (buffer_ptr),y + beq @send_char sta scratch_buffer,y inc tcp_send_data_len - ldx #$0a - jmp @no_conversion_required -@not_cr: - txa - jsr native_to_ascii - tax + iny + bne :- + + jmp @send_char @no_conversion_required: txa ldy tcp_send_data_len sta scratch_buffer,y inc tcp_send_data_len + @send_char: + ldax #scratch_buffer jsr tcp_send bcs @error_on_send @@ -454,7 +473,7 @@ terminal_type_response: .byte $fa; SB .byte $18 ; TERMINAL TYPE .byte $0 ; IS - .byte "xterm" ;we pretend to be a vt100 + .byte "vt100" ;what we pretend to be .byte $ff ; IAC .byte $f0 ; SE terminal_type_response_length=*-terminal_type_response @@ -492,7 +511,7 @@ telnet_state_got_suboption=3 buffer_length: .res 2 telnet_state: .res 1 - +temp_a: .res 1 iac_response_buffer: .res 64 iac_response_buffer_length: .res 1 scratch_buffer : .res 40 diff --git a/dist/version_number.txt b/dist/version_number.txt index d941c12..e7ad390 100644 --- a/dist/version_number.txt +++ b/dist/version_number.txt @@ -1 +1 @@ -1.0.16 \ No newline at end of file +1.0.19 \ No newline at end of file diff --git a/doc/kipper_api_technical_reference.doc b/doc/kipper_api_technical_reference.doc index 7d9d6f1..e33c9f8 100644 Binary files a/doc/kipper_api_technical_reference.doc and b/doc/kipper_api_technical_reference.doc differ