|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T V
Length: 6799 (0x1a8f)
Types: TextFile
Names: »V«
└─⟦85b835f43⟧ Bits:30000549 8mm tape, Rational 1000, Xlib rev 6.00
└─⟦0c20f784e⟧ »DATA«
└─⟦1abbe589f⟧
└─⟦059497ac5⟧
└─⟦this⟧
with Xlbt_Arithmetic;
use Xlbt_Arithmetic;
with Xlbt_Image3;
use Xlbt_Image3;
with Xlbt_String;
use Xlbt_String;
package Xlbip_Image_Internal is
------------------------------------------------------------------------------
-- X Library Internal Image operations
--
-- Xlbip_Image_Internal - Image operations that may or may not be optimized on
-- a per-machine basis.
------------------------------------------------------------------------------
-- Copyright 1989 - 1991 by Rational, Santa Clara, California.
-- Copyright 1985 - 1989 by the Massachusetts Institute of Technology
--
-- All Rights Reserved.
--
-- Permission to use, copy, modify, and distribute this software and its
-- documentation for any purpose and without fee is hereby granted,
-- provided that the above copyright notice(s) appear in all copies and that
-- both that copyright notice(s) and this permission notice appear in
-- supporting documentation, and that the names of MIT or Rational not be
-- used in advertising or publicity pertaining to distribution of the software
-- without specific, written prior permission.
--
-- MIT and Rational disclaim all warranties with regard to this software,
-- including all implied warranties of merchantability and fitness, in no
-- event shall MIT or Rational be liable for any special, indirect or
-- consequential damages or any damages whatsoever resulting from loss of use,
-- data or profits, whether in an action of contract, negligence or other
-- tortious action, arising out of or in connection with the use or performance
-- of this software.
------------------------------------------------------------------------------
--\f
procedure Private_X_Init_Image_Func_Ptrs (Image : X_Image);
------------------------------------------------------------------------------
-- Image - Specifies the image to initialize
--
-- Called to initialize the function pointers in a new image.
------------------------------------------------------------------------------
procedure Private_X_Report_Bad_Image (Errtype : X_String;
Error : String;
Routine : X_String);
------------------------------------------------------------------------------
-- Errtype - Specifies the type of error, e.g. depth
-- Error - Specifies the bad value, e.g. depth of 97
-- Routine - Specifies which routine is complaining
--
-- Call to report on broken images.
------------------------------------------------------------------------------
------------------------------------------------------------------------------
-- Swap bits or bytes in a buffer.
------------------------------------------------------------------------------
procedure Private_Swap_Bits (B : in out U_Char_Array);
------------------------------------------------------------------------------
-- For each byte in the buffer; swap the bits within each byte so that they
-- run in the opposite direction. Bit 0 becomes bit 7; bit 7 becomes bit 0;
-- bit 1 becomes bit 6; etc.
------------------------------------------------------------------------------
procedure Private_Swap_Short (P : in out U_Char_Array);
------------------------------------------------------------------------------
-- For each half-word in the buffer, swap the byte pairs.
------------------------------------------------------------------------------
procedure Private_Swap_Long (P : in out U_Char_Array);
------------------------------------------------------------------------------
-- For each full-word in the buffer; reverse the order of the 4 bytes.
-- We expect the buffer'Length to be a multiple of 4; if it isn't then the
-- last 1, 2, or 3 bytes ('Length rem 4) are not touched.
------------------------------------------------------------------------------
procedure Private_Swap_Three (P : in out U_Char_Array);
------------------------------------------------------------------------------
-- We have groups of 24-bits (presumably we have a group of 3-byte colormap
-- values) and we need to swap them from big to little (or little to big)
-- endian.
------------------------------------------------------------------------------
-- --Private_Reverse_Byte - an array where each Foo[I] contains a value which
-- is I but with the 8 bits in reverse order.
Private_Reverse_Byte : constant U_Char_Array (0 .. 255) :=
(16#00#, 16#80#, 16#40#, 16#C0#, 16#20#, 16#A0#, 16#60#, 16#E0#, 16#10#,
16#90#, 16#50#, 16#D0#, 16#30#, 16#B0#, 16#70#, 16#F0#, 16#08#, 16#88#,
16#48#, 16#C8#, 16#28#, 16#A8#, 16#68#, 16#E8#, 16#18#, 16#98#, 16#58#,
16#D8#, 16#38#, 16#B8#, 16#78#, 16#F8#, 16#04#, 16#84#, 16#44#, 16#C4#,
16#24#, 16#A4#, 16#64#, 16#E4#, 16#14#, 16#94#, 16#54#, 16#D4#, 16#34#,
16#B4#, 16#74#, 16#F4#, 16#0C#, 16#8C#, 16#4C#, 16#CC#, 16#2C#, 16#AC#,
16#6C#, 16#EC#, 16#1C#, 16#9C#, 16#5C#, 16#DC#, 16#3C#, 16#BC#, 16#7C#,
16#FC#, 16#02#, 16#82#, 16#42#, 16#C2#, 16#22#, 16#A2#, 16#62#, 16#E2#,
16#12#, 16#92#, 16#52#, 16#D2#, 16#32#, 16#B2#, 16#72#, 16#F2#, 16#0A#,
16#8A#, 16#4A#, 16#CA#, 16#2A#, 16#AA#, 16#6A#, 16#EA#, 16#1A#, 16#9A#,
16#5A#, 16#DA#, 16#3A#, 16#BA#, 16#7A#, 16#FA#, 16#06#, 16#86#, 16#46#,
16#C6#, 16#26#, 16#A6#, 16#66#, 16#E6#, 16#16#, 16#96#, 16#56#, 16#D6#,
16#36#, 16#B6#, 16#76#, 16#F6#, 16#0E#, 16#8E#, 16#4E#, 16#CE#, 16#2E#,
16#AE#, 16#6E#, 16#EE#, 16#1E#, 16#9E#, 16#5E#, 16#DE#, 16#3E#, 16#BE#,
16#7E#, 16#FE#, 16#01#, 16#81#, 16#41#, 16#C1#, 16#21#, 16#A1#, 16#61#,
16#E1#, 16#11#, 16#91#, 16#51#, 16#D1#, 16#31#, 16#B1#, 16#71#, 16#F1#,
16#09#, 16#89#, 16#49#, 16#C9#, 16#29#, 16#A9#, 16#69#, 16#E9#, 16#19#,
16#99#, 16#59#, 16#D9#, 16#39#, 16#B9#, 16#79#, 16#F9#, 16#05#, 16#85#,
16#45#, 16#C5#, 16#25#, 16#A5#, 16#65#, 16#E5#, 16#15#, 16#95#, 16#55#,
16#D5#, 16#35#, 16#B5#, 16#75#, 16#F5#, 16#0D#, 16#8D#, 16#4D#, 16#CD#,
16#2D#, 16#AD#, 16#6D#, 16#ED#, 16#1D#, 16#9D#, 16#5D#, 16#DD#, 16#3D#,
16#BD#, 16#7D#, 16#FD#, 16#03#, 16#83#, 16#43#, 16#C3#, 16#23#, 16#A3#,
16#63#, 16#E3#, 16#13#, 16#93#, 16#53#, 16#D3#, 16#33#, 16#B3#, 16#73#,
16#F3#, 16#0B#, 16#8B#, 16#4B#, 16#CB#, 16#2B#, 16#AB#, 16#6B#, 16#EB#,
16#1B#, 16#9B#, 16#5B#, 16#DB#, 16#3B#, 16#BB#, 16#7B#, 16#FB#,
16#07#, 16#87#, 16#47#, 16#C7#, 16#27#, 16#A7#, 16#67#, 16#E7#,
16#17#, 16#97#, 16#57#, 16#D7#, 16#37#, 16#B7#, 16#77#, 16#F7#,
16#0F#, 16#8F#, 16#4F#, 16#CF#, 16#2F#, 16#AF#, 16#6F#, 16#EF#,
16#1F#, 16#9F#, 16#5F#, 16#DF#, 16#3F#, 16#BF#, 16#7F#, 16#FF#);
end Xlbip_Image_Internal;