It is currently Sat Dec 16, 2017 7:15 am

All times are UTC + 1 hour [ DST ]




Post new topic Reply to topic  [ 11 posts ] 
Author Message
 Post subject: c64 gopher browser
PostPosted: Sat Jul 11, 2009 3:12 pm 
Offline

Joined: Mon Mar 23, 2009 12:11 pm
Posts: 140
Location: Katoomba, Australia
If all goes well, then attached to this post will be a zip file with v0.1 of a C64 gopher browser.

For those who don't know, if HTTP is VHS, then "gopher" is betamax. There are still a few gopher sites around though, with a heavy retro computing bent. Apart from the "gopher.floodgap.com" site which comes up if you just hit "return" when prompted for a gopher server, you might also like to visit "retro-net.org"

C64 gopher browser v0.1


REQUIREMENTS
1) RR-NET or compatible
2) DHCP server on LAN

USAGE

When run, the program will use DHCP to assign itself an IP address, default gateway and DNS server address.

You will then be prompted for the address of a gopher server. you can enter a hostname or an ip address. If
you just hit enter at this prompt, "gopher.floodgap.com" will load. NB - in the current version you can only
enter a server name, not a specific resource on that server, or a port (the default gopher port 70 is used).

Once a gopher resource is loaded, the following keys are active:

SPACE, F7 or down arrow : scroll down to next page
F1 or up arror : scroll up to previous page
F2 : show recently visited resource
F3 or left arrow : go back to last visited resource
F5 : prompt to enter a new server (nb server name only - not resource or port)
RUN/STOP : quit

If the page currently being displayed has links to further resources in it, each link will be displayed
starting with a highlighted letter (e.g. the first link on a page will have an inverse "A" next to it,
the 2nd link on a page will have an inverse "B" next to it etc). Press the letter assigned to the link
will load up that resource.

Currently only Text and Directory resources are handled.


Attachments:
File comment: v0.1 of c64 gopher browser
gopher_browser.zip [6.09 KiB]
Downloaded 967 times
Top
 Profile  
Reply with quote  
 Post subject: Re: c64 gopher browser
PostPosted: Sat Jul 11, 2009 4:34 pm 
Offline

Joined: Mon Mar 23, 2009 12:11 pm
Posts: 140
Location: Katoomba, Australia
ps I've just uploaded a new snapshot of ip65 up to sourceforge - this includes the source code to the gopher browser (in test/gopher_browser.s) and just enough support for TCP to handle a single client connection.


Top
 Profile  
Reply with quote  
 Post subject: Re: c64 gopher browser
PostPosted: Sat Jul 11, 2009 6:17 pm 
Offline

Joined: Thu Jan 22, 2009 1:56 pm
Posts: 73
it's nice ...
but i have one problem .... i can't type / or :
so it gets a problem when trying to give an adress

gopher://hal3000.cx:2347/7
get's
gopherhal3000.cx23477


Top
 Profile  
Reply with quote  
 Post subject: Re: c64 gopher browser
PostPosted: Sun Jul 12, 2009 1:06 am 
Offline

Joined: Mon Mar 23, 2009 12:11 pm
Posts: 140
Location: Katoomba, Australia
you are correct - at the moment you can only enter the name of the server (i.e. hostname) - it assumes port 70, and assumes you are going to the "front page" on that site.

these limitations are both in the UI (i.e. I was too lazy to write code to prompt for those bits).

However there is a deeper limitation in the URL you specified, since it is a gopher search - I haven't added support for that resource type yet.

Of the various resource types available (http://en.wikipedia.org/wiki/Internet_Gopher ) I have implemented:
"0" - plain text file
"1" - directory meny listing
"i" - informational text

Also it seems the code will bomb if you download a resource more than 8KB long.

So I guess I know what needs to go into the next release. Not sure when that might be however...


Top
 Profile  
Reply with quote  
 Post subject: Re: c64 gopher browser
PostPosted: Sun Jul 12, 2009 10:00 am 
Offline
Site Admin

Joined: Wed Jan 11, 2006 12:22 pm
Posts: 860
Wow! It's incredible how small it is. Can't believe you crammed everything down to 7k including the client! Amazing! :D

PS. You should post this in the News forum as well!

PS2. I had no idea Gopher was still around. But internet is really die hard! Gopher == Betamax LOL! :lol:


Top
 Profile  
Reply with quote  
 Post subject: Re: c64 gopher browser
PostPosted: Sun Jul 12, 2009 11:24 pm 
Offline

Joined: Mon Mar 23, 2009 12:11 pm
Posts: 140
Location: Katoomba, Australia
RaveGuru wrote:
Wow! It's incredible how small it is. Can't believe you crammed everything down to 7k including the client! Amazing! :D


Cheers :-)

BTW the foundation for this is MagerValp's work in developing the ip65 stack - I always end up feeling my additions stack are bloated in comparison. So plenty of room for improvement, should anyone be so motivated...


Top
 Profile  
Reply with quote  
 Post subject: Re: c64 gopher browser
