|
请问P大,如何修改as文件来更新grldr,只有新版面的grldr才支持新版本的usb_acc.0pe
代码如下(详情见附件)
- !BAT BY ZXW@WUYOU
- debug off
- terminal console
- checkrange 20110114:-1 read 0x8278 || echo -e \n $[0104]ERR$[0007]: $[0003]VERSION$[0007] IS $[0106]TOO OLD! && pause --wait=3 && goto :INPUT_1
- set runs=%~nx0 && delmod -l %~nx0 || insmod %0
- set mycd || set mycd=/BOOT/IMGS/
- :START
- if /i "%~1"=="%~nx1" set path=%mycd% || set /u path=%~p1
- if /i "%~1"=="%~dpnx1" set /l bd=%~d1 && root %bd% || echo -n
- 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
- 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
- call :LOCAT %1
- if #%~nx1==# goto :.INPUT
- if not #%~x1==# goto :%~x1
- goto :CHAIN
- clear
- exit
- :LOCAT
- root > (md)0x300+1,10
- cat --locate=\x20 --replace=\0 --number=2 (md)0x300+1,10
- debug 1
- cat --skip=1 (md)0x300+1,10 | set bd=
- debug 0
- exit
- :MESS
- echo -e \n Now $[0004]Loading $[0101]%bd%$[0003]%path%$[0002]%~nx1$[0007]...
- cat --length=0 %~pnx1 || find --set-root --devices=uhfcp %~pnx1
- exit
- :.IMG
- :.IMA
- :.GZ
- if /i "%~n1"=="FIRADISK" if not #%~x2==# goto :FIRAISO
- call :MESS %1
- map --mem %~pnx1 (fd0)
- map --hook
- if /i "%~n1"=="MAXDOS" if not #%2==# && write 0x60000 1 ! write 0x60000 0
- read 0x60000 && debug 1
- read 0x60000 && cat --locate=default --number=1 (fd0)/CONFIG.SYS | set offset=
- read 0x60000 && write --offset=0x%offset% (fd0)/CONFIG.SYS default=1,0
- read 0x60000 && cat --locate=Call --number=1 (fd0)/AUTOEXEC.BAT | set offset=
- read 0x60000 && debug 0
- read 0x60000 && if /i "%~2"=="DISKGEN" set command=lh ctmouse \r diskgen
- read 0x60000 && if /i "%~2"=="GHOST" set command=Call GH.bat
- read 0x60000 && write --offset=0x%offset% (fd0)/AUTOEXEC.BAT %command%
- read 0x60000 && write 0x60000 0
- rootnoverify (fd0)
- chainloader +1
- boot
- exit
- :.ISO
- call :MESS %1
- map %~2 %~pnx1 (0xff) || map --mem %~pnx1 (0xff)
- map --hook
- chainloader (0xff)
- boot
- exit
- :.BIN
- call :MESS %1
- if /i "%bd:~1,3%"=="FD0" map (0)+1 (hd0) && map (hd0) (hd) ! map --in-place ()+1 (hd0)
- map --rehook
- chainloader --force %~pnx1
- boot
- goto :eof
- :CHAIN
- :.0
- find --set-root --devices=h %~pnx1
- call :MESS %1
- map () (hd0) && map (hd0) ()
- map --rehook
- debug 1
- root || echo
- debug 0
- find --set-root --devices=h %~pnx1
- chainloader %~pnx1
- boot
- exit
- :.INPUT
- pager off
- root (bd) || echo -n
- set i=900 && set n=0 && echo -n > (md)0x3800+0x40 && clear && ls %bd%%%path% | call :.AUTOLIST || echo -n
- :INPUT_1
- clear && echo -e \n $[0101]AUTOLIST$[0007] FOR $[0006]%bd%$[0003]%path%$[0007]:\n
- cat --skip=0 (md)0x3800+0x40 | echo -e -n \t\b
- echo -e -n \n\n $[0007]Press "$[0104]M$[0007]" to $[0003]Main Menu $[0007]Or "$[0104]C$[0007]" To $[0003]Commandline.
- set /u /p list=>Please Input The FILE/NUM/LETTER/PATH Here:
- set list && clear ! goto :INPUT_1
- if /i "%list%"=="0" clear && goto :INPUT_1
- if /i "%list%"=="C" clear && commandline
- if /i "%list%"=="M" && configfile (md)4+8
- calc %list% && call :NUM %list% ! clear
- if /i "%list:~,2%"=="F " && calc %list:~2% && call :NUM %list:~2% F
- if not "%list:~,1%"=="/" if not "%list:~,1%"=="(" set list=%path%%%list%
- pager on
- call :start %list%
- exit
- :.AUTOLIST
- if #%1==# exit
- if /i not #%~x1==#.TXT if not #%~x1==# && echo -n ! goto :shift
- set /a i=%i%+1 && set /a n=%n%+1
- echo -n %~1%i% > (md)0x300+1
- debug 1
- cat --locate=\0 --number=1 (md)0x300+1 | set tls=
- debug 0
- calc 0x%tls%/0x100 && echo $[0104]ERR:$[0106]File too long! && exit
- calc 0x%tls%/0x10 || set tls=0%tls%
- set /a n=0x%tls%/24+%n%
- set /a t=0x%tls%%%%24/8
- set r=\t\t\t
- calc %t%-1 || set r=%r:~2%
- calc %t%-2 || set r=%r:~4%
- calc %n%-3 || set r=\n\t && set n=0
- calc %n%/4 && set l=\n\t\b && set /a n=0x%tls%/24+%n%-3 ! set l=
- echo -e -n %l%\\44[0006]%i:~1%\\44[0007].\\44[0000]%tls%\\b\\44[0002]%~1%r%\b >> (md)0x3800+0x40
- clear && echo Now Loading...$[0104]%i:~1%
- :shift
- shift
- goto :.AUTOLIST
- exit
- :NUM
- checkrange 1:%i:~1% calc %1 || goto :INPUT_1
- debug 1
- set /a l=900+%1
- set l=%l:~1%
- set /a r=*0x4CB00
- cat --locate=%l%\\44 --number=1 (md)0x3800+0x40 | set m=
- set /a m=0x%r%+0x%m%+0x13
- cat --skip=%m% --length=2 (md)0x3800+0x40 | set n=
- set /a m=%m%+13 && set /a n=0x%n%-0x%r%-1
- cat --skip=%m% --length=%n% (md)0x3800+0x40 | set list=
- clear
- debug 0
- set list=%path%%%list%
- if #%~2==# exit
- cat --length=0 %path%FIRADISK.IMG || set path=%mycd%
- set list=%path%FIRADISK.IMG %list%
- clear
- exit
- :.AUTOMENU
- root (bd) || echo -n
- echo -e default 0\ntimeout 15\ngfxmenu (ud)/AS/runbk\n > (md)0x3000+0x10
- set i=901
- ls %bd%%%path% | call :MAKEMENU || echo -n
- echo -e \ntitle %i:~1%. RUN MainMenu\\n\tconfigfile (md)4+8\nconfigfile (md)4+8 >> (md)0x3000+0x10
- set i=
- configfile (md)0x3000+0x10
- exit
- :MAKEMENU
- if #%1==# exit
- if /i not #%~x1==#.TXT if not #%~x1==# && echo -n ! goto :shif1
- 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
- echo -e \n%runs% %path%%%~1\nboot\n >> (md)0x3000+0x10
- set /a i=%i%+1
- :shif1
- shift
- goto :MAKEMENU
- exit
- :FIRAISO
- if /i "%~2"=="%~nx2" set iso=%bd%%%path%%%~nx2 || set iso=%2
- clear
- call :LOCAT %iso%
- call :MESS %iso%
- map --mem %iso% (0xff) && map --hook
- call :LOCAT %path%%%~nx1
- call :MESS %path%%%~nx1
- map --mem %path%%%~nx1 (fd1)
- map --mem (md)+2880 (fd0)
- calc *0x82b8>>8&0xff-0x80 || map (hd1) (hd0) && map (hd0) (hd1)
- map --rehook
- dd if=(fd1) of=(fd0) count=1
- echo -e \n Press "$[0104]I$[0007]" in $[0004]10 $[0007]seconds to boot from ISO.
- echo -e \x20Or press any other key to $[0004]continue System Installation.
- checkrange 0x69,0x49 pause --wait=30 && chainloader (0xff) && rootnoverify (0xff) && boot && exit
- find --set-root --devices=h /WIN_NT$.~BT/SETUPLDR.BIN && chainloader ()/WIN_NT$.~BT/SETUPLDR.BIN && boot && exit
- 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
- exit
- :.LST
- :.0PE
- :.USR
- call :MESS %1
- configfile %1
- boot
- exit
复制代码 |
-
-
as.zip
63.97 KB, 下载次数: 23, 下载积分: 无忧币 -2
|