mirror of
https://github.com/bobbimanners/emailler.git
synced 2024-09-08 21:54:28 +00:00
git-svn-id: http://svn.code.sf.net/p/netboot65/code@237 93682198-c243-4bdb-bd91-e943c89aac3b
This commit is contained in:
parent
caacc876fb
commit
0df937be7c
@ -1,4 +0,0 @@
|
||||
- telnet now supports vt100 emulation (thanks to Lars Stollenwerk)
|
||||
- gopher: fixed bug preventing connection to jamtronix.com
|
||||
|
||||
|
@ -1 +1 @@
|
||||
.byte "1.0.25"
|
||||
.byte "1.0.27"
|
||||
|
@ -103,12 +103,12 @@ 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 #SOH
|
||||
bne @wait_for_block_start
|
||||
|
||||
cmp #$81 ;jamming signal BBS seems to use $81 not $01 as SOH
|
||||
beq @got_soh
|
||||
cmp #SOH
|
||||
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
|
||||
|
8
dist/make_dist.rb
vendored
8
dist/make_dist.rb
vendored
@ -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"],
|
||||
|
2
dist/version_number.txt
vendored
2
dist/version_number.txt
vendored
@ -1 +1 @@
|
||||
1.0.25
|
||||
1.0.27
|
25
doc/CHANGES.txt
Normal file
25
doc/CHANGES.txt
Normal file
@ -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
|
||||
|
@ -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:
|
||||
<p>
|
||||
<ul>
|
||||
<li> A prg that can be loaded from disk </li>
|
||||
<li>'ordinary' cartridge images (that can be burned into an eeprom on e.g. a 64NIC+ card)</li>
|
||||
<li> A program that can be loaded from disk (filename will end with .prg)</li>
|
||||
<li>'ordinary' cartridge images (that can be burned into an eeprom on e.g. a 64NIC+ card) (filename will end with .bin)</li>
|
||||
<li>'Retro Replay' cartridge images - these are actually 'ordinary' cartridge images that have been converted into a form suitable for use in a Retro Replay using Doc Bacardi's
|
||||
<a href=http://freenet-homepage.de/LittleDreamLand/CRT8040.html>CRT8040</a> tool</li>
|
||||
<a href=http://freenet-homepage.de/LittleDreamLand/CRT8040.html>CRT8040</a> tool (filename will end with _rr.bin)</li>
|
||||
</ul>
|
||||
|
||||
<table>
|
||||
<tr><th>filename</th><th>flavour</th><th>media</th><th>command to use in VICE</th></tr>
|
||||
<tr><td>netboot.bin</td><td>UDP only (+ BASIC)</td><td>standard 8KB cart</td><td>x64.exe -cart8 netboot.bin</td></tr>
|
||||
<tr><td>kipperkart.bin</td><td>UDP/TCP (no BASIC)</td><td>standard 16KB cart</td><td>x64.exe -cart16 kipperkart.bin</td></tr>
|
||||
<tr><td>kipperterm.bin</td><td>telnet & gopher client</td><td>standard 16KB cart</td><td>x64.exe -cart16 kipperterm.bin</td></tr>
|
||||
<tr><td>kipperkart_rr.bin</td><td>UDP/TCP (no BASIC)</td><td>Retro Replay cart image</td><td>x64.exe -cartrr kipperkart_rr.bin</td></tr>
|
||||
<tr><th>filename</th><th>flavour</th><th>cartidge size</th></tr>
|
||||
<tr><td>netboot.bin</td><td>UDP only (+ BASIC)</td><td>8KB cart</td></tr>
|
||||
<tr><td>kipperkart.bin</td><td>UDP/TCP (no BASIC)</td><td>16KB cart</td></tr>
|
||||
<tr><td>kippergo.bin</td><td>basic telnet & gopher client</td><td>16KB cart</td></tr>
|
||||
<tr><td>kipperterm.bin</td><td>enhanced telnet</td><td>16KB cart</td></tr>
|
||||
|
||||
</table>
|
||||
|
||||
|
||||
@ -54,13 +55,12 @@ Once the 16KB cartridge image has initialised the IP stack, it will look for a f
|
||||
bytes of the file) and executed. NB - since BASIC is not available only 100% Machine Language programs can be executed, although if there is a BASIC stub consisting of a single line that does a SYS
|
||||
call, the target of the SYS call will be used as the address to start execution from.
|
||||
|
||||
<h2>KIPPERTERM cart</h2>
|
||||
<h2>KIPPERGO cart</h2>
|
||||
<ul>
|
||||
<li>F1 : TELNET. You will be prompted to enter a hostname, a port number, and a connection mode. Connection mode is either
|
||||
<ul>
|
||||
<li>VT100 - keypresses are converted to ASCII before being sent out, and incoming data is converted to PETSCII before being displayed. Many common VT100 escape codes are interpreted, and keystrokes are sent a character at a time.</li>
|
||||
<li>PETSCII - no translation is done on data coming in or out. This mode is suitable for connecting to PETSCII BBSs</li>
|
||||
<li>Line - Data is converted to/from ASCII, but each line of input can be edited and is not sent until the RETURN key is pressed.</li>
|
||||
</ul>
|
||||
Once a connection is made, it can be terminated by hitting RUN/STOP
|
||||
<li>F3 : GOPHER. You will be prompted to enter the hostname (only - no port number can be specified) of a gopher server, and the gopher client will be launched connecting to the specified server.
|
||||
@ -83,6 +83,26 @@ starting with a highlighted letter (e.g. the first link on a page will have an i
|
||||
the 2nd link on a page will have an inverse "B" next to it etc). Press the letter assigned to the link
|
||||
to load up that resource.
|
||||
|
||||
<h2>KIPPERTERM cart</h2>
|
||||
<ul>
|
||||
<li>F1 : TELNET. You will be prompted to enter a hostname, a port number, and a connection mode. Connection mode is either
|
||||
<ul>
|
||||
<li>VT100 - keypresses are converted to ASCII before being sent out, and incoming data is converted to PETSCII before being displayed. Many common VT100 escape codes are interpreted, and keystrokes are sent a character at a time.</li>
|
||||
<li>PETSCII - no translation is done on data coming in or out. This mode is suitable for connecting to PETSCII BBSs</li>
|
||||
</ul>
|
||||
</ul>
|
||||
Once a connection is made, it can be terminated by hitting RUN/STOP
|
||||
<h3>File Transfer</h3>
|
||||
While connected, you can hit F1 to bring up a file transfer menu. This menu presents the following options:
|
||||
<ul>
|
||||
<li>F1 : D/L File (XMODEM). Select this option after you have started the file download process on the remote server. You will be prompted for a filename for the file to be saved as after the download has completed.
|
||||
<li>F3 : U/L File (XMODEM). Select this option after you have started the file upload process on the remote server. You will be given a menu of files on the local disk to transfer.
|
||||
<li>F7 : Return. Selecting this option will restore the screen return you to your connection
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h2>IP CONFIGURATION</h2>
|
||||
There is a script in the "bin" folder called "set_ip_config.rb" that can be used to modify the MAC address and IP config details in the cart image before
|
||||
@ -120,6 +140,7 @@ Most network functions will return an 8 bit error code if things go wrong.
|
||||
<tr><td>$88</td><td>NO SUCH LISTENER</td></tr>
|
||||
<tr><td>$89</td><td>CONNECTION RESET BY PEER</td></tr>
|
||||
<tr><td>$8A</td><td>CONNECTION CLOSED</td></tr>
|
||||
<tr><td>$8B</td><td>TOO MANY ERRORS</td></tr>
|
||||
<tr><td>$90</td><td>FILE ACCESS FAILURE</td></tr>
|
||||
<tr><td>$A0</td><td>MALFORMED URL</td></tr>
|
||||
<tr><td>$A1</td><td>DNS LOOKUP FAILED</td></tr>
|
||||
@ -143,8 +164,8 @@ NETBOOT65 is licensed under the same terms as IP65, the <a href=http://www.mozil
|
||||
Package is maintained by Jonno Downes - jonno@jamtronix.com
|
||||
<h3>Contributors</h3>
|
||||
<ul>
|
||||
<li>Jonno Downes - current maintainer of ip65, layers 4-7 (dhcp,dns,tcp,telnet, http, gopher)</li>
|
||||
<li>Jonno Downes - current maintainer of ip65, original developer of layers 4-7 (dhcp,dns,tcp,telnet, http, gopher)</li>
|
||||
<li>Glenn Holmer - icmp enhancements, bugfixes</li>
|
||||
<li>Per Olofsson - initial creator of ip65, layers 1-3 (eth,arp,ip,icmp,udp)</li>
|
||||
<li>Per Olofsson - initial creator of ip65, original developer of layers 1-3 (eth,arp,ip,icmp,udp)</li>
|
||||
<li>Lars Stollenwerk - vt100 emulation </li>
|
||||
</ul>
|
@ -162,6 +162,7 @@ IP65 is a TCP/IP stack for 6502 based computers.
|
||||
<pre>
|
||||
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)
|
||||
|
Loading…
Reference in New Issue
Block a user