diff --git a/CHANGES.txt b/CHANGES.txt deleted file mode 100644 index 072a927..0000000 --- a/CHANGES.txt +++ /dev/null @@ -1,4 +0,0 @@ -- telnet now supports vt100 emulation (thanks to Lars Stollenwerk) -- gopher: fixed bug preventing connection to jamtronix.com - - diff --git a/client/inc/version.i b/client/inc/version.i index 36b6297..6b1eae0 100644 --- a/client/inc/version.i +++ b/client/inc/version.i @@ -1 +1 @@ -.byte "1.0.25" +.byte "1.0.27" diff --git a/client/ip65/xmodem.s b/client/ip65/xmodem.s index afbd3f4..c2c67ae 100644 --- a/client/ip65/xmodem.s +++ b/client/ip65/xmodem.s @@ -102,13 +102,13 @@ getc_timeout_seconds: .res 1 buffer_length: .res 2 .code - -xmodem_send: + ;send a file via XMODEM (checksum mode only, not CRC) ;assumes that a tcp connection has already been set up, and that the other end is waiting to start receiving ;inputs: AX points to routine to call once for each byte in file to send (e.g. save to disk, print to screen, whatever) - byte will be in A, carry flag set means EOF ; xmodem_iac_escape should be set to non-zero if the remote end escapes $FF bytes (i.e. if it is a real telnet server) ;outputs: none +xmodem_send: stax get_byte+1 jsr xmodem_transfer_setup lda #0 @@ -262,13 +262,13 @@ xmodem_transfer_setup: stax tcp_callback rts -xmodem_receive: + ;recieve a file via XMODEM (checksum mode only, not CRC) ;assumes that a tcp connection has already been set up, and that the other end is waiting to start sending ;inputs: AX points to routine to call once for each byte in downloaded file (e.g. save to disk, print to screen, whatever) - byte will be in A ; xmodem_iac_escape should be set to non-zero if the remote end escapes $FF bytes (i.e. if it is a real telnet server) ;outputs: none - +xmodem_receive: stax got_byte+1 jsr xmodem_transfer_setup @@ -294,6 +294,7 @@ xmodem_receive: bcc @got_block_start lda user_abort beq @no_user_abort + sec jmp xmodem_transfer_exit @no_user_abort: jsr send_nak @@ -314,18 +315,32 @@ xmodem_receive: @got_block_start: cmp #EOT bne :+ + ldax #got_eot + jsr print_ascii_as_native + jsr send_ack clc jmp xmodem_transfer_exit : + + cmp #$81 ;jamming signal BBS seems to use $81 not $01 as SOH + beq @got_soh cmp #SOH - bne @wait_for_block_start + beq @got_soh + jsr print_hex + lda #'!' ;we got an unexpected character + jsr print_a + jsr print_a + jmp @wait_for_block_start +@got_soh: ;now get block number lda #XMODEM_TIMEOUT_SECONDS jsr getc bcc :+ jsr send_nak + lda #'.' + jmp print_a jmp @wait_for_block_start : sta actual_block_number @@ -334,12 +349,18 @@ xmodem_receive: lda #XMODEM_TIMEOUT_SECONDS jsr getc bcc :+ + lda #'.' + jmp print_a jsr send_nak jmp @wait_for_block_start : adc actual_block_number cmp #$ff - bne @wait_for_block_start + beq :+ + lda #'?' + jsr print_a + jmp @wait_for_block_start +: ldax #receiving jsr print_ascii_as_native @@ -527,6 +548,7 @@ block_number_msg: .byte " block $",0 expecting: .byte "expecting",0 receiving: .byte "receiving",0 sending: .byte "sending",0 +got_eot: .byte "end of transmission",10,0 bad_block_number: .byte "bad block number",0 checksum_msg: .byte "checksum $",0 diff --git a/dist/make_dist.rb b/dist/make_dist.rb index 9e24010..a2d0a0d 100644 --- a/dist/make_dist.rb +++ b/dist/make_dist.rb @@ -26,8 +26,12 @@ end ["client/carts/kipperkart_rr.bin","c64/"], ["client/carts/kipperterm.bin","c64/"], ["client/carts/kipperterm_rr.bin","c64/"], +["client/carts/kipperterm.prg","c64/"], +["client/carts/kippergo.bin","c64/"], +["client/carts/kippergo_rr.bin","c64/"], +["client/carts/kippergo.prg","c64/"], ["client/carts/netboot.bin","c64/"], -["client/nb65/d64_upload.prg","boot/"], +#["client/nb65/d64_upload.prg","boot/"], ["client/examples/upnatom.prg","boot/"], ["server/lib/tftp_server.rb","lib"], ["server/lib/file_list.rb","lib"], @@ -41,7 +45,7 @@ end ["doc/README.C64.html","doc"], ["doc/CONTRIBUTORS.txt","doc/"], ["doc/LICENSE.txt","doc/"], - +["doc/CHANGES.txt","doc/"], ["doc/kipper_api_technical_reference.doc","doc"], ["client/inc/common.i","inc"], ["client/inc/kipper_constants.i","inc"], diff --git a/dist/version_number.txt b/dist/version_number.txt index 855f702..3f11ef6 100644 --- a/dist/version_number.txt +++ b/dist/version_number.txt @@ -1 +1 @@ -1.0.25 \ No newline at end of file +1.0.27 \ No newline at end of file diff --git a/doc/CHANGES.txt b/doc/CHANGES.txt new file mode 100644 index 0000000..e102ae9 --- /dev/null +++ b/doc/CHANGES.txt @@ -0,0 +1,25 @@ +v1.0.27 +- ADD: change border colour to indicate telnet connect/disconnect + +v1.0.26 +- FIX: telnet often failed to notice disconnect by remote server + +v1.0.25 +- FIX: vt100 emulation was leaving a cursor after a "clear to end of line" command ( ]J ) +- ADD: XMODEM upload support +- CHANGE: removed 'line mode' from telnet + +v1.0.24 +- CHANGE: split KipperTerm (telnet + gopher) into KipperTerm (enhanced telnet) and KipperGo (basic telnet + gopher) +- ADD: XMODEM download support for KipperTerm +- FIX: tell remote server screen size (40x25) +- FIX: vt100 no longer does line wrap & scroll when writing to bottom right hand corner +- FIX: telnet sessions now send 'keep alive' (stops my broadband router from losing NAT state) +- FIX: tcp was sending wrong seq number when ACKing inbound data just after sending data out +- FIX: telnet packets > 256 bytes not completely processed +- ADD: can change default disk drive + +v1.0.23 +- telnet now supports vt100 emulation (thanks to Lars Stollenwerk) +- gopher: fixed bug preventing connection to jamtronix.com + diff --git a/doc/README.C64.html b/doc/README.C64.html index 976748d..98a018b 100644 --- a/doc/README.C64.html +++ b/doc/README.C64.html @@ -7,18 +7,19 @@ memory location as BASIC. Within the major flavours, there are also variations in media - the majority of code is identical between the different media but there are different headers etc. The supported media are:
filename | flavour | media | command to use in VICE |
---|---|---|---|
netboot.bin | UDP only (+ BASIC) | standard 8KB cart | x64.exe -cart8 netboot.bin |
kipperkart.bin | UDP/TCP (no BASIC) | standard 16KB cart | x64.exe -cart16 kipperkart.bin |
kipperterm.bin | telnet & gopher client | standard 16KB cart | x64.exe -cart16 kipperterm.bin |
kipperkart_rr.bin | UDP/TCP (no BASIC) | Retro Replay cart image | x64.exe -cartrr kipperkart_rr.bin |
filename | flavour | cartidge size | |
netboot.bin | UDP only (+ BASIC) | 8KB cart | |
kipperkart.bin | UDP/TCP (no BASIC) | 16KB cart | |
kippergo.bin | basic telnet & gopher client | 16KB cart | |
kipperterm.bin | enhanced telnet | 16KB cart |
Release Maintainer Changes ------- ---------- ------- + 2009-12-23 Jonno Downes TCP and telnet bugfixes, vt100 emulation, XMODEM support 2009-10-31 Jonno Downes Added Web Application Server functions 2009-08-02 Jonno Downes More TCP functionality, includes telnet 2009-07-12 Jonno Downes Initial TCP implementation (use -DTCP to include)