

                                  时空淘气包 (Aero Studio 2008)  自述文件
                                                   2006 年 9 月 8 日

                                                                          时空论坛◎时空淘气包小分队
                                                               Y.Volta Tang ( y.volta@gmail.com )
 -----------------------------------------------------------------------------------------------
               * 为更好阅读此文档，请点窗口击右上角的最大化按钮 *
                               * 请设置字体为“Tahoma 10PX” *
                   *   本文档针对 Aero Studio 2007 的 beta 1 版本   *
 -----------------------------------------------------------------------------------------------           


 目      录
 ==================
 
 一、整体构架
 
     1. Aero.sys 的概述
     2. Aero Studio 2008 的基本情况
     3. 四个控件及其使用
     4. 其他方面
      
 二、Beta2 工程文件说明

 三、致谢
  
 
 

 
 一、整体构架
 ================== 
 
 　　在整体上，时空淘气包分为两部分。一是底层的 Aero.sys, 这是图形化菜单的底层功
 能模块基于 Grub 的 Avlgo.G1 的升级版本： Avlgo.G2；另外是 Aero Studio 2007 的 
 IDE,它用以自动产生 Aero.sys 所需的配置菜单和相关图形文件等等。
 
   1. Aero.sys 的概述
   
   　首先， Aero.sys 就是 Grub，但是它为了图形化多启动做了很多的定制，去除了一些
 指令，也引入了数条指令以配合图形化功能：
 
		  1).  ISOEmu FILE:
		                       支持 "非模拟" 方式启动的 ISO 镜像文件。在光盘上，这个 
		              ISO 可以位于非根目录下，如果是硬盘的，则必须位于 FAT32/NTFS 分
		              区的根目录下；如果 ISO 文件不是非模拟方式的，则会启动失败，或
		              者将用户推到一个 Shell 中。注意，ISO 不能被压缩。其命令如下：
		
		              isoemu     (hd0,0)/mydos.iso
		              isomeu     (cd)/acronis/ti.iso
		
		
		  2).  RUN FILE:
		                       这个命令在 Grub0.95_chs 中出现过。现在被增强了：它支
		              持压缩了的硬盘、软盘镜像文件（.gz/.zip），而且，存放路径没有任
		              何限制。此外，还支持启动程序文件，比如光盘的启动扇区文件，
		              EZBoot 的启动文件、Avldr.bin 等等。其命令如下：
		
		              run (hd0,0)/airboot/avlgoImg.gz
		              run (cd)/ezboot/cdmenu.ezb
		              
		
		  3).  ZIPMENU FILE:
		                      这个命令用于指定 16 色彩色菜单模式下的菜单背景图片的位
		              置。 以前，这个命令是两条命令，即 fontfile/splashimage。现在，
		              在 Aero 中这个操作被简化了。Aero 会自动去找寻 zipmenu 指定的背
		              景文件的相同目录下的 muifont.gz 字体文件，没有将不能显示中文。
		              Aero Studio 2007 会自动配置这个项目的。其命令如下：
		
		              zipmenu (hd0,0)/airboot/bgimage.gz
		              zipmenu (cd)/airboot/bgimage.gz
		
		
		  4).  AIRMENU FILE:
		                      这个命令可用以指定 Aero 要装载的图形化菜单的配置文件。
		              利用这条命令可以实现子菜单。
		
		              airmenu (hd0,0)/airboot/submenu1.ini
		              airmenu (cd)/airboot/submenu2.ini
		
		
		  5).  BCDW FILE:
		                      这条命令的使用和在 EZBoot 中的用法一致。但请注意， 
		              BCDW 当前似乎不能支持非模拟方式的可启动光盘，且只能支持光盘上
		              的文件。所以，isoemu 与之搭配，就相得益彰了。其命令如下：
		
		              bcdw (cd)/acronis/ti.iso
		              bcdw (cd)/bcdw.ini
		
		
		  6).  HALT/REBOOT:
		                      关闭计算机/重启计算机。其命令如下：
		
		              halt
		              reboot
		
		
		  7).  CHAINLOADER FILE:
		                       加载扇区、启动文件。这条命令没有被扩展，是 Grub 的标
		              准命令。用法如下：
		              
		              chainloader (hd0,0)+1              从第一硬盘的第一分区启动。
		              chainloader (cd)/airboot/dos.bs
		
		
		  8).  ROMFS FILE:
		                      加载一个 romfs 镜像文件。可以压缩。但是必须小于 1MB。
		
		               romfs (hd0,0)/airboot/myromfs.gz
		               romfs (cd)/airboot/myrom.gz

     
   　其次，Aero.sys 的应用环境包括了硬盘介质、光盘介质，当然 USB 介质。注意一个
 细节，Aero.sys 是和 NTLDR 兼容的，也就是说，NTLDR/Bootmgr 可以被加载的地方，我
 们只需要将 Aero.sys 重命名为 ntldr/bootmgr 即可实现 Aero.sys 的加载了。当然，我
 们为了“专业”提供了硬盘、光盘加载的 pre-load 程序： Aeroldr.bin 和 avldr.bin。
 不过，通常情况下，我们使用 Aero Studio 2007 来部署，它会为我们构造好 Aero.sys 
 的加载方式的。
 
     
   2. Aero Studio 2008 的基本情况
   
     Aero Studio 2008 也就是“时空淘气包”，它是 Aero.sys 的配置菜单的集成编辑
 环境，包括菜单的编辑、导出编辑内容到网页预览、自动部署编辑内容到 ISO 文件，并
 可以自动产生 MD5 码和使用 Qemu 进行测试、部署到硬盘的功能。
 
 　　在使用上，你可以感觉到 VB/Delphi/VC++ 的窗体编辑的影子。是的，这个工具，的
 预期目标就是让使用者觉得很方便和自然。如果，你觉得不然，请告诉我们，我们会立即
 根据你的需求作出反应，以使"时空淘气包"更出色的。
 
     
   3. 四个控件及其使用
     
     为了简化操作，我们在这个版本中引入了“菜单条控件”的概念。他们包括：
     
     1). 按钮控件： 它必须作为菜单条目使用；必须使用 amt 格式的资源作为贴图。格
                    式的说明以及 amt 资源请参见以下网址：
                    
                    http://bbs.znpc.net/forumdisplay.php?fid=39

     2). 图片控件： 用于贴图和作为菜单项使用。作为菜单项的使用，是可选的。如果，
                    作为贴图使用，它将“融合”到最终生成的背景图片中去。更具体的
                    使用方法、技巧，请访问：
                    
                    http://bbs.znpc.net/forumdisplay.php?fid=38
                    
     
     3). 区域控件： 用于文本显示和作为菜单项使用。作为菜单项的使用，是可选的。如
                    果，作为贴图使用，它将“融合”到最终生成的背景图片中去。更具
                    体的使用方法、技巧，请访问：
                    
                    http://bbs.znpc.net/forumdisplay.php?fid=38

     4). 进度条：   用于指示倒计时的图形化控件，当然不能作为菜单项使用。需要使用
                    amt 格式的资源更具体的使用方法、技巧，请访问：
                    
                    http://bbs.znpc.net/forumdisplay.php?fid=40
                    

     这里，值得一提的是“图片控件”、“区域控件”的组合使用，存在着很大的想象空
 间。比如，可以模拟出桌面图标效果，苹果系统中的 Docket 效果，工具栏效果等等。;-)


   4. 其他方面
    
     这个地方，最为要紧的是背景图片、鼠标指针的使用。首先，背景图片的原始图，可
 以是 png/jpg/bmp/gif 等格式，在最终生成 Aero.sys 的资源文件的时候，我们会自动输
 出为用 gzip 压缩了的 24 bit 的 bmp 格式。虽然如此，我们还是发现，对于大分辨率的
 背景图片加载比较慢，所以又提供了输出为 256 色的功能。不过，如果效果不能令你满意
 则请使用其他转换工具（推荐 ACDSee 中的 PELite.exe）转为 256 色、16/15 位色。为
 节省磁盘空间，转换后的背景你可以用 Winrar/Winzip/gzip 转换为 .zip/.gz 格式的即
 可。
 
 　　在这个版本中，我们已经可以支持自定义的鼠标指针，请参阅自动生成的 airboot.ini
 配置文件中的这两行（比如）：
 
     cursorimage=(hd0,0)/airboot/cursor.gz
     handimage=(hd0,0)/airboot/hand.gz
     
 这里的两个 .gz 文件中的图片都是 24 位的 .bmp 图片。其中，cursorimage 指定了常规
 指针，handimage 指定了菜单项指针，也就是网页中鼠标移动到超链接时候的鼠标指针。
 在使用你自定义的指针的时候，请注意：
 
     -----------------------------------------------------------------------
			 1).  24 位色；
			 2).  透明部分需要使用 RGB = (0, 0, 65)
			 3).  使用 Photoshop 制作后，建议使用 mspaint 进行整理，以正确显示；
			 4).  Arrow/Hand 两个图片的大小一定一致。
     -----------------------------------------------------------------------			 
     
      这个文档非常简单，只覆盖了 Aero Studio 2007/Aero 的很少内容，很难作为一个
 正式文档，很多内容都散见于互联网。如果有什么疑惑或者是 bug 提交，敬请联系：
 
      渝武陶 (f22_storm@163.com)
      
 
 以及访问我们的讨论论坛：
 
 			http://bbs.znpc.net/
 			
 二、Beta2 工程文件说明     
 ==================
 　　在 Beta1 中，工程文件没有关于“倒计时”、“默认项”、“一键执行”的设置。在 Beta2 中，
 加入了这几个参数。所有，Beta1 的工程将不能被正常的加载。需要作手工的升级，方法如下：

 　　1. 打开 Beta1 的工程文件，将 "Aeromgr.Doc.Ver:1.01" 改为 "Aeromgr.Doc.Ver:1.02"

 　　2. 在 "paper:" 行之前插入以下三行内容：

        Default:0
        Timeout:25
        SingleGo:1

        注意，不能包括每行前面的空格。 ;-)

     3. 完成，保存工程文档。


 三、致谢  
 ==================
 
 　　这个软件分为了两个功能层。每一个层都包含了很多编程工作者、PC 多启动爱好者
 的工作、努力、帮助。这里很难逐个列出他们的名字来了，但是我还是需要感谢这些朋友
 对 Aero Studio 2008/Aero 的无形帮助：

 NetSurf           － 特别感谢他，因为，他关注了整个 Aero/Aero Studio 2007 的
                      开发过程，参与了众多测试，并提出了许多宝贵意见。谢谢他！

 EasyC 的作者      － Aero 的图形化功能基于他的努力
 Grub 的维护者     － Aero 的基本功能基于 Grub
 Spalshimage patch － zipmenu 功能基于这个补丁
 fs_ntfs           － Aero 的 ntfs 文件系统基于这个补丁
 
 CxImage 图形库作者－ 整个 Aero Studio 2007 的图形化功能都基于这个类库，所以必须
                      感谢他的作者们
                      
 Johan Rosengren, Abstrakt Mekanik AB 
                   － 没有他们努力，就没有 Aero Studio 2007 的控件功能
                   
 Brent Corkum      － CButtonST/BCMenu 的作者
 
 Peter Hendrix, Yves Maurer, Karl Lager
                   － 没有他们的努力，就没有 Aero Studio 2007 漂亮的工具栏
 
 DrvListBox 的作者 － 驱动器列表选择功能代码的作者

 姜紫梁            － 类似于 QQ 截图的功能代码的作者
                                       
 mkisofs           － Aero Studio 2007 的 iso 采用内置的 mkisofs（由 Mr. Rinrin
                      在 mingw 中编译）
 
 qemu              － 虚拟机测试功能的支持程序（这个版本由 hnlyzhd 提供）
 
 Magick Convert    － 256 色 bmp 的转换程序

 还要感谢，在 Aviator 开发之初，为 AviatoR 提供 vesa 支持列表的诸位网友：
 
	avidmouse         chenpu_hu           chen_19840202       csccsc8
	dabaoying         ddlix               deskland            exola@msn.com   
	lxl1638           fujianabc           gdlws888            heyex
	hnlyzhd           houcambridge        hzh_chen            i659
	
	kallry423         liting_19750211     ezacc               mail.yuning
	netsurf_0729      pyqkgd              qimingos_lsk        Rinrin
	supercys          shuipingchen        so_happy_am_i       wangyp22
	xclimbing         XDG3669             xingyan_yn          ygp17
	
	zhanglml
	

 以及提供中国字画的几位朋友：

        vista             dl04118             大眼鱼 


	还有很多朋友，无法述及，在此也一并感谢！
	
	
 --------------------------------------------------------------------------------------- End ---
 天行健，君子自强不息！                                   博学之、审问之、慎思之、明辨之、笃行之
 
 http://bbs.znpc.net/                                                            2006-9-10 19:10

  