无忧启动论坛

标题: P大,有问题请教--杏雨梨花中的as文件列表为什么绑定grldr [打印本页]

作者: 2010jct1982    时间: 2011-3-12 11:46
标题: P大,有问题请教--杏雨梨花中的as文件列表为什么绑定grldr
请问P大,如何修改as文件来更新grldr,只有新版面的grldr才支持新版本的usb_acc.0pe

代码如下(详情见附件)


  1. !BAT BY ZXW@WUYOU
  2. debug off
  3. terminal console
  4. checkrange 20110114:-1 read 0x8278 || echo -e \n $[0104]ERR$[0007]: $[0003]VERSION$[0007] IS $[0106]TOO OLD! && pause --wait=3 && goto :INPUT_1
  5. set runs=%~nx0 && delmod -l %~nx0 || insmod %0
  6. set mycd || set mycd=/BOOT/IMGS/
  7. :START
  8. if /i "%~1"=="%~nx1" set path=%mycd% || set /u path=%~p1
  9. if /i "%~1"=="%~dpnx1" set /l bd=%~d1 && root %bd% || echo -n
  10. if #%~n1==# && if not #%1==# && if not "%1"=="/" && find --set-root --devices=uhfcp ls %path:~,-1% || clear && echo -e \n $[0104]ERR$[0007]: $[0003]%path%$[0007] IS $[0106]INVALID! && pause --wait=3 && goto :INPUT_1
  11. if not #%~n1==# && cat --length=0 %~pnx1 || find --set-root --devices=uhfcp  %~pnx1 || clear && echo -e \n $[0104]ERR$[0007]: $[0003]%bd%%%~pnx1$[0007] IS $[0106]INVALID! && pause --wait=3 && goto :INPUT_1
  12. call :LOCAT %1
  13. if #%~nx1==# goto :.INPUT
  14. if not #%~x1==# goto :%~x1
  15. goto :CHAIN
  16. clear
  17. exit
  18. :LOCAT
  19. root > (md)0x300+1,10
  20. cat --locate=\x20 --replace=\0 --number=2 (md)0x300+1,10
  21. debug 1
  22. cat --skip=1 (md)0x300+1,10 | set bd=
  23. debug 0
  24. exit
  25. :MESS
  26. echo -e \n Now $[0004]Loading $[0101]%bd%$[0003]%path%$[0002]%~nx1$[0007]...
  27. cat --length=0 %~pnx1 || find --set-root --devices=uhfcp %~pnx1
  28. exit
  29. :.IMG
  30. :.IMA
  31. :.GZ
  32. if /i "%~n1"=="FIRADISK" if not #%~x2==# goto :FIRAISO
  33. call :MESS %1
  34. map --mem %~pnx1 (fd0)
  35. map --hook
  36. if /i "%~n1"=="MAXDOS" if not #%2==# && write 0x60000 1 ! write 0x60000 0
  37. read 0x60000 && debug 1
  38. read 0x60000 && cat --locate=default --number=1 (fd0)/CONFIG.SYS | set offset=
  39. read 0x60000 && write --offset=0x%offset% (fd0)/CONFIG.SYS default=1,0
  40. read 0x60000 && cat --locate=Call --number=1 (fd0)/AUTOEXEC.BAT | set offset=
  41. read 0x60000 && debug 0
  42. read 0x60000 && if /i "%~2"=="DISKGEN" set command=lh ctmouse \r diskgen
  43. read 0x60000 && if /i "%~2"=="GHOST" set command=Call GH.bat
  44. read 0x60000 && write --offset=0x%offset% (fd0)/AUTOEXEC.BAT %command%
  45. read 0x60000 && write 0x60000 0
  46. rootnoverify (fd0)
  47. chainloader +1
  48. boot
  49. exit
  50. :.ISO
  51. call :MESS %1
  52. map %~2 %~pnx1 (0xff) || map --mem %~pnx1 (0xff)
  53. map --hook
  54. chainloader (0xff)
  55. boot
  56. exit
  57. :.BIN
  58. call :MESS %1
  59. if /i "%bd:~1,3%"=="FD0" map (0)+1 (hd0) && map (hd0) (hd) ! map --in-place ()+1 (hd0)
  60. map --rehook
  61. chainloader --force %~pnx1
  62. boot
  63. goto :eof
  64. :CHAIN
  65. :.0
  66. find --set-root --devices=h %~pnx1
  67. call :MESS %1
  68. map () (hd0) && map (hd0) ()
  69. map --rehook
  70. debug 1
  71. root || echo
  72. debug 0
  73. find --set-root --devices=h %~pnx1
  74. chainloader %~pnx1
  75. boot
  76. exit
  77. :.INPUT
  78. pager off
  79. root (bd) || echo -n
  80. set i=900 && set n=0 && echo -n > (md)0x3800+0x40 && clear && ls %bd%%%path% | call :.AUTOLIST || echo -n
  81. :INPUT_1
  82. clear && echo -e \n $[0101]AUTOLIST$[0007] FOR $[0006]%bd%$[0003]%path%$[0007]:\n
  83. cat --skip=0 (md)0x3800+0x40 | echo -e -n \t\b
  84. echo -e -n \n\n $[0007]Press "$[0104]M$[0007]" to $[0003]Main Menu $[0007]Or "$[0104]C$[0007]" To $[0003]Commandline.
  85. set /u /p list=>Please Input The FILE/NUM/LETTER/PATH Here:
  86. set list && clear ! goto :INPUT_1
  87. if /i "%list%"=="0" clear && goto :INPUT_1
  88. if /i "%list%"=="C" clear && commandline
  89. if /i "%list%"=="M" && configfile (md)4+8
  90. calc %list% && call :NUM %list% ! clear
  91. if /i "%list:~,2%"=="F " && calc %list:~2% && call :NUM %list:~2% F
  92. if not "%list:~,1%"=="/" if not "%list:~,1%"=="(" set list=%path%%%list%
  93. pager on
  94. call :start %list%
  95. exit
  96. :.AUTOLIST
  97. if #%1==# exit
  98. if /i not #%~x1==#.TXT if not #%~x1==# && echo -n ! goto :shift
  99. set /a i=%i%+1 && set /a n=%n%+1
  100. echo -n %~1%i% > (md)0x300+1
  101. debug 1
  102. cat --locate=\0 --number=1 (md)0x300+1 | set tls=
  103. debug 0
  104. calc 0x%tls%/0x100 && echo $[0104]ERR:$[0106]File too long! && exit
  105. calc 0x%tls%/0x10 || set tls=0%tls%
  106. set /a n=0x%tls%/24+%n%
  107. set /a t=0x%tls%%%%24/8
  108. set r=\t\t\t
  109. calc %t%-1 || set r=%r:~2%
  110. calc %t%-2 || set r=%r:~4%
  111. calc %n%-3 || set r=\n\t && set n=0
  112. calc %n%/4 && set l=\n\t\b && set /a n=0x%tls%/24+%n%-3 ! set l=
  113. echo -e -n %l%\\44[0006]%i:~1%\\44[0007].\\44[0000]%tls%\\b\\44[0002]%~1%r%\b >> (md)0x3800+0x40
  114. clear && echo Now Loading...$[0104]%i:~1%
  115. :shift
  116. shift
  117. goto :.AUTOLIST
  118. exit
  119. :NUM
  120. checkrange 1:%i:~1% calc %1 || goto :INPUT_1
  121. debug 1
  122. set /a l=900+%1
  123. set l=%l:~1%
  124. set /a r=*0x4CB00
  125. cat --locate=%l%\\44 --number=1 (md)0x3800+0x40 | set m=
  126. set /a m=0x%r%+0x%m%+0x13
  127. cat --skip=%m% --length=2 (md)0x3800+0x40 | set n=
  128. set /a m=%m%+13 && set /a n=0x%n%-0x%r%-1
  129. cat --skip=%m% --length=%n% (md)0x3800+0x40 | set list=
  130. clear
  131. debug 0
  132. set list=%path%%%list%
  133. if #%~2==# exit
  134. cat --length=0 %path%FIRADISK.IMG || set path=%mycd%
  135. set list=%path%FIRADISK.IMG %list%
  136. clear
  137. exit
  138. :.AUTOMENU
  139. root (bd) || echo -n
  140. echo -e default 0\ntimeout 15\ngfxmenu (ud)/AS/runbk\n > (md)0x3000+0x10
  141. set i=901
  142. ls %bd%%%path% | call :MAKEMENU || echo -n
  143. echo -e \ntitle %i:~1%. RUN MainMenu\\n\tconfigfile (md)4+8\nconfigfile (md)4+8 >> (md)0x3000+0x10
  144. set i=
  145. configfile (md)0x3000+0x10
  146. exit
  147. :MAKEMENU
  148. if #%1==# exit
  149. if /i not #%~x1==#.TXT if not #%~x1==# && echo -n ! goto :shif1
  150. cat --length=0 %~n1.TXT && cat %~n1.TXT >> (md)0x3000+0x10 && echo -n \n\t%bd%%%path%%%~1 >> (md)0x3000+0x10 ! echo -e title %i:~1%. RUN %~1\\n\t%bd%%%path%%%~1 >> (md)0x3000+0x10
  151. echo -e \n%runs% %path%%%~1\nboot\n >> (md)0x3000+0x10
  152. set /a i=%i%+1
  153. :shif1
  154. shift
  155. goto :MAKEMENU
  156. exit
  157. :FIRAISO
  158. if /i "%~2"=="%~nx2" set iso=%bd%%%path%%%~nx2 || set iso=%2
  159. clear
  160. call :LOCAT %iso%
  161. call :MESS %iso%
  162. map --mem %iso% (0xff) && map --hook
  163. call :LOCAT %path%%%~nx1
  164. call :MESS %path%%%~nx1
  165. map --mem %path%%%~nx1 (fd1)
  166. map --mem (md)+2880 (fd0)
  167. calc *0x82b8>>8&0xff-0x80 || map (hd1) (hd0) && map (hd0) (hd1)
  168. map --rehook
  169. dd if=(fd1) of=(fd0) count=1
  170. echo -e \n Press "$[0104]I$[0007]" in $[0004]10 $[0007]seconds to boot from ISO.
  171. echo -e \x20Or press any other key to $[0004]continue System Installation.
  172. checkrange 0x69,0x49 pause --wait=30 && chainloader (0xff) && rootnoverify (0xff) && boot && exit
  173. find --set-root --devices=h /WIN_NT$.~BT/SETUPLDR.BIN && chainloader ()/WIN_NT$.~BT/SETUPLDR.BIN && boot && exit
  174. find --set-root --devices=h /NTLDR && ls /NTDETECT.COM && chainloader /NTLDR && boot ! clear && echo -e \n $[0104]ERR$[0007]: $[0003]No Harddisk! && pause --wait=3 && goto :INPUT_1
  175. exit
  176. :.LST
  177. :.0PE
  178. :.USR
  179. call :MESS %1
  180. configfile %1
  181. boot
  182. exit
