On Sat, Jun 1, 2013 at 12:06 PM, Mark Cave-Ayland mark.cave-ayland@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