----------------------开始xgrasp。自述文件----------------------------1991年3月5日补丁级别1.41.4中的新增功能:(1991年3月5日)o IBM RS/6000的类型更改。o针对4.0.3优化器错误更改FLY。o实施TILE。1.3新增:(3/2/91)[1.2为内部版本]o已实现strdup()。o修复解析器中的错误。1.1中的新增功能:(2/28/91)o支持SET文件。o usleep实现。o添加了#includeo一些拼写错误。版本1.0:(2/25/91)此程序尝试重新创建电脑提供的功能GRASPRT程序。执行。它播放通常具有扩展。GL。此文件格式部分由文件“docs”中找到的文档。它有许多缺失的功能,但是它足够完整,可以查看我已经看到了。下面概述了一些问题。。。不适用于BLOAD/BSAVE图像。不执行透明胶片。对于不加载自己的gls,没有默认字体。没有每个“视频”模式的默认颜色映射。不清楚坐标系的原点……来自何处例如,我假设它在左下角递增和PostScript中的一样。。。这使得我的大多数测试用例都能工作,但仍有少数几个奇怪的人让它看起来应该在里面左上角,如X11所示。所以在这个问题解决之前,不要惊讶地看到图像从窗口边缘变为动画。如果您试图在X11R4之前的系统上编译它,您需要注释掉xgrasp.c中的XSetWMProtocols(…)行。我已经创建了一个邮件列表来讨论这个软件。。。xgrasp@wind.eng.sun.com,如果您希望添加到此列表中,请将邮件发送至xgrasp-request@wind.eng.sun.com。______________________________________________________________________Patrick J.Naughton电子邮件:naughton@sun.com太阳实验室语音:(415)336-1080--------------------------结束xgrasp。自述文件-------------------------------**此外,这是Martin Fong的.gl格式的文本文件转发给我。还不完整,但你可以得到命令,特别是从grasp.doc文件。--------------------------开始glformat.doc------------------------------GRASP动画文件的格式。乔治·菲利普斯免费分发,但在应该得到赞扬的地方给予赞扬,是吗?版本:1991年1月19日GRASP是IBM PC世界特有的动画系统。它包括创建动画和运行时环境的程序显示它们。这些动画最常见的形式是“.GL”可以使用名为格拉斯普特。执行。本文档描述了我能够做到的解密“.GL”档案的格式和包含的文件在中。它应该对那些试图编写“.GL”的人有用其他平台上的动画播放器。“.GL”文件只是一个包含图像、字体的存档文件和一个命令文件,告诉GRASPRT要做什么文件具有标准扩展名来表示其内容:.txt-命令文件;通常每个存档只有一个。.pic-图像。.clp-图像,但没有颜色映射。.set或.fnt-包含字符标志符号的字体。需要注意的是,德国劳埃德船级社的档案并不特别重要;所有存档文件都可以作为普通文件和动画存在应该仍然有效。任何GL播放器都应该能够从档案或普通文件。文件格式德国劳埃德船级社文件中的大部分数据可以充分描述为一个流实际上普遍理解的字节。一些字段包含2字节和4字节整数。我将这些称为“词语”和“长单词”,它们都是以小字符格式存储的。所以如果我们有4个连续的字节,b1、b2、b3和b4,单词在b1是(b1+b2*256),在b1的长单词是(b1+b2*256+b3*256*256+b4*256*25*256)。由于这些信息是通过示例收集的标题字段和命令可能未知。我标记为“未知”带有问号的字段,并尝试将问号和关于猜测描述的其他警告。德国劳埃德船级社档案(.GL)GL存档以列出存档中文件的目录开始然后是每个文件的数据。+--目录标头|目录头中的dir-length(word)字节数|+--文件项(每个17个字节,(目录长度)/17个)||偏移量(长字)作为偏移量的文件数据位置||存档的开始|| name(13个字节)文件名,填充null。| +--+---文件数据区|+--文件数据|| length(long word)文件大小||data(字节)文件的数据(令人惊讶!)| +--+---字体文件(.fnt或.set)这些都很简单;首先是一个短标题,描述字体中的字符以及每个glyph对应的字节值随后是字形数据。+--字体标题|整个字体文件的长度(字)|字体文件中字形的大小(字节)数|由第一个字形表示的第一个(字节)字节值|每个字形的宽度(字节)宽度(像素)|每个标志符号的高度(字节)高度(像素)|glyphsize(byte)编码每个glyph的字节数+--字形数据|字形优先|字形优先+1| ...|字形优先+大小-2|字形优先+大小-1+--每个glyph的存储几乎与您期望的原始PBM文件完全相同包含它,但“0”位表示黑色,“1”位表示白色。换句话说,行的主要顺序,每行填充到一个字节的末尾边界,最高有效位是最左边的。图像格式(.pic和.clp)这些包括一个包含常见图像信息的标题通过分块的游程长度编码的图像数据。+--图像标题(17或19字节)|魔法?(字节)幻数?始终为0x34或0x12|图像的宽度(字)宽度(像素)|图像的高度(字)高度(像素)| ????(4字节)未知|每个像素的bpp(字节)位(只看到1或8)|type(byte)图像类型,“L”或“C”|标志(字节)如果(标志&4)则图像具有颜色映射| ?(字节)未知|扩展(字节)扩展头字节(如果!=0,则为头|还有2个字节)1/2?| ?(字节)未知| ??(2字节)标头扩展如果扩展!=0+--颜色映射((1<<bpp)*3字节,仅当标志&4==4时)|+--颜色图条目(与bpp所示的数量一样多)||R(字节)红色强度,0-63\||G(字节)绿色强度,0-63+条目0||B(字节)蓝色强度,0-63/| +--| ...+--图像数据|块(字)数据块数|+——数据块(其中的块)||数据块的长度(字),包括标头||保存所有||此块中的未压缩数据||esc(byte)此块中的转义码||data(长度-5字节)运行长度编码数据| +--+--运行长度编码是面向字节的,并遵循以下规则:-“esc”(请参阅数据块标题)以外的字符是文字-esc n c表示重复c n次(1<=n<=255)-esc 0 len(word)c表示重复c len次如果bpp=1,则结果数据流按原样解释使用字体glyphs(即msb为左,pad-to-bytes,row-first等)。如果bpp=8,则数据流中的每个字节都是彩色地图。如果没有可用的彩色地图,则可以使用只有通过运行命令文件才能发现。我只见过bpp=1和bpp=8的图像,它们总是有效的得出bpp=1且type=C或bpp=8且type=L。type=C对应的CGA图形大多为单色和640 x 200(所以长宽比很有趣)。类型=L是彩色图形,可能。VGA格式通常为320 x 200。注意,彩色地图只有6个位,与VGA的数模转换器相同。“.pic”文件总是有彩色地图,“.clp”文件从来没有。看起来你可以懒惰地使用你的运行长度解码代码;我从没见过一个完整的序列出现在数据块边界上(编码器应该可能不会让这种情况发生)。未压缩数据量在一个块中似乎永远不会超过8192字节。许多标题信息都很神秘。请注意,标题扩展字段是一个猜测,还有其他一致的可能性(例如,扩展字段是一个长度字节或甚至长词的一部分)。只有type=C图像似乎具有扩展。也许应该使用额外的信息以视频模式操作系统调用PC?使这一部分更容易的是基于PC的程序的存在将“.pic”文件转换为GIF文件。它被称为“cvt2gif”,可以可以在wuarchive.wustl.edu:/mirrors/msdos/gif/cvt2gif.zip上找到。那些如果希望增强格式描述,最好能获得副本。我确实注意到bpp=1图像不一定是黑白的但可以是黑色,也可以是从CGA中选择的其他颜色托盘。我怀疑这种区别对动画,但如果你真的想做对。。。命令文件(.txt)命令文件看起来像一个典型的脚本文件,用行分隔通过回车、换行或两者。“;”后面的任何文本在一条线上是一条注释。后跟冒号的文本用于指示标签(很像大多数汇编程序)。命令由关键字后跟逗号分隔的参数列表。输入区分大小写,但用于包含要显示的文本(用双引号括起来)的参数。命令语言的基础似乎是我所说的图片和剪辑寄存器,每个寄存器有16个。几个命令将将文件中的图片(或剪辑)加载到寄存器中。其他命令然后参考寄存器编号显示图片或获取用它们绘制彩色地图。看起来,图片中的彩色地图(.pic)安装到硬件中,这是剪辑(.clp)的颜色映射来自。我想我失踪了有很多命令,但最重要的是我认为应该有更多基本绘图命令。许多命令似乎都有一个与他们。作为动画中随时间的控制,这似乎是合理的非常重要。我可能过于热衷于寻找延误。延迟的实际时间单位未知。它们通常是数字<100,所以毫秒可能是一个候选值。百分之一百也可能是一秒钟。下面是命令列表。可选参数包含在[]中。范围在参数中是可能的(我只看到它们在动态中),并且采用“n,-,m”的形式,(例如,fly 0,0,10,1,1,-,16)。*方框x1,y1,x2,y2,颜色?用给定的颜色画一个带有角(x1,y1)和(x2,y2)的方框彩色地图条目编号。*cfade x,y,延迟,img,[,?,?]在(x,y)处显示剪辑图像img并等待延迟时间单位诉讼程序。*cfree氮释放与剪辑寄存器n关联的所有内存。*clearscr公司清除显示屏(显示为当前选定的颜色或黑色?)。*cload名称,num[,?]将剪辑图像“name”加载到剪辑寄存器num.如果name没有如果扩展名为.clp,则会自动追加。*颜色n将当前颜色设置为n。这似乎至少会影响文本显示命令。*退出终止命令文件。*船队名称加载命名字体,该字体将成为显示时使用的字体文本。如有必要,将在名称后附加“.fnt”。*浮点数x1,y1,x2,y2,步长?,延迟?,号码移动剪辑图像(num),方法是在(x1,y1)处显示它并将其擦除每一步像素显示一次,直到(x2,y2)。延迟延迟时间步骤之间的单位。或者是完全不同的东西,但是x1、y1、x2、y2和num参数可能是坐标和剪辑编号。*飞行x1,y1,x2,y2,步长?,延迟?,剪辑列表延迟连续显示从(x1,y1)到(x2,y2)的剪辑图像中间的时间单位。剪辑列表只是一堆剪辑编号用逗号分隔(即fly是varags)。范围可能会出现在剪辑列表中。通常(x1,y1)==(x2,y2)。*fstyle?[,?]可能要设置一些关于字体显示方式的参数。*转到标签将控制流强制到给定标签。*回路表示标记循环的结束。继续最近的循环标记循环是否尚未完成。*标记n这将与loop命令配对,并从1到n开始for循环。我们假设标记、循环和goto的交互是相同的至于BASIC中的next和goto。也就是说,循环是动态的确定范围,你可以跳进跳出。马克只是推一下一个循环开始于堆栈,循环检查其上的任何内容循环堆栈的顶部。*模式?以某种方式修改当前视频模式。我很少看到这种情况。*注意频率、延迟?,期间播放给定频率、持续时间和延迟的音符延迟时间单位。*托盘n使图片寄存器n中的彩色地图成为要使用的颜色。这可能是将其安装到硬件中,以便在加载剪辑时没有要更改的颜色映射。*pfade效果,pict[,延迟?[,?,?]]在屏幕上显示图片编号。效果编号指示用于显示它的特殊效果。什么这些数字意味着我不知道,但我知道其中的一些影响。每个像素随机加载,每个偶数行,然后每个奇数行等等。延迟参数似乎有意义,但并不总是如此。额外的参数可能是一些效果所需的参数。经常它们是很大的数字。*pfree n(自由n)释放与图片寄存器n关联的所有内存。*pload名称,n将图片“名称”加载到图片寄存器n。“.pic”附加到如有必要,请填写姓名。*搭建x,y,n在(x,y)处显示剪辑寄存器n。*设置回撤Set可能是一个通用的内部控制变量更改命令。什么是回溯我不知道,但它是从那时开始的fly声明。*传播?,?谁知道呢,但使用的数字可能是图片注册号。也许是某种颜色图改变了?*text x,y,“text”,[延迟?]在(x,y)处显示给定文本(用双引号括起来)。这个额外的参数可能是一个显示器,但也可能是显示器颜色或背景色。显示屏颜色可能是颜色声明给出的值。*tran[开0 |关]不知道。用于一些cload和float语句。*视频模式将显示模式设置为“C”或“L”(还记得图像格式类型吗?)。通常是命令文件中的第一条语句。C几乎可以肯定指的是640 x 200单色和L几乎可以肯定的CGA到VGA,(在他们的情况下)是320 x 200 x 256。*等待键[[delay[,label]]等待用户按键最多延迟个单位(如果没有,则永远等待给出了延迟时间)。如果用户按下键和标签参数存在,将控制权转移到该标签。*窗口x1,y1,x2,y2,?某种显示控件。可能是一个剪辑窗口坐标平移(即,(0,0)变为(x1,y1))。本文件是通过仔细查看大量总账文件创建的,使用cvt2gif帮助解码图像文件格式和查找在RS-6000上运行PC模拟器并使用格拉斯普特。cvt2gif非常有用;PC模拟器下的grasprt有时速度慢得令人痛苦,也无助于我理解很多。我甚至从来没有接近过创建和编辑总账文件。如果您了解有关GL文件的更多信息,请将更改发送给我,以便我可以扩展本文档。请随意将此作为补充如果你写了一个GL播放器的文档。最后,这里有一些有助于了解有关GL文件的更多信息的项目:-获取cvt2gif并在.pic文件上输入小的变体以进行解码缺少的标题字段的含义。我可以这样做。-更改某些动画上的控制文件并查看它们的效果有。简单的方法是更改pfade语句(如果是这样的话)。我没有硬件这样做。-查看GRASP动画包并直观地了解命令是指你对生成动画的控制。这是可能是获取信息的最简单方法。我没有GRASP,我不知道从哪里得到它,而且我没有足够好的PC继续运行。========================================================================GRASP/Pictor字体格式说明09/06/87------------------------------------ --------为了方便起见,我们选择采用IBMROM字体格式作为数据格式,但是为了便于管理,我们添加了一个7字节的头,它描述了字体。七字节标头定义如下:字符数据中的WORD字节数,加上这个7字节的头。BYTE集合中的字符数。1-255或0(如果为256)。第一个字符的字节ascii值。字节x字符大小(像素)。字节y字符的像素大小。单个字符中的字节数。从标题数据中可以看出,这些限制适用于:1) 集合中的最大字符数为256。2) 最大字符大小限制为:xsize/8*ysize<256。3) 所有字符数据加上7字节标头的大小必须小于64K在编写使用字体的程序时,我们使用以下结构。请注意结构末尾的附加词可以让你保持实际远段中的字符数据。structchs{/*字符集结构*/无符号int numchbyts;无符号字符数;无符号字符ascoff;无符号字符chxsize;无符号字符大小;无符号字符chbytes;无符号int chsseg;/*字符数据段*/无符号int chsofs;/*字符数据段中的偏移量*/};因此……256个字符的8x16字体的标题看起来像:numchbyts=4103 256个字符X 16个字节/字符+标头的7个字节numchars=0 0表示256ascoff=0以0字符开头chxsize=8 8点宽乳糜大小=16 16个点高chbytes=16 1字节宽x 16点高以及一种96个字符的11 X 18字体,其第一个字符是SPACE的标题看起来像:numchbyts=3456 96个字符X 36个字节/字符+标头的7个字节numchars=0 0表示256ascoff=32以“空格”字符开头chxsize=11 8点宽(这需要2个字节!)乳糜大小=18 16点高chbytes=36 2字节宽x 18点高========================================================================PCPAINT/Pictor页面格式说明格式由John Bridges编写。Microtex Industries,Inc.文件。修订日期:2/9/88全球注释:------------PCPAINT 1.0-版本1.0于1984年为Mosue Systems开发,支持只有BSAVE文件处于CGA 4颜色模式。在扫描缓冲器之间的空间中是一个字符串,读取PCPAINT 1.0,后跟2个字节,即托盘以及该图片的边框信息。PCPAINT 1.5-版本1.5与1.0相同,只是它包含更大的比屏幕图像多,并且还具有主包装格式。这是为了时间太短了,这里就不介绍了。PCPAINT 2.0至Pictor 3.1-本文档描述了这些格式。文件此范围内的所有修订版本的描述都相同。然而,在PCPAINT 2.0,位平面打包在一起,以便图片类似于PCjr图片,或每像素4位,1位平面。从开始Pictor 3.0中,保存文件时将位平面分开。这需要一个在某些情况下内存很少,但加载和保存的速度是可取的考虑。程序员注意:一个好的PCPAINT/Pictor文件解码器将使用变量在标题中解码图像,从而兼容自1985年10月发布以来的所有格式PCPAINT 2.0。另外请注意,PCPAINT/Pictor是从下往上存储的。这是与它支持的大多数屏幕适配器相反。这真的会导致没问题,但请注意,您应该使用Y表来查找扫描线。在所有PCPAINT/Pictor图片中,扫描线是连续的。如果一张图片显示在特定适配器上,程序员负责如有必要,使用y表正确交错行。还要注意,Pictor是为速度而设计的,因此没有模式间加载可能。如果您正在编写创建Pictor图像的应用程序要加载到Pictor,必须保持模式相关。标题-文件标题信息的完整描述。偏移类型名称描述------- ------- ------- ----------------------------------------------------- 0单词标记,始终为01234h2字xsize x页面大小(像素)4字大小页面的y大小(像素)6个单词xoff x偏移到页面的左下角视口已定位(默认值为0即可)8个单词yoff y偏移到页面左下角视口已定位(默认值0可以)10字节位sinf bits 0-3是每像素比特数位4-7是位平面的数量(因此4色cga模式为02h,16色ega模式为31小时,plantronics 16色为12小时)11字节的电子邮件标记,始终为0ffh12字节evideo单大写字母,指示哪种视频模式此图片是在中创建的,可以默认为0。0-40列文本1-80列文本2-单声道文本3-43行文本A=320x200x4 cgaB=320x200x16 pcjr,stbplus,备用1000C=640x200x2 cga直径=640x200x16 egaE=640x350x2埃加F=640x350x4磅G=640x350x16埃加H=720x348x2赫勒I=320x200x16 plantronics(工控机)J=320x200x16埃加K=640x400x2 AT&T或东芝3100长=320x200x256 vgaM=640x480x16 ega plus(视频7,曾荫权,天堂),vgaN=720x348x16 Hercules InColor颜色O=640x480x2 vga13个单词的edesc额外信息描述符定义了此标题后面的额外信息,0=无1=托盘(单字节)边界(单字节2=pcjr或非ECD 16色寄存器(0-15),每个1字节3=带有ECD 16颜色寄存器(0-63)的EGA,每个寄存器1个字节4=VGA 256色信息-256色,每个rgb枪1个字节。额外信息的15字大小(字节)17字节edata[]定义的实际额外数据大小通过esize(在偏移15处)。17+esize word number表示此文件中压缩块的数量。如果这是为零,则数据被解压缩。结构-这些C结构描述了标头信息。结构封头{无符号整数标记=0x1234;/*标记页面文件的开头*/无符号int xsize;/*x页面大小*/无符号整数大小;/*y页面大小*/无符号int xoff;/*当前x偏移到视口图片*/无符号int yoff;/*当前y偏移到视口图片*/无符号字符位sinf;}额外结构{无符号字符emark=0xff;无符号字符evideo;无符号int edesc;无符号整数esize;}int edata[esize];无符号int numblks;如果文件是打包的,那么下面是一个多块打包文件,否则(如果文件未打包,numblks=0),实际数据如下。位平面在文件中相互跟随,并且在打包每个位平面时必须从一个新的包装块开始。打包块描述打包块标题PBSIZE dw;打包块大小。此块的大小BSIZE dw;未打包块大小MBYTE数据库;唯一标记字节。这是一个没有; 存在于当前未打包的块中。如果没有唯一的; 字节存在,然后选择一个很少使用的; 避免过多冗余。压缩块数据-大小可变,取决于是否需要16位运行。标记数据库;标记跑步记录(这是MBYTE的去处)长度db;长度。如果为0,则查看BIGLENBIGLEN dw;16位运行计数(仅当长度==0时存在)数据数据库;用于填充运行的字节示例1-白色屏幕的320x200、4色压缩页面文件。数据框0x1234;标记图纸320;x尺寸图纸200;y尺寸数据仓库0;x偏移dw为0;y偏移分贝02h;每像素2位和1位平面数据库0xff;额外信息标志数据库“A”;视频模式数据框1;额外区域描述符(pal和bord)数据框2;额外区域中的字节分贝2.0;托盘和边框(额外信息)数据框2;填料块数量第一个区块dw 5+5;填料块尺寸图纸8192;未打包块大小数据库0;标记字节数据库0;标记跑步记录数据库0;以下是16位运行计数图纸8192;16位运行计数数据库0xff;用于填充运行的字节第二个区块dw 5+5;填料块尺寸dw 7808;未打包块大小数据库0;标记字节数据库0;标记跑步数据库0;接下来是16位运行计数dw 7808;16位运行计数数据库0xff;用于填充运行的字节示例2-红色屏幕(颜色4)的640x350、16色压缩页面文件。数据框0x1234;标记图纸640;x尺寸图纸350;y尺寸数据仓库0;x偏移数据仓库0;y偏移分贝31小时;每像素位数和1位平面数据库0xff;新的额外信息标志数据库“G”;视频模式dw 3;额外区域描述符(pal和bord)图纸16;额外区域中的字节分贝0,1,2,3,4,5,14h,7分贝38h、39h、3ah、3bh、3ch、3dh、3eh、3fh图纸16;填料块数量第一位平面的块1dw 5+5;填料块尺寸图纸8192;未打包块大小数据库0;标记字节数据库0;标记跑步记录数据库0;以下是16位运行计数图纸8192;16位运行计数数据库0;用于填充运行的字节第一位平面的块2dw 5+5;填料块尺寸图纸8192;未打包块大小数据库0;标记字节数据库0;标记跑步记录数据库0;以下是16位运行计数图8192;16位运行计数数据库0;用于填充运行的字节第一位平面的块3dw 5+5;填料块尺寸图纸8192;未打包块大小数据库0;标记字节数据库0;标记跑步记录数据库0;以下是16位运行计数图纸8192;16位运行计数数据库0;用于填充运行的字节第一位平面的块4dw 5+5;填料块尺寸图纸3424;未打包块大小数据库0;标记字节数据库0;标记跑步记录数据库0;以下是16位运行计数图纸3424;16位运行计数数据库0;用于填充运行的字节第二位平面的块1dw 5+5;填料块尺寸图纸8192;未封装块大小数据库0;标记字节数据库0;标记跑步数据库0;以下是16位运行计数图纸8192;16位运行计数数据库0;用于填充运行的字节第二位平面的块2dw 5+5;填料块尺寸图纸8192;未打包块大小数据库0;标记字节数据库0;标记跑步记录数据库0;接下来是16位的运行计数图纸8192;16位运行计数数据库0;用于填充运行的字节第二位平面的块3dw 5+5;填料块尺寸图纸8192;未打包块大小数据库0;标记字节数据库0;标记跑步记录数据库0;以下是16位运行计数图纸8192;16位运行计数数据库0;用于填充运行的字节第二位平面的块4dw 5+5;填料块尺寸图纸3424;未打包块大小数据库0;标记字节数据库0;标记跑步记录数据库0;以下是16位运行计数图纸3424;16位运行计数数据库0;用于填充运行的字节第三位平面的块1dw 5+5;填料块尺寸图8192;未打包块大小数据库0;标记字节数据库0;标记跑步记录数据库0;以下是16位运行计数图纸8192;16位运行计数数据库0xff;用于填充运行的字节第三位平面的块2dw 5+5;填料块尺寸图纸8192;未打包块大小数据库0;标记字节数据库0;标记跑步记录数据库0;以下是16位运行计数图纸8192;16位运行计数数据库0xff;用于填充运行的字节第三位平面的块3dw 5+5;填料块尺寸图纸8192;未打包块大小数据库0;标记字节数据库0;标记跑步记录数据库0;以下是16位运行计数图8192;16位运行计数数据库0xff;用于填充运行的字节第三位平面的块4dw 5+5;填料块尺寸图纸3424;未打包块大小数据库0;标记字节数据库0;标记跑步记录数据库0;以下是16位运行计数图纸3424;16位运行计数数据库0xff;用于填充运行的字节第四位平面的块1dw 5+5;填料块尺寸图纸8192;未打包块大小数据库0;标记字节数据库0;标记跑步记录数据库0;以下是16位运行计数图纸8192;16位运行计数数据库0;用于填充运行的字节第四位平面的块2dw 5+5;填料块尺寸图纸8192;未封装块大小数据库0;标记字节数据库0;标记跑步记录数据库0;以下是16位运行计数图纸8192;16位运行计数数据库0;用于填充运行的字节第四位平面的块3dw 5+5;填料块尺寸图纸8192;未打包块大小数据库0;标记字节数据库0;标记跑步记录数据库0;接下来是16位的运行计数图纸8192;16位运行计数数据库0;用于填充运行的字节第四位平面的块4dw 5+5;填料块尺寸图纸3424;未打包块大小数据库0;标记字节数据库0;标记跑步记录数据库0;以下是16位运行计数图纸3424;16位运行计数数据库0;用于填充运行的字节示例3-为了获得更多细节,让我们考虑一个不完全相同的块。假设数据由30 2、8、4和300 1组成。; 这个街区看起来像这样dw 5+10;填料块尺寸图纸332;30+1+1+300字节如上分贝ff;用什么来标记跑步,; 因为我们的例子中没有ff。分贝ff;标记跑步记录分贝30;8位运行计数数据库2;用-2填充运行的字节数据库8;不是跑步标记,所以必须是数据数据库4;不是跑步标记,所以必须是数据分贝ff;标记跑步记录数据库0;表示以下16位运行计数图纸300;运行计数数据库1;用-1填充运行的字节驻留在内存中的实际未打包数据由2个单独的部分。1.控制结构:包含x大小、y大小、x偏移、y偏移、,位映射数据段、每个像素的位数和其他位平面。此信息保存在pcpaint的数据段中。2.实际位映射数据:包含实际页面图像,映射自左下角(所以底部扫描线在第一位)。数据在中是连续的每个位平面,所以扫描线1直接跟随扫描线0。页面can和does跨段边界(位平面可以大于64k)。每个位平面紧跟前面的位平面,但从一个段落开始边界,打印机驱动程序将在段落中传递偏移量位平面和附加平面的数量之间。位平面从位0开始,每个附加平面是下一位。-----------------------------结束glformat.doc------------------------------祝你好运,玩得开心。。。Eli Brandt,eli@smectos.gang.umass.edu, 32@4351WWIVnet(WWIVnet)