mirror of
https://github.com/CosmicScale/PSBBN-Definitive-English-Patch.git
synced 2025-03-09 18:02:00 +01:00
Added Neutrino support
This commit is contained in:
parent
dbb2e6e0dd
commit
16023d922c
@ -6,7 +6,10 @@ echo -e "\e[8;40;100t"
|
||||
TOOLKIT_PATH="$(pwd)"
|
||||
ICONS_DIR="${TOOLKIT_PATH}/icons"
|
||||
ARTWORK_DIR="${ICONS_DIR}/art"
|
||||
POPSTARTER="${TOOLKIT_PATH}/assets/POPSTARTER.ELF"
|
||||
HELPER_DIR="${TOOLKIT_PATH}/helper"
|
||||
ASSETS_DIR="${TOOLKIT_PATH}/assets"
|
||||
POPSTARTER="${ASSETS_DIR}/POPSTARTER.ELF"
|
||||
NEUTRINO_DIR="${ASSETS_DIR}/neutrino"
|
||||
LOG_FILE="${TOOLKIT_PATH}/game-installer.log"
|
||||
MISSING_ART=${TOOLKIT_PATH}/missing-art.log
|
||||
|
||||
@ -24,7 +27,7 @@ clear
|
||||
cd "${TOOLKIT_PATH}"
|
||||
|
||||
# Check if the helper files exists
|
||||
if [[ ! -f "${TOOLKIT_PATH}/helper/PFS Shell.elf" || ! -f "${TOOLKIT_PATH}/helper/HDL Dump.elf" ]]; then
|
||||
if [[ ! -f "${HELPER_DIR}/PFS Shell.elf" || ! -f "${HELPER_DIR}/HDL Dump.elf" ]]; then
|
||||
echo "Required helper files not found. Please ensure you are in the 'PSBBN-Definitive-English-Patch'"
|
||||
echo "directory and try again."
|
||||
exit 1
|
||||
@ -132,20 +135,26 @@ echo " Written by CosmicScale"
|
||||
lsblk -p -o MODEL,NAME,SIZE,LABEL,MOUNTPOINT | tee -a "${LOG_FILE}"
|
||||
echo | tee -a "${LOG_FILE}"
|
||||
|
||||
read -p "Choose your PS2 HDD from the list above e.g. /dev/sdx): " DEVICE
|
||||
read -p "Choose your PS2 HDD from the list above (e.g., /dev/sdx): " DEVICE
|
||||
|
||||
# Validate input
|
||||
if [[ $DEVICE =~ ^/dev/sd[a-z]$ ]]; then
|
||||
echo
|
||||
echo -e "Selected drive: \"${DEVICE}\"" | tee -a "${LOG_FILE}"
|
||||
break
|
||||
# Validate input format (must start with /dev/)
|
||||
if [[ $DEVICE == /dev/* ]]; then
|
||||
# Check if the device exists
|
||||
if lsblk -p | grep -q "^${DEVICE}"; then
|
||||
echo
|
||||
echo -e "Selected drive: \"${DEVICE}\"" | tee -a "${LOG_FILE}"
|
||||
break
|
||||
else
|
||||
echo
|
||||
echo "Error: Device ${DEVICE} not found. Please choose a valid disk from the list."
|
||||
fi
|
||||
else
|
||||
echo
|
||||
echo "Error: Invalid input. Please enter a valid device name (e.g., /dev/sdx)."
|
||||
read -n 1 -s -r -p "Press any key to try again..."
|
||||
echo
|
||||
continue
|
||||
fi
|
||||
|
||||
read -n 1 -s -r -p "Press any key to try again..."
|
||||
echo
|
||||
done
|
||||
|
||||
# Find all mounted volumes associated with the device
|
||||
@ -191,8 +200,204 @@ for folder in APPS ART CFG CHT LNG THM VMC POPS CD DVD; do
|
||||
}
|
||||
done
|
||||
|
||||
echo | tee -a "${LOG_FILE}"
|
||||
echo "Please choose a game launcher:"
|
||||
echo "1) Open PS2 Loader (OPL)"
|
||||
echo "2) Neutrino"
|
||||
echo
|
||||
|
||||
while true; do
|
||||
read -p "Enter 1 or 2: " choice
|
||||
case "$choice" in
|
||||
1) LAUNCHER="OPL"; DESC="Open PS2 Loader (OPL)";;
|
||||
2) LAUNCHER="NEUTRINO"; DESC="Neutrino";;
|
||||
*) echo; echo "Invalid choice. Please enter 1 or 2."; continue ;;
|
||||
esac
|
||||
|
||||
echo
|
||||
read -p "You selected $DESC. Are you sure? (y/n): " confirm
|
||||
[[ "$confirm" =~ ^[Yy]$ ]] && break # Exit loop if "y"
|
||||
done
|
||||
|
||||
echo "$DESC selected." >> "${LOG_FILE}"
|
||||
echo >> "${LOG_FILE}"
|
||||
|
||||
# Delete old game partitions
|
||||
delete_partition=$(sudo "${HELPER_DIR}/HDL Dump.elf" toc "$DEVICE" | grep -o 'PP\.[^ ]\+' | grep -Ev '^(PP\.WLE|PP\.LAUNCHER|PP\.DISC)$')
|
||||
COMMANDS="device ${DEVICE}\n"
|
||||
|
||||
while IFS= read -r partition; do
|
||||
COMMANDS+="rmpart ${partition}\n"
|
||||
done <<< "$delete_partition"
|
||||
|
||||
COMMANDS+="exit"
|
||||
|
||||
echo -e "$COMMANDS" | sudo "${HELPER_DIR}/PFS Shell.elf" >> "${LOG_FILE}" 2>&1
|
||||
echo | tee -a "${LOG_FILE}"
|
||||
echo "Checking installed apps:" | tee -a "${LOG_FILE}"
|
||||
|
||||
# Check if PP.DISC exists and create it if not
|
||||
if ! sudo "${HELPER_DIR}/HDL Dump.elf" toc "${DEVICE}" | grep -q 'PP.DISC'; then
|
||||
echo >> "${LOG_FILE}"
|
||||
echo "Creating PP.DISC partition..." | tee -a "${LOG_FILE}"
|
||||
COMMANDS="device ${DEVICE}\n"
|
||||
COMMANDS+="rmpart PP.WLE\n"
|
||||
COMMANDS+="rmpart PP.LAUNCHER\n"
|
||||
COMMANDS+="mkpart PP.DISC 128M PFS\n"
|
||||
COMMANDS+="mount PP.DISC\n"
|
||||
COMMANDS+="mkdir res\n"
|
||||
COMMANDS+="cd res\n"
|
||||
COMMANDS+="lcd '${ASSETS_DIR}/DISC'\n"
|
||||
COMMANDS+="put info.sys\n"
|
||||
COMMANDS+="put jkt_001.png\n"
|
||||
COMMANDS+="cd /\n"
|
||||
COMMANDS+="umount\n"
|
||||
COMMANDS+="exit"
|
||||
echo -e "$COMMANDS" | sudo "${HELPER_DIR}/PFS Shell.elf" >> "${LOG_FILE}" 2>&1
|
||||
cd "${ASSETS_DIR}/DISC"
|
||||
sudo "${HELPER_DIR}/HDL Dump.elf" modify_header "${DEVICE}" PP.DISC >> "${LOG_FILE}" 2>&1
|
||||
fi
|
||||
|
||||
echo >> "${LOG_FILE}"
|
||||
echo "Updating Disc Launcher..." | tee -a "${LOG_FILE}"
|
||||
COMMANDS="device ${DEVICE}\n"
|
||||
COMMANDS+="mount PP.DISC\n"
|
||||
COMMANDS+="lcd '${ASSETS_DIR}/DISC'\n"
|
||||
COMMANDS+="rm disc-launcher.KELF\n"
|
||||
COMMANDS+="put disc-launcher.KELF\n"
|
||||
COMMANDS+="rm PS1VModeNeg.elf\n"
|
||||
COMMANDS+="put PS1VModeNeg.elf\n"
|
||||
COMMANDS+="umount\n"
|
||||
COMMANDS+="exit"
|
||||
|
||||
echo -e "$COMMANDS" | sudo "${HELPER_DIR}/PFS Shell.elf" >> "${LOG_FILE}" 2>&1
|
||||
|
||||
# Check if PP.WLE exists and create it if not
|
||||
if ! sudo "${HELPER_DIR}/HDL Dump.elf" toc "${DEVICE}" | grep -q 'PP.WLE'; then
|
||||
echo >> "${LOG_FILE}"
|
||||
echo "Creating PP.WLE partition..." | tee -a "${LOG_FILE}"
|
||||
COMMANDS="device ${DEVICE}\n"
|
||||
COMMANDS+="rmpart PP.LAUNCHER\n"
|
||||
COMMANDS+="mkpart PP.WLE 128M PFS\n"
|
||||
COMMANDS+="mount PP.WLE\n"
|
||||
COMMANDS+="mkdir res\n"
|
||||
COMMANDS+="cd res\n"
|
||||
COMMANDS+="lcd '${ASSETS_DIR}/WLE'\n"
|
||||
COMMANDS+="put info.sys\n"
|
||||
COMMANDS+="put jkt_001.png\n"
|
||||
COMMANDS+="cd /\n"
|
||||
COMMANDS+="umount\n"
|
||||
COMMANDS+="exit"
|
||||
echo -e "$COMMANDS" | sudo "${HELPER_DIR}/PFS Shell.elf" >> "${LOG_FILE}" 2>&1
|
||||
cd "${ASSETS_DIR}/WLE"
|
||||
sudo "${HELPER_DIR}/HDL Dump.elf" modify_header "${DEVICE}" PP.WLE >> "${LOG_FILE}" 2>&1
|
||||
fi
|
||||
|
||||
echo >> "${LOG_FILE}"
|
||||
echo "Updating WLaunchELF..." | tee -a "${LOG_FILE}"
|
||||
COMMANDS="device ${DEVICE}\n"
|
||||
COMMANDS+="mount PP.WLE\n"
|
||||
COMMANDS+="lcd '${ASSETS_DIR}/WLE'\n"
|
||||
COMMANDS+="rm WLE.KELF\n"
|
||||
COMMANDS+="put WLE.KELF\n"
|
||||
COMMANDS+="umount\n"
|
||||
COMMANDS+="exit"
|
||||
|
||||
echo -e "$COMMANDS" | sudo "${HELPER_DIR}/PFS Shell.elf" >> "${LOG_FILE}" 2>&1
|
||||
|
||||
# Check if PP.LAUNCHER exists and create it if not
|
||||
if ! sudo "${HELPER_DIR}/HDL Dump.elf" toc "${DEVICE}" | grep -q 'PP.LAUNCHER'; then
|
||||
echo >> "${LOG_FILE}"
|
||||
echo "Creating PP.LAUNCHER partition..." | tee -a "${LOG_FILE}"
|
||||
COMMANDS="device ${DEVICE}\n"
|
||||
COMMANDS+="mkpart PP.LAUNCHER 128M PFS\n"
|
||||
COMMANDS+="mount PP.LAUNCHER\n"
|
||||
COMMANDS+="mkdir res\n"
|
||||
COMMANDS+="umount\n"
|
||||
COMMANDS+="exit"
|
||||
echo -e "$COMMANDS" | sudo "${HELPER_DIR}/PFS Shell.elf" >> "${LOG_FILE}" 2>&1
|
||||
cd "${ASSETS_DIR}/LAUNCHER"
|
||||
sudo "${HELPER_DIR}/HDL Dump.elf" modify_header "${DEVICE}" PP.LAUNCHER >> "${LOG_FILE}" 2>&1
|
||||
fi
|
||||
|
||||
echo >> "${LOG_FILE}"
|
||||
echo "Updating OPL/Neutrino..." | tee -a "${LOG_FILE}"
|
||||
COMMANDS="device ${DEVICE}\n"
|
||||
COMMANDS+="mount PP.LAUNCHER\n"
|
||||
COMMANDS+="lcd '${ASSETS_DIR}'\n"
|
||||
COMMANDS+="rm launcher.KELF\n"
|
||||
COMMANDS+="put launcher.KELF\n"
|
||||
COMMANDS+="cd res\n"
|
||||
|
||||
if [ "$LAUNCHER" = "OPL" ]; then
|
||||
COMMANDS+="lcd OPL\n"
|
||||
COMMANDS+="rm info.sys\n"
|
||||
COMMANDS+="rm jkt_001.png\n"
|
||||
COMMANDS+="put info.sys\n"
|
||||
COMMANDS+="put jkt_001.png\n"
|
||||
COMMANDS+="cd /\n"
|
||||
COMMANDS+="rm nhddl.elf.lch\n"
|
||||
COMMANDS+="put OPNPS2LD.ELF.lch\n"
|
||||
elif [ "$LAUNCHER" = "NEUTRINO" ]; then
|
||||
COMMANDS+="lcd NHDDL\n"
|
||||
COMMANDS+="put info.sys\n"
|
||||
COMMANDS+="put jkt_001.png\n"
|
||||
COMMANDS+="cd /\n"
|
||||
COMMANDS+="rm OPNPS2LD.ELF.lch\n"
|
||||
COMMANDS+="put nhddl.elf.lch\n"
|
||||
fi
|
||||
|
||||
COMMANDS+="umount\n"
|
||||
|
||||
# Generate the Neutrino file list
|
||||
neutrino_config=$( { ls -1 "$NEUTRINO_DIR/config" | sort; } 2>> "${LOG_FILE}" )
|
||||
neutrino_modules=$( { ls -1 "$NEUTRINO_DIR/modules" | sort; } 2>> "${LOG_FILE}" )
|
||||
|
||||
COMMANDS+="rmpart +OPL\n"
|
||||
COMMANDS+="mkpart +OPL 128M PFS\n"
|
||||
COMMANDS+="mount +OPL\n"
|
||||
COMMANDS+="cd /\n"
|
||||
COMMANDS+="lcd '${ASSETS_DIR}'\n"
|
||||
COMMANDS+="put OPNPS2LD.ELF\n"
|
||||
COMMANDS+="put nhddl.elf\n"
|
||||
COMMANDS+="mkdir neutrino\n"
|
||||
COMMANDS+="cd neutrino\n"
|
||||
COMMANDS+="lcd '${NEUTRINO_DIR}'\n"
|
||||
COMMANDS+="put neutrino.elf\n"
|
||||
COMMANDS+="put version.txt\n"
|
||||
COMMANDS+="mkdir config\n"
|
||||
COMMANDS+="mkdir modules\n"
|
||||
COMMANDS+="cd config\n"
|
||||
COMMANDS+="lcd '${NEUTRINO_DIR}/config'\n"
|
||||
|
||||
# Add put commands for neutrino_config
|
||||
if [ -n "$neutrino_config" ]; then
|
||||
while IFS= read -r file; do
|
||||
COMMANDS+="put \"$file\"\n"
|
||||
done <<< "$neutrino_config"
|
||||
fi
|
||||
|
||||
COMMANDS+="cd ..\n"
|
||||
COMMANDS+="cd modules\n"
|
||||
COMMANDS+="lcd '${NEUTRINO_DIR}/modules'\n"
|
||||
|
||||
# Add put commands for neutrino_modules
|
||||
if [ -n "$neutrino_modules" ]; then
|
||||
while IFS= read -r file; do
|
||||
COMMANDS+="put \"$file\"\n"
|
||||
done <<< "$neutrino_modules"
|
||||
fi
|
||||
|
||||
COMMANDS+="cd /\n"
|
||||
COMMANDS+="umount\n"
|
||||
COMMANDS+="exit"
|
||||
|
||||
echo >> "${LOG_FILE}"
|
||||
echo -e "$COMMANDS" | sudo "${HELPER_DIR}/PFS Shell.elf" >> "${LOG_FILE}" 2>&1
|
||||
|
||||
# Activate the virtual environment
|
||||
source "./venv/bin/activate"
|
||||
sleep 5
|
||||
source ./venv/bin/activate 2>>"${LOG_FILE}"
|
||||
|
||||
# Check if activation was successful
|
||||
if [ $? -ne 0 ]; then
|
||||
@ -202,12 +407,55 @@ if [ $? -ne 0 ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "$LAUNCHER" = "NEUTRINO" ]; then
|
||||
if find "$GAMES_PATH/CD" "$GAMES_PATH/DVD" -type f \( -iname "*.zso" \) | grep -q .; then
|
||||
echo | tee -a "${LOG_FILE}"
|
||||
echo "Games in the compressed ZSO format have been found in the CD/DVD folder." | tee -a "${LOG_FILE}"
|
||||
echo "Neutrino does not support compressed ZSO files."
|
||||
echo
|
||||
echo "ZSO files will be converted to ISO files before proceeding."
|
||||
read -n 1 -s -r -p "Press any key to continue..."
|
||||
echo
|
||||
echo
|
||||
|
||||
while IFS= read -r -d '' zso_file; do
|
||||
iso_file="${zso_file%.*}.iso"
|
||||
echo "Converting: $zso_file -> $iso_file"
|
||||
|
||||
python3 "${HELPER_DIR}/ziso.py" -c 0 "$zso_file" "$iso_file"
|
||||
if [ "${PIPESTATUS[0]}" -ne 0 ]; then
|
||||
rm -f "$iso_file"
|
||||
echo "Error: Failed to uncompress $zso_file" | tee -a "${LOG_FILE}"
|
||||
read -n 1 -s -r -p "Press any key to exit..."
|
||||
echo
|
||||
exit 1 # Properly exits the main script
|
||||
fi
|
||||
|
||||
rm -f "$zso_file"
|
||||
done < <(find "$GAMES_PATH/CD" "$GAMES_PATH/DVD" -type f -iname "*.zso" -print0)
|
||||
fi
|
||||
fi
|
||||
|
||||
# Create games list of PS1 and PS2 games to be installed
|
||||
echo | tee -a "${LOG_FILE}"
|
||||
echo "Creating PS1 games list..."| tee -a "${LOG_FILE}"
|
||||
python3 ./helper/list-builder-ps1.py "${GAMES_PATH}" "${PS1_LIST}" | tee -a "${LOG_FILE}"
|
||||
echo "Creating PS2 games list..."| tee -a "${LOG_FILE}"
|
||||
python3 ./helper/list-builder-ps2.py "${GAMES_PATH}" "${PS2_LIST}" | tee -a "${LOG_FILE}"
|
||||
|
||||
echo "Creating PS1 games list..." | tee -a "${LOG_FILE}"
|
||||
python3 "${HELPER_DIR}/list-builder-ps1.py" "${GAMES_PATH}" "${PS1_LIST}" | tee -a "${LOG_FILE}"
|
||||
if [ "${PIPESTATUS[0]}" -ne 0 ]; then
|
||||
echo "Error: Failed to create PS1 games list." | tee -a "${LOG_FILE}"
|
||||
read -n 1 -s -r -p "Press any key to exit..."
|
||||
echo
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Creating PS2 games list..." | tee -a "${LOG_FILE}"
|
||||
python3 "${HELPER_DIR}/list-builder-ps2.py" "${GAMES_PATH}" "${PS2_LIST}" | tee -a "${LOG_FILE}"
|
||||
if [ "${PIPESTATUS[0]}" -ne 0 ]; then
|
||||
echo "Error: Failed to create PS2 games list." | tee -a "${LOG_FILE}"
|
||||
read -n 1 -s -r -p "Press any key to exit..."
|
||||
echo
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Deactivate the virtual environment
|
||||
deactivate
|
||||
@ -235,93 +483,10 @@ fi
|
||||
|
||||
echo "Games list successfully created."| tee -a "${LOG_FILE}"
|
||||
|
||||
# Delete old game partitions
|
||||
delete_partition=$(sudo "${TOOLKIT_PATH}"/helper/HDL\ Dump.elf toc "$DEVICE" | grep -o 'PP\.[^ ]\+' | grep -Ev '^(PP\.WLE|PP\.OPL|PP\.DISC)$')
|
||||
COMMANDS="device ${DEVICE}\n"
|
||||
|
||||
while IFS= read -r partition; do
|
||||
COMMANDS+="rmpart ${partition}\n"
|
||||
done <<< "$delete_partition"
|
||||
|
||||
COMMANDS+="exit"
|
||||
|
||||
echo -e "$COMMANDS" | sudo "${TOOLKIT_PATH}/helper/PFS Shell.elf" >> "${LOG_FILE}" 2>&1
|
||||
|
||||
|
||||
# Check if PP.DISC exists and create it if not
|
||||
if sudo "${TOOLKIT_PATH}"/helper/HDL\ Dump.elf toc "${DEVICE}" | grep -q 'PP.DISC'; then
|
||||
echo
|
||||
echo "PP.DISC exists." | tee -a "${LOG_FILE}"
|
||||
else
|
||||
echo "Installing Disc Launcher..." | tee -a "${LOG_FILE}"
|
||||
COMMANDS="device ${DEVICE}\n"
|
||||
COMMANDS+="rmpart PP.WLE\n"
|
||||
COMMANDS+="rmpart PP.OPL\n"
|
||||
COMMANDS+="mkpart PP.DISC 128M PFS\n"
|
||||
COMMANDS+="mount PP.DISC\n"
|
||||
COMMANDS+="lcd ${TOOLKIT_PATH}/assets/DISC\n"
|
||||
COMMANDS+="mkdir res\n"
|
||||
COMMANDS+="cd res\n"
|
||||
COMMANDS+="put info.sys\n"
|
||||
COMMANDS+="put jkt_001.png\n"
|
||||
COMMANDS+="cd ..\n"
|
||||
COMMANDS+="umount\n"
|
||||
COMMANDS+="exit"
|
||||
echo -e "$COMMANDS" | sudo "${TOOLKIT_PATH}/helper/PFS Shell.elf" >> "${LOG_FILE}" 2>&1
|
||||
cd "${TOOLKIT_PATH}/assets/DISC"
|
||||
sudo "${TOOLKIT_PATH}/helper/HDL Dump.elf" modify_header "${DEVICE}" PP.DISC >> "${LOG_FILE}" 2>&1
|
||||
fi
|
||||
|
||||
# Check if PP.WLE exists and create it if not
|
||||
if sudo "${TOOLKIT_PATH}"/helper/HDL\ Dump.elf toc "${DEVICE}" | grep -q 'PP.WLE'; then
|
||||
echo "PP.WLE exists." | tee -a "${LOG_FILE}"
|
||||
else
|
||||
echo "Installing WLE..." | tee -a "${LOG_FILE}"
|
||||
COMMANDS="device ${DEVICE}\n"
|
||||
COMMANDS+="rmpart PP.OPL\n"
|
||||
COMMANDS+="mkpart PP.WLE 128M PFS\n"
|
||||
COMMANDS+="mount PP.WLE\n"
|
||||
COMMANDS+="lcd ${TOOLKIT_PATH}/assets/WLE\n"
|
||||
COMMANDS+="put WLE.KELF\n"
|
||||
COMMANDS+="mkdir res\n"
|
||||
COMMANDS+="cd res\n"
|
||||
COMMANDS+="put info.sys\n"
|
||||
COMMANDS+="put jkt_001.png\n"
|
||||
COMMANDS+="cd ..\n"
|
||||
COMMANDS+="umount\n"
|
||||
COMMANDS+="exit"
|
||||
echo -e "$COMMANDS" | sudo "${TOOLKIT_PATH}/helper/PFS Shell.elf" >> "${LOG_FILE}" 2>&1
|
||||
cd "${TOOLKIT_PATH}/assets/WLE"
|
||||
sudo "${TOOLKIT_PATH}/helper/HDL Dump.elf" modify_header "${DEVICE}" PP.WLE >> "${LOG_FILE}" 2>&1
|
||||
fi
|
||||
|
||||
# Check if PP.OPL exists and create it if not
|
||||
if sudo "${TOOLKIT_PATH}"/helper/HDL\ Dump.elf toc "${DEVICE}" | grep -q 'PP.OPL'; then
|
||||
echo "PP.OPL exists." | tee -a "${LOG_FILE}"
|
||||
else
|
||||
echo "Installing OPL..." | tee -a "${LOG_FILE}"
|
||||
COMMANDS="device ${DEVICE}\n"
|
||||
COMMANDS+="mkpart PP.OPL 128M PFS\n"
|
||||
COMMANDS+="mount PP.OPL\n"
|
||||
COMMANDS+="lcd ${TOOLKIT_PATH}/assets\n"
|
||||
COMMANDS+="put OPL-Launcher-BDM.KELF\n"
|
||||
COMMANDS+="mkdir res\n"
|
||||
COMMANDS+="cd res\n"
|
||||
COMMANDS+="lcd OPL\n"
|
||||
COMMANDS+="put info.sys\n"
|
||||
COMMANDS+="put jkt_001.png\n"
|
||||
COMMANDS+="cd ..\n"
|
||||
COMMANDS+="umount\n"
|
||||
COMMANDS+="exit"
|
||||
echo -e "$COMMANDS" | sudo "${TOOLKIT_PATH}/helper/PFS Shell.elf" >> "${LOG_FILE}" 2>&1
|
||||
cd "${TOOLKIT_PATH}/assets"
|
||||
sudo "${TOOLKIT_PATH}/helper/HDL Dump.elf" modify_header "${DEVICE}" PP.OPL >> "${LOG_FILE}" 2>&1
|
||||
fi
|
||||
|
||||
# Function to find available space
|
||||
function function_space() {
|
||||
|
||||
output=$(sudo "${TOOLKIT_PATH}"/helper/HDL\ Dump.elf toc ${DEVICE} 2>&1)
|
||||
output=$(sudo "${HELPER_DIR}/HDL Dump.elf" toc ${DEVICE} 2>&1)
|
||||
|
||||
# Check for the word "aborting" in the output
|
||||
if echo "$output" | grep -q "aborting"; then
|
||||
@ -353,13 +518,17 @@ if [ "$count" -gt "$partition_count" ]; then
|
||||
|
||||
echo "Not enough space for $count partitions." | tee -a "${LOG_FILE}"
|
||||
echo "The first $partition_count games will appear in the PSBBN Game Channel" | tee -a "${LOG_FILE}"
|
||||
echo "Remaining PS2 games will appear in OPL only"
|
||||
echo "Remaining PS2 games will appear in OPL/NHDDL only"
|
||||
|
||||
# Overwrite master.list with the first $partition_count lines
|
||||
head -n "$partition_count" "$ALL_GAMES" > "${ALL_GAMES}.tmp"
|
||||
mv "${ALL_GAMES}.tmp" "$ALL_GAMES"
|
||||
fi
|
||||
|
||||
echo
|
||||
echo "master.list:" >> "${LOG_FILE}"
|
||||
cat "$ALL_GAMES" >> "${LOG_FILE}"
|
||||
|
||||
echo | tee -a "${LOG_FILE}"
|
||||
read -n 1 -s -r -p "Ready to install games. Press any key to continue..."
|
||||
echo
|
||||
@ -426,7 +595,7 @@ COMMANDS+="umount\n"
|
||||
COMMANDS+="exit"
|
||||
|
||||
# Get the PS1 file list directly from PFS Shell output, filtered and sorted
|
||||
ps1_files=$(echo -e "$COMMANDS" | sudo "${TOOLKIT_PATH}/helper/PFS Shell.elf" 2>/dev/null | grep -iE "\.vcd$|\.elf$" | sort)
|
||||
ps1_files=$(echo -e "$COMMANDS" | sudo "${HELPER_DIR}/PFS Shell.elf" 2>/dev/null | grep -iE "\.vcd$|\.elf$" | sort)
|
||||
|
||||
# Compute differences and store them in variables
|
||||
files_only_in_local=$(comm -23 <(echo "$local_files") <(echo "$ps1_files"))
|
||||
@ -473,7 +642,7 @@ if [ -n "$files_only_in_ps2" ] || [ -n "$files_only_in_local" ]; then
|
||||
|
||||
# Execute the combined commands with PFS Shell
|
||||
echo "Syncing PS1 games to HDD..." | tee -a "${LOG_FILE}"
|
||||
echo -e "$combined_commands" | sudo "${TOOLKIT_PATH}/helper/PFS Shell.elf" >> "${LOG_FILE}" 2>&1
|
||||
echo -e "$combined_commands" | sudo "${HELPER_DIR}/PFS Shell.elf" >> "${LOG_FILE}" 2>&1
|
||||
echo | tee -a "${LOG_FILE}"
|
||||
echo "PS1 games synced successfully." | tee -a "${LOG_FILE}"
|
||||
echo | tee -a "${LOG_FILE}"
|
||||
@ -483,6 +652,16 @@ else
|
||||
echo | tee -a "${LOG_FILE}"
|
||||
fi
|
||||
|
||||
# Check contents of __.POPS after sync
|
||||
COMMANDS="device ${DEVICE}\n"
|
||||
COMMANDS+="mount __.POPS\n"
|
||||
COMMANDS+="ls\n"
|
||||
COMMANDS+="umount\n"
|
||||
COMMANDS+="exit"
|
||||
|
||||
echo -e "$COMMANDS" | sudo "${HELPER_DIR}/PFS Shell.elf" >> "${LOG_FILE}" 2>&1
|
||||
echo >> "${LOG_FILE}"
|
||||
|
||||
# Syncing PS2 games
|
||||
echo "Mounting OPL partition" | tee -a "${LOG_FILE}"
|
||||
mkdir "${TOOLKIT_PATH}"/OPL 2>> "${LOG_FILE}"
|
||||
@ -516,9 +695,13 @@ sudo cp --update=none "${GAMES_PATH}/LNG/"* "${TOOLKIT_PATH}"/OPL/LNG >> "${LOG_
|
||||
sudo cp --update=none "${GAMES_PATH}/THM/"* "${TOOLKIT_PATH}"/OPL/THM >> "${LOG_FILE}" 2>&1
|
||||
sudo cp --update=none "${GAMES_PATH}/VMC/"* "${TOOLKIT_PATH}"/OPL/VMC >> "${LOG_FILE}" 2>&1
|
||||
echo | tee -a "${LOG_FILE}"
|
||||
echo "PS2 Games on PS2 drive:" >> "${LOG_FILE}"
|
||||
ls -1 "${TOOLKIT_PATH}/OPL/CD/" >> "${LOG_FILE}" 2>&1
|
||||
ls -1 "${TOOLKIT_PATH}/OPL/DVD/" >> "${LOG_FILE}" 2>&1
|
||||
echo "PS2 games successfully synced" | tee -a "${LOG_FILE}"
|
||||
echo | tee -a "${LOG_FILE}"
|
||||
echo "Unmounting OPL partition..." | tee -a "${LOG_FILE}"
|
||||
sleep 5
|
||||
sudo umount "${TOOLKIT_PATH}"/OPL
|
||||
|
||||
mkdir -p "${ARTWORK_DIR}/tmp" 2>> "${LOG_FILE}"
|
||||
@ -545,7 +728,7 @@ while IFS='|' read -r game_title game_id publisher disc_type file_name; do
|
||||
# If wget fails, run the art downloader
|
||||
[[ -f "$png_file" ]] && rm "$png_file"
|
||||
echo "Trying IGN for game ID: $game_id" | tee -a "${LOG_FILE}"
|
||||
node "${TOOLKIT_PATH}"/helper/art_downloader.js "$game_id" 2>&1 | tee -a "${LOG_FILE}"
|
||||
node "${HELPER_DIR}/art_downloader.js" "$game_id" 2>&1 | tee -a "${LOG_FILE}"
|
||||
fi
|
||||
fi
|
||||
done < "$ALL_GAMES"
|
||||
@ -604,12 +787,20 @@ while IFS='|' read -r game_title game_id publisher disc_type file_name; do
|
||||
game_dir="$ICONS_DIR/$game_id"
|
||||
mkdir -p "$game_dir" | tee -a "${LOG_FILE}"
|
||||
|
||||
# Determine the launcher value for this specific game
|
||||
if [[ "$disc_type" == "POPS" ]]; then
|
||||
launcher_value="POPS"
|
||||
else
|
||||
launcher_value="$LAUNCHER"
|
||||
fi
|
||||
|
||||
# Generate the launcher.cfg file
|
||||
launcher_cfg_filename="$game_dir/launcher.cfg"
|
||||
cat > "$launcher_cfg_filename" <<EOL
|
||||
file_name=$file_name
|
||||
title_id=$game_id
|
||||
disc_type=$disc_type
|
||||
launcher=$launcher_value
|
||||
EOL
|
||||
echo "Created launcher.cfg: $launcher_cfg_filename" | tee -a "${LOG_FILE}"
|
||||
|
||||
@ -664,7 +855,7 @@ echo "All .cfg, info.sys, and .png files have been created in their respective s
|
||||
echo | tee -a "${LOG_FILE}"
|
||||
echo "Installing game assets..." | tee -a "${LOG_FILE}"
|
||||
|
||||
cd "${TOOLKIT_PATH}/assets/"
|
||||
cd "${ASSETS_DIR}"
|
||||
|
||||
i=0
|
||||
# Reverse the lines of the file using tac and process each line
|
||||
@ -688,12 +879,12 @@ while IFS='|' read -r game_title game_id publisher disc_type file_name; do
|
||||
|
||||
COMMANDS+="mkpart ${PARTITION_LABEL} 128M PFS\n"
|
||||
COMMANDS+="mount ${PARTITION_LABEL}\n"
|
||||
COMMANDS+="cd ..\n"
|
||||
COMMANDS+="lcd ${TOOLKIT_PATH}/assets\n"
|
||||
COMMANDS+="put OPL-Launcher-BDM.KELF\n"
|
||||
COMMANDS+="cd /\n"
|
||||
COMMANDS+="lcd '${ASSETS_DIR}'\n"
|
||||
COMMANDS+="put bbnl.KELF\n"
|
||||
|
||||
# Navigate into the sub-directory named after the gameid
|
||||
COMMANDS+="lcd ${ICONS_DIR}/${game_id}\n"
|
||||
COMMANDS+="lcd '${ICONS_DIR}/${game_id}'\n"
|
||||
COMMANDS+="put 'launcher.cfg'\n"
|
||||
COMMANDS+="mkdir res\n"
|
||||
COMMANDS+="cd res\n"
|
||||
@ -703,42 +894,15 @@ while IFS='|' read -r game_title game_id publisher disc_type file_name; do
|
||||
COMMANDS+="exit\n"
|
||||
|
||||
echo "Creating $PARTITION_LABEL" | tee -a "${LOG_FILE}"
|
||||
echo -e "$COMMANDS" | sudo "${TOOLKIT_PATH}/helper/PFS Shell.elf" >> "${LOG_FILE}" 2>&1
|
||||
echo -e "$COMMANDS" | sudo "${HELPER_DIR}/PFS Shell.elf" >> "${LOG_FILE}" 2>&1
|
||||
|
||||
sudo "${TOOLKIT_PATH}/helper/HDL Dump.elf" modify_header "${DEVICE}" "${PARTITION_LABEL}" >> "${LOG_FILE}" 2>&1
|
||||
sudo "${HELPER_DIR}/HDL Dump.elf" modify_header "${DEVICE}" "${PARTITION_LABEL}" >> "${LOG_FILE}" 2>&1
|
||||
|
||||
function_space
|
||||
((i++))
|
||||
done < <(tac "$ALL_GAMES")
|
||||
|
||||
# Update OPL, Disc Launcher and WLE
|
||||
COMMANDS="device ${DEVICE}\n"
|
||||
COMMANDS+="lcd ${TOOLKIT_PATH}/assets\n"
|
||||
COMMANDS+="mount +OPL\n"
|
||||
COMMANDS+="cd ..\n"
|
||||
COMMANDS+="rm OPNPS2LD.ELF\n"
|
||||
COMMANDS+="put OPNPS2LD.ELF\n"
|
||||
COMMANDS+="umount\n"
|
||||
|
||||
COMMANDS+="mount PP.DISC\n"
|
||||
COMMANDS+="lcd ${TOOLKIT_PATH}/assets/DISC\n"
|
||||
COMMANDS+="rm disc-launcher.KELF\n"
|
||||
COMMANDS+="put disc-launcher.KELF\n"
|
||||
COMMANDS+="rm PS1VModeNeg.elf\n"
|
||||
COMMANDS+="put PS1VModeNeg.elf\n"
|
||||
COMMANDS+="umount\n"
|
||||
|
||||
COMMANDS+="mount PP.WLE\n"
|
||||
COMMANDS+="lcd ${TOOLKIT_PATH}/assets/WLE\n"
|
||||
COMMANDS+="rm WLE.KELF\n"
|
||||
COMMANDS+="put WLE.KELF\n"
|
||||
COMMANDS+="umount\n"
|
||||
|
||||
COMMANDS+="exit"
|
||||
|
||||
echo | tee -a "${LOG_FILE}"
|
||||
echo "Updating apps..." | tee -a "${LOG_FILE}"
|
||||
echo -e "$COMMANDS" | sudo "${TOOLKIT_PATH}/helper/PFS Shell.elf" >> "${LOG_FILE}" 2>&1
|
||||
# Submit missing artwork to the PSBBN Art Database
|
||||
|
||||
cp $MISSING_ART $ARTWORK_DIR/tmp >> "${LOG_FILE}" 2>&1
|
||||
|
||||
@ -770,7 +934,7 @@ echo | tee -a "${LOG_FILE}"
|
||||
echo "Cleaning up..." | tee -a "${LOG_FILE}"
|
||||
clean_up
|
||||
|
||||
sudo "${TOOLKIT_PATH}"/helper/HDL\ Dump.elf toc "$DEVICE" >> "${LOG_FILE}" 2>&1
|
||||
sudo "${HELPER_DIR}/HDL Dump.elf" toc "$DEVICE" >> "${LOG_FILE}" 2>&1
|
||||
echo | tee -a "${LOG_FILE}"
|
||||
echo "Game installer script complete." | tee -a "${LOG_FILE}"
|
||||
echo
|
||||
|
60
README.md
60
README.md
@ -5,10 +5,10 @@ This is the definitive English patch for Sony's "PlayStation Broadband Navigator
|
||||
You can find out more about the PSBBN software on [Wikipedia](https://en.wikipedia.org/wiki/PlayStation_Broadband_Navigator).
|
||||
|
||||
# Donations
|
||||
This project uses [webhook.site](https://webhook.site/) to automatically contribute game artwork and report missing artwork to the [PSBBN Art Database](https://github.com/CosmicScale/psbbn-art-database). I’m currently on a free account, which provides a temporary URL for seven days or 100 requests. As the project grows in popularity, we're exceeding the 100-request limit every few days. A paid subscription costs $9/month or $90/year, donations would help fund this.
|
||||
|
||||
If you appreciate my work and want to support the ongoing development of the PSBBN Definitive English Patch and other PS2-related projects, [you can donate to my Ko-Fi here](https://ko-fi.com/cosmicscale).
|
||||
|
||||
This project uses [webhook.site](https://webhook.site/) to automatically contribute game artwork and report missing artwork to the [PSBBN Art Database](https://github.com/CosmicScale/psbbn-art-database). As the project has grow in popularity, we're exceeding the limit offered by a free account. A paid subscription costs $9/month or $90/year, donations would help fund this.
|
||||
|
||||
## Video demonstration of PSBBN:
|
||||
|
||||
[](https://www.youtube.com/watch?v=kR1MVcAkW5M)
|
||||
@ -32,11 +32,11 @@ If you appreciate my work and want to support the ongoing development of the PSB
|
||||
- PS2 Linux is pre-installed. Just hold any button on the controller while PSBBN is starting to boot into Linux
|
||||
- Bandai and SCEI online channels have been added to the Game Channel
|
||||
- Some minor fixes to the English translation
|
||||
### Update:
|
||||
### Updates:
|
||||
- Added Game ID support for the Pixel FX Retro GEM. Works for both PS1 and PS2 games
|
||||
- PS2 games now launch up to 5 seconds faster
|
||||
- Resolved conflict with mass storage devices (USB, iLink, MX4SIO). Games now launch without issues if these devices are connected
|
||||
- OPL software now automatically updates when you sync your games
|
||||
- Apps now automatically update when you sync your games
|
||||
- The art downloader has been improved to grab significantly more artwork
|
||||
- Improved error handling in the PSBBN installer script
|
||||
- The setup script has been modified to work on live Linux environments without issues
|
||||
@ -46,12 +46,13 @@ If you appreciate my work and want to support the ongoing development of the PSB
|
||||
- Set USB keyboard layout to US English. Press `ALT+~` to toggle between kana and direct input
|
||||
- Minor corrections to the English translation
|
||||
- Added **Open PS2 Loader** and **Launch Disc** to the Game Channel
|
||||
- The Game Installer script has been updated to create and delete `OPL Launcher` partitions as needed. Say goodbye to those annoying "Coming soon..." placeholders!
|
||||
- The Game Installer script has been updated to create and delete game partitions as needed. Say goodbye to those annoying "Coming soon..." placeholders!
|
||||
- Files placed in the `CFG`, `CHT`, `LNG`, `THM`, and `APPS` folders on your PC will now be copied to the PS2 drive during game sync
|
||||
- Added Game ID support for MemCard Pro 2 and SD2PSX
|
||||
- The scripts now auto-update when an update is available
|
||||
- Optimised art work
|
||||
- Art downloads from IGN are now automatically contributed to the [PSBBN art database](https://github.com/CosmicScale/psbbn-art-database), and missing artwork is also automatically reported. Manual submissions are welcome, see the [PSBBN art database GitHub page](https://github.com/CosmicScale/psbbn-art-database) for details
|
||||
- Added Neutrino support
|
||||
|
||||
## New installation scripts
|
||||
|
||||
@ -61,7 +62,7 @@ These scripts are essential for unlocking all the new features exclusive to vers
|
||||
|
||||
[](https://www.youtube.com/watch?v=sHz0yKYybhk)
|
||||
|
||||
### It is highly recommended to install the scripts using the following command to enable automatic updates:
|
||||
<span style="font-size: 17px; font-weight: bold;">It is highly recommended to install the scripts using the following command to enable automatic updates:</span>
|
||||
```
|
||||
git clone https://github.com/CosmicScale/PSBBN-Definitive-English-Patch.git
|
||||
```
|
||||
@ -75,7 +76,6 @@ git clone https://github.com/CosmicScale/PSBBN-Definitive-English-Patch.git
|
||||
- Downloads and installs the latest version of the **PSBBN Definitive English Patch** from archive.org
|
||||
- Prompts for the desired size of the Music Partition
|
||||
- Prompts for the desired size of the POPS Partition
|
||||
- Installs a pre-release build of [Open PS2 Loader (OPL)](https://github.com/ps2homebrew/Open-PS2-Loader) with exFAT and Auto Launch support for BDM devices
|
||||
- Installs [POPStarter](https://bitbucket.org/ShaolinAssassin/popstarter-documentation-stuff/wiki/Home)
|
||||
- Runs [APA-Jail](#notes-on-apa-jail), creating an exFAT partition using all remaining disk space beyond the first 128 GB
|
||||
|
||||
@ -83,15 +83,16 @@ git clone https://github.com/CosmicScale/PSBBN-Definitive-English-Patch.git
|
||||
`03-Game-Installer.sh` fully automates the installation of PS1 and PS2 games. In the `games` folder on your computer, simply put your PS2 `ISO` or `ZSO` files in the `CD`/`DVD` folders, and your PS1 `VCD` files in the `POPS` folder.
|
||||
|
||||
The script will:
|
||||
- Gives you a choice of [Open PS2 Loader (OPL)](https://github.com/ps2homebrew/Open-PS2-Loader) or [Neutrino](https://github.com/rickgaiser/neutrino) for the game launcher
|
||||
- Synchronise the games on your PC with your PS2's drive
|
||||
- Create all game assets
|
||||
- Download artwork from the [PSBBN Art Database](https://github.com/CosmicScale/psbbn-art-database) or IGN if not found in the database
|
||||
- Automatically contribute game artwork from IGN and reports missing artwork to the [PSBBN Art Database](https://github.com/CosmicScale/psbbn-art-database)
|
||||
- Install [OPL Launcher BDM](https://github.com/CosmicScale/OPL-Launcher-BDM) into every game partition, making games bootable from the Game Channel
|
||||
- Install [BBN Launcher](https://github.com/pcm720/bbnl) into every game partition, making games bootable from the Game Channel
|
||||
|
||||
To add or delete games, simply add or remove them from the `games` folder on your computer, then run the script again to synchronise. All games are kept in alphabetical order and grouped by series in the Game Channel on PSBBN.
|
||||
|
||||
By default the `games` folder is located in the same directory you installed the scrips to. If you need to change the location of the `games` folder, edit `03-Game-Installer.sh` and modify the `GAMES_PATH` variable.
|
||||
By default the `games` folder is located in the same directory you installed the scripts to. If you need to change the location of the `games` folder, edit `03-Game-Installer.sh` and modify the `GAMES_PATH` variable.
|
||||
|
||||
|
||||
### General Notes:
|
||||
@ -100,7 +101,7 @@ By default the `games` folder is located in the same directory you installed the
|
||||
- PS2 games must be in ISO or ZSO format. PS1 games must be in VCD format
|
||||
- PSBBN startup time increases when no active internet connection is available
|
||||
- To quit PS1 games, press `L1 + SELECT + START`
|
||||
- To quit PS2 games, press `L1 + L2 + R1 + R2 + SELECT + START`
|
||||
- If you are using OPL as your game launcher, to quit PS2 games, press `L1 + L2 + R1 + R2 + SELECT + START` and to power off the console press `L1 + L2 + L3 + R1 + R2 + R3`
|
||||
- The `root` password for Linux is `password`. There is also a `ps2` user account with the password set as `password`
|
||||
|
||||
### Note on Retro GEM support:
|
||||
@ -124,32 +125,42 @@ Recommended usage:
|
||||
- Select **Launch Disc** from the menu
|
||||
|
||||
### Notes on OPL:
|
||||
[Open PS2 Loader (OPL)](https://github.com/ps2homebrew/Open-PS2-Loader) is a 100% Open source game and application loader for the PS2.
|
||||
- If you selected [Open PS2 Loader (OPL)](https://github.com/ps2homebrew/Open-PS2-Loader) as your game launcher, per-game settings assigned in OPL are reflected when launching games from the PSBBN Game Channel
|
||||
- If OPL freezes at startup and games fail to launch from the PSBBN Game Channel, delete any existing OPL configuration files from your PS2 Memory Cards or connected USB devices.
|
||||
- To display the games list in OPL, adjust the following settings:
|
||||
1. Settings > HDD (APA) Start Mode: Off
|
||||
2. Settings > BDM Start Mode: Auto
|
||||
3. Settings > BDM Devices > HDD (GPT/MBR): On
|
||||
- Make sure a PS2 memory card is inserted, then select `Save Changes` from the main menu.
|
||||
4. Make sure a PS2 memory card is inserted, then select `Save Changes` from the main menu.
|
||||
|
||||
### If, after trying the above steps, games still do not appear in the OPL games list and fail to launch from the PSBBN Game Channel, your combination of SATA mod and drive may not be currently compatible with the exFAT version of OPL.
|
||||
<span style="font-size: 17px; font-weight: bold;">If, after trying the above steps, games still do not appear in the OPL games list and fail to launch from the PSBBN Game Channel, your combination of SATA mod and drive may not be currently compatible with the exFAT version of OPL.</span>
|
||||
|
||||
Possible solutions:
|
||||
1. Wait for the OPL bug fix. You can learn more and report your issue [here](https://github.com/ps2homebrew/Open-PS2-Loader/issues/1437)
|
||||
2. Connect the PS2 HDD/SSD directly to your PC using an internal SATA connection or a different USB adapter, then rerun the PSBBN installer
|
||||
3. Try using a different HDD/SSD and rerun the PSBBN installer
|
||||
4. Try using a different SATA mod for your PS2
|
||||
5. Wait for the release of the PSBBN Neutrino Launcher
|
||||
**Solution:**
|
||||
Re-run `03-Game-Installer.sh` and select [Neutrino](https://github.com/rickgaiser/neutrino) as your game launcher
|
||||
|
||||
**Alternatively solutions:**
|
||||
1. Connect the PS2 HDD/SSD directly to your PC using an internal SATA connection or a different USB adapter, then re-run `02-PSBBN-Installer.sh`
|
||||
2. Try using a different HDD/SSD and re-run `02-PSBBN-Installer.sh`
|
||||
3. Try using a different SATA mod for your PS2
|
||||
4. Wait for the OPL bug fix. You can learn more and report your issue [here](https://github.com/ps2homebrew/Open-PS2-Loader/issues/1437)
|
||||
|
||||
### Notes on Neutrino and NHDDL:
|
||||
[Neutrino](https://github.com/rickgaiser/neutrino) is a lightweight device emulator for PS2. [NHDDL](https://github.com/pcm720/nhddl) is a frontend for Neutrino.
|
||||
- If you selected [Neutrino](https://github.com/rickgaiser/neutrino) as your game launcher, per-game settings assigned in [NHDDL](https://github.com/pcm720/nhddl) are reflected when launching games from the PSBBN Game Channel
|
||||
- [Neutrino](https://github.com/rickgaiser/neutrino) does not support compressed `ZSO` files. If `ZSO` files are found in your `games` folder, they will be automatically uncompressed to `ISO` files by the `03-Game-Installer.sh` script
|
||||
- If PS2 games are not displayed in [NHDDL](https://github.com/pcm720/nhddl) and fail to launch from the PSBBN Game Channel, connect the PS2 HDD/SSD directly to your PC using an internal SATA connection or a different USB adapter, then re-run `02-PSBBN-Installer.sh`
|
||||
|
||||
### Notes on APA-Jail:
|
||||
APA-Jail, created and developed by [Berion](https://www.psx-place.com/resources/authors/berion.1431/), enables the PS2's APA partitions to coexist with an exFAT partition. This setup allows PSBBN to access the first 128 GB of the HDD/SSD directly. The remaining space on the drive is formatted as an exFAT partition, which can be accessed directly on a PC and on the PS2 by the [pre-release build of Open PS2 Loader](https://github.com/ps2homebrew/Open-PS2-Loader). PS2 games in the `ISO` or `ZSO` format are stored on the exFAT partition.
|
||||
APA-Jail, created and developed by [Berion](https://www.psx-place.com/resources/authors/berion.1431/), enables the PS2's APA partitions to coexist with an exFAT partition. This setup allows PSBBN to access the first 128 GB of the HDD/SSD directly. The remaining space on the drive is formatted as an exFAT partition, which can be accessed directly on a PC and on the PS2 by the [pre-release build of Open PS2 Loader](https://github.com/ps2homebrew/Open-PS2-Loader) and [Neutrino](https://github.com/rickgaiser/neutrino). PS2 games in the `ISO` or `ZSO` format are stored on the exFAT partition.
|
||||
|
||||

|
||||

|
||||
|
||||
An application called [OPL Launcher BDM](https://github.com/CosmicScale/OPL-Launcher-BDM) resides on the APA partitions, along with the [pre-release build of Open PS2 Loader](https://github.com/ps2homebrew/Open-PS2-Loader).
|
||||
An application called [BBN Launcher](https://github.com/pcm720/bbnl) resides on the APA partitions, along with the [pre-release build of Open PS2 Loader](https://github.com/ps2homebrew/Open-PS2-Loader) or [Neutrino](https://github.com/rickgaiser/neutrino).
|
||||
|
||||
[OPL Launcher BDM](https://github.com/CosmicScale/OPL-Launcher-BDM) directs [Open PS2 Loader](https://github.com/ps2homebrew/Open-PS2-Loader) to launch specific PS2 games.
|
||||
[BBN Launcher](https://github.com/pcm720/bbnl) directs [Open PS2 Loader](https://github.com/ps2homebrew/Open-PS2-Loader) or [Neutrino](https://github.com/rickgaiser/neutrino) to launch specific PS2 games.
|
||||
|
||||
### Warning: Creating new partitions manually on your PS2 drive may lead to drive corruption.
|
||||
### Warning: Creating new partitions manually on your PS2 drive (e.g., with wLaunchELF) and exceeding the 128 GB limit will cause drive corruption.
|
||||
|
||||
## Credits
|
||||
- PSBBN Definitive English Patch by [CosmicScale](https://github.com/CosmicScale)
|
||||
@ -160,8 +171,9 @@ An application called [OPL Launcher BDM](https://github.com/CosmicScale/OPL-Laun
|
||||
- `01-Setup.sh`, `02-PSBBN-Installer.sh`, `03-Game-Installer.sh`, `art_downloader.js` written by [CosmicScale](https://github.com/CosmicScale)
|
||||
- Contains code from `list_builder.py` from [XEB+ neutrino Launcher Plugin](https://github.com/sync-on-luma/xebplus-neutrino-loader-plugin) by [sync-on-luma](https://github.com/sync-on-luma), modified by [CosmicScale](https://github.com/CosmicScale)
|
||||
- Contains data from `TitlesDB_PS1_English.txt` and `TitlesDB_PS2_English.txt` from the [Title Database Scrapper](https://github.com/GDX-X/Title-Database-Scrapper), modified by [CosmicScale](https://github.com/CosmicScale)
|
||||
- [OPL Launcher BDM](https://github.com/CosmicScale/OPL-Launcher-BDM) written by [CosmicScale](https://github.com/CosmicScale)
|
||||
- [BBN Launcher](https://github.com/pcm720/bbnl) written by [pcm720](https://github.com/pcm720) and [CosmicScale](https://github.com/CosmicScale)
|
||||
- [Open PS2 Loader](https://github.com/ps2homebrew/Open-PS2-Loader) with BDM contributions from [KrahJohlito](https://github.com/KrahJohlito) and Auto Launch modifications by [CosmicScale](https://github.com/CosmicScale)
|
||||
- [NHDDL](https://github.com/pcm720/nhddl) written by [pcm720](https://github.com/pcm720)
|
||||
- [Retro GEM Disc Launcher](https://github.com/CosmicScale/Retro-GEM-PS2-Disc-Launcher) written by [CosmicScale](https://github.com/CosmicScale)
|
||||
- Uses APA-Jail code from the [PS2 HDD Decryption Helper](https://www.psx-place.com/resources/ps2-hdd-decryption-helper.1507/) by [Berion](https://www.psx-place.com/resources/authors/berion.1431/)
|
||||
- `APA Partition Header Checksumer` by Pinky from the [PS2 HDD Decryption Helper](https://www.psx-place.com/resources/ps2-hdd-decryption-helper.1507/) project. Linux port by Bucanero
|
||||
|
18
assets/LAUNCHER/icon.sys
Normal file
18
assets/LAUNCHER/icon.sys
Normal file
@ -0,0 +1,18 @@
|
||||
PS2X
|
||||
title0=Homebrew Launcher
|
||||
title1=
|
||||
bgcola=0
|
||||
bgcol0=0,0,0
|
||||
bgcol1=0,0,0
|
||||
bgcol2=0,0,0
|
||||
bgcol3=0,0,0
|
||||
lightdir0=1.0,-1.0,1.0
|
||||
lightdir1=-1.0,1.0,-1.0
|
||||
lightdir2=0.0,0.0,0.0
|
||||
lightcolamb=64,64,64
|
||||
lightcol0=64,64,64
|
||||
lightcol1=16,16,16
|
||||
lightcol2=0,0,0
|
||||
uninstallmes0=
|
||||
uninstallmes1=
|
||||
uninstallmes2=
|
BIN
assets/LAUNCHER/list.ico
Normal file
BIN
assets/LAUNCHER/list.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 46 KiB |
4
assets/LAUNCHER/system.cnf
Normal file
4
assets/LAUNCHER/system.cnf
Normal file
@ -0,0 +1,4 @@
|
||||
BOOT2 = pfs:/launcher.KELF
|
||||
VER = 1.01
|
||||
VMODE = NTSC
|
||||
HDDUNITPOWER = NICHDD
|
21
assets/NHDDL/info.sys
Normal file
21
assets/NHDDL/info.sys
Normal file
@ -0,0 +1,21 @@
|
||||
title = NHDDL
|
||||
title_id =
|
||||
title_sub_id = 0
|
||||
release_date =
|
||||
developer_id =
|
||||
publisher_id =
|
||||
note =
|
||||
content_web =
|
||||
image_topviewflag = 0
|
||||
image_type = 0
|
||||
image_count = 1
|
||||
image_viewsec = 600
|
||||
copyright_viewflag = 1
|
||||
copyright_imgcount = 1
|
||||
genre =
|
||||
parental_lock = 1
|
||||
effective_date = 0
|
||||
expire_date = 0
|
||||
violence_flag = 0
|
||||
content_type = 255
|
||||
content_subtype = 0
|
BIN
assets/NHDDL/jkt_001.png
Normal file
BIN
assets/NHDDL/jkt_001.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 6.1 KiB |
0
assets/NHDDL/nhddl.elf.lch
Normal file
0
assets/NHDDL/nhddl.elf.lch
Normal file
Binary file not shown.
0
assets/OPL/OPNPS2LD.ELF.lch
Normal file
0
assets/OPL/OPNPS2LD.ELF.lch
Normal file
BIN
assets/bbnl.KELF
Executable file
BIN
assets/bbnl.KELF
Executable file
Binary file not shown.
@ -1,5 +1,5 @@
|
||||
PS2X
|
||||
title0=OPL Launcher BDM
|
||||
title0=BBNL
|
||||
title1=
|
||||
bgcola=0
|
||||
bgcol0=0,0,0
|
||||
|
BIN
assets/launcher.KELF
Executable file
BIN
assets/launcher.KELF
Executable file
Binary file not shown.
179
assets/neutrino/README.md
Normal file
179
assets/neutrino/README.md
Normal file
@ -0,0 +1,179 @@
|
||||
# neutrino
|
||||
Small, Fast and Modular PS2 Device Emulator
|
||||
|
||||
## Design
|
||||
A neutrino is a particle with almost zero mass, and that's what this device emulator's primary goal is. To have almost 0 mass when emulating devices to maximize compatibility.
|
||||
|
||||
Neutrino also does not have a user interface, instead it's meant to be integrated as a backend to a frontend (user interface). This makes neutrino much more easy to maintain, and allows many more applications to be made using neutrino as the backend.
|
||||
|
||||
With neutrino all modules are... modular. They are in a separate folder called `modules`. This allows the user add new and improved modules. What modules are loaded is fully configurable using TOML config files in the `config` folder.
|
||||
|
||||
## Environments
|
||||
An environment in neutrino describes what IOP modules are loaded and defines what features the environment has. In neutrino there are 3 environments:
|
||||
- Boot Environment (BE): environment neutrino is loaded from (by uLE / ps2link / ...), containing neutrino, configuration files and drivers
|
||||
- Load Environment (LE): neutrino's loader.elf reboots into the LE, containing virtual disk images
|
||||
- Emulation Environment (EE): neutrino's ee_core.elf reboots into the EE, emulating devices
|
||||
|
||||
## Backing Store Driver
|
||||
A backing store driver provides a storage location for storing virtual disk images. For instance of DVD's, HDD's or MC's.
|
||||
The following backing storage devices are supported:
|
||||
Device | PS2 model | Speed | Device comp. | Type | bsd | internal
|
||||
-------------------|------------|-----------------------------------------------------------|------------------------------------|--------------|----------|-----
|
||||
USB | FAT + 70k | |  | Block Device | `usb` | `usb`
|
||||
USB | slim | |  | Block Device | `usb` | `usb`
|
||||
MX4SIO | slim | |  | Block Device | `mx4sio` | `sdc`
|
||||
MMCE | slim | |  | File System | `mmce` | -
|
||||
MX4SIO | FAT + 70k | |  | Block Device | `mx4sio` | `sdc`
|
||||
MMCE | FAT + 70k | |  | File System | `mmce` | -
|
||||
iLink / IEEE1394 | FAT | |  | Block Device | `ilink` | `sd`
|
||||
UDPBD | ALL | |  | Block Device | `udpbd` | `udp`
|
||||
ATA (internal HDD) | FAT | |  | Block Device | `ata` | `ata`
|
||||
|
||||
PS2 model: The older FAT PS2 models and the first slim PS2 model (70k) have the original PS1 MIPS R3000 CPU. Later slim PS2 models have a new CPU with 'DECKARD' emulating the MIPS R3000. This is why there is a speed difference between those two groups of PS2 models.
|
||||
|
||||
Speed: USB, MX4SIO and MMCE have been tested with neutrino v1.5.0. The other speeds are based on older tests and should serve as an indication. For proper emulation of the ps2 DVD drive a speed of at least 2.2MB/s is needed. The slower the speed, the more likely video's will stutter. Due to game-bugs, some games will not even run if the device is too slow.
|
||||
|
||||
"Device comp.": how many devices will work with neutrino. For instance most USB sticks work, but some (mostly USB3.0 sticks) don't work. With mx4sio, many SD cards are not compatible, etc... Don't hold these values for fact, they are based on my personal observations and should give you an indication on what devices would fit your need.
|
||||
|
||||
On "Block Devices" the following partitioning schemes are supported:
|
||||
- MBR (Master Boot Record)
|
||||
- GPT (GUID Partition Table)
|
||||
|
||||
And the following file systems:
|
||||
- exFat/FAT32, accessable as `mass:<file>.iso`
|
||||
- HDLoader, accessable as `hdl:<file>`, `hdl:<file>.iso`, `hdl:<part>` or `hdl:<part>.iso`
|
||||
- Block Devices, accessable as `bdfs:<blockdevice>`. Like `bdfs:udp0p0`
|
||||
|
||||
Note that the HDLoader backing store is currently read-ony, and limited to only emulating the DVD.
|
||||
|
||||
## CD/DVD emulation
|
||||
The following CD/DVD emulation drivers are supported:
|
||||
- No: using original CD's / DVD's in the optical drive
|
||||
- ESR: using ESR patched DVD's in the optical drive
|
||||
- File: using an iso file from the backing store
|
||||
|
||||
## ATA HDD emulation
|
||||
The following HDD emulation drivers are supported:
|
||||
- No: using ATA HDD in the PS2
|
||||
- File: using a virtual HDD image file from the backing store
|
||||
|
||||
## Usage instructions
|
||||
Neutrino is a command line application. To get the most out of neutrino you will need to run it from the command line, for instance using [ps2link](https://github.com/ps2dev/ps2link) and [ps2client](https://github.com/ps2dev/ps2client).
|
||||
|
||||
Alternatively you can use a more user friendly GUI from one of the third-party projects (see below), but with a limited feature set.
|
||||
|
||||
Command line usage instructions:
|
||||
|
||||
```
|
||||
Usage: neutrino.elf options
|
||||
|
||||
Options:
|
||||
-bsd=<driver> Backing store drivers, supported are:
|
||||
- no (uses cdvd, default)
|
||||
- ata (block device)
|
||||
- usb (block device)
|
||||
- mx4sio (block device)
|
||||
- udpbd (block device)
|
||||
- ilink (block device)
|
||||
- mmce (file system)
|
||||
|
||||
-bsdfs=<driver> Backing store fileystem drivers used for block device, supported are:
|
||||
- exfat (default)
|
||||
- hdl (HD Loader)
|
||||
- bd (Block Device)
|
||||
NOTE: Used only for block devices (see -bsd)
|
||||
|
||||
-dvd=<mode> DVD emulation mode, supported are:
|
||||
- no (default)
|
||||
- esr
|
||||
- <file>
|
||||
|
||||
-ata0=<mode> ATA HDD 0 emulation mode, supported are:
|
||||
- no (default)
|
||||
- <file>
|
||||
NOTE: only both emulated, or both real.
|
||||
mixing not possible
|
||||
-ata0id=<mode> ATA 0 HDD ID emulation mode, supported are:
|
||||
- no (default)
|
||||
- <file>
|
||||
NOTE: only supported if ata0 is present
|
||||
-ata1=<mode> See -ata0=<mode>
|
||||
|
||||
-mc0=<mode> MC0 emulation mode, supported are:
|
||||
- no (default)
|
||||
- <file>
|
||||
-mc1=<mode> See -mc0=<mode>
|
||||
|
||||
-elf=<file> ELF file to boot, supported are:
|
||||
- auto (elf file from cd/dvd) (default)
|
||||
- <file>
|
||||
|
||||
-mt=<type> Select media type, supported are:
|
||||
- cd
|
||||
- dvd
|
||||
Defaults to cd for size<=650MiB, and dvd for size>650MiB
|
||||
|
||||
-gc=<compat> Game compatibility modes, supported are:
|
||||
- 0: IOP: Fast reads (sceCdRead)
|
||||
- 1: dummy
|
||||
- 2: IOP: Sync reads (sceCdRead)
|
||||
- 3: EE : Unhook syscalls
|
||||
- 5: IOP: Emulate DVD-DL
|
||||
- 7: IOP: Fix game buffer overrun
|
||||
Multiple options possible, for example -gc=23
|
||||
|
||||
-gsm=x:y:z GS video mode
|
||||
|
||||
Parameter x = Interlaced field mode
|
||||
A full height buffer is used by the game for displaying. Force video output to:
|
||||
- : don't force (default) (480i/576i)
|
||||
- fp : force progressive scan (480p/576p)
|
||||
|
||||
Parameter y = Interlaced frame mode
|
||||
A half height buffer is used by the game for displaying. Force video output to:
|
||||
- : don't force (default) (480i/576i)
|
||||
- fp1 : force progressive scan (240p/288p)
|
||||
- fp2 : force progressive scan (480p/576p line doubling)
|
||||
|
||||
Parameter z = Compatibility mode
|
||||
- : no compatibility mode (default)
|
||||
- 1 : field flipping type 1 (GSM/OPL)
|
||||
- 2 : field flipping type 2
|
||||
- 3 : field flipping type 3
|
||||
|
||||
Examples:
|
||||
-gsm=fp - recommended mode
|
||||
-gsm=fp::1 - recommended mode, with compatibility 1
|
||||
-gsm=fp:fp2:2 - all parameters
|
||||
|
||||
-cwd=<path> Change working directory
|
||||
|
||||
-cfg=<file> Load extra user/game specific config file (without .toml extension)
|
||||
|
||||
-logo Enable logo (adds rom0:PS2LOGO to arguments)
|
||||
-qb Quick-Boot directly into load environment
|
||||
|
||||
--b Break, all following parameters are passed to the ELF
|
||||
|
||||
Usage examples:
|
||||
neutrino.elf -bsd=usb -dvd=mass:path/to/filename.iso
|
||||
neutrino.elf -bsd=mx4sio -dvd=mass:path/to/filename.iso
|
||||
neutrino.elf -bsd=mmce -dvd=mmce:path/to/filename.iso
|
||||
neutrino.elf -bsd=ilink -dvd=mass:path/to/filename.iso
|
||||
neutrino.elf -bsd=udpbd -dvd=mass:path/to/filename.iso
|
||||
neutrino.elf -bsd=ata -dvd=mass:path/to/filename.iso
|
||||
neutrino.elf -bsd=ata -dvd=hdl:filename.iso -bsdfs=hdl
|
||||
neutrino.elf -bsd=udpbd -dvd=bdfs:udp0p0 -bsdfs=bd
|
||||
```
|
||||
|
||||
## Third-Party Loaders
|
||||
The following third-party projects use neutrino:
|
||||
|
||||
Loader | Author
|
||||
-|-
|
||||
[XEB+ neutrino Launcher Plugin](https://github.com/sync-on-luma/xebplus-neutrino-loader-plugin) | sync-on-luma
|
||||
[NHDDL](https://github.com/pcm720/nhddl) | pcm720
|
||||
[RETROLauncher](https://github.com/Spaghetticode-Boon-Tobias/RETROLauncher) | Boon Tobias
|
||||
[OSD-XMB](https://github.com/HiroTex/OSD-XMB) | Hiro Tex
|
||||
|
||||
Add your project here? Send me a PR.
|
17
assets/neutrino/config/bsd-ata.toml
Normal file
17
assets/neutrino/config/bsd-ata.toml
Normal file
@ -0,0 +1,17 @@
|
||||
# Name of loaded config, to show to user
|
||||
name = "ATA HDD BDM driver"
|
||||
|
||||
# Drivers this driver depends on (config file must exist)
|
||||
depends = ["i_bdm", "i_dev9_ns"]
|
||||
|
||||
# Modules to load
|
||||
[[module]]
|
||||
file = "ata_bd.irx"
|
||||
env = ["LE", "EE"]
|
||||
|
||||
# Modules of the game that are faked/blocked
|
||||
[[fake]]
|
||||
file = "ATAD.IRX"
|
||||
name = "atad_driver"
|
||||
version = 0x0207
|
||||
startrv = 0 # 0=RESIDENT_END, 1=NO_RESIDENT_END, 2=REMOVABLE_END
|
20
assets/neutrino/config/bsd-ilink.toml
Normal file
20
assets/neutrino/config/bsd-ilink.toml
Normal file
@ -0,0 +1,20 @@
|
||||
# Name of loaded config, to show to user
|
||||
name = "iLink/FireWire/IEEE1394 BDM driver"
|
||||
|
||||
# Drivers this driver depends on (config file must exist)
|
||||
depends = ["i_bdm"]
|
||||
|
||||
# Modules to load
|
||||
[[module]]
|
||||
file = "iLinkman.irx"
|
||||
env = ["LE", "EE"]
|
||||
[[module]]
|
||||
file = "IEEE1394_bd_mini.irx"
|
||||
env = ["LE", "EE"]
|
||||
|
||||
# Modules of the game that are faked/blocked
|
||||
[[fake]]
|
||||
file = "ILINK.IRX"
|
||||
name = "iLINK_HW_Manager" # is this correct?
|
||||
version = 0x0202 # is this correct?
|
||||
startrv = 2 # 0=RESIDENT_END, 1=NO_RESIDENT_END, 2=REMOVABLE_END # is this correct?
|
17
assets/neutrino/config/bsd-mmce.toml
Normal file
17
assets/neutrino/config/bsd-mmce.toml
Normal file
@ -0,0 +1,17 @@
|
||||
# Name of loaded config, to show to user
|
||||
name = "MMCEDRV"
|
||||
|
||||
[[module]]
|
||||
file = "iomanX.irx"
|
||||
env = ["LE"]
|
||||
[[module]]
|
||||
file = "fileXio.irx"
|
||||
env = ["LE"]
|
||||
[[module]]
|
||||
file = "mmceman.irx"
|
||||
env = ["LE"]
|
||||
|
||||
[[module]]
|
||||
file = "mmcefhi.irx"
|
||||
func = "FHI_FILEID"
|
||||
env = ["EE"]
|
10
assets/neutrino/config/bsd-mx4sio.toml
Normal file
10
assets/neutrino/config/bsd-mx4sio.toml
Normal file
@ -0,0 +1,10 @@
|
||||
# Name of loaded config, to show to user
|
||||
name = "MX4SIO in MC2 BDM driver"
|
||||
|
||||
# Drivers this driver depends on (config file must exist)
|
||||
depends = ["i_bdm"]
|
||||
|
||||
# Modules to load
|
||||
[[module]]
|
||||
file = "mx4sio_bd_mini.irx"
|
||||
env = ["LE", "EE"]
|
29
assets/neutrino/config/bsd-udpbd-hdd.toml
Normal file
29
assets/neutrino/config/bsd-udpbd-hdd.toml
Normal file
@ -0,0 +1,29 @@
|
||||
# Name of loaded config, to show to user
|
||||
name = "UDPBD BDM driver with HDD support"
|
||||
|
||||
# Drivers this driver depends on (config file must exist)
|
||||
depends = ["i_bdm", "i_dev9_ns"]
|
||||
|
||||
# Modules to load
|
||||
[[module]]
|
||||
file = "smap_udpbd.irx"
|
||||
args = ["ip=192.168.1.10"]
|
||||
env = ["LE", "EE"]
|
||||
|
||||
# Faking strategy
|
||||
# ---------------
|
||||
# To allow games to use hdd:
|
||||
# - dev9 (no-shutdown) is resident, and can be used by hdd modules
|
||||
# - all networking modules are faked (we hope they are not used)
|
||||
[[fake]]
|
||||
file = "ENT_SMAP.IRX"
|
||||
name = "ent_smap"
|
||||
version = 0x021f
|
||||
loadrv = 0 # 0=ok, -xxx=error code (module not loaded)
|
||||
startrv = 2 # 0=RESIDENT_END, 1=NO_RESIDENT_END, 2=REMOVABLE_END
|
||||
[[fake]]
|
||||
file = "SMAP.IRX"
|
||||
name = "INET_SMAP_driver"
|
||||
version = 0x0219
|
||||
loadrv = 0 # 0=ok, -xxx=error code (module not loaded)
|
||||
startrv = 2 # 0=RESIDENT_END, 1=NO_RESIDENT_END, 2=REMOVABLE_END
|
30
assets/neutrino/config/bsd-udpbd.toml
Normal file
30
assets/neutrino/config/bsd-udpbd.toml
Normal file
@ -0,0 +1,30 @@
|
||||
# Name of loaded config, to show to user
|
||||
name = "UDPBD BDM driver"
|
||||
|
||||
# Drivers this driver depends on (config file must exist)
|
||||
depends = ["i_bdm", "i_dev9_hidden"]
|
||||
|
||||
# Modules to load
|
||||
[[module]]
|
||||
file = "smap_udpbd.irx"
|
||||
args = ["ip=192.168.1.10"]
|
||||
env = ["LE", "EE"]
|
||||
|
||||
# Faking strategy
|
||||
# ---------------
|
||||
# To prevent games from trying to use networing:
|
||||
# - we try to simulate that there is no dev9 hardware present:
|
||||
# - dev9 returns NO_RESIDENT_END, module is hidden
|
||||
# - all modules depending on dev9 fail to load becouse dev9 is not resident
|
||||
[[fake]]
|
||||
file = "ENT_SMAP.IRX"
|
||||
name = "ent_smap"
|
||||
version = 0x021f
|
||||
loadrv = -200 # KE_LINKERR becouse dev9 does not exist
|
||||
startrv = 1 # 0=RESIDENT_END, 1=NO_RESIDENT_END, 2=REMOVABLE_END
|
||||
[[fake]]
|
||||
file = "SMAP.IRX"
|
||||
name = "INET_SMAP_driver"
|
||||
version = 0x0219
|
||||
loadrv = -200 # KE_LINKERR becouse dev9 does not exist
|
||||
startrv = 1 # 0=RESIDENT_END, 1=NO_RESIDENT_END, 2=REMOVABLE_END
|
68
assets/neutrino/config/bsd-usb-debug.toml
Normal file
68
assets/neutrino/config/bsd-usb-debug.toml
Normal file
@ -0,0 +1,68 @@
|
||||
# Name of loaded config, to show to user
|
||||
name = "USB BDM driver - with UDPTTY debugging"
|
||||
|
||||
# Drivers this driver depends on (config file must exist)
|
||||
depends = ["i_bdm", "i_dev9_hidden"]
|
||||
|
||||
# Modules to load
|
||||
[[module]]
|
||||
file = "smap_udptty.irx"
|
||||
args = ["ip=192.168.1.10"]
|
||||
env = ["LE", "EE"]
|
||||
[[module]]
|
||||
file = "usbd_mini.irx"
|
||||
# Modules that emulate the sceCdRead function must operate at a higher
|
||||
# priority than the highest possible game priority.
|
||||
#
|
||||
# If the priority is lower (higher number) then some games will wait in
|
||||
# and endless loop for data, but the waiting thread will then cause the
|
||||
# data to never be processed.
|
||||
#
|
||||
# This causes some games to 'need' MODE2 (sync reads) to work.
|
||||
#
|
||||
# Supported parameters:
|
||||
# - dev = maxDevices
|
||||
# - ed = maxEndpoints
|
||||
# - gtd = maxTransfDesc
|
||||
# - itd = maxIsoTransfDesc
|
||||
# - ioreq = maxIoReqs
|
||||
# - conf = maxStaticDescSize
|
||||
# - hub = maxHubDevices
|
||||
# - port = maxPortsPerHub
|
||||
# - thpri = hcdThreadPrio,cbThreadPrio
|
||||
# USBD defaults
|
||||
#args = ["dev=32", "ed=64", "gtd=128", "itd=128", "hub=8", "port=8", "thpri=7,8"]
|
||||
# USBD defaults for 'mini' driver
|
||||
args = ["thpri=7,8"]
|
||||
# Save 13KiB IOP RAM extra compared to 'mini'
|
||||
#args = ["dev=4", "ed=8", "gtd=16", "itd=16", "hub=2", "port=4", "thpri=7,8"]
|
||||
env = ["LE", "EE"]
|
||||
[[module]]
|
||||
file = "usbmass_bd_mini.irx"
|
||||
env = ["LE", "EE"]
|
||||
|
||||
# Modules of the game that are faked/blocked
|
||||
[[fake]]
|
||||
file = "USBD.IRX"
|
||||
name = "USB_driver"
|
||||
version = 0x0204
|
||||
startrv = 2 # 0=RESIDENT_END, 1=NO_RESIDENT_END, 2=REMOVABLE_END
|
||||
|
||||
# Faking strategy
|
||||
# ---------------
|
||||
# To prevent games from trying to use networing:
|
||||
# - we try to simulate that there is no dev9 hardware present:
|
||||
# - dev9 returns NO_RESIDENT_END, module is hidden
|
||||
# - all modules depending on dev9 fail to load becouse dev9 is not resident
|
||||
[[fake]]
|
||||
file = "ENT_SMAP.IRX"
|
||||
name = "ent_smap"
|
||||
version = 0x021f
|
||||
loadrv = -200 # KE_LINKERR becouse dev9 does not exist
|
||||
startrv = 1 # 0=RESIDENT_END, 1=NO_RESIDENT_END, 2=REMOVABLE_END
|
||||
[[fake]]
|
||||
file = "SMAP.IRX"
|
||||
name = "INET_SMAP_driver"
|
||||
version = 0x0219
|
||||
loadrv = -200 # KE_LINKERR becouse dev9 does not exist
|
||||
startrv = 1 # 0=RESIDENT_END, 1=NO_RESIDENT_END, 2=REMOVABLE_END
|
45
assets/neutrino/config/bsd-usb.toml
Normal file
45
assets/neutrino/config/bsd-usb.toml
Normal file
@ -0,0 +1,45 @@
|
||||
# Name of loaded config, to show to user
|
||||
name = "USB BDM driver"
|
||||
|
||||
# Drivers this driver depends on (config file must exist)
|
||||
depends = ["i_bdm"]
|
||||
|
||||
# Modules to load
|
||||
[[module]]
|
||||
file = "usbd_mini.irx"
|
||||
# Modules that emulate the sceCdRead function must operate at a higher
|
||||
# priority than the highest possible game priority.
|
||||
#
|
||||
# If the priority is lower (higher number) then some games will wait in
|
||||
# and endless loop for data, but the waiting thread will then cause the
|
||||
# data to never be processed.
|
||||
#
|
||||
# This causes some games to 'need' MODE2 (sync reads) to work.
|
||||
#
|
||||
# Supported parameters:
|
||||
# - dev = maxDevices
|
||||
# - ed = maxEndpoints
|
||||
# - gtd = maxTransfDesc
|
||||
# - itd = maxIsoTransfDesc
|
||||
# - ioreq = maxIoReqs
|
||||
# - conf = maxStaticDescSize
|
||||
# - hub = maxHubDevices
|
||||
# - port = maxPortsPerHub
|
||||
# - thpri = hcdThreadPrio,cbThreadPrio
|
||||
# USBD defaults
|
||||
#args = ["dev=32", "ed=64", "gtd=128", "itd=128", "hub=8", "port=8", "thpri=7,8"]
|
||||
# USBD defaults for 'mini' driver
|
||||
args = ["thpri=7,8"]
|
||||
# Save 13KiB IOP RAM extra compared to 'mini'
|
||||
#args = ["dev=4", "ed=8", "gtd=16", "itd=16", "hub=2", "port=4", "thpri=7,8"]
|
||||
env = ["LE", "EE"]
|
||||
[[module]]
|
||||
file = "usbmass_bd_mini.irx"
|
||||
env = ["LE", "EE"]
|
||||
|
||||
# Modules of the game that are faked/blocked
|
||||
[[fake]]
|
||||
file = "USBD.IRX"
|
||||
name = "USB_driver"
|
||||
version = 0x0204
|
||||
startrv = 2 # 0=RESIDENT_END, 1=NO_RESIDENT_END, 2=REMOVABLE_END
|
10
assets/neutrino/config/bsdfs-bd.toml
Normal file
10
assets/neutrino/config/bsdfs-bd.toml
Normal file
@ -0,0 +1,10 @@
|
||||
# Name of loaded config, to show to user
|
||||
name = "Block Device filesystem driver"
|
||||
|
||||
# Drivers this driver depends on (config file must exist)
|
||||
#depends = ["i_bdm"]
|
||||
|
||||
# Modules to load in load environment
|
||||
[[module]]
|
||||
file = "bdfs.irx"
|
||||
env = ["LE"]
|
10
assets/neutrino/config/bsdfs-exfat.toml
Normal file
10
assets/neutrino/config/bsdfs-exfat.toml
Normal file
@ -0,0 +1,10 @@
|
||||
# Name of loaded config, to show to user
|
||||
name = "exFat filesystem driver"
|
||||
|
||||
# Drivers this driver depends on (config file must exist)
|
||||
#depends = ["i_bdm"]
|
||||
|
||||
# Modules to load in load environment
|
||||
[[module]]
|
||||
file = "bdmfs_fatfs.irx"
|
||||
env = ["LE"]
|
14
assets/neutrino/config/bsdfs-hdl.toml
Normal file
14
assets/neutrino/config/bsdfs-hdl.toml
Normal file
@ -0,0 +1,14 @@
|
||||
# Name of loaded config, to show to user
|
||||
name = "HDLoader filesystem driver"
|
||||
|
||||
# Drivers this driver depends on (config file must exist)
|
||||
#depends = ["i_bdm"]
|
||||
|
||||
# Modules to load in load environment
|
||||
[[module]]
|
||||
file = "ps2hdd-bdm.irx"
|
||||
args = ["-o", "4", "-n", "20"]
|
||||
env = ["LE"]
|
||||
[[module]]
|
||||
file = "hdlfs.irx"
|
||||
env = ["LE"]
|
25
assets/neutrino/config/emu-ata-file.toml
Normal file
25
assets/neutrino/config/emu-ata-file.toml
Normal file
@ -0,0 +1,25 @@
|
||||
# Name of loaded config, to show to user
|
||||
name = "ATA emulation using image file"
|
||||
|
||||
# Modules to load
|
||||
[[module]]
|
||||
file = "atad_emu.irx"
|
||||
env = ["EE"]
|
||||
|
||||
# Modules of the game that are faked/blocked
|
||||
[[fake]]
|
||||
file = "ATAD.IRX"
|
||||
name = "atad_driver"
|
||||
version = 0x0207
|
||||
startrv = 0 # 0=RESIDENT_END, 1=NO_RESIDENT_END, 2=REMOVABLE_END
|
||||
|
||||
# For booting rom0:OSDSYS, block the following?:
|
||||
# - rom0:ATAD (dev9 + atad combined driver)
|
||||
# - HDDLOAD
|
||||
#
|
||||
# What do these libraries do? Also block?:
|
||||
# - rom0:XDEV9 ?
|
||||
# - rom0:XDEV9SERV ?
|
||||
# - rom0:PS1ID ?
|
||||
# - rom0:PS1VERE ?
|
||||
# - rom1:DVDIDE ?
|
10
assets/neutrino/config/emu-dvd-esr.toml
Normal file
10
assets/neutrino/config/emu-dvd-esr.toml
Normal file
@ -0,0 +1,10 @@
|
||||
# Name of loaded config, to show to user
|
||||
name = "Builtin DVD drive with ESR patched disk"
|
||||
|
||||
# Modules to load
|
||||
[[module]]
|
||||
file = "cdvdman_esr1.irx"
|
||||
env = ["LE", "EE"]
|
||||
[[module]]
|
||||
file = "cdvdman_esr2.irx"
|
||||
env = ["LE", "EE"]
|
25
assets/neutrino/config/emu-dvd-file.toml
Normal file
25
assets/neutrino/config/emu-dvd-file.toml
Normal file
@ -0,0 +1,25 @@
|
||||
# Name of loaded config, to show to user
|
||||
name = "CD/DVD emulation using image file"
|
||||
|
||||
# Modules to load
|
||||
[[module]]
|
||||
file = "cdvdman_emu.irx"
|
||||
ioprp = "CDVDMAN"
|
||||
env = ["EE"]
|
||||
[[module]]
|
||||
file = "cdvdfsv.irx"
|
||||
ioprp = "CDVDFSV"
|
||||
env = ["EE"]
|
||||
|
||||
# Modules of the game that are faked/blocked
|
||||
[[fake]]
|
||||
file = "CDVDFSV.IRX"
|
||||
name = "cdvd_ee_driver"
|
||||
#unload = true // FIXME this is broken, can be tested with Jak X
|
||||
version = 0x0202
|
||||
startrv = 2 # 0=RESIDENT_END, 1=NO_RESIDENT_END, 2=REMOVABLE_END
|
||||
[[fake]]
|
||||
file = "CDVDSTM.IRX"
|
||||
name = "cdvd_st_driver"
|
||||
version = 0x0202
|
||||
startrv = 2 # 0=RESIDENT_END, 1=NO_RESIDENT_END, 2=REMOVABLE_END
|
7
assets/neutrino/config/emu-mc-file.toml
Normal file
7
assets/neutrino/config/emu-mc-file.toml
Normal file
@ -0,0 +1,7 @@
|
||||
# Name of loaded config, to show to user
|
||||
name = "MC emulation using image file"
|
||||
|
||||
# Modules to load
|
||||
[[module]]
|
||||
file = "mc_emu.irx"
|
||||
env = ["EE"]
|
19
assets/neutrino/config/i_bdm.toml
Normal file
19
assets/neutrino/config/i_bdm.toml
Normal file
@ -0,0 +1,19 @@
|
||||
# Name of loaded config, to show to user
|
||||
name = "Block Device Manager (with FHI)"
|
||||
|
||||
# Modules to load in load environment
|
||||
[[module]]
|
||||
file = "bdm.irx"
|
||||
env = ["LE"]
|
||||
[[module]]
|
||||
file = "iomanX.irx"
|
||||
env = ["LE"]
|
||||
[[module]]
|
||||
file = "fileXio.irx"
|
||||
env = ["LE"]
|
||||
|
||||
# Modules to load in emulation environment
|
||||
[[module]]
|
||||
file = "fhi_bd_defrag.irx"
|
||||
func = "FHI_BD"
|
||||
env = ["EE"]
|
15
assets/neutrino/config/i_dev9_hidden.toml
Normal file
15
assets/neutrino/config/i_dev9_hidden.toml
Normal file
@ -0,0 +1,15 @@
|
||||
# Name of loaded config, to show to user
|
||||
name = "DEV9 hidden driver"
|
||||
|
||||
# Modules to load
|
||||
[[module]]
|
||||
file = "dev9_hidden.irx" # hidden version to hide from the game
|
||||
env = ["LE", "EE"]
|
||||
|
||||
# Modules of the game that are faked/blocked
|
||||
[[fake]]
|
||||
file = "DEV9.IRX"
|
||||
name = "dev9"
|
||||
version = 0x0208
|
||||
loadrv = 0 # 0=ok, -xxx=error code (module not loaded)
|
||||
startrv = 1 # 0=RESIDENT_END, 1=NO_RESIDENT_END, 2=REMOVABLE_END
|
14
assets/neutrino/config/i_dev9_ns.toml
Normal file
14
assets/neutrino/config/i_dev9_ns.toml
Normal file
@ -0,0 +1,14 @@
|
||||
# Name of loaded config, to show to user
|
||||
name = "DEV9 no-shutdown driver"
|
||||
|
||||
# Modules to load
|
||||
[[module]]
|
||||
file = "dev9_ns.irx" # no-shutdown version, to prevent games shutting down the dev9
|
||||
env = ["LE", "EE"]
|
||||
|
||||
# Modules of the game that are faked/blocked
|
||||
[[fake]]
|
||||
file = "DEV9.IRX"
|
||||
name = "dev9"
|
||||
version = 0x0208
|
||||
startrv = 0 # 0=RESIDENT_END, 1=NO_RESIDENT_END, 2=REMOVABLE_END
|
14
assets/neutrino/config/rc-uya.toml
Normal file
14
assets/neutrino/config/rc-uya.toml
Normal file
@ -0,0 +1,14 @@
|
||||
# Name of loaded config, to show to user
|
||||
name = "Patches for Ratchet Clank 3 / Up Your Arsenal - ONLINE!"
|
||||
|
||||
# For testing
|
||||
#default_bsd = "ata"
|
||||
#default_dvd = "mass:DVD/Ratchet Clank - Up Your Arsenal (U).iso"
|
||||
|
||||
# Boot directly into online menu
|
||||
default_elf = "cdrom0:I5BOOTN.ELF;1"
|
||||
|
||||
# Load patch module that fixes a game bug
|
||||
[[module]]
|
||||
file = "patch_rc_uya.irx"
|
||||
env = ["EE"]
|
85
assets/neutrino/config/system.toml
Normal file
85
assets/neutrino/config/system.toml
Normal file
@ -0,0 +1,85 @@
|
||||
# Name of loaded config, to show to user
|
||||
name = "System settings and drivers"
|
||||
|
||||
# Default argument values
|
||||
# Overwrite these from the command line
|
||||
default_bsd = "no"
|
||||
default_bsdfs = "exfat"
|
||||
default_dvd = "no"
|
||||
#default_ata0 = "mass:mydrive0.bin"
|
||||
#default_ata0id = "mass:mydrive0_id.bin"
|
||||
#default_ata1 = "mass:mydrive1.bin"
|
||||
#default_mc0 = "mass:mymc0.bin"
|
||||
#default_mc1 = "mass:mymc1.bin"
|
||||
default_elf = "auto"
|
||||
#default_mt = "dvd"
|
||||
#default_gc = "12"
|
||||
#default_gsm = "fp"
|
||||
#default_cfg = ""
|
||||
default_dbc = false
|
||||
default_logo = false
|
||||
|
||||
# EE_CORE configuration
|
||||
eecore_elf = "ee_core.elf"
|
||||
eecore_mod_base = 0x95000
|
||||
#eecore_mod_base = 0xA7000
|
||||
|
||||
# Select the number of sectors for the FS buffer
|
||||
# A small value can increase game compatibility
|
||||
# A large value can increase performce
|
||||
# Min=2, Max=128, Default=8
|
||||
cdvdman_fs_sectors = 8
|
||||
|
||||
# Override the 8-byte string returned by:
|
||||
# - sceCdRI
|
||||
# This string is also used by:
|
||||
# - sceCdReadGUID
|
||||
# - sceCdReadModelID
|
||||
#
|
||||
# This string is used (for instance) by the sony network configuration
|
||||
# to verify if the config belongs to the specific console.
|
||||
#
|
||||
#ilink_id = [0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]
|
||||
|
||||
# Use the 5-byte string returned by:
|
||||
# - sceCdReadDiskID
|
||||
#disk_id = [0x00, 0x00, 0x00, 0x00, 0x00]
|
||||
|
||||
# Modules to load in emulation environment
|
||||
[[module]]
|
||||
file = "eesync.irx"
|
||||
ioprp = "EESYNC"
|
||||
env = ["EE"]
|
||||
[[module]]
|
||||
file = "imgdrv.irx"
|
||||
func = "IMGDRV" # used by EECORE durion IOP reboot
|
||||
env = ["EE"]
|
||||
# By default the system rom0:UDNL will be used, but this can be overruled here
|
||||
# Some games (like Auto Modellista) don't work over USB with the default UDNL.
|
||||
[[module]]
|
||||
file = "udnl.irx"
|
||||
#file = "udnl-t300.irx"
|
||||
func = "UDNL" # used by EECORE durion IOP reboot
|
||||
env = ["EE"]
|
||||
[[module]]
|
||||
file = "fakemod.irx"
|
||||
func = "FAKEMOD" # loaded last, so we don't fake our own modules
|
||||
env = ["EE"]
|
||||
|
||||
#[[module]]
|
||||
#file = "patch_freemem.irx"
|
||||
#args = ["512", "X"] # "X" = block above limit (default no blocking), number is limit in KiB (default 512KiB)
|
||||
#env = ["EE"]
|
||||
|
||||
#[[module]]
|
||||
#file = "memcheck.irx"
|
||||
#env = ["EE"]
|
||||
|
||||
#[[module]]
|
||||
#file = "patch_membo.irx"
|
||||
#env = ["EE"]
|
||||
|
||||
# It's best to load this module last (bottom of bsd-usb.toml for instance)
|
||||
#[[module]]
|
||||
#file = "gapfill.irx"
|
||||
#env = ["EE"]
|
BIN
assets/neutrino/modules/IEEE1394_bd_mini.irx
Normal file
BIN
assets/neutrino/modules/IEEE1394_bd_mini.irx
Normal file
Binary file not shown.
BIN
assets/neutrino/modules/ata_bd.irx
Normal file
BIN
assets/neutrino/modules/ata_bd.irx
Normal file
Binary file not shown.
BIN
assets/neutrino/modules/atad_emu.irx
Executable file
BIN
assets/neutrino/modules/atad_emu.irx
Executable file
Binary file not shown.
BIN
assets/neutrino/modules/bdfs.irx
Executable file
BIN
assets/neutrino/modules/bdfs.irx
Executable file
Binary file not shown.
BIN
assets/neutrino/modules/bdm.irx
Normal file
BIN
assets/neutrino/modules/bdm.irx
Normal file
Binary file not shown.
BIN
assets/neutrino/modules/bdmfs_fatfs.irx
Normal file
BIN
assets/neutrino/modules/bdmfs_fatfs.irx
Normal file
Binary file not shown.
BIN
assets/neutrino/modules/cdvdfsv.irx
Executable file
BIN
assets/neutrino/modules/cdvdfsv.irx
Executable file
Binary file not shown.
BIN
assets/neutrino/modules/cdvdman_emu.irx
Executable file
BIN
assets/neutrino/modules/cdvdman_emu.irx
Executable file
Binary file not shown.
BIN
assets/neutrino/modules/cdvdman_esr1.irx
Executable file
BIN
assets/neutrino/modules/cdvdman_esr1.irx
Executable file
Binary file not shown.
BIN
assets/neutrino/modules/cdvdman_esr2.irx
Executable file
BIN
assets/neutrino/modules/cdvdman_esr2.irx
Executable file
Binary file not shown.
BIN
assets/neutrino/modules/dev9_hidden.irx
Executable file
BIN
assets/neutrino/modules/dev9_hidden.irx
Executable file
Binary file not shown.
BIN
assets/neutrino/modules/dev9_ns.irx
Executable file
BIN
assets/neutrino/modules/dev9_ns.irx
Executable file
Binary file not shown.
BIN
assets/neutrino/modules/ee_core.elf
Executable file
BIN
assets/neutrino/modules/ee_core.elf
Executable file
Binary file not shown.
BIN
assets/neutrino/modules/eesync.irx
Normal file
BIN
assets/neutrino/modules/eesync.irx
Normal file
Binary file not shown.
BIN
assets/neutrino/modules/fakemod.irx
Executable file
BIN
assets/neutrino/modules/fakemod.irx
Executable file
Binary file not shown.
BIN
assets/neutrino/modules/fhi_bd.irx
Executable file
BIN
assets/neutrino/modules/fhi_bd.irx
Executable file
Binary file not shown.
BIN
assets/neutrino/modules/fhi_bd_defrag.irx
Executable file
BIN
assets/neutrino/modules/fhi_bd_defrag.irx
Executable file
Binary file not shown.
BIN
assets/neutrino/modules/fileXio.irx
Normal file
BIN
assets/neutrino/modules/fileXio.irx
Normal file
Binary file not shown.
BIN
assets/neutrino/modules/gapfill.irx
Executable file
BIN
assets/neutrino/modules/gapfill.irx
Executable file
Binary file not shown.
BIN
assets/neutrino/modules/hdlfs.irx
Executable file
BIN
assets/neutrino/modules/hdlfs.irx
Executable file
Binary file not shown.
BIN
assets/neutrino/modules/iLinkman.irx
Normal file
BIN
assets/neutrino/modules/iLinkman.irx
Normal file
Binary file not shown.
BIN
assets/neutrino/modules/imgdrv.irx
Executable file
BIN
assets/neutrino/modules/imgdrv.irx
Executable file
Binary file not shown.
BIN
assets/neutrino/modules/iomanX.irx
Normal file
BIN
assets/neutrino/modules/iomanX.irx
Normal file
Binary file not shown.
BIN
assets/neutrino/modules/mc_emu.irx
Executable file
BIN
assets/neutrino/modules/mc_emu.irx
Executable file
Binary file not shown.
BIN
assets/neutrino/modules/memcheck.irx
Executable file
BIN
assets/neutrino/modules/memcheck.irx
Executable file
Binary file not shown.
BIN
assets/neutrino/modules/mmcefhi.irx
Executable file
BIN
assets/neutrino/modules/mmcefhi.irx
Executable file
Binary file not shown.
BIN
assets/neutrino/modules/mmceman.irx
Executable file
BIN
assets/neutrino/modules/mmceman.irx
Executable file
Binary file not shown.
BIN
assets/neutrino/modules/mx4sio_bd_mini.irx
Normal file
BIN
assets/neutrino/modules/mx4sio_bd_mini.irx
Normal file
Binary file not shown.
BIN
assets/neutrino/modules/patch_freemem.irx
Executable file
BIN
assets/neutrino/modules/patch_freemem.irx
Executable file
Binary file not shown.
BIN
assets/neutrino/modules/patch_membo.irx
Executable file
BIN
assets/neutrino/modules/patch_membo.irx
Executable file
Binary file not shown.
BIN
assets/neutrino/modules/patch_rc_uya.irx
Executable file
BIN
assets/neutrino/modules/patch_rc_uya.irx
Executable file
Binary file not shown.
BIN
assets/neutrino/modules/ps2hdd-bdm.irx
Normal file
BIN
assets/neutrino/modules/ps2hdd-bdm.irx
Normal file
Binary file not shown.
BIN
assets/neutrino/modules/smap_udpbd.irx
Executable file
BIN
assets/neutrino/modules/smap_udpbd.irx
Executable file
Binary file not shown.
BIN
assets/neutrino/modules/smap_udptty.irx
Executable file
BIN
assets/neutrino/modules/smap_udptty.irx
Executable file
Binary file not shown.
BIN
assets/neutrino/modules/udnl-t300.irx
Normal file
BIN
assets/neutrino/modules/udnl-t300.irx
Normal file
Binary file not shown.
BIN
assets/neutrino/modules/udnl.irx
Normal file
BIN
assets/neutrino/modules/udnl.irx
Normal file
Binary file not shown.
BIN
assets/neutrino/modules/usbd_mini.irx
Normal file
BIN
assets/neutrino/modules/usbd_mini.irx
Normal file
Binary file not shown.
BIN
assets/neutrino/modules/usbd_null.irx
Executable file
BIN
assets/neutrino/modules/usbd_null.irx
Executable file
Binary file not shown.
BIN
assets/neutrino/modules/usbmass_bd_mini.irx
Normal file
BIN
assets/neutrino/modules/usbmass_bd_mini.irx
Normal file
Binary file not shown.
BIN
assets/neutrino/neutrino.elf
Normal file
BIN
assets/neutrino/neutrino.elf
Normal file
Binary file not shown.
1
assets/neutrino/version.txt
Normal file
1
assets/neutrino/version.txt
Normal file
@ -0,0 +1 @@
|
||||
v1.5.0-20-gbc685a4
|
BIN
assets/nhddl.elf
Normal file
BIN
assets/nhddl.elf
Normal file
Binary file not shown.
@ -1,4 +1,4 @@
|
||||
BOOT2 = pfs:/OPL-Launcher-BDM.KELF
|
||||
BOOT2 = pfs:/bbnl.KELF
|
||||
VER = 1.01
|
||||
VMODE = NTSC
|
||||
HDDUNITPOWER = NICHDD
|
||||
|
Loading…
x
Reference in New Issue
Block a user