Primary Volume Descriptor (PVD) Dumper in Python

Post Reply
User avatar
hiker13526
Posts: 217
Joined: Mon Jun 08, 2026 1:26 am

Primary Volume Descriptor (PVD) Dumper in Python

Post by hiker13526 »

I wrote a program to dump the Primary Volume Descriptor from a .bin file in IsoBuster format. Can be helpful to quickly dump the PVD to a file without needing to open IsoBuster, or used programmatically.

https://gist.github.com/anonymous/2a308 … 0b829a9c92

I have created a small batch file "PVD_Dumper.bat" which I drag and drop a .bin file to and it dumps the PVD to a text file in the same directory as the .bin file. This is the batch file:

Code: Select all

"%~dp0\PVD_Dumper.py" %1 > "%~dp1\%~n1_PVD.txt"
I attached both the batch file and python file to this post for easy download.

Requirements: Python 3.x
Attachments
PVD_Dumper.zip
Imported Redump attachment 1114
(1.18 KiB) Not downloaded yet
Plextor PX-708A | sarami's DiscImageCreator | CloneCD | CDManipulator | Protection ID v6.8.5 | edccchk v1.26
PVD_Dumper.py
nitro322
Posts: 90
Joined: Mon Jun 08, 2026 1:28 am

Re: Primary Volume Descriptor (PVD) Dumper in Python

Post by nitro322 »

I know this is an old post, but wanted to say thanks.  I run Linux and can get the PVD from games with this hexdump command:

Code: Select all

hexdump -C -n 96 -s 33568 game.iso
But it doesn't output the results in exactly the same format as IsoBuster, and since the form validator seems to compare against that IsoBuster format I always have to massage the output a bit to get it accepted.  Just stumbled across this for the first time and tried it out and it works great.  Will save me a bit of time and effort for each disc I rip going forward.

Thanks!
Last edited by nitro322 on Mon Dec 28, 2020 3:15 pm, edited 1 time in total.
User avatar
fuzzball
Posts: 1827
Joined: Mon Jun 08, 2026 1:26 am

Re: Primary Volume Descriptor (PVD) Dumper in Python

Post by fuzzball »

hexdump + nl

CD

Code: Select all

% hexdump -v -s0x9638 -n96 -e'8/1 "%02x " "  " 8/1 "%02x "' -e'"   " 16 "%_p" "\n"' pvd_cd.bin | nl -nrz -w4 -s' : ' -v320 -i10
0320 : 20 20 20 20 20 20 20 20  20 20 20 20 20 31 39 39                199
0330 : 39 30 38 31 31 31 32 30  30 30 30 30 30 24 31 39   9081112000000$19
0340 : 39 39 30 38 31 31 31 32  30 30 30 30 30 30 24 30   99081112000000$0
0350 : 30 30 30 30 30 30 30 30  30 30 30 30 30 30 30 00   000000000000000.
0360 : 30 30 30 30 30 30 30 30  30 30 30 30 30 30 30 30   0000000000000000
0370 : 00 01 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ................
DVD

Code: Select all

% hexdump -v -s0x8320 -n96 -e'8/1 "%02x " "  " 8/1 "%02x "' -e'"   " 16 "%_p" "\n"' pvd_dvd.bin | nl -nrz -w4 -s' : ' -v320 -i10
0320 : 20 20 20 20 20 20 20 20  20 20 20 20 20 32 30 30                200
0330 : 34 30 33 31 39 30 30 30  30 30 30 30 30 24 30 30   4031900000000$00
0340 : 30 30 30 30 30 30 30 30  30 30 30 30 30 30 00 30   00000000000000.0
0350 : 30 30 30 30 30 30 30 30  30 30 30 30 30 30 30 00   000000000000000.
0360 : 30 30 30 30 30 30 30 30  30 30 30 30 30 30 30 30   0000000000000000
0370 : 00 01 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ................
nitro322
Posts: 90
Joined: Mon Jun 08, 2026 1:28 am

Re: Primary Volume Descriptor (PVD) Dumper in Python

Post by nitro322 »

Ha, man, that's some advanced formatting going on there.  Impressive.  I with a knew about that a while ago, would've probably saved a couple hours or so cumulative over all the discs I've dumped.  Very much appreciate you sharing!
Post Reply