mirror of
https://github.com/parasyte/alt64
synced 2025-02-28 09:21:46 -05:00
commit
bf57d64b53
2
.gitignore
vendored
2
.gitignore
vendored
@ -15,3 +15,5 @@
|
|||||||
*~
|
*~
|
||||||
*.VC.db*
|
*.VC.db*
|
||||||
*properties.json
|
*properties.json
|
||||||
|
/.vs
|
||||||
|
/.vscode
|
||||||
|
163
README.md
163
README.md
@ -1,36 +1,19 @@
|
|||||||
# alt64
|
# Altra64
|
||||||
|
|
||||||
Alternative Everdrive64 menu
|
Alternative Everdrive64 menu
|
||||||
|
|
||||||
Kuroneko!
|
|
||||||
|
|
||||||
:\ /; _
|
`Altra64` is an open source menu for [Everdrive64](http://krikzz.com/) and is based on a fork of alt64 which was
|
||||||
; \___/ ; ; ;
|
|
||||||
,:-"' `"-:. / ;
|
|
||||||
_ /,---. ,---.\ _ _; /
|
|
||||||
_:>(( | ) ( | ))<:_ ,-""_,"
|
|
||||||
\````` `````/""""",-""
|
|
||||||
'-.._ v _..-' )
|
|
||||||
/ ___ ____,.. \
|
|
||||||
/ / | | | ( \. \
|
|
||||||
ctr / / | | | | \ \
|
|
||||||
`" `" `" `"
|
|
||||||
|
|
||||||
nyannyannyannyannyannyannyannyannyannyannyannyannyannyannyannyannyan
|
|
||||||
|
|
||||||
|
|
||||||
`alt64` is an open source menu for [Everdrive64](http://krikzz.com/). It was
|
|
||||||
originally written by saturnu, and released on the
|
originally written by saturnu, and released on the
|
||||||
[Everdrive64 forum](http://krikzz.com/forum/index.php?topic=816.0).
|
[Everdrive64 forum](http://krikzz.com/forum/index.php?topic=816.0).
|
||||||
|
|
||||||
## Building
|
## Building
|
||||||
|
|
||||||
If you want to build the menu, you need an n64 toolchain. We'll use the
|
If you want to build the menu, you need an n64 toolchain. When using windows 10 or Ubuntu, installation is totally automated through a script.
|
||||||
toolchain recommended by libdragon, with some updated versions.
|
|
||||||
|
|
||||||
### Dependencies
|
### Dependencies (installed automatically)
|
||||||
|
* Windows 10 (Aniversary Update or above) / Ubuntu 16.04 (or above)
|
||||||
* [libdragon](https://github.com/parasyte/libdragon)
|
* [libdragon](https://github.com/DragonMinded/libdragon)
|
||||||
* [libmikmod-n64](https://github.com/parasyte/libmikmod-n64)
|
* [libmikmod-n64](https://github.com/parasyte/libmikmod-n64)
|
||||||
* [libmad-n64](https://github.com/parasyte/libmad-n64)
|
* [libmad-n64](https://github.com/parasyte/libmad-n64)
|
||||||
* [libyaml](http://pyyaml.org/wiki/LibYAML)
|
* [libyaml](http://pyyaml.org/wiki/LibYAML)
|
||||||
@ -39,101 +22,53 @@ toolchain recommended by libdragon, with some updated versions.
|
|||||||
|
|
||||||
*You may skip this step if it's already installed.*
|
*You may skip this step if it's already installed.*
|
||||||
|
|
||||||
Clone the `libdragon` repo and create a directory for the build.
|
Clone this `Altra64` repo to a directory of your choice.
|
||||||
|
|
||||||
```bash
|
On Windows 10, browse to the tools directory and double click on ```setup-wsfl.cmd```.
|
||||||
$ git clone https://github.com/parasyte/libdragon.git
|
On Ubuntu, browse to the tools directory and run the command ```$ chmod +x ./setup-linux.sh;source ./setup-linux.sh```
|
||||||
$ mkdir libdragon/build_gcc
|
|
||||||
$ cp libdragon/tools/build libdragon/build_gcc
|
|
||||||
$ cd libdragon/build_gcc
|
### Build `Altra64`
|
||||||
|
|
||||||
|
To build the Rom
|
||||||
|
|
||||||
|
from the projects root directory,
|
||||||
|
On Windows 10 run
|
||||||
```
|
```
|
||||||
|
> build
|
||||||
Modify the `build` script to set your installation path. Here is the default:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# EDIT THIS LINE TO CHANGE YOUR INSTALL PATH!
|
|
||||||
export INSTALL_PATH=/usr/local/mips64-elf
|
|
||||||
```
|
```
|
||||||
|
on linux
|
||||||
Build it! This can take an hour or more.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ ./build
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### Configure your Environment
|
|
||||||
|
|
||||||
Add the following environment variable to your `~/.bash_profile` or `~/.bashrc`
|
|
||||||
Be sure to use the same path that you configured in the build script!
|
|
||||||
|
|
||||||
```bash
|
|
||||||
export N64_INST=/usr/local/mips64-elf
|
|
||||||
```
|
|
||||||
|
|
||||||
### Build `libdragon`
|
|
||||||
|
|
||||||
Make sure you are in the `libdragon` top-level directory, and make sure `libpng`
|
|
||||||
is installed:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ make && make install
|
|
||||||
$ make tools && make tools-install
|
|
||||||
```
|
|
||||||
|
|
||||||
### Build `libmikmod`
|
|
||||||
|
|
||||||
Clone `libmikmod-n64` and build:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ git clone https://github.com/parasyte/libmikmod-n64.git
|
|
||||||
$ cd libmikmod-n64
|
|
||||||
$ make
|
|
||||||
$ make install
|
|
||||||
```
|
|
||||||
|
|
||||||
### Build `libmad-n64`
|
|
||||||
|
|
||||||
Clone `libmad-n64` and build, be sure to set the path according to your
|
|
||||||
toolchain installation path:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ git clone https://github.com/parasyte/libmad-n64.git
|
|
||||||
$ cd libmad-n64
|
|
||||||
$ export PATH=$PATH:$(N64_INST)/bin
|
|
||||||
$ CFLAGS="-march=vr4300 -mtune=vr4300 -mno-extern-sdata" \
|
|
||||||
LDFLAGS="-L$(N64_INST)/lib" LIBS="-lc -lnosys" \
|
|
||||||
./configure --host=mips64-elf --disable-shared \
|
|
||||||
--prefix=$(N64_INST) --enable-speed --enable-fpm=mips
|
|
||||||
$ make
|
|
||||||
$ make install
|
|
||||||
```
|
|
||||||
|
|
||||||
### Build `libyaml`
|
|
||||||
|
|
||||||
Download libyaml 0.1.6 and build, be sure to set the path according to your
|
|
||||||
toolchain installation path:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ hg clone https://bitbucket.org/xi/libyaml
|
|
||||||
$ cd libyaml
|
|
||||||
$ hg update 0.1.6
|
|
||||||
$ ./bootstrap
|
|
||||||
$ export PATH=$PATH:$(N64_INST)/bin
|
|
||||||
$ CFLAGS="-std=gnu99 -march=vr4300 -mtune=vr4300" \
|
|
||||||
LDFLAGS="-L$(N64_INST)/lib -Tn64ld.x" \
|
|
||||||
LIBS="-ldragon -lc -ldragonsys -lnosys" \
|
|
||||||
./configure --host=mips64-elf --prefix=$(N64_INST)
|
|
||||||
$ make
|
|
||||||
$ make install
|
|
||||||
```
|
|
||||||
|
|
||||||
### Build `alt64`
|
|
||||||
|
|
||||||
Finally, we can clone `alt64` and build it!
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ git clone https://github.com/parasyte/alt64.git
|
|
||||||
$ make
|
$ make
|
||||||
```
|
```
|
||||||
|
If it all worked, you will find `OS64.v64` in the `Altra64` bin directory.
|
||||||
|
|
||||||
If it all worked, you will find `OS64.v64` in the `alt64` top-level directory.
|
### Debug Build `Altra64`
|
||||||
|
To build the debug version of the Rom
|
||||||
|
|
||||||
|
from the projects root directory,
|
||||||
|
On Windows 10 run
|
||||||
|
```
|
||||||
|
> build debug
|
||||||
|
```
|
||||||
|
on linux
|
||||||
|
```
|
||||||
|
$ make debug
|
||||||
|
```
|
||||||
|
If it all worked, you will find `OS64.v64` in the `Altra64` bin directory.
|
||||||
|
|
||||||
|
|
||||||
|
### Clean `Altra64`
|
||||||
|
Finally, we can clean the build objects from the project
|
||||||
|
|
||||||
|
from the projects root directory,
|
||||||
|
On Windows 10 run
|
||||||
|
```
|
||||||
|
> build clean
|
||||||
|
```
|
||||||
|
on linux
|
||||||
|
```
|
||||||
|
$ make clean
|
||||||
|
```
|
||||||
|
|
||||||
|
Enjoy!
|
||||||
|
18
build.cmd
Normal file
18
build.cmd
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
@echo off
|
||||||
|
set "SystemPath=%SystemRoot%\\System32"
|
||||||
|
IF EXIST %WINDIR%\\sysnative\\reg.exe (
|
||||||
|
set "SystemPath=%SystemRoot%\Sysnative"
|
||||||
|
echo. "32-bit process..."
|
||||||
|
)
|
||||||
|
|
||||||
|
set env="/usr/local/libdragon"
|
||||||
|
|
||||||
|
IF %1.==. (
|
||||||
|
echo. "no parameter"
|
||||||
|
%SystemPath%\\bash --verbose -c "export N64_INST=%env%; make"
|
||||||
|
) ELSE (
|
||||||
|
echo. "parameter: %1"
|
||||||
|
%SystemPath%\\bash --verbose -c "export N64_INST=%env%; make %1"
|
||||||
|
)
|
||||||
|
|
||||||
|
:pause
|
0
tools/upload.sh → tools/deploy-sd.sh
Executable file → Normal file
0
tools/upload.sh → tools/deploy-sd.sh
Executable file → Normal file
120
tools/extract-firmware.cmd
Normal file
120
tools/extract-firmware.cmd
Normal file
@ -0,0 +1,120 @@
|
|||||||
|
@echo off
|
||||||
|
cd ..
|
||||||
|
set "fs=%cd%\res\filesystem\firmware"
|
||||||
|
set "lfs=%fs%"
|
||||||
|
|
||||||
|
set "drive=%lfs:~0,1%"
|
||||||
|
|
||||||
|
set lfs=%lfs:~2%
|
||||||
|
set "lfs=%lfs:\=/%"
|
||||||
|
|
||||||
|
if %drive%==A set "drive=a"
|
||||||
|
if %drive%==B set "drive=b"
|
||||||
|
if %drive%==C set "drive=c"
|
||||||
|
if %drive%==D set "drive=d"
|
||||||
|
if %drive%==E set "drive=e"
|
||||||
|
if %drive%==F set "drive=f"
|
||||||
|
if %drive%==G set "drive=g"
|
||||||
|
if %drive%==H set "drive=h"
|
||||||
|
if %drive%==I set "drive=i"
|
||||||
|
if %drive%==J set "drive=j"
|
||||||
|
if %drive%==K set "drive=k"
|
||||||
|
if %drive%==L set "drive=l"
|
||||||
|
if %drive%==M set "drive=m"
|
||||||
|
if %drive%==N set "drive=n"
|
||||||
|
if %drive%==O set "drive=o"
|
||||||
|
if %drive%==P set "drive=p"
|
||||||
|
if %drive%==Q set "drive=q"
|
||||||
|
if %drive%==R set "drive=r"
|
||||||
|
if %drive%==S set "drive=s"
|
||||||
|
if %drive%==T set "drive=t"
|
||||||
|
if %drive%==U set "drive=u"
|
||||||
|
if %drive%==V set "drive=v"
|
||||||
|
if %drive%==W set "drive=w"
|
||||||
|
if %drive%==X set "drive=x"
|
||||||
|
if %drive%==Y set "drive=y"
|
||||||
|
if %drive%==Z set "drive=z"
|
||||||
|
|
||||||
|
set "lfs=/mnt/%drive%%lfs%"
|
||||||
|
|
||||||
|
echo "Windows dir is %fs%"
|
||||||
|
echo "Linux dir is %lfs%"
|
||||||
|
|
||||||
|
:: del old firmware dir in ../res/filesystem
|
||||||
|
RD /S /Q "%fs%"
|
||||||
|
:: mk firmware dir in ../res/filesystem
|
||||||
|
MKDIR "%fs%"
|
||||||
|
|
||||||
|
SET "rom=%1"
|
||||||
|
IF %1.==. (
|
||||||
|
SET /P rom="Please enter full path to OS64.v64 V2.12:"
|
||||||
|
)
|
||||||
|
|
||||||
|
set "drive=%rom:~0,1%"
|
||||||
|
|
||||||
|
set rom=%rom:~2%
|
||||||
|
set "rom=%rom:\=/%"
|
||||||
|
|
||||||
|
if %drive%==A set "drive=a"
|
||||||
|
if %drive%==B set "drive=b"
|
||||||
|
if %drive%==C set "drive=c"
|
||||||
|
if %drive%==D set "drive=d"
|
||||||
|
if %drive%==E set "drive=e"
|
||||||
|
if %drive%==F set "drive=f"
|
||||||
|
if %drive%==G set "drive=g"
|
||||||
|
if %drive%==H set "drive=h"
|
||||||
|
if %drive%==I set "drive=i"
|
||||||
|
if %drive%==J set "drive=j"
|
||||||
|
if %drive%==K set "drive=k"
|
||||||
|
if %drive%==L set "drive=l"
|
||||||
|
if %drive%==M set "drive=m"
|
||||||
|
if %drive%==N set "drive=n"
|
||||||
|
if %drive%==O set "drive=o"
|
||||||
|
if %drive%==P set "drive=p"
|
||||||
|
if %drive%==Q set "drive=q"
|
||||||
|
if %drive%==R set "drive=r"
|
||||||
|
if %drive%==S set "drive=s"
|
||||||
|
if %drive%==T set "drive=t"
|
||||||
|
if %drive%==U set "drive=u"
|
||||||
|
if %drive%==V set "drive=v"
|
||||||
|
if %drive%==W set "drive=w"
|
||||||
|
if %drive%==X set "drive=x"
|
||||||
|
if %drive%==Y set "drive=y"
|
||||||
|
if %drive%==Z set "drive=z"
|
||||||
|
|
||||||
|
set "rom=/mnt/%drive%%rom%"
|
||||||
|
|
||||||
|
echo "Linux rom dir is %rom%"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
::echo. "This script is not yet ready and will now exit."
|
||||||
|
::GOTO exit
|
||||||
|
|
||||||
|
@echo ON
|
||||||
|
|
||||||
|
:: OS64.V64 - Version 2.12 firmware offsets:
|
||||||
|
:: cart offset (hex) offset (dec) length
|
||||||
|
:: v2_old 0x25070 151664 61552
|
||||||
|
:: v2 0x15930 88368 63276
|
||||||
|
:: v2.5 0x340F0 213232 69911
|
||||||
|
:: v3 0x45210 283152 71187
|
||||||
|
|
||||||
|
:: Count = lengh / blocksize
|
||||||
|
:: Seek = offset converted to decimal / blocksize
|
||||||
|
|
||||||
|
:: ED rev 2_old
|
||||||
|
bash --verbose -c "dd skip=9479 count=3847 if=%rom% of=%lfs%/firmware_v2_old.bin bs=16"
|
||||||
|
|
||||||
|
:: ED rev 2.0 (default should return 0x214)
|
||||||
|
bash --verbose -c "dd skip=5523 count=3954 if=%rom% of=%lfs%/firmware_v2.bin bs=16"
|
||||||
|
|
||||||
|
:: ED rev 2.5 (default should return 0x250)
|
||||||
|
bash --verbose -c "dd skip=13327 count=4369 if=%rom% of=%lfs%/firmware_v2_5.bin bs=16"
|
||||||
|
|
||||||
|
:: ED rev 3 (default should return 0x300)
|
||||||
|
bash --verbose -c "dd skip=17697 count=4449 if=%rom% of=%lfs%/firmware_v3.bin bs=16"
|
||||||
|
|
||||||
|
|
||||||
|
pause
|
||||||
|
:exit
|
51
tools/reset-wsfl.cmd
Normal file
51
tools/reset-wsfl.cmd
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
::::::::::::::::::::::::::::::::::::::::::::
|
||||||
|
:: Elevate.cmd - Version 2
|
||||||
|
:: Automatically check & get admin rights
|
||||||
|
::::::::::::::::::::::::::::::::::::::::::::
|
||||||
|
@echo off
|
||||||
|
CLS
|
||||||
|
ECHO.
|
||||||
|
ECHO =============================
|
||||||
|
ECHO Running Admin shell
|
||||||
|
ECHO =============================
|
||||||
|
|
||||||
|
:init
|
||||||
|
setlocal DisableDelayedExpansion
|
||||||
|
set "batchPath=%~0"
|
||||||
|
for %%k in (%0) do set batchName=%%~nk
|
||||||
|
set "vbsGetPrivileges=%temp%\OEgetPriv_%batchName%.vbs"
|
||||||
|
setlocal EnableDelayedExpansion
|
||||||
|
|
||||||
|
:checkPrivileges
|
||||||
|
NET FILE 1>NUL 2>NUL
|
||||||
|
if '%errorlevel%' == '0' ( goto gotPrivileges ) else ( goto getPrivileges )
|
||||||
|
|
||||||
|
:getPrivileges
|
||||||
|
if '%1'=='ELEV' (echo ELEV & shift /1 & goto gotPrivileges)
|
||||||
|
ECHO.
|
||||||
|
ECHO **************************************
|
||||||
|
ECHO Invoking UAC for Privilege Escalation
|
||||||
|
ECHO **************************************
|
||||||
|
|
||||||
|
ECHO Set UAC = CreateObject^("Shell.Application"^) > "%vbsGetPrivileges%"
|
||||||
|
ECHO args = "ELEV " >> "%vbsGetPrivileges%"
|
||||||
|
ECHO For Each strArg in WScript.Arguments >> "%vbsGetPrivileges%"
|
||||||
|
ECHO args = args ^& strArg ^& " " >> "%vbsGetPrivileges%"
|
||||||
|
ECHO Next >> "%vbsGetPrivileges%"
|
||||||
|
ECHO UAC.ShellExecute "!batchPath!", args, "", "runas", 1 >> "%vbsGetPrivileges%"
|
||||||
|
"%SystemRoot%\System32\WScript.exe" "%vbsGetPrivileges%" %*
|
||||||
|
exit /B
|
||||||
|
|
||||||
|
:gotPrivileges
|
||||||
|
setlocal & pushd .
|
||||||
|
cd /d %~dp0
|
||||||
|
if '%1'=='ELEV' (del "%vbsGetPrivileges%" 1>nul 2>nul & shift /1)
|
||||||
|
|
||||||
|
::::::::::::::::::::::::::::
|
||||||
|
::START
|
||||||
|
::::::::::::::::::::::::::::
|
||||||
|
@echo on
|
||||||
|
|
||||||
|
lxrun /uninstall /full
|
||||||
|
|
||||||
|
pause
|
87
tools/setup-linux.sh
Normal file
87
tools/setup-linux.sh
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# Download and install latest updates for the system [sudo req.]
|
||||||
|
apt-get update
|
||||||
|
apt-get -y upgrade
|
||||||
|
|
||||||
|
# Install essential packages [sudo req.]
|
||||||
|
apt-get -y install build-essential git texinfo libc6 libgmp-dev libmpfr-dev libmpc-dev libpng-dev zlib1g-dev libtool autoconf
|
||||||
|
|
||||||
|
# change to the users root directory
|
||||||
|
cd ~/
|
||||||
|
|
||||||
|
# add a system variable and make it perminent
|
||||||
|
# echo 'N64_INST=/usr/local/libdragon' >> /etc/environment
|
||||||
|
# echo 'export N64_INST=/usr/local/libdragon' >> ~/.bashrc
|
||||||
|
export N64_INST=/usr/local/libdragon
|
||||||
|
# source ~/.bashrc
|
||||||
|
|
||||||
|
# Pull the latest libdragon source code and make a build directory
|
||||||
|
git clone https://github.com/dragonminded/libdragon.git
|
||||||
|
|
||||||
|
# fix issues with the build scripts
|
||||||
|
sed -i -- 's|${N64_INST:-/usr/local}|/usr/local/libdragon|g' libdragon/tools/build
|
||||||
|
sed -i -- 's|--with-newlib|--with-newlib --with-system-zlib|g' libdragon/tools/build
|
||||||
|
|
||||||
|
sed -i -- 's| -lpng|\nLDLIBS = -lpng|g' libdragon/tools/mksprite/Makefile
|
||||||
|
sed -i -- 's| -Werror| -w|g' libdragon/tools/mksprite/Makefile
|
||||||
|
|
||||||
|
# make a build folder for libdragon
|
||||||
|
mkdir libdragon/build_gcc
|
||||||
|
cp libdragon/tools/build libdragon/build_gcc
|
||||||
|
|
||||||
|
# run the build script (this will take a while! and if not sudo, will ask for password mid flow!)
|
||||||
|
cd libdragon/build_gcc
|
||||||
|
./build
|
||||||
|
|
||||||
|
cd ..
|
||||||
|
# run the install script [sudo req]
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
make tools
|
||||||
|
make tools-install
|
||||||
|
|
||||||
|
cd ..
|
||||||
|
# install libmikmod
|
||||||
|
git clone https://github.com/parasyte/libmikmod-n64.git
|
||||||
|
cd libmikmod-n64
|
||||||
|
mkdir build
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
|
||||||
|
cd ..
|
||||||
|
# install libmad-64
|
||||||
|
git clone https://github.com/parasyte/libmad-n64.git
|
||||||
|
cd libmad-n64
|
||||||
|
#$(N64_INST) converterd to $N64_INST below otherwise it will not run on WSFL
|
||||||
|
export PATH=$PATH:$N64_INST/bin
|
||||||
|
CFLAGS="-march=vr4300 -mtune=vr4300 -mno-extern-sdata" \
|
||||||
|
LDFLAGS="-L$N64_INST/lib" LIBS="-lc -lnosys" \
|
||||||
|
./configure --host=mips64-elf --disable-shared \
|
||||||
|
--prefix=$N64_INST --enable-speed --enable-fpm=mips
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
|
||||||
|
cd ..
|
||||||
|
# install libyaml
|
||||||
|
git clone https://github.com/yaml/libyaml
|
||||||
|
cd libyaml
|
||||||
|
./bootstrap
|
||||||
|
#$(N64_INST) converterd to $N64_INST below otherwise it will not run on WSFL
|
||||||
|
export PATH=$PATH:$N64_INST/bin
|
||||||
|
CFLAGS="-std=gnu99 -march=vr4300 -mtune=vr4300" \
|
||||||
|
LDFLAGS="-L$N64_INST/lib -Tn64ld.x" \
|
||||||
|
LIBS="-ldragon -lc -ldragonsys -lnosys" \
|
||||||
|
./configure --host=mips64-elf --prefix=$N64_INST
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
|
||||||
|
cd ..
|
||||||
|
# Install menu code (perhaps this script should be called from it instead?
|
||||||
|
# git clone https://github.com/networkfusion/alt64.git
|
||||||
|
# cd alt64
|
||||||
|
# make
|
||||||
|
|
||||||
|
# Perform cleanup
|
||||||
|
apt-get -y autoremove
|
||||||
|
apt-get autoclean
|
||||||
|
|
56
tools/setup-wsfl.cmd
Normal file
56
tools/setup-wsfl.cmd
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
::::::::::::::::::::::::::::::::::::::::::::
|
||||||
|
:: Elevate.cmd - Version 2
|
||||||
|
:: Automatically check & get admin rights
|
||||||
|
::::::::::::::::::::::::::::::::::::::::::::
|
||||||
|
@echo off
|
||||||
|
CLS
|
||||||
|
ECHO.
|
||||||
|
ECHO =============================
|
||||||
|
ECHO Running Admin shell
|
||||||
|
ECHO =============================
|
||||||
|
|
||||||
|
:init
|
||||||
|
setlocal DisableDelayedExpansion
|
||||||
|
set "batchPath=%~0"
|
||||||
|
for %%k in (%0) do set batchName=%%~nk
|
||||||
|
set "vbsGetPrivileges=%temp%\OEgetPriv_%batchName%.vbs"
|
||||||
|
setlocal EnableDelayedExpansion
|
||||||
|
|
||||||
|
:checkPrivileges
|
||||||
|
NET FILE 1>NUL 2>NUL
|
||||||
|
if '%errorlevel%' == '0' ( goto gotPrivileges ) else ( goto getPrivileges )
|
||||||
|
|
||||||
|
:getPrivileges
|
||||||
|
if '%1'=='ELEV' (echo ELEV & shift /1 & goto gotPrivileges)
|
||||||
|
ECHO.
|
||||||
|
ECHO **************************************
|
||||||
|
ECHO Invoking UAC for Privilege Escalation
|
||||||
|
ECHO **************************************
|
||||||
|
|
||||||
|
ECHO Set UAC = CreateObject^("Shell.Application"^) > "%vbsGetPrivileges%"
|
||||||
|
ECHO args = "ELEV " >> "%vbsGetPrivileges%"
|
||||||
|
ECHO For Each strArg in WScript.Arguments >> "%vbsGetPrivileges%"
|
||||||
|
ECHO args = args ^& strArg ^& " " >> "%vbsGetPrivileges%"
|
||||||
|
ECHO Next >> "%vbsGetPrivileges%"
|
||||||
|
ECHO UAC.ShellExecute "!batchPath!", args, "", "runas", 1 >> "%vbsGetPrivileges%"
|
||||||
|
"%SystemRoot%\System32\WScript.exe" "%vbsGetPrivileges%" %*
|
||||||
|
exit /B
|
||||||
|
|
||||||
|
:gotPrivileges
|
||||||
|
setlocal & pushd .
|
||||||
|
cd /d %~dp0
|
||||||
|
if '%1'=='ELEV' (del "%vbsGetPrivileges%" 1>nul 2>nul & shift /1)
|
||||||
|
|
||||||
|
::::::::::::::::::::::::::::
|
||||||
|
::START
|
||||||
|
::::::::::::::::::::::::::::
|
||||||
|
@echo on
|
||||||
|
|
||||||
|
lxrun /install /y
|
||||||
|
bash -c "echo 'export N64_INST=/usr/local/libdragon' >> ~/.bashrc; source ~/.bashrc"
|
||||||
|
bash -c "chmod +x ./setup-linux.sh"
|
||||||
|
bash --verbose -c "source ./setup-linux.sh"
|
||||||
|
|
||||||
|
::bash
|
||||||
|
|
||||||
|
pause
|
Loading…
x
Reference in New Issue
Block a user