复制代码

as.zip

63.97 KB, 下载次数: 23, 下载积分: 无忧币 -2


作者: pseudo    时间: 2011-3-12 11:56
这个文件跟新版grldr关系不大。
你设法找到所用的grldr(可能被改名了),换成新版即可。
作者: 2010jct1982    时间: 2011-3-12 12:24
标题: 回复 #2 pseudo 的帖子
现在的问题就是只能用当前的grldr,而且没有被改过名.

用新的grldr就不能使用文件列表...

这个会跟中英文版有关吗?
作者: 2010jct1982    时间: 2011-3-12 13:01
刚刚去看了一下0PE的更新说明,原来0PE中也用了Run模块,直接套用了.

as其实就是RUN带背景的上一个版本...哈哈,谢谢 P大...
作者: pseudo    时间: 2011-3-12 13:08
这样啊。那得问杏雨了。
他的作品是通过安装程序进行安装部署的,方便部分用户,但也有点不透明。
作者: 2010jct1982    时间: 2011-3-12 13:19
还是要谢谢你

杏雨是安装版的,我是安装到一个小的U盘中,然后提前FBA出来的

去查看杏雨中的文件,其实是一个学习的过程...(其实它的机构也很简单)

我现在DIY的启动盘都是用的ISO包,这样更新起来很方便,呵呵,见笑了.

0PE中英版放在首位,特别是是英文版的PE,外籍同事也喜欢,哈哈~~~




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3