summaryrefslogtreecommitdiffstats
path: root/qemu/roms/SLOF/board-js2x/slof/vga-display.fs
diff options
context:
space:
mode:
Diffstat (limited to 'qemu/roms/SLOF/board-js2x/slof/vga-display.fs')
-rw-r--r--qemu/roms/SLOF/board-js2x/slof/vga-display.fs157
1 files changed, 0 insertions, 157 deletions
diff --git a/qemu/roms/SLOF/board-js2x/slof/vga-display.fs b/qemu/roms/SLOF/board-js2x/slof/vga-display.fs
deleted file mode 100644
index 96417e2d3..000000000
--- a/qemu/roms/SLOF/board-js2x/slof/vga-display.fs
+++ /dev/null
@@ -1,157 +0,0 @@
-\ *****************************************************************************
-\ * Copyright (c) 2004, 2008 IBM Corporation
-\ * All rights reserved.
-\ * This program and the accompanying materials
-\ * are made available under the terms of the BSD License
-\ * which accompanies this distribution, and is available at
-\ * http://www.opensource.org/licenses/bsd-license.php
-\ *
-\ * Contributors:
-\ * IBM Corporation - initial implementation
-\ ****************************************************************************/
-
-\ included by pci-class_03.fs
-
-( str len display_num ) \ name prefix
-
-false value is-installed?
-value display_num ( str len )
-
-s" ,Display-" $cat 41 display_num + char-cat \ add ", Display-A" or "-B" to name ( str len )
-encode-string s" name" property \ store as name property
-
-s" display" device-type
-
-\ screen-info is set by pci-class_03.fs contains output of get_vbe_info bios-snk call
-CASE screen-info c@ \ ( display-type )
- 0 OF s" NONE" ENDOF \ No display
- 1 OF s" Analog" ENDOF
- 2 OF s" Digital" ENDOF
-ENDCASE
-encode-string s" display-type" property
-
-screen-info 8 + l@ value mem-adr
-screen-info 1 + w@ value width
-screen-info 3 + w@ value height
-
-screen-info c@ IF
- \ if screen-info is not 0, we have some screen attached, add needed properties...
- width encode-int s" width" property
- height encode-int s" height" property
- screen-info 5 + w@ encode-int s" linebytes" property
- screen-info 7 + c@ encode-int s" depth" property
- mem-adr encode-int s" address" property
- \ the EDID property breaks the boot... so i leave it out for now,
- \ maybe encode-bytes does s.th. wrong???
- \ screen-info c + 80 encode-bytes s" EDID" property
- s" ISO8859-1" encode-string s" character-set" property \ i hope this is ok...
-THEN
-
-\ words for installation/removal, needed by is-install/is-remove, see display.fs
-: display-remove ( -- )
-;
-: display-install ( -- )
- is-installed? NOT IF
- mem-adr to frame-buffer-adr
- default-font
- set-font
- width height width char-width / height char-height / ( width height #lines #cols )
- fb8-install
- true to is-installed?
- THEN
-;
-
-: color! ( r g b number -- )
- \ 3c8 is RAMDAC write mode select palette entry register
- \ 3c9 is RAMDAC write mode write palette entry register ( 3 consecutive writes set new entry )
- vga-device-node? 3c8 translate-address ( r g b number address )
- swap 1 pick ( r g b address number address )
- rb! \ write palette entry number ( r g b address )
- 1 + \ select next register (3c9)
- dup 4 pick swap rb! \ write red ( r g b address )
- dup 3 pick swap rb! \ write green ( r g b address )
- dup 2 pick swap rb! \ write blue ( r g b address )
- 4drop
-;
-
-: color@ ( number -- r g b )
- \ 3c7 is RAMDAC read mode select palette entry register
- \ 3c9 is RAMDAC read mode read palette entry register ( 3 consecutive reads read entry )
- vga-device-node? 3c7 translate-address ( number address )
- swap 1 pick ( address number address )
- rb! \ write palette entry number ( address )
- 2 + >r \ select next register (3c9) ( R: address )
- r@ rb@ \ read red ( r R: address )
- r@ rb@ \ read green ( r g R: address )
- r@ rb@ \ write blue ( r g b R: address )
- r> drop ( r g b )
-;
-
-: set-colors ( adr number #numbers -- )
- \ 3c8 is RAMDAC write mode select palette entry register
- \ 3c9 is RAMDAC write mode write palette entry register ( 3 consecutive writes set new entry )
- \ since after writing 3 entries, the palette entry is automagically incremented,
- \ we can just continue writing...
- vga-device-node? 3c8 translate-address ( adr number #numbers )
- dup 3 pick swap ( adr number #numbers address number address )
- rb! \ write palette entry number ( adr number #numbers address )
- 1 + \ select next register (3c9)
- -rot swap drop ( adr address #numbers )
- -rot swap rot ( address adr #numbers )
- 0 ?DO
- ( address adr )
- dup rb@ \ read red value from adr ( address adr r )
- 2 pick rb! \ write to register ( address adr )
- 1 + \ next adr
- dup rb@ \ read green value from adr ( address adr g )
- 2 pick rb! \ write to register ( address adr )
- 1 + \ next adr
- dup rb@ \ read blue value from adr ( address adr r )
- 2 pick rb! \ write to register ( address adr )
- 1 + \ next adr
- LOOP
- 2drop
-;
-
-: get-colors ( adr number #numbers -- )
- \ 3c7 is RAMDAC read mode select palette entry register
- \ 3c9 is RAMDAC read mode read palette entry register ( 3 consecutive reads get entry )
- \ since after reading 3 entries, the palette entry is automagically incremented,
- \ we can just continue reading...
- vga-device-node? 3c7 translate-address ( adr number #numbers )
- dup 3 pick swap ( adr number #numbers address number address )
- rb! \ write palette entry number ( adr number #numbers address )
- 2 + \ select next register (3c9)
- -rot swap drop ( adr address #numbers )
- -rot swap rot ( address adr #numbers )
- 0 ?DO
- ( address adr )
- 1 pick rb@ \ read red value from register ( address adr r )
- 1 pick rb! \ write to adr ( address adr )
- 1 + \ next adr
- 1 pick rb@ \ read green value from register ( address adr g )
- 1 pick rb! \ write to adr ( address adr )
- 1 + \ next adr
- 1 pick rb@ \ read blue value from register ( address adr b )
- 1 pick rb! \ write to adr ( address adr )
- 1 + \ next adr
- LOOP
- 2drop
-;
-
-include graphics.fs
-
-\ clear screen
-mem-adr width height * 0 rfill
-
-\ call is-install and is-remove
-' display-install is-install
-
-' display-remove is-remove
-
-s" screen" find-alias 0= IF
- \ no previous screen alias defined, define it...
- s" screen" get-node node>path set-alias
-ELSE
- drop
-THEN