-- DisplayFaceExtras.mesa
-- Last Edited by: Taft, February 27, 1983 3:13 pm
DisplayFaceExtras: DEFINITIONS =
BEGIN
-- There are two basic types of monitors that can be connected to D-machines:
-- the narrow Alto-style monitor and the wide LF (large-format) monitor.
MonitorType: TYPE = {alto, lf};
-- The monitor connected to this machine is:
monitorType: MonitorType;
-- Alto monitors run at a fixed field rate (60 hz) which it is not reasonable to change.
-- LF monitors normally run at a field rate of approximately 77 hz. However, this may
-- be reduced to 60 hz for compatibility with videotape and other TV equipment.
-- To complicate matters, there are two brands of LF monitors presently in use,
-- one made by Ball Brothers and the other by Phillips. They respond in different
-- ways to having their field rate reduced, and require different waveforms for
-- reasonable results.
-- The software cannot detect which brand of LF monitor is connected; this must be
-- determined by the user. Shine a light through the ventilation slots in the top
-- of the housing. If there is a horizontal logic board at the bottom (under the
-- neck of the picture tube) then it is a Ball Brothers monitor. If the logic board
-- is vertically oriented on the left-hand side (with a bunch of adjustments on the top)
-- then it is a Phillips monitor.
-- After changing the field rate, it may be necessary to adjust the monitor to
-- restore the proper position of the picture. This is more likely to be needed
-- with a Ball Brothers monitor than with a Phillips monitor.
FieldRate: TYPE = {normalAlto, normalLF, lfBall60hz, lfPhillips60hz};
SetFieldRate: PROCEDURE [rate: FieldRate] RETURNS [ok: BOOLEAN];
-- Establishes the new field rate, in a machine-independent fashion.
-- Returns TRUE if the operation is reasonable and is implemented on this machine.
SetVerticalWaveforms: PROCEDURE [sync, visible, topBorder: CARDINAL] RETURNS [ok: BOOLEAN];
-- Sets the vertical waveform parameters to arbitrary values. Sync is the duration
-- of the sync pulse in scan lines; visible is the duration of the visible field
-- including top and bottom borders (i.e., everything except sync); topBorder is the
-- duration of the top border.
-- All numbers describe scan lines in the even field and must be greater than zero.
-- For an LF monitor, the standard values are sync=18, visible=430, topBorder=14.
-- To obtain the normal field rate requires that sync+visible = 448.
-- To obtain the 60 hz field rate requires that sync+visible = 578.
-- At present, on the Dorado the three values can be adjusted independently;
-- on the Dolphin and Dandelion nothing may be changed.
-- Returns TRUE if the operation is implemented on this machine; no other check is
-- made for reasonableness of the operation.
END.