$OpenBSD: sti.4,v 1.19 2007/05/31 19:19:52 jmc Exp $
Copyright (c) 2001 Michael Shalayeff
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE AUTHOR OR HIS RELATIVES BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF MIND, USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
THE POSSIBILITY OF SUCH DAMAGE.
.Dd May 29, 2025 .Dt STI 4 .Os .Sh NAME .Nm sti .Nd HP Standard Text Interface .Sh SYNOPSIS .Cd "sti* at mainbus0" .Cd "sti* at phantomas?" .Cd "sti* at pci?" .Cd "wsdisplay* at sti?" .Sh DESCRIPTION The .Nm was created by HP to provide uniform frame-buffer access operations for their 9000/300 and 9000/700 series of workstations.
p
The following models are supported
(though not all features or frame buffer depths may be available):
l -column "Visualize FX10pro" "Bits" "0.75" "3D" "machines" -offset left t "Model" Ta "Bits" Ta "Mem" Ta "3D" Ta "Machines/Cards" t "EVRX" Ta "8" Ta "0.5" Ta "" Ta "HP9000/362/382" t "EVRX" Ta "8" Ta "0.75" Ta "" Ta "HP9000/382" t "EVRX" Ta "8" Ta "2" Ta "" Ta "HP9000/425e" .It "Timber" Ta "8" Ta "2" Ta "" Ta "HP9000/705/710"
t "GRX" Ta "8g" Ta "2" Ta "" Ta "SGC" t "CRX" Ta "8" Ta "2" Ta "" Ta "SGC" t "Tomcat" Ta "8" Ta "2" Ta "" Ta "SGC" t "Stinger" Ta "8" Ta "2" Ta "" Ta "HP9000/7[12]5/74[257]i" t "Artist" Ta "8" Ta "2" Ta "" Ta "HP9000/712/7[12]5/74[38]i" t "CRX-24" Ta "24" Ta "16" Ta "" Ta "SGC" .It "CRX-24Z" Ta "24" Ta "16" Ta "y" Ta "SGC"
.It "CRX-48Z" Ta "24" Ta "16" Ta "y" Ta "SGC/GSC"
t "HCRX-8" Ta "8" Ta "2" Ta "" Ta "GSC" .It "HCRX-8Z" Ta "8" Ta "2" Ta "y" Ta "GSC"
t "HCRX-24" Ta "24" Ta "16" Ta "" Ta "GSC" .It "HCRX-24Z" Ta "24" Ta "16" Ta "y" Ta "GSC"
.It "Visualize 8" Ta "8" Ta "2" Ta "y" Ta "GSC"
t "Visualize EG" Ta "16" Ta "2" Ta "" Ta "HP B/C-class, GSC/PCI" .It "Visualize 24" Ta "24" Ta "16" Ta "y" Ta "GSC"
.It "Visualize 48" Ta "24" Ta "16" Ta "y" Ta "GSC"
.It "Visualize 48XP" Ta "24" Ta "16" Ta "y" Ta "GSC"
t "Visualize FXE" Ta "24" Ta "24" Ta "y" Ta "PCI 32/66" t "Visualize FX2" Ta "24" Ta "24" Ta "y" Ta "PCI 64/66" t "Visualize FX4/FX6" Ta "24" Ta "32" Ta "y" Ta "PCI 64/66" .It "Visualize FX5pro" Ta "24" Ta "64" Ta "y" Ta "PCI 64/66"
.It "Visualize FX10pro" Ta "24" Ta "128" Ta "y" Ta "PCI 64/66"
.El
p Implementation consists of a set of functions burnt in to the PROM on the card and providing the following set of functions (see below for PROM revision history on functions supported by particular PROM revision):
p l -bullet -compact t Initialize graphics. t State management. t Print a character onto the screen using currently selected font. t Copy a region of the frame-buffer to another location. t Self testing. t Exception handling. t Frame-buffer configuration enquiry. t Setting colour-map entry. t DMA parameters. t Flow control. t User timing. t Processing management. t Miscellaneous utility functions. .El
p There are two modes for accessing the PROM: .Dq byte and .Dq word mode. In .Dq byte mode each 4-byte word contains only the low-ordered big-endian byte of data; i.e., to compose one word of data 4 words should be read and low-ordered bytes of those should be shifted correspondingly. In .Dq word mode each word contains all 4 bytes of valid data.
p
PROM revision history:
l -tag -width "00.00" -compact t 8.02 Original release.
t 8.03 l -bullet -compact t OSF-extended self test (a.k.a fast).
t Restore display.
.El
t 8.04 l -bullet -compact global cfg
rename global cfg ext
global cfg ext
t Implement
.Nm curr_mon
function.
t Graphical boot screen.
sti_mem_addr
dd
word mode
num mons
mon tbl
user data
sti mem req
user data size
maxtime
mon tbl desc struct
init_inptr
rename init_inptr_ext
init_inptr_ext
config mon type
cmt change
font unpmv
non text
t Implement
.Dq block move .
non-text
t Implement
.Dq set colour-map entry .
.Nm
Implement word mode.
t Support for multiple monitors.
t Support
.Nm user_data
.Nm
space usage.
t Support for extra memory.
t Support for
.Nm Windows NT (tm) .
t Monitor frequency reference.
t Early console.
t Support added for: PCXL,
.Nm GSC
bus, ROM-less operation.
.El
t 8.05 l -bullet -compact t Interrupt support.
t Report card's power usage.
t Birds of Prey.
t User interrupts.
.El
t 8.06 l -bullet -compact t Multiple fonts.
t Monitor table descriptor strings.
t PCXL2 and PCXU monitor descriptors.
.El
t 8.08 l -bullet -compact t HP-UX 10 support for Visualize FX
t .Nm dma_ctrl
function added.
t .Nm flow_ctrl
function added.
t .Nm user_timing
function added.
.El
t 8.09 l -bullet -compact t Addition changes for
.Nm Visualize FX
due to rearchitecture for performance.
t .Nm process_mgr
function added.
.El
t 8.0a PCXL2 and PCXU dual
.Nm PCI
EPROM map mode, implemented on
.Nm Visualize EG .
t 8.0b Support for HP-UX non-implicit locking DMA, implemented on
.Nm Visualize FXE .
t 8.0c .Nm sti_util
function added (flashing under HP-UX and other sideband traffic).
t 8.0d Colour frame buffer support.
.El
.Sh SEE ALSO
.Xr intro 4 ,
.Xr phantomas 4 ,
.Xr wsdisplay 4
p .Rs .%T Standard Text Interface For Graphics Devices .%N Revision 8.13 .%D March 1, 2000 .%I Hewlett-Packard .Re .Sh HISTORY The .Nm driver was written by .An Michael Shalayeff Aq Mt mickey@openbsd.org for HPPA port for .Ox 2.7 . .Sh BUGS Currently, neither scroll back nor screen blanking functions are implemented.