git-svn-id: http://svn.code.sf.net/p/netboot65/code@148 93682198-c243-4bdb-bd91-e943c89aac3b

This commit is contained in:
jonnosan 2009-07-04 13:52:04 +00:00
parent a3c2899880
commit a449170597
4 changed files with 229 additions and 0 deletions

View File

@ -21,6 +21,7 @@ INCFILES=\
all: \
ip65test.dsk \
testdns.prg \
test_gopher.prg \
testdns.pg2 \
testtftp.prg \
testtftp.pg2\

View File

@ -0,0 +1,16 @@
i WELCOME TO THE RETRONET GOPHER HOLE! error.host 1
i error.host 1
i _____ _____ _____ _____ _____ error.host 1
i | __ | __|_ _| __ | | error.host 1
i ,,, | -| __| | | | -| | | error.host 1
i o^.^o |__|__|_____| |_| |__|__|_____| error.host 1
i \"/ _____ _____ _____ _________ error.host 1
i / ;; | | | __|_ _| / n___n \ error.host 1
i~( )) | | | | __| | | ==/ (o) \== error.host 1
i `L L |_|___|_____| |_| |_______| error.host 1
i error.host 1
1luddite /luddite/ retro-net.org 70
1wgoodf /wgoodf/ retro-net.org 70
1arfink /arfink/ retro-net.org 70
1rsayers /rsayers/ retro-net.org 70
.

View File

@ -0,0 +1,40 @@
igopher. error.host 1
i ___ _ ___ error.host 1
i| _ \ ___ | |__ / __| __ _ _ _ ___ _ _ ___ error.host 1
i| / / _ \ | '_ \ \__ \ / _` | | || | / -_) | '_| (_-< error.host 1
i|_|_\ \___/ |_.__/ |___/ \__,_| \_, | \___| |_| /__/ error.host 1
i |__/ error.host 1
i .com error.host 1
i error.host 1
iServer Info error.host 1
0About this server /serverinfo.txt robsayers.com 70
7Search This Server (experiemental) /localsearch robsayers.com 70
0Server Update /uptime.sh robsayers.com 70
0Tail of server log /log.sh robsayers.com 70
i error.host 1
iPersonal error.host 1
0About Me /aboutme.txt robsayers.com 70
1Pics /pics robsayers.com 70
0Latest Twitter Updates /twitter.txt robsayers.com 70
0My GPG/PGP Public Key /pubkey.asc robsayers.com 70
i error.host 1
iGopher error.host 1
0Why am I running gopher? /whygopher.txt robsayers.com 70
1RedGopher - Ruby Gopher Client /redgopher robsayers.com 70
0Search Engine Design Notes /searchengine.txt robsayers.com 70
gXKCD Comic comic mentioning Gopher /not_enough_work.png robsayers.com 70
1Links to other Gopher Sites /world gopher.floodgap.com 70
i error.host 1
iMisc. Geeky things error.host 1
1My Tandy Model 100 /model100 robsayers.com 70
0My Computers /computers.txt robsayers.com 70
0Why Public Domain /why_public_domain.txt robsayers.com 70
1Programs I have released /programs robsayers.com 70
1Collection of Programming PDFs /documents robsayers.com 70
12009 RetroChallenge /retrochallenge robsayers.com 70
i error.host 1
i error.host 1
i error.host 1
i error.host 1
i error.host 1
.

172
client/test/test_gopher.s Normal file
View File

@ -0,0 +1,172 @@
.include "../inc/common.i"
.include "../inc/commonprint.i"
.include "../inc/net.i"
.include "../inc/char_conv.i"
.import get_key
.import __CODE_LOAD__
.import __CODE_SIZE__
.import __RODATA_SIZE__
.import __DATA_SIZE__
.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
.segment "EXEHDR" ;this is what gets put an the start of the file on the Apple 2
.addr __CODE_LOAD__-$11 ; Start address
.word __CODE_SIZE__+__RODATA_SIZE__+__DATA_SIZE__+4 ; Size
jmp init
.data
get_next_byte:
lda $ffff
inc get_next_byte+1
bne :+
inc get_next_byte+2
:
rts
.bss
page_counter: .res 1
MAX_PAGES = 10
page_pointer_lo: .res MAX_PAGES
page_pointer_hi: .res MAX_PAGES
resource_counter: .res 1
MAX_RESOURCES = 25
resource_pointer_lo: .res MAX_RESOURCES
resource_pointer_hi: .res MAX_RESOURCES
resource_type: .res MAX_RESOURCES
this_is_last_page: .res 1
.code
init:
jsr show_buffer
rts
show_buffer:
ldax #input_buffer
stax get_next_byte+1
lda #0
sta resource_counter
lda #14
jsr print_a ;switch to lower case
@do_one_page:
ldx page_counter
lda get_next_byte+1
sta page_pointer_lo
lda get_next_byte+2
sta page_pointer_hi
inc page_counter
lda #0
sta resource_counter
lda #147 ; 'CLR/HOME'
jsr print_a
@next_line:
jsr get_next_byte
cmp #'.'
bne @not_last_line
lda #1
sta this_is_last_page
jmp @done
@not_last_line:
cmp #'i'
beq @info_line
cmp #'0'
beq @standard_resource
cmp #'1'
beq @standard_resource
;if we got here, we know not what it is
jmp @skip_to_end_of_line
@standard_resource:
ldx resource_counter
sta resource_type,x
lda get_next_byte+1
sta resource_pointer_lo,x
lda get_next_byte+2
sta resource_pointer_hi,x
inc resource_counter
lda $d3
beq :+
jsr print_cr
:
lda #18
jsr print_a
lda resource_counter
clc
adc #'a'-1
jsr print_a
lda #146
jsr print_a
lda #' '
jsr print_a
@info_line:
@print_until_tab:
@next_byte:
jsr get_next_byte
cmp #$09
beq @skip_to_end_of_line
tax
lda ascii_to_petscii_table,x
jsr print_a
jmp @next_byte
@skip_to_end_of_line:
jsr get_next_byte
cmp #$0A
bne @skip_to_end_of_line
lda $d3
cmp #0
beq :+
jsr print_cr
:
lda $d6
cmp #23
bmi @next_line
lda #0
sta this_is_last_page
@done:
jsr get_key
lda this_is_last_page
bne @last_page
jmp @do_one_page
@last_page:
rts
.rodata
input_buffer:
.incbin "rob_gopher.txt"
.incbin "retro_gopher.txt"
.byte 0