[OpenBIOS] [PATCHv2 00/20] Switch to standards-compliant Forth console from C console

Blue Swirl blauwirbel at gmail.com
Sat Jun 1 18:21:10 CEST 2013


On Sat, Jun 1, 2013 at 12:06 PM, Mark Cave-Ayland
<mark.cave-ayland at ilande.co.uk> wrote:
> On 26/05/13 14:02, Mark Cave-Ayland wrote:
>
>> As mentioned previously 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.
>>
>>
>> Changes since v1:
>>    - Rebase onto SVN trunk
>>    - Various minor bugfixes/tidy-ups
>>    - Fix CSI n;mH and CSI n;mf as reported by Blue Swirl
>>    - Implementation of remaining missing fb8-* defer words:
>>          fb8-insert-lines
>>          fb8-insert-characters
>>          fb8-delete-characters
>
>
> Okay - I've had no further feedback on the revised version of this patch so
> I'm hoping to commit this in the next day or two unless someone comes up
> with any major objections...

Debian 3.1r1 looks better than previous version, though the second
character from left at top row gets constantly overwritten when the
screen scrolls.

NetBSD 4.0 looks OK.

Git am complains about trailing white space:
Applying: display.fs: Fix up default-font word.
Applying: display.fs: Fix fb8-delete-lines within the inbuilt Forth
terminal emulator.
Applying: terminal.fs: Fix linefeeds on the bottom line of the Forth console.
/src/openbios-devel/.git/rebase-apply/patch:18: trailing whitespace.
    then
warning: 1 line applied after fixing whitespace errors.
Applying: terminal.fs: Fix backspace sequence in Forth terminal.
/src/openbios-devel/.git/rebase-apply/patch:14: trailing whitespace.
      column# dup
warning: 1 line applied after fixing whitespace errors.
Applying: video: Create new video_common.c file for shared video
primitive routines.
Applying: video_common.c: Move primitive graphic operations into
libopenbios/video_common.c.
/src/openbios-devel/.git/rebase-apply/patch:247: trailing whitespace.
#endif
/src/openbios-devel/.git/rebase-apply/patch:253: trailing whitespace.

/src/openbios-devel/.git/rebase-apply/patch:261: trailing whitespace.

/src/openbios-devel/.git/rebase-apply/patch:268: trailing whitespace.

/src/openbios-devel/.git/rebase-apply/patch:271: trailing whitespace.

warning: 5 lines applied after fixing whitespace errors.
Applying: pci: Modify PCI display devices so that open and close words
are not created automatically during initialisation.
Applying: video: Create tcx.fs and vga.fs to simulate Fcode video
initialisation code.
/src/openbios-devel/.git/rebase-apply/patch:91: trailing whitespace.

/src/openbios-devel/.git/rebase-apply/patch:94: trailing whitespace.
  0 to foreground-color
/src/openbios-devel/.git/rebase-apply/patch:105: trailing whitespace.

/src/openbios-devel/.git/rebase-apply/patch:106: trailing whitespace.
  fb8-erase-screen
/src/openbios-devel/.git/rebase-apply/patch:152: trailing whitespace.

warning: squelched 3 whitespace errors
warning: 8 lines applied after fixing whitespace errors.
Applying: display.fs: pass the colour depth and line bytes to the
Forth terminal routines.
Applying: video_common.c: create low-level video_mask_blit() function.
/src/openbios-devel/.git/rebase-apply/patch:151: trailing whitespace.

warning: 1 line applied after fixing whitespace errors.
Applying: video_common.c: create low-level video_invert_rect() function.
/src/openbios-devel/.git/rebase-apply/patch:61: trailing whitespace.
  fb8-invert-screen 2000 ms
/src/openbios-devel/.git/rebase-apply/patch:96: trailing whitespace.
        int x = POP();
warning: 2 lines applied after fixing whitespace errors.
Applying: display.fs: Fix fb8 routines to work with bit depths > 8.
Applying: video_common.c: create low-level video_fill_rect() function.
Applying: display.fs: optimise scrolling by copying/deleting multiple
scanlines at once.
/src/openbios-devel/.git/rebase-apply/patch:30: trailing whitespace.
  background-color 0
/src/openbios-devel/.git/rebase-apply/patch:63: trailing whitespace.
  drop
warning: 2 lines applied after fixing whitespace errors.
Applying: display.fs: Add vertical font-spacing as per the existing C
console implementation.
Applying: terminal.fs: handle all cursor positioning within the
terminal package.
/src/openbios-devel/.git/rebase-apply/patch:40: trailing whitespace.
    line# 1+ to line#
/src/openbios-devel/.git/rebase-apply/patch:41: trailing whitespace.
    0 to column#
/src/openbios-devel/.git/rebase-apply/patch:48: trailing whitespace.
      #lines 1- to line#
/src/openbios-devel/.git/rebase-apply/patch:58: trailing whitespace.

/src/openbios-devel/.git/rebase-apply/patch:69: trailing whitespace.

warning: squelched 1 whitespace error
warning: 6 lines applied after fixing whitespace errors.
Applying: terminal.fs: Fix CSI n; mH and CSI n; mf control sequences.
/src/openbios-devel/.git/rebase-apply/patch:17: trailing whitespace.
      case
/src/openbios-devel/.git/rebase-apply/patch:40: trailing whitespace.
      case
warning: 2 lines applied after fixing whitespace errors.
Applying: display.fs: add implementation of fb8-insert-lines.
/src/openbios-devel/.git/rebase-apply/patch:18: trailing whitespace.

warning: 1 line applied after fixing whitespace errors.
Applying: display.fs: add implementation of fb8-insert-characters and
fb8-delete-characters.
/src/openbios-devel/.git/rebase-apply/patch:39: trailing whitespace.
  background-color
/src/openbios-devel/.git/rebase-apply/patch:58: trailing whitespace.
  background-color
/src/openbios-devel/.git/rebase-apply/patch:62: trailing whitespace.
  drop
warning: 3 lines applied after fixing whitespace errors.
Applying: video: switch VGA and TCX drivers over to Forth console
using is-install.
/src/openbios-devel/.git/rebase-apply/patch:68: trailing whitespace.

warning: 1 line applied after fixing whitespace errors.

Also you didn't apply the linkage fix I sent completely since the
linker now complains:
  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

Otherwise the patches look fine.

>
>
> ATB,
>
> Mark.
>
>
> --
> 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