Subject: Re: PMAG-CA data structures
To: Andy Doran <ad@psn.ie>
From: None <drochner@zel459.zel.kfa-juelich.de>
List: port-pmax
Date: 02/17/1999 17:15:15
ad@psn.ie said:
> The opcode for rectangle is 1041, scroll is 1029 (it's pleasing to be
> able to say that after so long ;). It can only scroll 255 rows at a
> time.
On my Ultrix box there is a header file (/usr/include/io/ws/stamp.h)
which contains the definition for the command word:
typedef struct _stamp_cmd {
unsigned opcode : 4; /* <3:0> */
#define STAMP_CMD_POINTS 0
#define STAMP_CMD_LINES 1
#define STAMP_CMD_TRIANGLES 2
#define STAMP_CMD_COPYSPANS 5
#define STAMP_CMD_READSPANS 6
#define STAMP_CMD_WRITESPANS 7
#define STAMP_CMD_VIDEO 8
unsigned rgb_format : 2; /* <5:4> */
#define STAMP_RGB_NONE 0
#define STAMP_RGB_CONST 1
#define STAMP_RGB_FLAT 2
#define STAMP_RGB_SMOOTH 3
unsigned z_format : 2; /* <7:6> */
#define STAMP_Z_NONE 0
#define STAMP_Z_CONST 1
#define STAMP_Z_FLAT 2
#define STAMP_Z_SMOOTH 3
unsigned xymask_format : 2; /* <9:8> */
#define STAMP_XY_NONE 0
#define STAMP_XY_PERPACKET 1
#define STAMP_XY_PERPRIMITIVE 2
unsigned linewidth_format : 2; /* <11:10> */
#define STAMP_LW_NONE 0
#define STAMP_LW_PERPACKET 1
#define STAMP_LW_PERPRIMITIVE 2
#define STAMP_LW_MASK 0x3fff /* 14 bits */
unsigned : 7; /* <18:12> */
unsigned cliprect : 1; /* <19> */
unsigned : 1; /* <20> */
unsigned mesh : 1; /* <21> */
unsigned : 1; /* <22> */
unsigned aa_line : 1; /* <23> */
unsigned : 7; /* <30:24> */
unsigned hs_equals : 1; /* <31> */
} stampCmd;
So a rectangle is made of lines, and scrolling is done by copying...
Sorry if I only repeat the obvious.
best regards
Matthias