mirror of
https://github.com/bobbimanners/emailler.git
synced 2024-10-11 01:23:42 +00:00
git-svn-id: http://svn.code.sf.net/p/netboot65/code@180 93682198-c243-4bdb-bd91-e943c89aac3b
This commit is contained in:
parent
5f093e815a
commit
96d1885b23
1
client/inc/version.i
Normal file
1
client/inc/version.i
Normal file
@ -0,0 +1 @@
|
|||||||
|
.byte "0.9.21"
|
@ -8,11 +8,13 @@
|
|||||||
.include "../inc/nb65_constants.i"
|
.include "../inc/nb65_constants.i"
|
||||||
.endif
|
.endif
|
||||||
|
|
||||||
|
TIMEOUT_SECONDS=15
|
||||||
|
|
||||||
.import output_buffer
|
.import output_buffer
|
||||||
.importzp copy_src
|
.importzp copy_src
|
||||||
.importzp copy_dest
|
.importzp copy_dest
|
||||||
.import copymem
|
.import copymem
|
||||||
|
.import timer_read
|
||||||
.import ip65_error
|
.import ip65_error
|
||||||
.import ip65_process
|
.import ip65_process
|
||||||
.import parser_init
|
.import parser_init
|
||||||
@ -57,7 +59,7 @@ selector_buffer=output_buffer
|
|||||||
|
|
||||||
src_ptr: .res 1
|
src_ptr: .res 1
|
||||||
dest_ptr: .res 1
|
dest_ptr: .res 1
|
||||||
|
timeout_counter: .res 1
|
||||||
url_download_buffer: .res 2 ; points to a buffer that url will be downloaded into
|
url_download_buffer: .res 2 ; points to a buffer that url will be downloaded into
|
||||||
url_download_buffer_length: .res 2 ;length of buffer that url will be downloaded into
|
url_download_buffer_length: .res 2 ;length of buffer that url will be downloaded into
|
||||||
|
|
||||||
@ -211,7 +213,7 @@ lda #url_type_gopher
|
|||||||
;now the HTTP version number & Host: field
|
;now the HTTP version number & Host: field
|
||||||
ldx #0
|
ldx #0
|
||||||
:
|
:
|
||||||
lda http_version_and_host,x
|
lda http_preamble,x
|
||||||
beq :+
|
beq :+
|
||||||
ldy dest_ptr
|
ldy dest_ptr
|
||||||
inc dest_ptr
|
inc dest_ptr
|
||||||
@ -256,9 +258,10 @@ lda #url_type_gopher
|
|||||||
lda #$0a
|
lda #$0a
|
||||||
sta (copy_dest),y
|
sta (copy_dest),y
|
||||||
iny
|
iny
|
||||||
|
sty dest_ptr
|
||||||
dex
|
dex
|
||||||
bne @final_crlf
|
bne @final_crlf
|
||||||
|
|
||||||
@done:
|
@done:
|
||||||
lda #$00
|
lda #$00
|
||||||
sta (copy_dest),y
|
sta (copy_dest),y
|
||||||
@ -295,7 +298,8 @@ url_download:
|
|||||||
stax temp_buffer
|
stax temp_buffer
|
||||||
ldax url_download_buffer_length
|
ldax url_download_buffer_length
|
||||||
stax temp_buffer_length
|
stax temp_buffer_length
|
||||||
|
jsr put_zero_at_end_of_dl_buffer
|
||||||
|
|
||||||
ldx #3 ; save IP address just retrieved
|
ldx #3 ; save IP address just retrieved
|
||||||
: lda url_ip,x
|
: lda url_ip,x
|
||||||
sta tcp_connect_ip,x
|
sta tcp_connect_ip,x
|
||||||
@ -314,11 +318,19 @@ url_download:
|
|||||||
ldax url_selector
|
ldax url_selector
|
||||||
|
|
||||||
jsr tcp_send_string
|
jsr tcp_send_string
|
||||||
|
jsr timer_read
|
||||||
|
txa
|
||||||
|
adc #TIMEOUT_SECONDS*4 ;what value shoul trigger the timeout?
|
||||||
|
sta timeout_counter
|
||||||
;now loop until we're done
|
;now loop until we're done
|
||||||
@download_loop:
|
@download_loop:
|
||||||
jsr ip65_process
|
jsr ip65_process
|
||||||
|
jsr timer_read
|
||||||
|
cpx timeout_counter
|
||||||
|
beq @timeout
|
||||||
lda download_flag
|
lda download_flag
|
||||||
beq @download_loop
|
beq @download_loop
|
||||||
|
@timeout:
|
||||||
jsr tcp_close
|
jsr tcp_close
|
||||||
clc
|
clc
|
||||||
@error:
|
@error:
|
||||||
@ -335,20 +347,21 @@ url_download:
|
|||||||
|
|
||||||
lda tcp_inbound_data_length+1
|
lda tcp_inbound_data_length+1
|
||||||
cmp #$ff
|
cmp #$ff
|
||||||
bne @not_end_of_file
|
bne not_end_of_file
|
||||||
@end_of_file:
|
@end_of_file:
|
||||||
lda #1
|
lda #1
|
||||||
sta download_flag
|
sta download_flag
|
||||||
|
|
||||||
;put a zero byte at the end of the file (in case it was a text file)
|
put_zero_at_end_of_dl_buffer:
|
||||||
|
;put a zero byte at the end of the file
|
||||||
ldax temp_buffer
|
ldax temp_buffer
|
||||||
stax copy_dest
|
stax copy_dest
|
||||||
lda #0
|
lda #0
|
||||||
tay
|
tay
|
||||||
sta (copy_dest),y
|
sta (copy_dest),y
|
||||||
rts
|
rts
|
||||||
@not_end_of_file:
|
|
||||||
|
not_end_of_file:
|
||||||
;copy this chunk to our input buffer
|
;copy this chunk to our input buffer
|
||||||
ldax temp_buffer
|
ldax temp_buffer
|
||||||
stax copy_dest
|
stax copy_dest
|
||||||
@ -374,10 +387,8 @@ url_download:
|
|||||||
lda temp_buffer+1
|
lda temp_buffer+1
|
||||||
adc tcp_inbound_data_length+1
|
adc tcp_inbound_data_length+1
|
||||||
sta temp_buffer+1
|
sta temp_buffer+1
|
||||||
; lda #'*'
|
jmp put_zero_at_end_of_dl_buffer
|
||||||
; jsr print_a
|
|
||||||
|
|
||||||
rts
|
|
||||||
@would_overflow_buffer:
|
@would_overflow_buffer:
|
||||||
pla ;clean up the stack
|
pla ;clean up the stack
|
||||||
ldax temp_buffer_length
|
ldax temp_buffer_length
|
||||||
@ -391,15 +402,18 @@ url_download:
|
|||||||
lda #0
|
lda #0
|
||||||
sta temp_buffer_length
|
sta temp_buffer_length
|
||||||
sta temp_buffer_length+1
|
sta temp_buffer_length+1
|
||||||
rts
|
jmp put_zero_at_end_of_dl_buffer
|
||||||
|
|
||||||
.rodata
|
.rodata
|
||||||
get: .byte "GET "
|
get: .byte "GET "
|
||||||
get_length=4
|
get_length=4
|
||||||
http_version_and_host: .byte " HTTP/1.1",$0d,$0a, "Host: ",0
|
http_preamble:
|
||||||
; http_trailer: .byte " HTTP/1.1",$0a,$0a
|
.byte " HTTP/1.1",$0d,$0a
|
||||||
; http_trailer_end:
|
.byte "User-Agent: IP65/"
|
||||||
; http_trailer_length=http_trailer_end-http_trailer
|
.include "../inc/version.i"
|
||||||
|
.byte $0d,$0a
|
||||||
|
.byte "Connection: close",$0d,$0a
|
||||||
|
.byte "Host: ",0
|
||||||
|
|
||||||
colon_slash_slash: .byte ":/"
|
colon_slash_slash: .byte ":/"
|
||||||
slash: .byte "/",0
|
slash: .byte "/",0
|
||||||
|
@ -9,7 +9,7 @@ INCFILES=\
|
|||||||
../inc/net.i\
|
../inc/net.i\
|
||||||
../inc/menu.i\
|
../inc/menu.i\
|
||||||
../inc/nb65_constants.i\
|
../inc/nb65_constants.i\
|
||||||
nb65_version.i\
|
../inc/version.i\
|
||||||
|
|
||||||
IP65LIB=../ip65/ip65.lib
|
IP65LIB=../ip65/ip65.lib
|
||||||
|
|
||||||
|
@ -674,7 +674,7 @@ exit_gopher:
|
|||||||
|
|
||||||
netboot65_msg:
|
netboot65_msg:
|
||||||
.byte 13,"NB65 - V"
|
.byte 13,"NB65 - V"
|
||||||
.include "nb65_version.i"
|
.include "../inc/version.i"
|
||||||
.byte 13,0
|
.byte 13,0
|
||||||
main_menu_msg:
|
main_menu_msg:
|
||||||
.byte 13," MAIN MENU",13,13
|
.byte 13," MAIN MENU",13,13
|
||||||
|
@ -1 +0,0 @@
|
|||||||
.byte "0.9.20"
|
|
132
client/test/test_get_url.s
Normal file
132
client/test/test_get_url.s
Normal file
@ -0,0 +1,132 @@
|
|||||||
|
.include "../inc/common.i"
|
||||||
|
.include "../inc/commonprint.i"
|
||||||
|
.include "../inc/net.i"
|
||||||
|
;.include "../ip65/url_download.s"
|
||||||
|
|
||||||
|
.import print_a
|
||||||
|
.import get_key
|
||||||
|
.import cfg_get_configuration_ptr
|
||||||
|
.import ascii_to_native
|
||||||
|
.import parser_init
|
||||||
|
.import parser_skip_next
|
||||||
|
.importzp copy_src
|
||||||
|
.importzp copy_dest
|
||||||
|
.import url_ip
|
||||||
|
.import url_port
|
||||||
|
.import url_selector
|
||||||
|
.import url_resource_type
|
||||||
|
.import url_parse
|
||||||
|
.import url_download
|
||||||
|
.import url_download_buffer
|
||||||
|
.import url_download_buffer_length
|
||||||
|
temp_buff=copy_dest
|
||||||
|
|
||||||
|
.bss
|
||||||
|
|
||||||
|
string_offset: .res 1
|
||||||
|
selector_ptr: .res 2
|
||||||
|
temp_url_ptr: .res 2
|
||||||
|
.segment "STARTUP" ;this is what gets put at the start of the file on the C64
|
||||||
|
|
||||||
|
.word basicstub ; load address
|
||||||
|
|
||||||
|
basicstub:
|
||||||
|
.word @nextline
|
||||||
|
.word 2003
|
||||||
|
.byte $9e
|
||||||
|
.byte <(((init / 1000) .mod 10) + $30)
|
||||||
|
.byte <(((init / 100 ) .mod 10) + $30)
|
||||||
|
.byte <(((init / 10 ) .mod 10) + $30)
|
||||||
|
.byte <(((init ) .mod 10) + $30)
|
||||||
|
.byte 0
|
||||||
|
@nextline:
|
||||||
|
.word 0
|
||||||
|
|
||||||
|
init:
|
||||||
|
|
||||||
|
;switch to lower case charset
|
||||||
|
lda #23
|
||||||
|
sta $d018
|
||||||
|
|
||||||
|
init_ip_via_dhcp
|
||||||
|
jsr print_ip_config
|
||||||
|
|
||||||
|
ldax #url_1
|
||||||
|
jsr test_url_download
|
||||||
|
|
||||||
|
ldax #url_2
|
||||||
|
jsr test_url_download
|
||||||
|
|
||||||
|
rts
|
||||||
|
|
||||||
|
test_url_download:
|
||||||
|
stax temp_url_ptr
|
||||||
|
ldax #downloading
|
||||||
|
jsr print
|
||||||
|
ldax temp_url_ptr
|
||||||
|
jsr print
|
||||||
|
jsr print_cr
|
||||||
|
ldax #dl_buffer
|
||||||
|
stax url_download_buffer
|
||||||
|
ldax #dl_buffer_length
|
||||||
|
stax url_download_buffer_length
|
||||||
|
|
||||||
|
ldax temp_url_ptr
|
||||||
|
jsr url_download
|
||||||
|
bcc :+
|
||||||
|
jmp print_errorcode
|
||||||
|
:
|
||||||
|
ldax #dl_buffer
|
||||||
|
jsr parser_init
|
||||||
|
@next_title:
|
||||||
|
ldax #title
|
||||||
|
jsr parser_skip_next
|
||||||
|
bcs @done
|
||||||
|
|
||||||
|
jsr print_tag_contents
|
||||||
|
jsr print_cr
|
||||||
|
|
||||||
|
jmp @next_title
|
||||||
|
@done:
|
||||||
|
|
||||||
|
rts
|
||||||
|
|
||||||
|
wait_key:
|
||||||
|
ldax #press_a_key
|
||||||
|
jsr print
|
||||||
|
jmp get_key
|
||||||
|
|
||||||
|
|
||||||
|
print_tag_contents:
|
||||||
|
stax temp_buff
|
||||||
|
lda #0
|
||||||
|
sta string_offset
|
||||||
|
@next_byte:
|
||||||
|
ldy string_offset
|
||||||
|
lda (temp_buff),y
|
||||||
|
beq @done
|
||||||
|
cmp #'<'
|
||||||
|
beq @done
|
||||||
|
jsr ascii_to_native
|
||||||
|
jsr print_a
|
||||||
|
inc string_offset
|
||||||
|
beq @done
|
||||||
|
jmp @next_byte
|
||||||
|
@done:
|
||||||
|
rts
|
||||||
|
|
||||||
|
.data
|
||||||
|
title:
|
||||||
|
.byte "<title>",0
|
||||||
|
|
||||||
|
url_1:
|
||||||
|
.byte "http://static.cricinfo.com/rss/livescores.xml",0
|
||||||
|
url_2:
|
||||||
|
.byte "http://search.twitter.com/search.atom?q=kipper",0
|
||||||
|
|
||||||
|
downloading: .asciiz "DOWNLOADING "
|
||||||
|
press_a_key: .byte "PRESS ANY KEY TO CONTINUE",13,0
|
||||||
|
|
||||||
|
.bss
|
||||||
|
dl_buffer_length=8092
|
||||||
|
dl_buffer: .res dl_buffer_length
|
4
dist/make_dist.rb
vendored
4
dist/make_dist.rb
vendored
@ -9,7 +9,7 @@ require 'ftools'
|
|||||||
WORKING_DIR=File.expand_path(File.dirname(__FILE__)+"/netboot65")
|
WORKING_DIR=File.expand_path(File.dirname(__FILE__)+"/netboot65")
|
||||||
SRC_DIR=File.expand_path(File.dirname(__FILE__)+"/../")
|
SRC_DIR=File.expand_path(File.dirname(__FILE__)+"/../")
|
||||||
VERSION_FILE=File.expand_path(File.dirname(__FILE__)+"/version_number.txt")
|
VERSION_FILE=File.expand_path(File.dirname(__FILE__)+"/version_number.txt")
|
||||||
VERSION_INC_FILE=File.expand_path(File.dirname(__FILE__)+"/../client/nb65/nb65_version.i")
|
VERSION_INC_FILE=File.expand_path(File.dirname(__FILE__)+"/../client/inc/version.i")
|
||||||
version_string=File.open(VERSION_FILE).read
|
version_string=File.open(VERSION_FILE).read
|
||||||
|
|
||||||
["","c64","lib","bin","boot","doc","inc","examples"].each do |dir_suffix|
|
["","c64","lib","bin","boot","doc","inc","examples"].each do |dir_suffix|
|
||||||
@ -23,7 +23,7 @@ end
|
|||||||
#["client/nb65/nb65_rrnet.bin","c64/"],
|
#["client/nb65/nb65_rrnet.bin","c64/"],
|
||||||
["client/nb65/nb65_c64_ram.prg","c64/"],
|
["client/nb65/nb65_c64_ram.prg","c64/"],
|
||||||
["client/nb65/nb65_std_cart.bin","c64/"],
|
["client/nb65/nb65_std_cart.bin","c64/"],
|
||||||
\["client/nb65/nb65_tcp_cart.bin","c64/"],
|
["client/nb65/nb65_tcp_cart.bin","c64/"],
|
||||||
["client/nb65/d64_upload.prg","boot/"],
|
["client/nb65/d64_upload.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"],
|
||||||
|
2
dist/version_number.txt
vendored
2
dist/version_number.txt
vendored
@ -1 +1 @@
|
|||||||
0.9.20
|
0.9.21
|
Loading…
Reference in New Issue
Block a user