aboutsummaryrefslogtreecommitdiff
path: root/pkg/images/tv/iis/lib
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/images/tv/iis/lib')
-rw-r--r--pkg/images/tv/iis/lib/ids.com25
-rw-r--r--pkg/images/tv/iis/lib/ids.h175
2 files changed, 200 insertions, 0 deletions
diff --git a/pkg/images/tv/iis/lib/ids.com b/pkg/images/tv/iis/lib/ids.com
new file mode 100644
index 00000000..cd6bc086
--- /dev/null
+++ b/pkg/images/tv/iis/lib/ids.com
@@ -0,0 +1,25 @@
+# IDS common. A common is necessary since there is no graphics descriptor
+# in the argument list of the kernel procedures. The data structures
+# are designed along the lines of FIO: a small common is used to hold the time
+# critical data elements, and an auxiliary dynamically allocated descriptor is
+# used for everything else.
+
+pointer i_kt # kernel image display descriptor
+pointer i_tty # graphcap descriptor
+int i_in, i_out # input file, output file
+int i_xres, i_yres # desired device resolution
+long i_frsize # frame size in chars
+short i_maxframes, i_maxgraph # max num. of image frames, gr. planes
+int i_linemask # current linemask
+int i_linewidth # current line width
+int i_linecolor # current line color
+short i_pt_x, i_pt_y # current plot point, device coords
+int i_csize # text character size
+int i_font # text font
+bool i_snap # true if a snap in progress
+bool i_image # frame/bitplane data is for image
+char i_device[SZ_IDEVICE] # force output to named device
+
+common /idscom/ i_kt, i_tty, i_in, i_out, i_xres, i_yres, i_frsize,
+ i_maxframes, i_maxgraph, i_linemask, i_linewidth, i_linecolor,
+ i_pt_x, i_pt_y, i_csize, i_font, i_snap, i_image, i_device
diff --git a/pkg/images/tv/iis/lib/ids.h b/pkg/images/tv/iis/lib/ids.h
new file mode 100644
index 00000000..bbf36392
--- /dev/null
+++ b/pkg/images/tv/iis/lib/ids.h
@@ -0,0 +1,175 @@
+# IDS definitions.
+
+define MAX_CHARSIZES 10 # max discreet device char sizes
+define SZ_SBUF 1024 # initial string buffer size
+define SZ_IDEVICE 31 # maxsize forced device name
+
+# The IDS state/device descriptor.
+
+define LEN_IDS 81
+
+define IDS_SBUF Memi[$1] # string buffer
+define IDS_SZSBUF Memi[$1+1] # size of string buffer
+define IDS_NEXTCH Memi[$1+2] # next char pos in string buf
+define IDS_NCHARSIZES Memi[$1+3] # number of character sizes
+define IDS_POLYLINE Memi[$1+4] # device supports polyline
+define IDS_POLYMARKER Memi[$1+5] # device supports polymarker
+define IDS_FILLAREA Memi[$1+6] # device supports fillarea
+define IDS_CELLARRAY Memi[$1+7] # device supports cell array
+define IDS_ZRES Memi[$1+8] # device resolution in Z
+define IDS_FILLSTYLE Memi[$1+9] # number of fill styles
+define IDS_ROAM Memi[$1+10] # device supports roam
+define IDS_CANZM Memi[$1+11] # device supports zoom
+define IDS_SELERASE Memi[$1+12] # device has selective erase
+define IDS_FRAME Memi[$1+13] # pointer to frames area
+define IDS_BITPL Memi[$1+14] # pointer to bitplane area
+ # extra space
+define IDS_FRCOLOR Memi[$1+18] # frame color
+define IDS_GRCOLOR Memi[$1+19] # graphics color
+define IDS_LCURSOR Memi[$1+20] # last cursor accessed
+define IDS_COLOR Memi[$1+21] # last color set
+define IDS_TXSIZE Memi[$1+22] # last text size set
+define IDS_TXFONT Memi[$1+23] # last text font set
+define IDS_TYPE Memi[$1+24] # last line type set
+define IDS_WIDTH Memi[$1+25] # last line width set
+define IDS_DEVNAME Memi[$1+26] # name of open device
+define IDS_CHARHEIGHT Memi[$1+30+$2-1] # character height
+define IDS_CHARWIDTH Memi[$1+40+$2-1] # character width
+define IDS_CHARSIZE Memr[P2R($1+50+$2-1)] # text sizes permitted
+define IDS_PLAP ($1+60) # polyline attributes
+define IDS_PMAP ($1+64) # polymarker attributes
+define IDS_FAAP ($1+68) # fill area attributes
+define IDS_TXAP ($1+71) # default text attributes
+
+# Substructure definitions.
+
+define LEN_PL 4
+define PL_STATE Memi[$1] # polyline attributes
+define PL_LTYPE Memi[$1+1]
+define PL_WIDTH Memi[$1+2]
+define PL_COLOR Memi[$1+3]
+
+define LEN_PM 4
+define PM_STATE Memi[$1] # polymarker attributes
+define PM_LTYPE Memi[$1+1]
+define PM_WIDTH Memi[$1+2]
+define PM_COLOR Memi[$1+3]
+
+define LEN_FA 3 # fill area attributes
+define FA_STATE Memi[$1]
+define FA_STYLE Memi[$1+1]
+define FA_COLOR Memi[$1+2]
+
+define LEN_TX 10 # text attributes
+define TX_STATE Memi[$1]
+define TX_UP Memi[$1+1]
+define TX_SIZE Memi[$1+2]
+define TX_PATH Memi[$1+3]
+define TX_SPACING Memr[P2R($1+4)]
+define TX_HJUSTIFY Memi[$1+5]
+define TX_VJUSTIFY Memi[$1+6]
+define TX_FONT Memi[$1+7]
+define TX_QUALITY Memi[$1+8]
+define TX_COLOR Memi[$1+9]
+
+define IDS_EOD (-2) # flag for end of data
+
+define IDS_RESET 10 # escape 10
+define IDS_R_HARD 0 # hard reset
+define IDS_R_MEDIUM 1 # medium
+define IDS_R_SOFT 2
+define IDS_R_SNAPDONE 3 # end snap
+
+define IDS_SET_IP 11 # escape 11
+define IDS_SET_GP 12 # escape 12
+define IDS_DISPLAY_I 13 # escape 13
+define IDS_DISPLAY_G 14 # escape 14
+define IDS_SAVE 15 # escape 15
+define IDS_RESTORE 16 # escape 16
+
+# max sizes
+
+define IDS_MAXIMPL 16 # maximum number of image planes
+define IDS_MAXGRPL 16 # maximum number of graphics planes
+define IDS_MAXBITPL 16 # maximum bit planes per frame
+define IDS_MAXGCOLOR 8 # maximum number of colors (graphics)
+define IDS_MAXDATA 8192 # maximum data structure in display
+
+define IDS_RED 1
+define IDS_GREEN 2
+define IDS_BLUE 3
+define IDS_YELLOW 4
+define IDS_RDBL 5
+define IDS_GRBL 6
+define IDS_WHITE 7
+define IDS_BLACK 8
+
+define IDS_QUAD_UR 1 # upper right quad.: split screen mode
+define IDS_QUAD_UL 2
+define IDS_QUAD_LL 3
+define IDS_QUAD_LR 4
+
+define IDS_CONTROL 17 # escape 17
+define IDS_CTRL_LEN 6
+define IDS_CTRL_REG 1 # what to control
+define IDS_CTRL_RW 2 # read/write field in control instr.
+define IDS_CTRL_N 3 # count of DATA items
+define IDS_CTRL_FRAME 4 # pertinent frame(s)
+define IDS_CTRL_COLOR 5 # and color
+define IDS_CTRL_OFFSET 6 # generalized "register"
+define IDS_CTRL_DATA 7 # data array
+
+define IDS_WRITE 0 # write command
+define IDS_READ 1 # read command
+define IDS_READ_WT 2 # wait for action, then read
+define IDS_OFF 1 # turn whatever off
+define IDS_ON 2
+define IDS_CBLINK 3 # cursor blink
+define IDS_CSHAPE 4 # cursor shape
+
+define IDS_CSTEADY 1 # cursor blink - steady (no blink)
+define IDS_CFAST 2 # cursor blink - fast
+define IDS_CMEDIUM 3 # cursor blink - medium
+define IDS_CSLOW 4 # cursor blink - slow
+
+define IDS_FRAME_LUT 1 # look-up table for image frame
+define IDS_GR_MAP 2 # graphics color map...lookup table per
+ # se makes little sense for bit plane
+define IDS_INPUT_LUT 3 # global input lut
+define IDS_OUTPUT_LUT 4 # final lut
+define IDS_SPLIT 5 # split screen coordinates
+define IDS_SCROLL 6 # scroll coordinates
+define IDS_ZOOM 7 # zoom magnification
+define IDS_OUT_OFFSET 8 # output bias
+define IDS_MIN 9 # data minimum
+define IDS_MAX 10 # data maximum
+define IDS_RANGE 11 # output range select
+define IDS_HISTOGRAM 12 # output data histogram
+define IDS_ALU_FCN 13 # arithmetic feedback function
+define IDS_FEEDBACK 14 # feedback control
+define IDS_SLAVE 15 # auxillary host or slave processor
+
+define IDS_CURSOR 20 # cursor control - on/off/blink/shape
+define IDS_TBALL 21 # trackball control - on/off
+define IDS_DIGITIZER 22 # digitizer control - on/off
+define IDS_BLINK 23 # for blink request
+define IDS_SNAP 24 # snap function
+define IDS_MATCH 25 # match lookup tables
+
+# snap codes ... just reuse color codes from above.
+define IDS_SNAP_RED IDS_RED # snap the blue image
+define IDS_SNAP_GREEN IDS_GREEN # green
+define IDS_SNAP_BLUE IDS_BLUE # blue
+define IDS_SNAP_RGB IDS_BLACK # rgb image --- do all three
+define IDS_SNAP_MONO IDS_WHITE # do just one
+
+# cursor parameters
+
+define IDS_CSET 128 # number of cursors per "group"
+
+define IDS_CSPECIAL 4097 # special "cursors"
+ # must be > (IDS_CSET * number of cursor groups)
+define IDS_CRAW IDS_CSPECIAL # raw cursor read
+define IDS_BUT_RD 4098 # "cursor number" for read buttons cmd
+define IDS_BUT_WT 4099 # wait for button press, then read
+define IDS_CRAW2 4100 # A second "raw" cursor