Code Review
/
kvmfornfv.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
These changes are the raw update to qemu-2.6.
[kvmfornfv.git]
/
qemu
/
roms
/
SLOF
/
slof
/
fs
/
fbuffer.fs
diff --git
a/qemu/roms/SLOF/slof/fs/fbuffer.fs
b/qemu/roms/SLOF/slof/fs/fbuffer.fs
index
756f05a
..
4704608
100644
(file)
--- a/
qemu/roms/SLOF/slof/fs/fbuffer.fs
+++ b/
qemu/roms/SLOF/slof/fs/fbuffer.fs
@@
-19,6
+19,7
@@
0 VALUE screen-height
0 VALUE screen-width
0 VALUE screen-depth
0 VALUE screen-height
0 VALUE screen-width
0 VALUE screen-depth
+0 VALUE screen-line-bytes
0 VALUE window-top
0 VALUE window-left
0 VALUE window-top
0 VALUE window-left
@@
-54,10
+55,10
@@
: fb8-background inverse? ;
: fb8-foreground inverse? invert ;
: fb8-background inverse? ;
: fb8-foreground inverse? invert ;
-: fb8-lines2bytes ( #lines -- #bytes ) char-height * screen-
width * screen-depth
* ;
+: fb8-lines2bytes ( #lines -- #bytes ) char-height * screen-
line-bytes
* ;
: fb8-columns2bytes ( #columns -- #bytes ) char-width * screen-depth * ;
: fb8-line2addr ( line# -- addr )
: fb8-columns2bytes ( #columns -- #bytes ) char-width * screen-depth * ;
: fb8-line2addr ( line# -- addr )
- char-height * window-top + screen-
width * screen-depth
*
+ char-height * window-top + screen-
line-bytes
*
frame-buffer-adr + window-left screen-depth * +
;
frame-buffer-adr + window-left screen-depth * +
;
@@
-98,9
+99,10
@@
CREATE bitmap-buffer 400 4 * allot
: fb8-toggle-cursor ( -- )
line# fb8-line2addr column# fb8-columns2bytes +
: fb8-toggle-cursor ( -- )
line# fb8-line2addr column# fb8-columns2bytes +
- char-height 0 ?DO
- char-width screen-depth * 0 ?DO dup dup rb@ -1 xor swap rb! 1+ LOOP
- screen-width screen-depth * + char-width screen-depth * -
+ char-height 2 - screen-line-bytes * +
+ 2 0 ?DO
+ dup char-width screen-depth * invert-region
+ screen-line-bytes +
LOOP drop
;
LOOP drop
;
@@
-110,7
+112,7
@@
CREATE bitmap-buffer 400 4 * allot
line# fb8-line2addr column# fb8-columns2bytes + ( bitmap-buf fb-addr )
char-height 0 ?DO
2dup char-width screen-depth * mrmove
line# fb8-line2addr column# fb8-columns2bytes + ( bitmap-buf fb-addr )
char-height 0 ?DO
2dup char-width screen-depth * mrmove
- screen-
width screen-depth *
+ >r char-width screen-depth * + r>
+ screen-
line-bytes
+ >r char-width screen-depth * + r>
LOOP 2drop
ELSE 2drop r> 3drop THEN
;
LOOP 2drop
ELSE 2drop r> 3drop THEN
;
@@
-135,12
+137,12
@@
CREATE bitmap-buffer 400 4 * allot
fb8-columns2bytes swap fb8-columns2bytes tuck -
over r@ tuck + rot char-height 0 ?DO
3dup rmove
fb8-columns2bytes swap fb8-columns2bytes tuck -
over r@ tuck + rot char-height 0 ?DO
3dup rmove
- -rot screen-
width screen-depth *
tuck + -rot + swap rot
+ -rot screen-
line-bytes
tuck + -rot + swap rot
LOOP
3drop r>
THEN
char-height 0 ?DO
LOOP
3drop r>
THEN
char-height 0 ?DO
- dup 2 pick fb8-erase-block screen-
width screen-depth *
+
+ dup 2 pick fb8-erase-block screen-
line-bytes
+
LOOP
2drop
;
LOOP
2drop
;
@@
-153,12
+155,12
@@
CREATE bitmap-buffer 400 4 * allot
fb8-columns2bytes swap fb8-columns2bytes tuck -
over r@ + 2dup + r> swap >r rot char-height 0 ?DO
3dup rmove
fb8-columns2bytes swap fb8-columns2bytes tuck -
over r@ + 2dup + r> swap >r rot char-height 0 ?DO
3dup rmove
- -rot screen-
width screen-depth *
tuck + -rot + swap rot
+ -rot screen-
line-bytes
tuck + -rot + swap rot
LOOP
3drop r> over -
THEN
char-height 0 ?DO
LOOP
3drop r> over -
THEN
char-height 0 ?DO
- dup 2 pick fb8-erase-block screen-
width screen-depth *
+
+ dup 2 pick fb8-erase-block screen-
line-bytes
+
LOOP
2drop
;
LOOP
2drop
;
@@
-166,13
+168,11
@@
CREATE bitmap-buffer 400 4 * allot
: fb8-reset-screen ( -- ) ( Left as no-op by design ) ;
: fb8-erase-screen ( -- )
: fb8-reset-screen ( -- ) ( Left as no-op by design ) ;
: fb8-erase-screen ( -- )
- frame-buffer-adr screen-height screen-
width * screen-depth
* fb8-erase-block
+ frame-buffer-adr screen-height screen-
line-bytes
* fb8-erase-block
;
: fb8-invert-screen ( -- )
;
: fb8-invert-screen ( -- )
- frame-buffer-adr screen-height screen-width * screen-depth * 2dup /x / 0 ?DO
- dup rx@ -1 xor over rx! xa1+
- LOOP 3drop
+ frame-buffer-adr screen-height screen-line-bytes * invert-region
;
: fb8-blink-screen ( -- ) fb8-invert-screen fb8-invert-screen ;
;
: fb8-blink-screen ( -- ) fb8-invert-screen fb8-invert-screen ;
@@
-180,6
+180,7
@@
CREATE bitmap-buffer 400 4 * allot
: fb8-install ( width height #columns #lines -- )
1 to screen-depth
2swap to screen-height to screen-width
: fb8-install ( width height #columns #lines -- )
1 to screen-depth
2swap to screen-height to screen-width
+ screen-width to screen-line-bytes
screen-#rows min to #lines
screen-#columns min to #columns
screen-height char-height #lines * - 2/ to window-top
screen-#rows min to #lines
screen-#columns min to #columns
screen-height char-height #lines * - 2/ to window-top
@@
-201,6
+202,7
@@
CREATE bitmap-buffer 400 4 * allot
>r
fb8-install
r> to screen-depth
>r
fb8-install
r> to screen-depth
+ screen-width screen-depth * to screen-line-bytes
;
;