[OpenBIOS] [PATCH 00/16] Switch to standards-compliant Forth console from C console
Blue Swirl
blauwirbel at gmail.com
Sun Mar 10 20:31:10 CET 2013
On Sun, Mar 10, 2013 at 6:16 PM, Blue Swirl <blauwirbel at gmail.com> wrote:
> On Sun, Mar 10, 2013 at 4:50 PM, Mark Cave-Ayland
> <mark.cave-ayland at ilande.co.uk> wrote:
>> As mentioned in my previous email on-list, OpenBIOS currently contains two
>> consoles - a C based console and a Forth based console. The Forth based console
>> is currently broken, but is more feature complete than the C console, whilst also
>> being more portable across different architectures.
>>
>> This patchset performs the following functions:
>>
>> - Fix various bugs in the Forth console
>> - Optimise performance using low-level C graphics routines
>> - Add simple IEEE1275-like initialisers for TCX and VGA graphics
>> - Switch TCX and VGA drivers over to use the new console using the standard
>> is-install word
>>
>> Once this patchset is committed, a further patchset will follow to remove all of
>> the duplicate C console code, remove packages/video.c and unify the console
>> input/routines into libopenbios.
>
> I'm getting these warnings during build, perhaps something is not correct:
> LINK openbios-builtin.elf
> libopenbios.a(console_common.o): warning: multiple common of `video'
> libsparc32.a(openbios.o): warning: previous common is here
> libopenbios.a(video_common.o): warning: multiple common of `video'
> libsparc32.a(openbios.o): warning: previous common is here
> libpackages.a(video.o): warning: multiple common of `video'
> libsparc32.a(openbios.o): warning: previous common is here
> GEN openbios-builtin.elf.syms
>
> Based on a quick Debian 3.1 CDROM boot test, it looks like scrolling
> and clear screen does not work at all. Text is also offset by one line
> down and one column right.
NetBSD 4.0 also suffers from lack of scrolling and clear screen, but
characters are positioned correctly.
On the positive side, reverse text now works and I guess the screen
flashes show BEL handling.
>
> Some usual messages (CPUs, UUID) are not going to screen but that's probably OK.
>
>>
>>
>> Mark Cave-Ayland (16):
>> display.fs: Fix up default-font word.
>> display.fs: Fix fb8-delete-lines within the inbuilt Forth terminal
>> emulator.
>> terminal.fs: Fix linefeeds on the bottom line of the Forth console.
>> terminal.fs: Fix backspace sequence in Forth terminal.
>> video: Create new video_common.c file for shared video primitive
>> routines.
>> video_common.c: Move primitive graphic operations into
>> libopenbios/video_common.c.
>> pci: Modify PCI display devices so that open and close words are not
>> created automatically during initialisation.
>> video: Create tcx.fs and vga.fs to simulate Fcode video
>> initialisation code.
>> display.fs: pass the colour depth in bytes to the Forth terminal
>> routines.
>> video_common.c: create low-level video_mask_blit() function.
>> video_common.c: create low-level video_invert_rect() function.
>> display.fs: Fix fb8 routines to work with bit depths > 8.
>> video_common.c: create low-level video_fill_rect() function.
>> display.fs: optimise scrolling by copying/deleting multiple scanlines
>> at once.
>> display.fs: Add vertical font-spacing as per the existing C console
>> implementation.
>> video: switch VGA and TCX drivers over to Forth console using
>> is-install.
>>
>> openbios-devel/arch/sparc32/console.c | 12 -
>> openbios-devel/arch/sparc32/openbios.c | 2 +-
>> openbios-devel/drivers/build.xml | 2 +
>> openbios-devel/drivers/pci.c | 14 +-
>> openbios-devel/drivers/pci.h | 1 +
>> openbios-devel/drivers/sbus.c | 2 +
>> openbios-devel/drivers/tcx.fs | 13 +
>> openbios-devel/drivers/vga.fs | 13 +
>> openbios-devel/drivers/vga_vbe.c | 2 +-
>> openbios-devel/forth/device/display.fs | 172 +++++------
>> openbios-devel/forth/device/font.fs | 4 +
>> openbios-devel/forth/device/terminal.fs | 10 +-
>> openbios-devel/include/libopenbios/video.h | 24 ++
>> openbios-devel/include/packages/video.h | 6 +-
>> openbios-devel/libopenbios/build.xml | 1 +
>> openbios-devel/libopenbios/console_common.c | 1 +
>> openbios-devel/libopenbios/video_common.c | 444 +++++++++++++++++++++++++++
>> openbios-devel/packages/video.c | 279 +----------------
>> 18 files changed, 607 insertions(+), 395 deletions(-)
>> create mode 100644 openbios-devel/drivers/tcx.fs
>> create mode 100644 openbios-devel/drivers/vga.fs
>> create mode 100644 openbios-devel/include/libopenbios/video.h
>> create mode 100644 openbios-devel/libopenbios/video_common.c
>>
>> --
>> 1.7.10.4
>>
>>
>> --
>> OpenBIOS http://openbios.org/
>> Mailinglist: http://lists.openbios.org/mailman/listinfo
>> Free your System - May the Forth be with you
More information about the OpenBIOS
mailing list