mirror of
https://github.com/bobbimanners/emailler.git
synced 2024-11-15 02:04: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
|
.code
|
||||||
|
|
||||||
xmodem_send:
|
|
||||||
;send a file via XMODEM (checksum mode only, not CRC)
|
;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
|
;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
|
;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)
|
; 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
|
;outputs: none
|
||||||
|
xmodem_send:
|
||||||
stax get_byte+1
|
stax get_byte+1
|
||||||
jsr xmodem_transfer_setup
|
jsr xmodem_transfer_setup
|
||||||
lda #0
|
lda #0
|
||||||
@ -262,13 +262,13 @@ xmodem_transfer_setup:
|
|||||||
stax tcp_callback
|
stax tcp_callback
|
||||||
rts
|
rts
|
||||||
|
|
||||||
xmodem_receive:
|
|
||||||
;recieve a file via XMODEM (checksum mode only, not CRC)
|
;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
|
;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
|
;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)
|
; 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
|
;outputs: none
|
||||||
|
xmodem_receive:
|
||||||
|
|
||||||
stax got_byte+1
|
stax got_byte+1
|
||||||
jsr xmodem_transfer_setup
|
jsr xmodem_transfer_setup
|
||||||
@ -294,6 +294,7 @@ xmodem_receive:
|
|||||||
bcc @got_block_start
|
bcc @got_block_start
|
||||||
lda user_abort
|
lda user_abort
|
||||||
beq @no_user_abort
|
beq @no_user_abort
|
||||||
|
sec
|
||||||
jmp xmodem_transfer_exit
|
jmp xmodem_transfer_exit
|
||||||
@no_user_abort:
|
@no_user_abort:
|
||||||
jsr send_nak
|
jsr send_nak
|
||||||
@ -314,18 +315,32 @@ xmodem_receive:
|
|||||||
@got_block_start:
|
@got_block_start:
|
||||||
cmp #EOT
|
cmp #EOT
|
||||||
bne :+
|
bne :+
|
||||||
|
ldax #got_eot
|
||||||
|
jsr print_ascii_as_native
|
||||||
|
|
||||||
jsr send_ack
|
jsr send_ack
|
||||||
clc
|
clc
|
||||||
jmp xmodem_transfer_exit
|
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
|
;now get block number
|
||||||
lda #XMODEM_TIMEOUT_SECONDS
|
lda #XMODEM_TIMEOUT_SECONDS
|
||||||
jsr getc
|
jsr getc
|
||||||
bcc :+
|
bcc :+
|
||||||
jsr send_nak
|
jsr send_nak
|
||||||
|
lda #'.'
|
||||||
|
jmp print_a
|
||||||
jmp @wait_for_block_start
|
jmp @wait_for_block_start
|
||||||
:
|
:
|
||||||
sta actual_block_number
|
sta actual_block_number
|
||||||
@ -334,12 +349,18 @@ xmodem_receive:
|
|||||||
lda #XMODEM_TIMEOUT_SECONDS
|
lda #XMODEM_TIMEOUT_SECONDS
|
||||||
jsr getc
|
jsr getc
|
||||||
bcc :+
|
bcc :+
|
||||||
|
lda #'.'
|
||||||
|
jmp print_a
|
||||||
jsr send_nak
|
jsr send_nak
|
||||||
jmp @wait_for_block_start
|
jmp @wait_for_block_start
|
||||||
:
|
:
|
||||||
adc actual_block_number
|
adc actual_block_number
|
||||||
cmp #$ff
|
cmp #$ff
|
||||||
bne @wait_for_block_start
|
beq :+
|
||||||
|
lda #'?'
|
||||||
|
jsr print_a
|
||||||
|
jmp @wait_for_block_start
|
||||||
|
:
|
||||||
ldax #receiving
|
ldax #receiving
|
||||||
jsr print_ascii_as_native
|
jsr print_ascii_as_native
|
||||||
|
|
||||||
@ -527,6 +548,7 @@ block_number_msg: .byte " block $",0
|
|||||||
expecting: .byte "expecting",0
|
expecting: .byte "expecting",0
|
||||||
receiving: .byte "receiving",0
|
receiving: .byte "receiving",0
|
||||||
sending: .byte "sending",0
|
sending: .byte "sending",0
|
||||||
|
got_eot: .byte "end of transmission",10,0
|
||||||
|
|
||||||
bad_block_number: .byte "bad block number",0
|
bad_block_number: .byte "bad block number",0
|
||||||
checksum_msg: .byte "checksum $",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/kipperkart_rr.bin","c64/"],
|
||||||
["client/carts/kipperterm.bin","c64/"],
|
["client/carts/kipperterm.bin","c64/"],
|
||||||
["client/carts/kipperterm_rr.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/carts/netboot.bin","c64/"],
|
||||||
["client/nb65/d64_upload.prg","boot/"],
|
#["client/nb65/d64_upload.prg","boot/"],
|
||||||
["client/examples/upnatom.prg","boot/"],
|
["client/examples/upnatom.prg","boot/"],
|
||||||
["server/lib/tftp_server.rb","lib"],
|
["server/lib/tftp_server.rb","lib"],
|
||||||
["server/lib/file_list.rb","lib"],
|
["server/lib/file_list.rb","lib"],
|
||||||
@ -41,7 +45,7 @@ end
|
|||||||
["doc/README.C64.html","doc"],
|
["doc/README.C64.html","doc"],
|
||||||
["doc/CONTRIBUTORS.txt","doc/"],
|
["doc/CONTRIBUTORS.txt","doc/"],
|
||||||
["doc/LICENSE.txt","doc/"],
|
["doc/LICENSE.txt","doc/"],
|
||||||
|
["doc/CHANGES.txt","doc/"],
|
||||||
["doc/kipper_api_technical_reference.doc","doc"],
|
["doc/kipper_api_technical_reference.doc","doc"],
|
||||||
["client/inc/common.i","inc"],
|
["client/inc/common.i","inc"],
|
||||||
["client/inc/kipper_constants.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:
|
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>
|
<p>
|
||||||
<ul>
|
<ul>
|
||||||
<li> A prg that can be loaded from disk </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)</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
|
<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>
|
</ul>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><th>filename</th><th>flavour</th><th>media</th><th>command to use in VICE</th></tr>
|
<tr><th>filename</th><th>flavour</th><th>cartidge size</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>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>standard 16KB cart</td><td>x64.exe -cart16 kipperkart.bin</td></tr>
|
<tr><td>kipperkart.bin</td><td>UDP/TCP (no BASIC)</td><td>16KB cart</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>kippergo.bin</td><td>basic telnet & gopher client</td><td>16KB cart</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><td>kipperterm.bin</td><td>enhanced telnet</td><td>16KB cart</td></tr>
|
||||||
|
|
||||||
</table>
|
</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
|
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.
|
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>
|
<ul>
|
||||||
<li>F1 : TELNET. You will be prompted to enter a hostname, a port number, and a connection mode. Connection mode is either
|
<li>F1 : TELNET. You will be prompted to enter a hostname, a port number, and a connection mode. Connection mode is either
|
||||||
<ul>
|
<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>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>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>
|
</ul>
|
||||||
Once a connection is made, it can be terminated by hitting RUN/STOP
|
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.
|
<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
|
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.
|
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>
|
<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
|
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>$88</td><td>NO SUCH LISTENER</td></tr>
|
||||||
<tr><td>$89</td><td>CONNECTION RESET BY PEER</td></tr>
|
<tr><td>$89</td><td>CONNECTION RESET BY PEER</td></tr>
|
||||||
<tr><td>$8A</td><td>CONNECTION CLOSED</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>$90</td><td>FILE ACCESS FAILURE</td></tr>
|
||||||
<tr><td>$A0</td><td>MALFORMED URL</td></tr>
|
<tr><td>$A0</td><td>MALFORMED URL</td></tr>
|
||||||
<tr><td>$A1</td><td>DNS LOOKUP FAILED</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
|
Package is maintained by Jonno Downes - jonno@jamtronix.com
|
||||||
<h3>Contributors</h3>
|
<h3>Contributors</h3>
|
||||||
<ul>
|
<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>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>
|
<li>Lars Stollenwerk - vt100 emulation </li>
|
||||||
</ul>
|
</ul>
|
@ -162,6 +162,7 @@ IP65 is a TCP/IP stack for 6502 based computers.
|
|||||||
<pre>
|
<pre>
|
||||||
Release Maintainer Changes
|
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-10-31 Jonno Downes Added Web Application Server functions
|
||||||
2009-08-02 Jonno Downes More TCP functionality, includes telnet
|
2009-08-02 Jonno Downes More TCP functionality, includes telnet
|
||||||
2009-07-12 Jonno Downes Initial TCP implementation (use -DTCP to include)
|
2009-07-12 Jonno Downes Initial TCP implementation (use -DTCP to include)
|
||||||
|
Loading…
Reference in New Issue
Block a user