From owner-freebsd-chat@FreeBSD.ORG Tue Feb 5 16:20:06 2008 Return-Path: Delivered-To: freebsd-chat@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 06C4716A49A for ; Tue, 5 Feb 2008 16:20:06 +0000 (UTC) (envelope-from olli@lurza.secnetix.de) Received: from lurza.secnetix.de (unknown [IPv6:2a01:170:102f::2]) by mx1.freebsd.org (Postfix) with ESMTP id 69EFD13C465 for ; Tue, 5 Feb 2008 16:20:05 +0000 (UTC) (envelope-from olli@lurza.secnetix.de) Received: from lurza.secnetix.de (localhost [127.0.0.1]) by lurza.secnetix.de (8.14.1/8.14.1) with ESMTP id m15GK0Cd026885; Tue, 5 Feb 2008 17:20:02 +0100 (CET) (envelope-from oliver.fromme@secnetix.de) Received: (from olli@localhost) by lurza.secnetix.de (8.14.1/8.14.1/Submit) id m15GK00a026884; Tue, 5 Feb 2008 17:20:00 +0100 (CET) (envelope-from olli) Date: Tue, 5 Feb 2008 17:20:00 +0100 (CET) Message-Id: <200802051620.m15GK00a026884@lurza.secnetix.de> From: Oliver Fromme To: freebsd-chat@FreeBSD.ORG, des@des.no In-Reply-To: <86zlufwi4o.fsf@ds4.des.no> X-Newsgroups: list.freebsd-chat User-Agent: tin/1.8.3-20070201 ("Scotasay") (UNIX) (FreeBSD/6.2-STABLE-20070808 (i386)) MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-2.1.2 (lurza.secnetix.de [127.0.0.1]); Tue, 05 Feb 2008 17:20:03 +0100 (CET) Cc: Subject: Re: why is it called /boot/beastie.4th ? X-BeenThere: freebsd-chat@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Non technical items related to the community List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 05 Feb 2008 16:20:06 -0000 Dag-Erling Smørgrav wrote: > Oliver Fromme writes: > > Dag-Erling Smørgrav writes: > > > Oliver Fromme writes: > > > > http://www.secnetix.de/olli/tmp/vloader.png > > > This is brilliant! Send patches! :) > > Does that mean you're volunteering to be my mentor? :) > > It means, at the very least, that I have worked on similar code in the > kernel (not loader) before, and that I therefore feel competent to at > least look over your code. Great! I'll need to clean up the code a bit and do some style(9) conversions first, then I'll put it in P4. > Considering your track record, I'm surprised you haven't found someone > to mentor you already. Well, I didn't look for one so far. :-) > > BTW, my patches add a few FICL words (forth commands) to the loader > > (i386 and amd64 only). They implement simple graphics commands (dots, > > lines, triangles, circles), text output using proportional fonts > > loaded from the boot device, and display of PCX images. [...] > > The kernel splash code supports both BMP (courtesy of Mike Smith, IIRC) > and PCX (courtesy of yours truly). I haven't looked at it in years, but > I've used it on and off to add splash screens to various FreeBSD-based > turn-key solutions I've been involved in. > > Hey, how about PNG support? Know someone we could ask? ;) heh :-) I wish there was a way to update my email address in RFC2083 ... that one doesn't work anymore. Speaking about image file formats: My intention was to get the code working as quickly as possible, and PCX was pretty easiest format to implement that supported 4 bit depth. The whole decode + display loop is 20 lines of C. It's true, the RLE compression of PCX is pathetic. But that really doesn't matter much. The background image of that screen shot is an 80 KB PCX file, which really isn't all that much (and it doesn't take up any RAM after it has been decoded and written to the VGA frame buffer). Adding PNG support would be significantly more complicated and increase the size of the loader binary. I don't think it's worth it. > It would be very nice if you could generalize this to allow displaying > kernel boot messages over a graphical background; I'm not sure that's > possible with our current graphical console code. I don't think it can be done currently, but it would be possible to implement. I haven't looked at the syscons code in a long time, though. Right now my focus is on the loader. > I've written a number of PCX decoders over the years, BTW, and I > remember that I once wrote a codec for a stripped-down version which > supported only single-plane 8-bit color. It turns out that for that > specific case, which was the most common at the time, you could achieve > considerably better compression by dropping the padding at the end of > each scan line, and allowing runs to cross from the end of one scan line > to the beginning of the next (with due consideration given to not > exceeding the width of the run length counter). In fact my PCX decoder supports that; runs crossing planes (standard) as well as runs crossing scan line boundaries (non-standard). In fact I have to admit that it currently doesn't support padding at all. Well, ppmtopcx never generates any padding, so I didn't care. I'll try to fix that, though. Best regards Oliver -- Oliver Fromme, secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing b. M. Handelsregister: Registergericht Muenchen, HRA 74606, Geschäftsfuehrung: secnetix Verwaltungsgesellsch. mbH, Handelsregister: Registergericht Mün- chen, HRB 125758, Geschäftsführer: Maik Bachmann, Olaf Erb, Ralf Gebhart FreeBSD-Dienstleistungen, -Produkte und mehr: http://www.secnetix.de/bsd "C++ is the only current language making COBOL look good." -- Bertrand Meyer