-- UserTerminalDriverPack.pack
-- Last edit by:
-- Yokota  March 23, 1981  10:29 AM  GetBitBltTable, SetCursorPattern, SetMousePosition
--    are moved from Resident to ResidentCool (new CODE PACK).
-- Gobbel  January 31, 1981  11:33 AM  Moved frame packs into PilotKernelFrames.pack.
-- Levin   22-Mar-82 13:04:50  Add ColorDisplayImpl.
-- Levin   June 10, 1982 9:32 am  Add ColorCursorImpl.

UserTerminalDriver: SEGMENT =
BEGIN

Resident: CODE PACK =
  BEGIN
  UserTerminalImpl [WaitForScanLine, WaitForVerticalRetrace];
  END;

ResidentCool: CODE PACK = {
  UserTerminalImpl [GetBitBltTable, SetCursorPattern, SetMousePosition];
  ColorCursorImpl [SetCursorPattern, Setup]};

UserTerminalDriverSwappable: CODE PACK = {
  UserTerminalImpl EXCEPT Initialization, Resident, ResidentCool;
  ColorDisplayImpl EXCEPT Initialization, Resident, ResidentCool;
  ColorCursorImpl EXCEPT Initialization, Resident, ResidentCool};

Initialization: CODE PACK =
  BEGIN
  -- Explicit qualification is needed below  to avoid ambiguous references
  -- when all of Pilot is packaged via a merged segment.
  UserTerminalDriver.StartChainPlug [MAIN, Start];
  UserTerminalImpl [MAIN, Start];
  ColorDisplayImpl [MAIN, Start, StartHead];
  ColorCursorImpl [MAIN, Start, Init];
  END;

END;