New video driver

hi,

I’m sort of writing a new video driver for sdl, it will support t6963c
based lcd display connected over parallel port. So I figure I’d share
what I intend to do and get some food for thought in return :slight_smile:

now the lcd display is essentialy 1 bpp (as in dark grey or light green)
and as I already noticed SDL doesn’t support 1bpp natively, so I guess I
should either pretend the display is actually 8 or whatever bpp and use or
force a specific colourmap, or perform dithering.

In case of colourmap or whatever everything should be pretty simple, just
set what is “black” and “white” and if some other colours comes along just
force it to some default value.

In case of dithering - as far as I understand SDL would not dither
anything for me, so I’d have to use some external library, say imagemagik
or something. I’d have to dither every frame separately and since I
reached 40fps in display redraw tests (simple fill with alternating
colours), so I dunno if dithering can keep up.

Either way the display is reasonably dumb so I intend to make all the
changes in a software buffer and send it over to the display on Flip().

Any experience is welcome :slight_smile:

Cheers, dima

P.S. if someone here can gimme an idea of what I should be using instead
of SDL, well tell me too :slight_smile:

Dmitrii Tisnek wrote:

I’m sort of writing a new video driver for sdl, it will support t6963c
based lcd display connected over parallel port. So I figure I’d share
what I intend to do and get some food for thought in return :slight_smile:

as i have such a beast (and also already written an userspace driver)
[http://www.thf.ath.cx] , i’m very intersted in your efford.

what are you going to use es backend (userspace/kernelspace)? i know
there is a kernel driver (2.2.x) around on the internet.

best regards …
clemens

p.s.: i would have sent this via PM, but your ISP refuses mail from my
smtp-server. :frowning:

as i have such a beast (and also already written an userspace driver)
[http://www.thf.ath.cx] , i’m very intersted in your efford.

Thanks I took a look into that, I see it’s not an SDL video driver yet :slight_smile:
My motivation is to use other SDL libraries with it, e.g. for fonts.
I’ll keep this list posted on my success :slight_smile:

what are you going to use es backend (userspace/kernelspace)? i know
there is a kernel driver (2.2.x) around on the internet.

the kernel driver out there is for linux console in text mode.

currently I use inb/outb from userspace (correspondingly as root), and
I’ve noticed that a) I don’t have to check (status & 3) == 3 because it’s
nearly always like that (I get about 1-3 other ‘stata’ every 100 full
screen redraws).

anyway I get HUGE userspace load (which I can only explain as some sort of
busyloop somewhere, after all I only output some 100 KB/s), so I intend to
try 1) ioctls on ‘raw’ /dev/parport0, 2) inb/outb from kernel mode and
3) parallel port ‘protocol’ driver from kernel mode.

though this should rather be discussed on some other mailing list…On Thu, 24 Oct 2002, Clemens Kirchgatterer wrote: