Skip to content

Commit 1383809

Browse files
committed
v1.0.3
1 parent 931de03 commit 1383809

File tree

5 files changed

+117
-42
lines changed

5 files changed

+117
-42
lines changed

build

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/bin/bash
22

33
program=playstation-disc-burner
4-
version=v1.0.2
4+
version=v1.0.3
55
arch=$(uname -m)
66
release=$program-$version-$arch
77
set -e

changelog.md

+12
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,17 @@
11
# [PlayStation Disc Burner](readme.md) -> Changelog
22

3+
## v1.0.2 (7/26/2024)
4+
5+
* [playstation-disc-burner-v1.0.2-i686](https://github.com/alex-free/playstation-disc-burner/releases/download/v1.0.2/playstation-disc-burner-v1.0.2-i686.zip) _Portable Release For i686 Linux (x86 32 bit Pentium or better)_.
6+
7+
* [playstation-disc-burner-v1.0.2-x86\_64](https://github.com/alex-free/playstation-disc-burner/releases/download/v1.0.2/playstation-disc-burner-v1.0.2-x86_64.zip) _Portable Release For x86\_64 Linux_.
8+
9+
---------------------------
10+
11+
Changes:
12+
13+
* Fixed LibCrypt patcher command not found issue.
14+
315
## v1.0.1 (7/25/2024)
416

517
* [playstation-disc-burner-v1.0.1-i686](https://github.com/alex-free/playstation-disc-burner/releases/download/v1.0.1/playstation-disc-burner-v1.0.1-i686.zip) _Portable Release For i686 Linux (x86 32 bit Pentium or better)_.

psdb

+84-31
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,81 @@
11
#!/bin/bash
2-
version="v1.0.1"
2+
version="v1.0.3"
33

44
#set -e
55

66
change_burner()
77
{
8-
98
echo "Enter the cd burner devname, i.e default for linux is /dev/sr0:"
109
read -p "Burner:" burner
1110

1211
echo "$burner" > config/burner.txt
1312
}
1413

15-
change_burn_speed()
14+
change_cd_burn_speed()
1615
{
16+
echo "Enter a number for the speed to burn CDs at. If your burner does not support the speed you provide the closest available speed will be used instead."
17+
read -p "Set burn speed:" speed
18+
19+
while [[ ! "$speed" =~ ^[0-9]+$ ]]; do
20+
echo "${speed} is not a number, try again"
21+
read -p "Set burn speed:" speed
22+
done
1723

18-
echo "Enter a number for the speed to burn your CD-R. If your burner does not support the speed you provide the closest available speed will be used instead."
24+
echo "$speed" > config/cd-burn-speed.txt
25+
}
26+
27+
change_dvd_burn_speed()
28+
{
29+
echo "Enter a number for the speed to burn DVDs at. If your burner does not support the speed you provide the closest available speed will be used instead."
1930
read -p "Set burn speed:" speed
2031

2132
while [[ ! "$speed" =~ ^[0-9]+$ ]]; do
2233
echo "${speed} is not a number, try again"
2334
read -p "Set burn speed:" speed
2435
done
2536

26-
echo "$speed" > config/burn-speed.txt
37+
echo "$speed" > config/dvd-burn-speed.txt
2738
}
2839

2940
echo "PlayStation Disc Burner (PSDB) $version By Alex Free"
3041

31-
if [ $# -ne 1 ]; then
32-
echo -e "PSDB requires 1 argument.\n\nUsage:\n\npsdb <input file>\n\n<input file> A file ending in .iso, .ISO, .cue, .CUE, .BIN, or .bin (or a compressed archive containing said files)\n"
42+
if [ $# -ne 1 ] && [ $# -ne 2 ]; then
43+
echo -e "Error: PSDB requires 1 or 2 arguments.\n\nUsage:\n\npsdb <input file>\n\n<input file> A file ending in .iso, .ISO, .cue, .CUE, .BIN, or .bin (or a compressed archive containing said files).\n\npsdb -cds <cd burn speed> Set burn speed for CDs to <cd burn speed> and exit.\n\npsdb -dvds <dvd burn speed> Set burn speed to <dvd burn speed> for DVDs and exit.\n\npsdb -b <burner> Set burner to <burner> (i.e. \"/dev/sr0\")."
3344
exit 1
3445
fi
3546

47+
if [ $# -eq 2 ]; then
48+
if [ "$1" == "-cds" ]; then
49+
if [[ ! "$2" =~ ^[0-9]+$ ]]; then
50+
echo "Error: specified burn speed: \"$2\" is not a number"
51+
exit 1
52+
fi
53+
54+
mkdir -p "$(dirname "$0")"/config
55+
echo "$2" > "$(dirname "$0")"/config/cd-burn-speed.txt
56+
echo "CD burn speed set to \"$2"\"
57+
exit 0
58+
elif [ "$1" == "-dvds" ]; then
59+
if [[ ! "$2" =~ ^[0-9]+$ ]]; then
60+
echo "Error: specified burn speed: \"$2\" is not a number"
61+
exit 1
62+
fi
63+
64+
mkdir -p "$(dirname "$0")"/config
65+
echo "$2" > "$(dirname "$0")"/config/dvd-burn-speed.txt
66+
echo "DVD burn speed set to \"$2"\"
67+
exit 0
68+
elif [ "$1" == "-b" ]; then
69+
mkdir -p "$(dirname "$0")"/config
70+
echo "$2" > "$(dirname "$0")"/config/burner.txt
71+
echo "Burner set to \"$2"\"
72+
exit 0
73+
else
74+
echo "Error: 2 arguemnts were given, and the first argument was niether -cds or -dvds"
75+
exit 1
76+
fi
77+
fi
78+
3679
if [ ! -f "$1" ]; then
3780
echo "Error: Cant open the file "$1""
3881
exit 1
@@ -52,10 +95,16 @@ PATH="${PWD}/bin"${PATH:+:${PATH}}
5295
# which 7za
5396
# which edcre
5497

55-
if [ ! -f "config/burn-speed.txt" ]; then
98+
if [ ! -f "config/cd-burn-speed.txt" ]; then
99+
mkdir -p config
100+
echo "CD burn speed config not found, setting to default speed of 1x"
101+
echo 1 > config/cd-burn-speed.txt
102+
fi
103+
104+
if [ ! -f "config/dvd-burn-speed.txt" ]; then
56105
mkdir -p config
57-
echo "Burn speed config not found, setting to default speed of 1x"
58-
echo 1 > config/burn-speed.txt
106+
echo "DVD burn speed config not found, setting to default speed of 1x"
107+
echo 1 > config/dvd-burn-speed.txt
59108
fi
60109

61110
if [ ! -f "config/burner.txt" ]; then
@@ -67,8 +116,8 @@ fi
67116
burner=$(cat config/burner.txt)
68117
echo -e "\nBurner: $burner"
69118

70-
speed=$(cat config/burn-speed.txt)
71-
echo -e "\nBurn speed: "$speed"x"
119+
cd_burn_speed=$(cat config/cd-burn-speed.txt)
120+
dvd_burn_speed=$(cat config/dvd-burn-speed.txt)
72121

73122
# Put temp directory in /tmp (or whatever the OS prefers)
74123
tmp=$(mktemp -d --tmpdir ps2db.XXX)
@@ -166,12 +215,14 @@ fi
166215

167216
if [ -z "$data_track" ]; then
168217

218+
echo -e "(DVD burn speed is set to "$dvd_burn_speed"x)\n"
219+
169220
echo =====================================
170221
echo DVD ISO Options
171222
echo =====================================
172223

173224
PS3="Enter an option number: "
174-
select opt in Burn "Add ESR patch" "Add ESR patch and burn" "Add Master Disc patch" "Add Master Disc patch and burn" "Change Burner" "Change burn speed" Quit; do
225+
select opt in Burn "Add ESR patch" "Add ESR patch and burn" "Add Master Disc patch" "Add Master Disc patch and burn" "Change burner" "Change burn speed" Quit; do
175226
case $opt in
176227
"Burn")
177228
mode=2
@@ -198,7 +249,7 @@ PS3="Enter an option number: "
198249
exit 0
199250
;;
200251
"Change burn speed")
201-
change_burn_speed
252+
change_dvd_burn_speed
202253
exit 0
203254
;;
204255
Quit)
@@ -212,6 +263,8 @@ done
212263

213264
else # CD
214265

266+
echo -e "(CD burn speed is set to "$cd_burn_speed"x)\n"
267+
215268
echo =====================================
216269
echo CD BIN/CUE Options
217270
echo =====================================
@@ -252,7 +305,7 @@ PS3="Enter an option number: "
252305
exit 0
253306
;;
254307
"Change burn speed")
255-
change_burn_speed
308+
change_cd_burn_speed
256309
exit 0
257310
;;
258311
Quit)
@@ -313,16 +366,16 @@ if [ "$mode" == "2" ]; then # burn as-is
313366
if [[ $multiple_files -gt 0 ]]; then # Did come from compressed archive
314367
if [ "$EUID" != 0 ]; then
315368
echo "Info: Root privilages are required to ensure success of burn"
316-
sudo env PATH=$PATH cdrecord -v dev="$burner" --speed=$speed --eject "$output_dir"/"$output_base_name_without_extension"."$input_extension"
369+
sudo env PATH=$PATH cdrecord -v dev="$burner" --speed=$dvd_burn_speed --eject "$output_dir"/"$output_base_name_without_extension"."$input_extension"
317370
else
318-
cdrecord -v dev="$burner" --speed=$speed --eject "$output_dir"/"$output_base_name_without_extension"."$input_extension"
371+
cdrecord -v dev="$burner" --speed=$dvd_burn_speed --eject "$output_dir"/"$output_base_name_without_extension"."$input_extension"
319372
fi
320373
else # straight ISO
321374
if [ "$EUID" != 0 ]; then
322375
echo "Info: Root privilages are required to ensure success of burn"
323-
sudo env PATH=$PATH cdrecord -v dev="$burner" --speed=$speed --eject "$1"
376+
sudo env PATH=$PATH cdrecord -v dev="$burner" --speed=$dvd_burn_speed --eject "$1"
324377
else
325-
cdrecord -v dev="$burner" --speed=$speed --eject "$1"
378+
cdrecord -v dev="$burner" --speed=$dvd_burn_speed --eject "$1"
326379
fi
327380
fi
328381
else # CD
@@ -335,55 +388,55 @@ if [ "$mode" == "2" ]; then # burn as-is
335388

336389
if [ "$EUID" != 0 ]; then
337390
echo "Info: Root privilages are required to ensure success of burn"
338-
sudo env PATH=$PATH cdrdao write --device "$burner" --speed $speed --driver generic-mmc-raw --swap --eject -n "$base_cue_file"
391+
sudo env PATH=$PATH cdrdao write --device "$burner" --speed $cd_burn_speed --driver generic-mmc-raw --swap --eject -n "$base_cue_file"
339392
else
340-
cdrdao write --device "$burner" --speed $speed --driver generic-mmc-raw --swap --eject -n "$base_cue_file"
393+
cdrdao write --device "$burner" --speed $cd_burn_speed --driver generic-mmc-raw --swap --eject -n "$base_cue_file"
341394
fi
342395
fi
343396

344397
# Burn Patched
345398
elif [ "$mode" == "4" ]; then # burn esr
346399
if [ "$EUID" != 0 ]; then
347400
echo "Info: Root privilages are required to ensure success of burn"
348-
sudo env PATH=$PATH cdrecord -v dev="$burner" --speed=$speed --eject "$output_dir"/"$output_base_name_without_extension"_ESR."$input_extension"
401+
sudo env PATH=$PATH cdrecord -v dev="$burner" --speed=$dvd_burn_speed --eject "$output_dir"/"$output_base_name_without_extension"_ESR."$input_extension"
349402
else
350-
cdrecord -v dev="$burner" --speed=$speed --eject "$output_dir"/"$output_base_name_without_extension"_ESR."$input_extension"
403+
cdrecord -v dev="$burner" --speed=$dvd_burn_speed --eject "$output_dir"/"$output_base_name_without_extension"_ESR."$input_extension"
351404
fi
352405
elif [ "$mode" == "6" ]; then # burn master disc
353406
if [ -z "$data_track" ]; then # Master Disc is DVD
354407
if [ "$EUID" != 0 ]; then
355408
echo "Info: Root privilages are required to ensure success of burn"
356-
sudo env PATH=$PATH cdrecord -v dev="$burner" --speed=$speed --eject "$output_dir"/"$output_base_name_without_extension"_MD."$input_extension"
409+
sudo env PATH=$PATH cdrecord -v dev="$burner" --speed=$dvd_burn_speed --eject "$output_dir"/"$output_base_name_without_extension"_MD."$input_extension"
357410
else
358-
cdrecord -v dev="$burner" --speed=$speed --eject "$output_dir"/"$output_base_name_without_extension"_MD."$input_extension"
411+
cdrecord -v dev="$burner" --speed=$dvd_burn_speed --eject "$output_dir"/"$output_base_name_without_extension"_MD."$input_extension"
359412
fi
360413
else # Master Disc is CD
361414
cd "$output_parent_directory"/"$output_target_directory"_MD # CDRDAO is incapable of finding bin files relative to the cue when not in the same working directory
362415

363416
if [ "$EUID" != 0 ]; then
364417
echo "Info: Root privilages are required to ensure success of burn"
365-
sudo env PATH=$PATH cdrdao write --device "$burner" --speed $speed --driver generic-mmc-raw --swap --eject -n "$base_cue_file"
418+
sudo env PATH=$PATH cdrdao write --device "$burner" --speed $cd_burn_speed --driver generic-mmc-raw --swap --eject -n "$base_cue_file"
366419
else
367-
cdrdao write --device "$burner" --speed $speed --driver generic-mmc-raw --swap --eject -n "$base_cue_file"
420+
cdrdao write --device "$burner" --speed $cd_burn_speed --driver generic-mmc-raw --swap --eject -n "$base_cue_file"
368421
fi
369422
fi
370423
elif [ "$mode" == "8" ]; then # LibCrypt is CD
371424
cd "$output_parent_directory"/"$output_target_directory"_LCP # CDRDAO is incapable of finding bin files relative to the cue when not in the same working directory
372425

373426
if [ "$EUID" != 0 ]; then
374427
echo "Info: Root privilages are required to ensure success of burn"
375-
sudo env PATH=$PATH cdrdao write --device "$burner" --speed $speed --driver generic-mmc-raw --swap --eject -n "$base_cue_file"
428+
sudo env PATH=$PATH cdrdao write --device "$burner" --speed $cd_burn_speed --driver generic-mmc-raw --swap --eject -n "$base_cue_file"
376429
else
377-
cdrdao write --device "$burner" --speed $speed --driver generic-mmc-raw --swap --eject -n "$base_cue_file"
430+
cdrdao write --device "$burner" --speed $cd_burn_speed --driver generic-mmc-raw --swap --eject -n "$base_cue_file"
378431
fi
379432

380433
elif [ "$mode" == "10" ]; then # PSX80MP is CD
381434
cd "$output_parent_directory"/"$output_target_directory"_PSX80MP # CDRDAO is incapable of finding bin files relative to the cue when not in the same working directory
382435

383436
if [ "$EUID" != 0 ]; then
384437
echo "Info: Root privilages are required to ensure success of burn"
385-
sudo env PATH=$PATH cdrdao write --device "$burner" --speed $speed --driver generic-mmc-raw --swap --eject -n "$base_cue_file"
438+
sudo env PATH=$PATH cdrdao write --device "$burner" --speed $cd_burn_speed --driver generic-mmc-raw --swap --eject -n "$base_cue_file"
386439
else
387-
cdrdao write --device "$burner" --speed $speed --driver generic-mmc-raw --swap --eject -n "$base_cue_file"
440+
cdrdao write --device "$burner" --speed $cd_burn_speed --driver generic-mmc-raw --swap --eject -n "$base_cue_file"
388441
fi
389442
fi

readme.md

+19-9
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ Additional features:
2424

2525
* Corrects EDC and ECC starting at the system volume descriptor of the data track for CD images. Any translation patched bin file or otherwise which doesn't contain correct EDC/ECC in the actual game data will be corrected. EDC protected PS1 games continue to burn correctly with this default, as those games are looking at sectors that are before the volume descriptor.
2626

27-
* Set the desired burn speed to a configuration file.
27+
* Set the desired burn speed to a configuration file, this can be set for different speeds depending on if your burning a CD or a DVD.
2828

2929
* Set the desired burner (i.e. `/dev/sr0` is the default for Linux) to a configuration file.
3030

@@ -39,29 +39,39 @@ Additional features:
3939

4040
## Downloads
4141

42-
### v1.0.2 (7/26/2024)
42+
### v1.0.3 (8/7/2024)
4343

44-
* [playstation-disc-burner-v1.0.2-i686](https://github.com/alex-free/playstation-disc-burner/releases/download/v1.0.2/playstation-disc-burner-v1.0.2-i686.zip) _Portable Release For i686 Linux (x86 32 bit Pentium or better)_.
44+
* [playstation-disc-burner-v1.0.3-i686](https://github.com/alex-free/playstation-disc-burner/releases/download/v1.0.3/playstation-disc-burner-v1.0.3-i686.zip) _Portable Release For i686 Linux (x86 32 bit Pentium or better)_.
4545

46-
* [playstation-disc-burner-v1.0.2-x86\_64](https://github.com/alex-free/playstation-disc-burner/releases/download/v1.0.2/playstation-disc-burner-v1.0.2-x86_64.zip) _Portable Release For x86\_64 Linux_.
46+
* [playstation-disc-burner-v1.0.3-x86\_64](https://github.com/alex-free/playstation-disc-burner/releases/download/v1.0.3/playstation-disc-burner-v1.0.3-x86_64.zip) _Portable Release For x86\_64 Linux_.
4747

4848
---------------------------
4949

5050
Changes:
5151

52-
* Fixed LibCrypt patcher command not found issue.
52+
* Added ability to set a burn speed for CD and DVDs independently. You can have one speed set for CDs, and another for DVDs.
53+
54+
* Updated [EDCRE](https://github.com/alex-free/edcre) to version 1.0.8.
55+
56+
* Added ability to set burn speed with command line arguments (`-cds <cd burn speed>` or `-dvds <dvd burn speed>`) without having to give a valid input file first.
57+
58+
* Added ability to set the burner with command line arguments (`-b <burner>`) without having to give a valid input file first.
59+
60+
* Fixed setting burner in the DVD ISO options menu.
5361

5462
[Previous versions](changelog.md)
5563

5664
## Usage
5765

58-
`PSDB requires 1 argument.`
66+
`psdb <input file>`
5967

60-
`Usage:`
68+
`<input file> A file ending in .iso, .ISO, .cue, .CUE, .BIN, or .bin (or a compressed archive containing said files).`
6169

62-
`psdb <input file>`
70+
`psdb -cds <cd burn speed> Set burn speed for CDs to <cd burn speed> and exit.`
71+
72+
`psdb -dvds <dvd burn speed> Set burn speed to <dvd burn speed> for DVDs and exit.`
6373

64-
`<input file> A file ending in .iso, .ISO, .cue, .CUE, .BIN, or .bin (or a compressed archive containing said files)`
74+
`psdb -b <burner> Set burner to <burner> (i.e. "/dev/sr0").`
6575

6676
1) Download and unzip the latest release.
6777

0 commit comments

Comments
 (0)