Index: [thread] [date] [subject] [author]
  From: Jon M. Taylor <taylorj@ecs.csus.edu>
  To  : ggi-develop@eskimo.com
  Date: Mon, 6 Jul 1998 14:21:13 -0700 (PDT)

Re: here we go...

On Mon, 6 Jul 1998, Frank W. Miller wrote:

> Ok guys, if you're into this, so am I.  I'm gonna start by trying
> to port KGI to Roadrunner.  So, what do I do first? :/  First off, I'm
> using the 1.0 release of degas.  I think I will go from something stable
> to start off with.

	KGI under the current Degas (which BTW is 0.1.0 and not final yet)
is DOA and is being reorganized.  The latest stable KGI is in Dali
(0.0.9).  But, it still has input device and console handling built into
it which you many not want.  The "kgicon" system that I have been putting 
together over the last week or so strips KGI down to just video drivers, 
but it is currently hardwired to work with Linux's fbcon console system 
|-<.  kgicon isn't yet in the CVS tree, either.

	I really don't want to discourage you from trying to port KGI to
other OSes - that has been one of our goals for a long time now.  But
eveything regarding KGI is chaotic and a real mess right now, so quite
honestly this might not be the best time to start your work.  If you *do*
still want to try to port KGI to Roadrunner, I'd advise you to work with
kgicon - it is a lot simpler than KGI/Dali and I can work with you to get
around the Linux-isms and fbcon-isms that are still present.  This needs
to be done anyway at some point.

> I'm looking at kgi/driver and the configure script.  Not quite sure
> what it does and I'm running BSD so of course it doesn't work.  When
> I run it I get the following output to stderr:
> 
> type: not found
> dialog: not found

	You need the dialog utility (textmode GUI-builder thingy) to use 
the config system.  It should work fine on BSD as it uses terminfo.

> cat: /tmp/ggiset: No such file or directory

	This is created by the config system, which bombed on you so.... 
 
> and the following helpful output to stdout:
> 
> ^[[H^[[2J

	Pobably related to the missing dialog.
 
> What exactly is this script doing and can I change the script somehow to
> make it work under BSD?

	Just get dialog and it should work.
 
> It looks like I need to somehow build things that are in various
> subdirectories, ramdac, chipset, graphic, clock, kernel, and monitor.
> Now, it looks like I need to do this configure thing before I try any
> of these.

	Yes.  You use configure (make config) to select one of each of the
sub-drivers which are built together into one final driver.  There is a
'make vgadrv' or similar option which bypassed the config system and made
the VGA driver directly, too. 

> One thing I do know, when I finally come down to compiling the various
> C and assembly files, I will need to use my own set of header files.
> This will probably require some #ifdef'ing around the Linux header files.
> This is probably something that will be a general problem for different
> OS ports.  

	Linux-specific stuff in KGI:

* I/O port allocation and programming
* Memory mapping/remapping and allocation
* PCI handling
* Use of ioctls to send commands to the drivers
* Module stuff

> So I thought I would do something like this:
> 
> #define __Roadrunner__ in a Makefile or config file somewhere, you tell
> me where is best I guess.  

	A Makefile, probably the top-level one.

> Then:
> 
> #ifdef __Roadrunner__
> 
>     /* ... Roadrunner header files here ... */
> 
> #else
> 
>     /* ... Linux header files here ... */
> 
> #endif
> 
> or some variant of this, will have to be added to all the source files.
> 
> So, you asked for new OS's, I got one.  Let's roll up our sleeves and
> hopefully you won't all hate me before it done with...

	Is Roadrunner GPLed?  If not, it will be necessary to build the
KGI drivers as modules instead of compiling them into the OS proper.

Jon

---
'Cloning and the reprogramming of DNA is the first serious step in 
becoming one with God.'
	- Scientist G. Richard Seed

Index: [thread] [date] [subject] [author]