[OpenBIOS] [PATCH 00/16] Switch to standards-compliant Forth console from C console

Mark Cave-Ayland mark.cave-ayland at ilande.co.uk
Sun Mar 10 17:50:30 CET 2013

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.

Mark Cave-Ayland (16):
  display.fs: Fix up default-font word.
  display.fs: Fix fb8-delete-lines within the inbuilt Forth terminal
  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
  video_common.c: Move primitive graphic operations into
  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
  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
  video: switch VGA and TCX drivers over to Forth console using

 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


More information about the OpenBIOS mailing list