nanogui: Thread: nanoX for ELKS


[<<] [<] Page 1 of 1 [>] [>>]
Subject: nanoX for ELKS
From: Greg Haerr ####@####.####
Date: 18 May 1999 17:24:17 -0000
Message-Id: <01BEA120.8E86FFF0.greg@censoft.com>

Al,
	I completed a huge bunch of 16 bit stufff for direct hardware support
of EGA/VGA over the weekend.  It programs that controller directly, and supports
text drawing by reading the rom based character fonts.  I'm not sure I like it
yet, because it might actually be wiser to use the bios to get into and out of graphics
mode.  This is because some of my machines are already acting a little differently.
All the line draw, readpixel, drawpixel, and get font bitmap data routines are
in assembly.  This will be a pain to convert for every system, as the damned
assembly languages are different with MASM, as86, gas, etc.  I'm thinking
about writing a version completely in C, just to make porting easier for the
first round.  What do you think?

Also, did you ever try running nanoX thru bcc?  Should I?

In addition, I completed an int33 mouse driver, but int33 is only implemented
by mouse.com, I think.  Do you have any working code that reads the serial
port and returns the dx, dy and button state for ELKS?

Greg
Subject: RE: nanoX for ELKS
From: Greg Haerr ####@####.####
Date: 19 May 1999 17:47:40 -0000
Message-Id: <01BEA1ED.0D4D3F80.greg@censoft.com>

Al,
	I have completed running the nanox source thru bcc in 16 bit mode,
and I've got the whole thing to compile.  (I'm using my new version of bcc that
compiles ansi c with no preprocessing...)

	In addition, I'm using a newly written ega/vga driver, written in C only,
that also compiles.  (It runs on DOS, I haven't got an EGA card in my elks box yet)
I'm also using the std kbd driver, which uses termios.  The mouse driver is still not
implemented, but I'm working on one, and it should work.

	I have a few pertinant questions, and I'll be able to ship you a nano-X
tree that will completely compile, and hopefully run on ELKS!

	1. Does ELKS support select()?  We need select() for the mouse_fd and
keyboard fd, (serial and console tty) -OR- we can write a polling driver entry
point...

	2. Does ELKS support the various termios modes?  Of course, no echo
and ~ICANON are required.

BTW, the nano-X executable on ELKS is 35k text and 6k data for a grand total of 41k!!

ELKS graphical days are almost here...

Greg
Subject: Re: nanoX for ELKS
From: Alistair Riddoch ####@####.####
Date: 19 May 1999 21:29:50 -0000
Message-Id: <199905192125.WAA06183@penelope.ecs.soton.ac.uk>

Greg Haerr writes:
> 
> Al,
> 	I have completed running the nanox source thru bcc in 16 bit mode,
> and I've got the whole thing to compile.  (I'm using my new version of bcc that
> compiles ansi c with no preprocessing...)
> 
> 	In addition, I'm using a newly written ega/vga driver, written in C only,
> that also compiles.  (It runs on DOS, I haven't got an EGA card in my elks box yet)
> I'm also using the std kbd driver, which uses termios.  The mouse driver is still not
> implemented, but I'm working on one, and it should work.
> 
> 	I have a few pertinant questions, and I'll be able to ship you a nano-X
> tree that will completely compile, and hopefully run on ELKS!
> 
> 	1. Does ELKS support select()?  We need select() for the mouse_fd and
> keyboard fd, (serial and console tty) -OR- we can write a polling driver entry
> point...

The current version inCVS does, which will be released soon. The last
release does not.

> 
> 	2. Does ELKS support the various termios modes?  Of course, no echo
> and ~ICANON are required.

Yes to some extent. I am working on this code at the moment.

> 
> BTW, the nano-X executable on ELKS is 35k text and 6k data for a grand total of 41k!!

Cool, about what I would expect. Not prohibitively big. How much more
functionality will be added to nano-X aftet this release? Will it get much
bigger?

I have become very adept at hand optimising code for elks so i can probably
get a much smaller binary sorted eventually.

Al
Subject: RE: nanoX for ELKS
From: Greg Haerr ####@####.####
Date: 19 May 1999 22:42:50 -0000
Message-Id: <01BEA216.4637B9F0.greg@censoft.com>

> 	1. Does ELKS support select()?  We need select() for the mouse_fd and
> > keyboard fd, (serial and console tty) -OR- we can write a polling driver entry
> > point...
> 
> The current version inCVS does, which will be released soon. The last
> release does not.
> 

	Hopefully you have all the FD_SET macros etc finished.  The code that
will be used is in nano/server/srvmain.c, in the function GsSelect().

	If you have the include/linux/*.h header files that define this stuff,
I'd like to have them so that at least I can keep nanoX compiling...

Also, it might not be a bad idea to test the select using a console fd and serial
tty fd...



> > 
> > 	2. Does ELKS support the various termios modes?  Of course, no echo
> > and ~ICANON are required.
> 
> Yes to some extent. I am working on this code at the moment.
> 

	Great.  The nano/server/drivers/kbd_tty.c code is currently being
used and compiling under bcc.


> > 
> > BTW, the nano-X executable on ELKS is 35k text and 6k data for a grand total of 41k!!
> 
> Cool, about what I would expect. Not prohibitively big. How much more
> functionality will be added to nano-X aftet this release? Will it get much
> bigger?
> 
	I don't really know how much more stuff will be added.  I'm aware that
Alex Holden has started working heavily on the code again.  There are a number of things
that would be nice to add.  There isn't agreement yet on what the driver model should
be, though.


> I have become very adept at hand optimising code for elks so i can probably
> get a much smaller binary sorted eventually.

	Cool.  I've also hand-written a bunch of #asm stuff for the elks release...


> 
> Al
> 
Subject: Re: nanoX for ELKS
From: Alistair Riddoch ####@####.####
Date: 20 May 1999 16:56:25 -0000
Message-Id: <199905201651.RAA24028@penelope.ecs.soton.ac.uk>

Greg Haerr writes:
> 
> 
> 	Hopefully you have all the FD_SET macros etc finished.  The code that
> will be used is in nano/server/srvmain.c, in the function GsSelect().
> 
> 	If you have the include/linux/*.h header files that define this stuff,
> I'd like to have them so that at least I can keep nanoX compiling...
> 
> Also, it might not be a bad idea to test the select using a console fd and serial
> tty fd...
> 

As you will see from the mailing list I have released the kernel which has
working select(2) so you can give it a try.

> 
> 
> > > 
> > > 	2. Does ELKS support the various termios modes?  Of course, no echo
> > > and ~ICANON are required.
> > 
> > Yes to some extent. I am working on this code at the moment.
> > 
> 
> 	Great.  The nano/server/drivers/kbd_tty.c code is currently being
> used and compiling under bcc.
> 

Make sure you are using termios. ELKS does not support older terminal
control interfaces like termio.

Al
Subject: RE: nanoX for ELKS
From: Greg Haerr ####@####.####
Date: 20 May 1999 17:10:29 -0000
Message-Id: <01BEA2B0.CA968B00.greg@censoft.com>

> As you will see from the mailing list I have released the kernel which has
> working select(2) so you can give it a try.
> 
> > Make sure you are using termios. ELKS does not support older terminal
> control interfaces like termio.
> 

Great.  Also, I have completed work on an EGA/VGA driver completely written in C.
It uses the bios to switch modes only, and to get to the rom character set.  This
driver is currently running on DOS and linux, and compiling under ELKS.  We're
getting very close to graphics on ELKS.

Greg
[<<] [<] Page 1 of 1 [>] [>>]


Powered by ezmlm-browse 0.20.