PostPosted: Sat Jul 18, 2009 12:48 pm 
Offline
User avatar

Joined: Sat Feb 10, 2007 7:30 pm
Posts: 344
Location: Brisbane Australia
Would a gopher server be out of the question for the Commodore 64. ?

Works fine on c128 in c64 mode, any chance of allowing use of static ip's.

Eating Sherbert :)

_________________
Commodore 8bit Web Services http://cbm8bit.com
Try our new browser driven disk image editor.


Top
 Profile  
Reply with quote  
 Post subject: Re: c64 gopher browser
PostPosted: Sun Jul 19, 2009 11:15 pm 
Offline

Joined: Mon Mar 23, 2009 12:11 pm
Posts: 140
Location: Katoomba, Australia
zap wrote:
Would a gopher server be out of the question for the Commodore 64. ?


Not at all - I'm currently working on a combined gopher/http server (listens on a single port, if the request starts with a GET it assumes http, otherwise it assumes gopher).

The big design question I have is how to provide the content to be served. Current thinking is to serve files off drive #8. Files will be treated as follows:

1) PRG files are treated as binary (no conversion applied, type '9' for gopher, 'application/octet-stream' for http) - no conversion applied.
2) SEQ files that end with ".htm" will be served as html (type 'h' for gopher, 'text/html' for http) - petscii-ascii conversion applied as it is sent over the network
3) SEQ files that don't end with ".htm" will be served as text (type '0' for gopher, 'text/plain' for http) - petscii-ascii conversion applied as it is sent over the network

Since the gopher browser doesn't understand html or allow d/l of binary files, only the last file type will be usable to the c64 gopher browser.

If there is a file called "index.htm", it will be served as the root document for http requests.
If there is a file called "index.gopher", it will be served as the root document for gopher requests.

If no root document is specified, an index of all the SEQ/PRG files in drive #8 will be created and served instead.

All disk access will be via standard kernal calls (i.e. no fastloader, although should work with JiffyDos I believe)

Anyone got any feedback on the above approach?

zap wrote:
any chance of allowing use of static ip's.


Yes


Top
 Profile  
Reply with quote  
 Post subject: Re: c64 gopher browser
PostPosted: Mon Jul 20, 2009 12:53 pm 
Offline
User avatar

Joined: Sat Feb 10, 2007 7:30 pm
Posts: 344
Location: Brisbane Australia
When your ready to test it give me a tingle :)

Sounds to me like you have whats needed down pat.

It would be great to be able to use a super 1750 as the drive. :)
But you would need a user port Ethernet cartridge.

_________________
Commodore 8bit Web Services http://cbm8bit.com
Try our new browser driven disk image editor.


Top
 Profile  
Reply with quote  
 Post subject: Re: c64 gopher browser
PostPosted: Sun Aug 02, 2009 2:06 pm 
Offline

Joined: Mon Mar 23, 2009 12:11 pm
Posts: 140
Location: Katoomba, Australia
For some reason I can't work out the new sourceforge interface for releasing an update. I'll take that as a sign that this code ain't really ready for a full release and post hit here as a semi-private beta instead.

Still haven't got the server completed but have added telnet & gopher to the NB65 cartridge.
Some notes
- to get to gopher/telnet, press F3 on the main nb65 menu to get to the 'net apps' menu
- on the net apps menu, f1 launches telnet and prompts for servername, f3 will launch gopher and connect direct to gopher.floodgap.com, f5 launches gopher and prompts for a server name to connect to (still no option to enter port #)
- telnet doesn't do any terminal emulation. your options are: ASCII mode (i.e. a dumb terminal where each char is sent as soon as the key is pressed), line mode (where you edit a line and it sent when you hit enter) or PETSCII mode (char at a time, but no petscii<->ascii translation).
- gopher client now supports resources of type 0 (text), 1(gopher), 7 (search) and 8(telnet).

I've also set up a gopher server at jamtronix.com which has a list of BBS's reachable by telnet. So you can go to that page using the c64 gopher client, and use it as a menu to select from petscii BBS's.

NB if anyone wants to make their own gopher page with telnet sites on it, if you set the 'selector' field to '/n', my gopher client will connect in 'native' (i.e. petscii) mode. If the selector is any other value, then 'ascii' mode is assumed.

Stil haven't done anything about the fact that pages > 16kb crash the client . but can't see me getting any time to work on this for a few weeks now, so figured someone might have some fun with it.


Attachments:
File comment: 16kb image for use with 64NIC+
nb65_tcp_cart.zip [8.53 KiB]
Downloaded 875 times
Top
 Profile  
Reply with quote  
 Post subject: Re: c64 gopher browser
PostPosted: Wed Aug 05, 2009 4:55 pm 
Offline
Site Admin

Joined: Wed Jan 11, 2006 12:22 pm
Posts: 860
Good news!
And a good job! :D


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 11 posts ] 

All times are UTC + 1 hour [ DST ]


Who is online

Users browsing this forum: No registered users and 6 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group