Complete.Org: Mailing Lists: Archives: gopher: June 2008:
[gopher] Re: gopherVR
Home

[gopher] Re: gopherVR

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: gopher@xxxxxxxxxxxx
Subject: [gopher] Re: gopherVR
From: sonicmctails@xxxxxxx
Date: Wed, 25 Jun 2008 21:14:40 -0400
Reply-to: gopher@xxxxxxxxxxxx

Wow, I didn't expect someone to actually crop up with the gopherVR source!?Mark 
really did it in a way that would make it easy to port to new platforms.



I looked at it, and it actually is a lot better then what I was expecting (I 
was more expecting something hardcoded to the Classic API, which would require 
a massive effort to port to a new architecture). It's essentially three 
seperate projects broken down.



libvogl is a Irix SG compatiable graphics library. I was under the impression 
it was doing something weird like talking to the hardware directly, but its 
actually fairly cleanly written, with backends targetting MS DOS, Win 3.11 
(referenced, but I don't see the actual code), Classic Mac OS, and X11R4. As 
X11 has historically had a pretty stable API (xeyes's code hasn't been changed 
in decades to my knowledge), it should only take minor tweaks to get this to 
build on a modern X-based operating system. The code looks like it does some 
pretty weird things with Xlib, so it might need more work then appears. I also 
dunno how easy it will be to port this to Win32 or Mac OS X's native graphic 
APIs (it will of course work against an X11 server on those architectures).

libtracker is an audio driver; it's essentially a thin layer over the 
built?over the?OS's. It supports HP-UX, Solaris, AIX, and Amiga, as well as raw 
code talking to a SoundBlaster-compatiable card. This will have to be ported to 
Linux (there sadly is no real standard audio APIs, most platforms use Open 
Sound System, while linux uses "Advanced" Linux Sound Audio); I might cheat and 
just drop SDL under it, and save me porting it three times.

The actual GopherVR code however, while not messy, isn't that neat; it's not 
well commented, and the function names aren't always clear on what they do. I 
only see UI calls for X11 in gophwin.c; I suspect there are probably more UI 
drawing calls somewhere in here, but I haven't finished thumbing through the 
source.

The really ugly part is the build system; it uses imake. Anyone who knows what 
that is is currently groaning ;-). As imake isn't even supported or included 
with X11 anymore, the first step is going to probably be to modernize the build 
system.

I'd be glad to work on this, but ATM, I do not have a working computer with 
Linux, and probably won't for a few more weeks. If someone on a *BSD system or 
Linux with X11 installed is willing to give me a shell account, and enable X11 
forwarding, I can start working on this ASAP.
Michael



-----Original Message-----
From: Maurice McCarthy <maurice.mccarthy@xxxxxxxxxxxx>
To: gopher@xxxxxxxxxxxx
Sent: Tue, 24 Jun 2008 9:49 pm
Subject: [gopher] gopherVR




Hi all and Michael Casadevall especially,

With a little effort managed to contact Mark McCahill, one of the originators 
of 
gopher and 

the principal writer of gopherVR. He has posted "what looks like the source 
code" on line for us as said below.

Regards
Maurice


On Jun 24, 2008, at 8:55 AM, McCarthy, Maurice [Contractor] wrote:

> Hi,
>
> Pardon the intrusion but we were hoping you might be able to help.
>
> A small collection of people still advocate gopher. They are on John  
> Goerzen's mailing list gopher@xxxxxxxxxxxx   

http://www.complete.org/mailinglists/archives/
>

wow! I had no idea...

> A chap called Michael Casadevall on the list is interested in 
> gopherVR.
>

I do have what appears to be source for GopherVR, and compiled  
versions which would probably run on a Mac if you could find an old  
enough machine - this stuff is from back in the 68020 transition to  
PPC 601 CPU era. I just put the source tar file in this directory: 

http://croquet-src-01.oit.duke.edu/gophervr/

Have fun!

It would be amusing to see a port to linux, although there are some  
things I would do totally differently today.

First, there was no generally available OpenGL for the Mac and Solaris  
machines we were running GopherVR on, so we took the VOGL library and  
used that. Since there was no hardware support for depth culling (and  
no prospect of a hardware z buffer) I got to glue in a binary space  
partition (BSP) hidden surface removal algorithm. If I were doing this  
today, I'd assume OpenGL and a GPU.

If I were doing this today, I'd probably take OpenCroquet and use that  
as the basis to write the Gopher client stuff. Since Croquet comes  
with an open source VM that runs on Mac, Linux, and Windows, supports  
OpenGL and all sorts of other nice things you'd get a cross platform  
GopherVR. You'd also get to program in Smalltalk, which I would  
consider a huge plus, but Croquet is my "fun" project these days, so I  
am a bit biased. current state of the are in the open source croquet  
world is here: http://croquet-src-01.oit.duke.edu/cobalt.html

Anyway - let me know how things work out.


> On 22 June 2008 Michael wrote on the list:
>
>         "To my knowledge, the code for GopherVR was lost a long time  
> ago. If
>         someone has it, I'd gladly port and package it for Ubuntu/ 
> Debian."
>         Michael Casadevall <sonicmctails AT aol.com>
>
> Thanks in advance
> Maurice McCarthy
>
>
> PS
> Firefox 3 abandons gopher support but Cameron Kaiser has just  
> published
>
> https://addons.mozilla.org/en-US/firefox/addon/7685
>
>  which is a new gopher client for Firefox 3 in the "experimental"  
> add-ons.
>
> It is written in JavaScript and there are MacIntosh Camino, Windows  
> Firefox, Adobe Air and Linux versions at
> Cameron's site gopher://gopher.floodgap.com or http://www.floodgap.com
>


-----------------------------------------
Email sent from www.virginmedia.com/email
Virus-checked using McAfee(R) Software and scanned for spam








[Prev in Thread] Current Thread [Next in Thread]